[6.4.0]
[模式拦截、车型名称修改、清扫车路由]
This commit is contained in:
@@ -1,28 +1,12 @@
|
||||
package com.mogo.och.facade.route
|
||||
|
||||
import android.content.Context
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager.queryLoginStatusByNet
|
||||
import com.mogo.och.common.module.biz.login.TaxiLoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.facade.constant.FacadeConst
|
||||
|
||||
/**
|
||||
@@ -34,7 +18,34 @@ import com.mogo.och.facade.constant.FacadeConst
|
||||
class FacadeDriverProvider : FacadeProvider() {
|
||||
private val TAG = "FacadeDriverProvider"
|
||||
|
||||
private val sweeperFacadeProvider:SweeperFacadeProvider by lazy {
|
||||
SweeperFacadeProvider()
|
||||
}
|
||||
|
||||
override val functionName: String
|
||||
get() = TAG
|
||||
|
||||
override fun init(context: Context) {
|
||||
if (AppIdentityModeUtils.isC1(FunctionBuildConfig.appIdentityMode)) {
|
||||
sweeperFacadeProvider.init(context)
|
||||
}else {
|
||||
super.init(context)
|
||||
}
|
||||
}
|
||||
|
||||
override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? {
|
||||
if (AppIdentityModeUtils.isC1(FunctionBuildConfig.appIdentityMode)) {
|
||||
return sweeperFacadeProvider.createCoverage(fragmentActivity,integer)
|
||||
}else {
|
||||
return super.createCoverage(fragmentActivity, integer)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
override fun onStatusChange(currentStatus: LoginStatusEnum) {
|
||||
super.onStatusChange(currentStatus)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,17 +11,22 @@ import androidx.fragment.app.FragmentManager
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.ui.setting.SopView
|
||||
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager.queryLoginStatusByNet
|
||||
import com.mogo.och.common.module.biz.login.TaxiLoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.ProjectUtils
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
|
||||
/**
|
||||
* 网约车小巴业务实现入口
|
||||
@@ -48,10 +53,12 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
|
||||
private fun showFragment() {
|
||||
val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager
|
||||
|
||||
val fragment = if (LoginStatusManager.isLogin()) {
|
||||
getFragment()
|
||||
} else {
|
||||
CallerHmiManager.hideToolsView()
|
||||
ToggleDebugView.toggleDebugView.dismiss()
|
||||
SopView.sopView.dismiss()
|
||||
LoginStatusManager.getFragment()
|
||||
}
|
||||
|
||||
@@ -123,11 +130,23 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
activity!!.finish()
|
||||
}
|
||||
|
||||
override fun onStatusChange(currentStatus: TaxiLoginStatusEnum) {
|
||||
override fun onStatusChange(currentStatus: LoginStatusEnum) {
|
||||
d(TAG, "登录状态发生改变 ${currentStatus}")
|
||||
showFragment()
|
||||
}
|
||||
|
||||
override fun onBusinessChange(businessEnum: BusinessEnum) {
|
||||
super.onBusinessChange(businessEnum)
|
||||
val (bussness, identity, model) =AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
|
||||
when (businessEnum) {
|
||||
BusinessEnum.None -> {}
|
||||
BusinessEnum.Taxi -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.TAXI}_${identity}_${model}"
|
||||
BusinessEnum.Bus -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.BUS}_${identity}_${model}"
|
||||
BusinessEnum.Shuttle -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}"
|
||||
BusinessEnum.Charter -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.CHARTER}_${identity}_${model}"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun injectStatusBar() {
|
||||
activity?.let {
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.mogo.och.facade.route
|
||||
|
||||
import android.content.Context
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider
|
||||
import com.mogo.eagle.core.function.api.vehicle.IMoGoSweeperModeListener
|
||||
import com.mogo.eagle.core.function.call.vehicle.CallerSweeperModeListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
|
||||
/**
|
||||
* 网约车小巴业务实现入口
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
class SweeperFacadeProvider : IMoGoFunctionProvider, IMoGoSweeperModeListener {
|
||||
private var containerId = 0
|
||||
private var activity: FragmentActivity? = null
|
||||
private val TAG = "SweeperFacadeProvider"
|
||||
private var commonService: CommonService? = null
|
||||
|
||||
override val functionName: String
|
||||
get() = TAG
|
||||
|
||||
override fun init(context: Context) {
|
||||
d(TAG, "SweeperFacadeProvider:init")
|
||||
CallerSweeperModeListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? {
|
||||
containerId = integer!!
|
||||
activity = fragmentActivity
|
||||
showFragment()
|
||||
return null
|
||||
}
|
||||
|
||||
private fun showFragment() {
|
||||
val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager
|
||||
val (_, identity, model) =AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
|
||||
FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SWEEPER}_${identity}_${model}"
|
||||
val fragment = getFragmentByServeName(OchCommonConst.SWEEPER_DRIVER)
|
||||
|
||||
d(TAG, "切换 fragment:${fragment}")
|
||||
|
||||
if (supportFragmentManager != null) {
|
||||
val back = supportFragmentManager.beginTransaction()
|
||||
back.replace(containerId, fragment, fragment.tag)
|
||||
back.commit()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getFragmentByServeName(serviceName: String): Fragment {
|
||||
commonService = ARouter.getInstance().build(serviceName).navigation() as CommonService?
|
||||
return commonService!!.getFragment()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
//若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
|
||||
if (activity == null) return
|
||||
activity!!.finish()
|
||||
}
|
||||
|
||||
override fun onSweeperCurrentModeChanged(currentMode: String) {
|
||||
commonService?.invokeByName("reStart",currentMode)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user