[6.4.5]
[fea] [添加offline 模式]
This commit is contained in:
@@ -8,6 +8,7 @@ import com.mogo.commons.module.intent.IMogoIntentListener
|
||||
import com.mogo.commons.module.intent.IntentManager
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -176,17 +177,19 @@ object LoginModel {
|
||||
LoginStatusManager.setBusinessType(data.data.businessType)
|
||||
iTaxiLoginCallback?.searchStatusSuccess()
|
||||
// 后台已登录
|
||||
if (valueOf(data.data.driverStatus) == LoginStatusEnum.Login) {
|
||||
// 业务不支持 去退出登录
|
||||
if (!LoginStatusManager.checkBusiness(data.data.businessType)) {
|
||||
val mLatitude = getChassisLocationGCJ02().latitude
|
||||
val mLongitude = getChassisLocationGCJ02().longitude
|
||||
LoginStatusManager.loginOut(mLatitude, mLongitude)
|
||||
return
|
||||
if(!FunctionBuildConfig.isOffLine){
|
||||
if (valueOf(data.data.driverStatus) == LoginStatusEnum.Login) {
|
||||
// 业务不支持 去退出登录
|
||||
if (!LoginStatusManager.checkBusiness(data.data.businessType)) {
|
||||
val mLatitude = getChassisLocationGCJ02().latitude
|
||||
val mLongitude = getChassisLocationGCJ02().longitude
|
||||
LoginStatusManager.loginOut(mLatitude, mLongitude)
|
||||
return
|
||||
}
|
||||
}
|
||||
LoginStatusManager.setLoginStatus(data.data.driverStatus)
|
||||
}
|
||||
LoginStatusManager.setOpenOrderType(data.data.servingStatus)
|
||||
LoginStatusManager.setLoginStatus(data.data.driverStatus)
|
||||
LoginStatusManager.setLoginInfo(data.data)
|
||||
d(SceneConstant.M_TAXI + TAG, "登录信息:$data")
|
||||
loginSuccess(data)
|
||||
@@ -222,6 +225,10 @@ object LoginModel {
|
||||
// 登出
|
||||
fun logout(mLatitude: Double, mLongitude: Double) {
|
||||
val location4Login = TaxiLogoutReqBean.Location4Login(mLatitude, mLongitude)
|
||||
if (FunctionBuildConfig.isOffLine) {
|
||||
LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout)
|
||||
return
|
||||
}
|
||||
OchCommonServiceManager.logout(
|
||||
mContext!!, location4Login,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
@@ -275,4 +282,9 @@ object LoginModel {
|
||||
updateLoginLocalStatus(0)
|
||||
}
|
||||
|
||||
fun gotoOfflineMode() {
|
||||
FunctionBuildConfig.isOffLine = true
|
||||
LoginStatusManager.setLoginStatus(LoginStatusEnum.Login)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -127,4 +127,8 @@ class LoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(view), IT
|
||||
this.code = null
|
||||
}
|
||||
|
||||
fun gotoOfflineMode() {
|
||||
LoginModel.gotoOfflineMode()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -35,6 +35,7 @@ import kotlinx.android.synthetic.main.biz_login_view.biz_actv_welcome_login_titl
|
||||
import kotlinx.android.synthetic.main.biz_login_view.biz_cl_driver_main
|
||||
import kotlinx.android.synthetic.main.biz_login_view.bv_switch_business
|
||||
import kotlinx.android.synthetic.main.biz_login_view.eiv_Info
|
||||
import kotlinx.android.synthetic.main.biz_login_view.iv_login_offline
|
||||
|
||||
|
||||
/**
|
||||
@@ -109,6 +110,9 @@ class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(), ILoginView
|
||||
biz_actv_login_get_code.onClick {
|
||||
mPresenter?.getPhoneCode(biz_ace_login_phone_value.text.toString())
|
||||
}
|
||||
iv_login_offline.setOnClickListener {
|
||||
mPresenter?.gotoOfflineMode()
|
||||
}
|
||||
|
||||
biz_ace_login_phone_value.addTextChangedListener {
|
||||
it?.let { itEditable ->
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
|
||||
</vector>
|
||||
@@ -159,5 +159,16 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_login_offline"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_24"
|
||||
android:layout_marginEnd="@dimen/dp_24"
|
||||
android:src="@drawable/baseline_link_off_24"
|
||||
android:padding="@dimen/dp_23"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.common.module.biz.lansocket
|
||||
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.och.common.module.BuildConfig
|
||||
import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.mogo.och.common.module.biz.login
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loop.LoopInfo
|
||||
@@ -99,6 +100,10 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
|
||||
|
||||
@JvmStatic
|
||||
fun setLoginStatus(loginStatus: LoginStatusEnum) {
|
||||
if(FunctionBuildConfig.isOffLine){
|
||||
loginService?.setLoginStatus(LoginStatusEnum.Login)
|
||||
return
|
||||
}
|
||||
loginService?.setLoginStatus(loginStatus)
|
||||
}
|
||||
|
||||
@@ -119,10 +124,12 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
|
||||
}
|
||||
|
||||
fun invokeLoginStatusChange(currentStatus: LoginStatusEnum) {
|
||||
if(currentStatus==LoginStatusEnum.Login){
|
||||
BizLoopManager.setLoopFunction(TAGLoopStatus, LoopInfo(60*2, ::queryLoginStatusByNet,immediately = true, scheduler = Schedulers.io()))
|
||||
}else{
|
||||
BizLoopManager.removeLoopFunction(TAGLoopStatus)
|
||||
if(!FunctionBuildConfig.isOffLine){
|
||||
if(currentStatus==LoginStatusEnum.Login){
|
||||
BizLoopManager.setLoopFunction(TAGLoopStatus, LoopInfo(60*2, ::queryLoginStatusByNet,immediately = true, scheduler = Schedulers.io()))
|
||||
}else{
|
||||
BizLoopManager.removeLoopFunction(TAGLoopStatus)
|
||||
}
|
||||
}
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
|
||||
@@ -47,6 +47,10 @@ class OchCommonConst {
|
||||
const val TAXI_UNMANNED_DRIVER = "/taxiunman/taxiunmandriver"
|
||||
const val TAXI_UNMANNED_PASSENGER = "/taxiunman/taxiunmanpassenger"
|
||||
|
||||
const val OFFLINE_DRIVER = "/offline/offlinedriver"
|
||||
const val OFFLINE_PASSENGER = "/offline/offlinepassenger"
|
||||
|
||||
|
||||
const val BUSINESS_STRING = 100
|
||||
|
||||
// 自动驾驶自动规划的最大距离
|
||||
|
||||
Reference in New Issue
Block a user