[2110] bus 登录背景页面、bus线路过长处理、
This commit is contained in:
@@ -77,7 +77,7 @@ public class BusLinePresenter extends Presenter<BusSwitchLineView> implements IB
|
||||
return;
|
||||
}
|
||||
BusLineModel.getInstance().queryBusLineTasksById(lineId,position);
|
||||
subscribe = Observable.interval(5, TimeUnit.SECONDS).subscribe(aLong -> {
|
||||
subscribe = Observable.interval(3, TimeUnit.MINUTES).subscribe(aLong -> {
|
||||
BusLineModel.getInstance().queryBusLineTasksById(lineId,position);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -161,12 +161,10 @@ class BusSwitchLineActivity : MvpActivity<BusSwitchLineView?, BusLinePresenter?>
|
||||
result.taskList.addAll(lineTaskInfo.data)
|
||||
// 打开操作
|
||||
mAdapter.notifyItemChanged(position)
|
||||
if((position==mData.size-1||position==mData.size-2)&&mData.size>6){
|
||||
linearLayoutManager.stackFromEnd = true
|
||||
}else{
|
||||
linearLayoutManager.stackFromEnd = false
|
||||
}
|
||||
linearLayoutManager.stackFromEnd = (position==mData.size-1||position==mData.size-2)&&mData.size>6
|
||||
mLinesListView.scrollToPosition(position)
|
||||
}else if(lineTaskInfo.data.isEmpty()){
|
||||
mAdapter.notifyItemChanged(position)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.och.bus.R
|
||||
import com.mogo.och.bus.bean.BusQueryLinesResponse
|
||||
import com.mogo.och.bus.ui.adapter.SwitchLineAdapter.SwitchLineViewHolder
|
||||
import kotlin.text.StringBuilder
|
||||
|
||||
/**
|
||||
* 路线列表adapter
|
||||
@@ -39,8 +40,20 @@ class SwitchLineAdapter(
|
||||
override fun onBindViewHolder(holder: SwitchLineViewHolder, position: Int) {
|
||||
val currentPosition = holder.bindingAdapterPosition
|
||||
val line = mData[currentPosition]
|
||||
if(line.name!=null&&line.name.length>10){
|
||||
line.name = line.name.substring(0,10)+"…"
|
||||
}
|
||||
holder.lineName.text = line.name
|
||||
holder.lineEndName.text = mContext.getString(R.string.bus_line_goto_end, line.endSiteName)
|
||||
val sb = StringBuilder()
|
||||
if (line.endSiteName!=null&&line.endSiteName.length>10) {
|
||||
sb.append(line.endSiteName.substring(0,5))
|
||||
sb.append("…")
|
||||
sb.append(line.endSiteName.substring(line.endSiteName.length-5,line.endSiteName.length))
|
||||
}else{
|
||||
sb.append(line.endSiteName)
|
||||
}
|
||||
val string = mContext.getString(R.string.bus_line_goto_end, sb.toString())
|
||||
holder.lineEndName.text = string
|
||||
holder.rvLineTask.layoutManager = GridLayoutManager(mContext, 3)
|
||||
val switchLineTaskAdapter = SwitchLineTaskAdapter(
|
||||
mContext,
|
||||
|
||||
@@ -49,13 +49,13 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginBottom="@dimen/dp_35"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/bus_color_b9c3e9"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintBottom_toTopOf="@+id/v_line_task"
|
||||
app:layout_constraintStart_toStartOf="@+id/switch_line_name"
|
||||
app:layout_constraintTop_toBottomOf="@+id/switch_line_name"
|
||||
app:layout_constraintEnd_toStartOf="@+id/actv_show_more"
|
||||
tools:text="@string/bus_switch_line_end" />
|
||||
|
||||
<View
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
<string name="bus_line_start">起点: </string>
|
||||
<string name="bus_line_end">终点: </string>
|
||||
<string name="bus_line_goto_end">往%1$s方向</string>
|
||||
<string name="bus_change_line_commit_tip_s">更换路线成功</string>
|
||||
<string name="bus_change_line_commit_tip_f">更换路线失败</string>
|
||||
<string name="bus_change_line_commit_tip_s">更换任务成功</string>
|
||||
<string name="bus_change_line_commit_tip_f">更换任务失败</string>
|
||||
<!-- <string name="bus_arrive_to_end_title">去往下车地点</string>-->
|
||||
<string name="bus_arrive_to_end_start">起点:</string>
|
||||
<string name="bus_arrive_to_end_end">终点:</string>
|
||||
|
||||
@@ -21,6 +21,8 @@ interface LoginService : IProvider {
|
||||
|
||||
fun queryLoginStatusByNet()
|
||||
|
||||
fun showUiModel(show:Boolean)
|
||||
|
||||
/**
|
||||
* 登出
|
||||
*/
|
||||
|
||||
@@ -28,6 +28,7 @@ class LoginServiceImpl : LoginService,ILoginViewCallback {
|
||||
private var fragment: Fragment?=null
|
||||
private var taxiLoginDialogFragment: WeakReference<TaxiLoginDialogFragment>? = null
|
||||
private var presenter: OchCommonLoginStatusDefaultPresenter?=null
|
||||
private var uiModel = true
|
||||
|
||||
override fun init(context: Context) {
|
||||
|
||||
@@ -53,40 +54,42 @@ class LoginServiceImpl : LoginService,ILoginViewCallback {
|
||||
|
||||
|
||||
override fun showLoginDialogFragment() {
|
||||
fragment?.let {
|
||||
CallerHmiManager.hideToolsView()
|
||||
val parentFragmentManager = it.parentFragmentManager
|
||||
val fragmentByTag: Fragment? = parentFragmentManager.findFragmentByTag(TAG)
|
||||
if (fragmentByTag is DialogFragment) {
|
||||
if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) {
|
||||
return
|
||||
}
|
||||
if (fragmentByTag.dialog != null && fragmentByTag.isAdded) {
|
||||
if (currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用
|
||||
d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 权限验证")
|
||||
if(uiModel) {
|
||||
fragment?.let {
|
||||
CallerHmiManager.hideToolsView()
|
||||
val parentFragmentManager = it.parentFragmentManager
|
||||
val fragmentByTag: Fragment? = parentFragmentManager.findFragmentByTag(TAG)
|
||||
if (fragmentByTag is DialogFragment) {
|
||||
if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) {
|
||||
return
|
||||
}
|
||||
if (fragmentByTag.dialog != null && fragmentByTag.isAdded) {
|
||||
if (currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用
|
||||
d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 权限验证")
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiLoginDialogFragment?.get() == null) {
|
||||
taxiLoginDialogFragment = WeakReference(newInstance())
|
||||
}
|
||||
val taxiLoginDialog = taxiLoginDialogFragment?.get()
|
||||
if (taxiLoginDialog != null) {
|
||||
if (taxiLoginDialog.dialog != null && taxiLoginDialog.dialog!!.isShowing) {
|
||||
return
|
||||
if (taxiLoginDialogFragment?.get() == null) {
|
||||
taxiLoginDialogFragment = WeakReference(newInstance())
|
||||
}
|
||||
if (taxiLoginDialog.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。
|
||||
parentFragmentManager.beginTransaction().remove(taxiLoginDialog)
|
||||
.commitAllowingStateLoss()
|
||||
val taxiLoginDialog = taxiLoginDialogFragment?.get()
|
||||
if (taxiLoginDialog != null) {
|
||||
if (taxiLoginDialog.dialog != null && taxiLoginDialog.dialog!!.isShowing) {
|
||||
return
|
||||
}
|
||||
if (taxiLoginDialog.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。
|
||||
parentFragmentManager.beginTransaction().remove(taxiLoginDialog)
|
||||
.commitAllowingStateLoss()
|
||||
}
|
||||
d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 展示登录界面")
|
||||
taxiLoginDialog.show(parentFragmentManager, TAG)
|
||||
taxiLoginDialog.setOnDismissListener(DialogInterface.OnDismissListener { dialog: DialogInterface? ->
|
||||
taxiLoginDialogFragment?.clear()
|
||||
presenter?.queryLoginStatus()
|
||||
})
|
||||
}
|
||||
d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 展示登录界面")
|
||||
taxiLoginDialog.show(parentFragmentManager, TAG)
|
||||
taxiLoginDialog.setOnDismissListener(DialogInterface.OnDismissListener { dialog: DialogInterface? ->
|
||||
taxiLoginDialogFragment?.clear()
|
||||
presenter?.queryLoginStatus()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,6 +107,10 @@ class LoginServiceImpl : LoginService,ILoginViewCallback {
|
||||
presenter?.queryLoginStatus()
|
||||
}
|
||||
|
||||
override fun showUiModel(show:Boolean) {
|
||||
uiModel = show;
|
||||
}
|
||||
|
||||
override fun loginOut(mLatitude:Double,mLongitude:Double) {
|
||||
presenter?.logOut(mLatitude,mLongitude)
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.util.Log
|
||||
import android.view.*
|
||||
import androidx.appcompat.widget.AppCompatButton
|
||||
import androidx.appcompat.widget.AppCompatEditText
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
@@ -15,7 +16,9 @@ import androidx.core.widget.addTextChangedListener
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.mvp.MvpDialogFragment
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -23,7 +26,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.KeyboardUtils
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.presenter.OchCommonLoginPresenter
|
||||
import com.mogo.och.common.module.biz.provider.LoginService
|
||||
|
||||
|
||||
/**
|
||||
@@ -40,6 +45,7 @@ class TaxiLoginDialogFragment : MvpDialogFragment<TaxiLoginDialogFragment?, OchC
|
||||
lateinit var aceLoginPhoneValue: AppCompatEditText
|
||||
lateinit var acetPhoneCodeValue: AppCompatEditText
|
||||
lateinit var actvWelcomeLoginTitle: AppCompatTextView
|
||||
lateinit var acivLoginBg: AppCompatImageView
|
||||
private var mOnClickListener: DialogInterface.OnDismissListener? = null
|
||||
|
||||
|
||||
@@ -69,7 +75,9 @@ class TaxiLoginDialogFragment : MvpDialogFragment<TaxiLoginDialogFragment?, OchC
|
||||
acetPhoneCodeValue = mRootView.findViewById(R.id.acet_phone_code_value)
|
||||
actvWelcomeLoginTitle = mRootView.findViewById(R.id.actv_welcome_login_title)
|
||||
actvLoginShowSn = mRootView.findViewById(R.id.actv_login_show_sn)
|
||||
acivLoginBg = mRootView.findViewById(R.id.aciv_login_bg)
|
||||
inputPhoneNormal()
|
||||
initBg()
|
||||
initListener()
|
||||
dialog?.window?.let {
|
||||
context?.let { contextIn->
|
||||
@@ -81,6 +89,17 @@ class TaxiLoginDialogFragment : MvpDialogFragment<TaxiLoginDialogFragment?, OchC
|
||||
}
|
||||
}
|
||||
|
||||
private fun initBg() {
|
||||
when (DebugConfig.getProductFlavor()) {
|
||||
"fPadLenovoOchTaxi" -> {
|
||||
acivLoginBg.setImageResource(R.drawable.taxi_ic_login_bg)
|
||||
}
|
||||
"fPadLenovoOchBus" -> {
|
||||
acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun initListener() {
|
||||
mRootView.isFocusable = true
|
||||
mRootView.isFocusableInTouchMode = true
|
||||
@@ -121,6 +140,13 @@ class TaxiLoginDialogFragment : MvpDialogFragment<TaxiLoginDialogFragment?, OchC
|
||||
actvLoginGetCode.onClick {
|
||||
mPresenter?.getPhoneCode(aceLoginPhoneValue.text.toString())
|
||||
}
|
||||
actvLoginShowSn.setOnLongClickListener{
|
||||
val loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE)
|
||||
.navigation() as LoginService
|
||||
loginService.showUiModel(false)
|
||||
dismissAllowingStateLoss()
|
||||
true
|
||||
}
|
||||
aceLoginPhoneValue.addTextChangedListener {
|
||||
it?.let { itEditable->
|
||||
if(itEditable.isNotEmpty()){
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
@@ -7,6 +7,7 @@
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_login_bg"
|
||||
android:src="@drawable/taxi_ic_login_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
Reference in New Issue
Block a user