diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt similarity index 60% rename from OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.kt rename to OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt index dc940a0192..705a9b8913 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt @@ -3,10 +3,11 @@ package com.mogo.och.bus import android.content.Context import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.annotation.Route -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.bus.fragment.BusFragment import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl /** * 网约车小巴业务实现入口 @@ -14,15 +15,17 @@ import com.mogo.och.common.module.biz.provider.CommonService * @author tongchenfei */ @Route(path = OchCommonConst.BUS_DRIVER) -class BusProvider : CommonService { - private val TAG = "BusProvider" - private var busFragment: BusFragment? = null +class BusDriverProvider : CommonServiceImpl() { + + private val tag = BusDriverProvider::class.java.simpleName + private lateinit var busFragment: BusFragment + override fun getFragment(): Fragment { - return busFragment!! + return busFragment } override fun init(context: Context) { - d(TAG, "准备show fragment") + CallerLogger.d(tag, "准备show fragment") busFragment = BusFragment() } } diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt similarity index 61% rename from OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt rename to OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt index 2f82f9d34f..f6b5166313 100644 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt +++ b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt @@ -1,23 +1,23 @@ package com.mogo.och.bus.passenger import android.content.Context +import android.view.View 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.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider -import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.stepInDayMode +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.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils -import com.mogo.och.bus.passenger.constant.BusPassengerConst -import com.mogo.och.bus.passenger.ui.BusPassengerRouteFragment import com.mogo.och.bus.passenger.passenger.ui.PM2BaseFragment +import com.mogo.och.bus.passenger.passenger.ui.widget.M2StatusBarView +import com.mogo.och.bus.passenger.ui.BusPStatusBarView +import com.mogo.och.bus.passenger.ui.BusPassengerRouteFragment import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.common.module.wigets.media.MediaPlayerActivity /** @@ -26,10 +26,12 @@ import com.mogo.och.common.module.wigets.media.MediaPlayerActivity * Created on 2022/3/29 */ @Route(path = OchCommonConst.BUS_PASSENGER) -class MogoOCHBusPassenger : CommonService { +class BusPassengerProvider : CommonServiceImpl() { + + private val tag = BusPassengerProvider::class.java.simpleName + private lateinit var mPM2Fragment: Fragment - private val TAG = MogoOCHBusPassenger::class.java.simpleName override fun getFragment(): Fragment { if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { MultiDisplayUtils.startActWithSecond(ActivityUtils.getTopActivity(), MediaPlayerActivity::class.java) @@ -37,8 +39,21 @@ class MogoOCHBusPassenger : CommonService { return mPM2Fragment } + override fun getStatusBarView(context: Context): View { + if(statusBarView==null) { + statusBarView = if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + M2StatusBarView(context) + } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { + BusPStatusBarView(context) + } else{ + StatusBarView(context) + } + } + return statusBarView!! + } + override fun init(context: Context) { - d(SceneConstant.M_TAXI_P + TAG, "init") + CallerLogger.d(SceneConstant.M_TAXI_P + tag, "init") mPM2Fragment = if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { PM2BaseFragment() } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java deleted file mode 100644 index fb146e17c3..0000000000 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mogo.och.bus.passenger; - -import androidx.annotation.IdRes; -import androidx.fragment.app.FragmentActivity; - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; - -/** - * 网约车抽象接口 - * - * Created on 2022/3/29 - */ -interface IMogoOCH extends IMoGoFunctionProvider { - - /** - * 初始化网约车容器 - * - * @param activity - * @param containerId 容器ID - */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); -} diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java deleted file mode 100644 index d4fdde8ebb..0000000000 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.mogo.och.bus.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.och.bus.passenger.passenger.ui.widget.M2StatusBarView; -import com.mogo.och.bus.passenger.ui.BusPStatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - - @NonNull - @Override - public View getStatusView(Context context) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { - return new M2StatusBarView(context); - } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { - return new BusPStatusBarView(context); - } - return new BusPStatusBarView(context); - } - - @Override - public void init(Context context) { - - } -} diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterProvider.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterDriverProvider.kt similarity index 55% rename from OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterProvider.kt rename to OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterDriverProvider.kt index 00f8fd72b8..d44b489d9f 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterProvider.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/CharterDriverProvider.kt @@ -4,10 +4,11 @@ import android.content.Context import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.annotation.Route import com.magic.mogo.och.charter.fragment.DriverM1Fragment -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger 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.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl /** @@ -15,18 +16,18 @@ import com.mogo.och.common.module.biz.provider.CommonService * @date: 2023/2/22 */ @Route(path = OchCommonConst.CHARTER_DRIVER) -class CharterProvider : CommonService { +class CharterDriverProvider : CommonServiceImpl() { - private lateinit var driverM1Fragment: Fragment - private val TAG = CharterProvider::class.java.simpleName + private val tag = CharterDriverProvider::class.java.simpleName + private lateinit var fragment: Fragment override fun getFragment(): Fragment { - return driverM1Fragment + return fragment } - override fun init(context: Context?) { - d(SceneConstant.M_TAXI + TAG, "init") - driverM1Fragment = DriverM1Fragment() + override fun init(context: Context) { + CallerLogger.d(SceneConstant.M_TAXI + tag, "init") + fragment = DriverM1Fragment() } } \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt new file mode 100644 index 0000000000..014ff3414d --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt @@ -0,0 +1,42 @@ +package com.mogo.och.charter.passenger + +import android.content.Context +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.charter.passenger.ui.MainFragment +import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl + +/** + * 网约车-Bus-乘客端 + * + * Created on 2022/3/29 + */ +@Route(path = OchCommonConst.CHARTER_PASSENGER) +class CharterPassengerProvider : CommonServiceImpl() { + + private val tag = CharterPassengerProvider::class.java.simpleName + private lateinit var fragment: MainFragment + + override fun getFragment(): Fragment { + return fragment + } + + override fun getStatusBarView(context: Context): View { + if(statusBarView==null){ + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + + override fun init(context: Context) { + CallerLogger.d(SceneConstant.M_TAXI_P + tag, "init") + fragment = MainFragment() + } + +} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt deleted file mode 100644 index c96cef45f3..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.mogo.och.charter.passenger - -import android.content.Context -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.mogo.eagle.core.function.api.base.IMoGoFunctionProvider -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant -import com.mogo.och.charter.passenger.constant.CharterPassengerConst -import com.mogo.och.charter.passenger.ui.MainFragment -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.provider.CommonService - -/** - * 网约车-Bus-乘客端 - * - * Created on 2022/3/29 - */ -@Route(path = OchCommonConst.CHARTER_PASSENGER) -class MogoOCHBusPassenger : CommonService { - - private lateinit var mPassengerFragment: MainFragment - private val TAG = MogoOCHBusPassenger::class.java.simpleName - - - override fun getFragment(): Fragment { - return mPassengerFragment - } - - override fun init(context: Context) { - d(SceneConstant.M_TAXI_P + TAG, "init") - mPassengerFragment = MainFragment() - } - -} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java deleted file mode 100644 index aae72e7b38..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.mogo.och.charter.passenger.provider; - -import android.content.Context; -import android.view.View; - -import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt index 524318a88a..1359dfa61a 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt @@ -31,8 +31,10 @@ import com.mogo.och.charter.passenger.ui.dialogfragment.M1CarUserNoOrderFragment import com.mogo.och.charter.passenger.ui.dialogfragment.NoviceGuidanceFragment import com.mogo.och.charter.passenger.ui.lockview.LockManager import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView +import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.biz.provider.CommonService import kotlinx.android.synthetic.main.charter_p_main_fragment.aciv_enter_video import kotlinx.android.synthetic.main.charter_p_main_fragment.aciv_map_2_default import kotlinx.android.synthetic.main.charter_p_main_fragment.bb_boorombar @@ -80,13 +82,16 @@ class MainFragment : MvpFragment(), IMogo private var statusBarView: StatusBarView? = null override fun getLayoutId(): Int { - (ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_VIEW_MANAGER) - .navigation() as? IStatusViewLayout)?.apply { - val statusView = getStatusView(requireContext()) - if (statusView is StatusBarView) { - statusBarView = statusView + (ARouter.getInstance().build(OchCommonConst.CHARTER_PASSENGER) + .navigation() as? CommonService)?.apply { + context?.let { + val statusView = getStatusBarView(it) + if (statusView is StatusBarView) { + statusBarView = statusView + } } } + return R.layout.charter_p_main_fragment } @@ -138,6 +143,7 @@ class MainFragment : MvpFragment(), IMogo } showBizView(orderinfo = true) } + BottomBar.SelectView.SETTING -> showBizView(softControl = true) BottomBar.SelectView.LINE -> showBizView(selectLine = true) BottomBar.SelectView.VIDEO -> showBizView(showVideo = true) @@ -207,10 +213,10 @@ class MainFragment : MvpFragment(), IMogo } else { biz_video.visibility = View.GONE } - if(showMusic) { + if (showMusic) { mcv_play_music.visibility = View.VISIBLE statusBarView?.setBackgroudColor(R.color.charter_p_40ffffff) - }else{ + } else { mcv_play_music.visibility = View.GONE } } @@ -290,7 +296,7 @@ class MainFragment : MvpFragment(), IMogo ) } - fun showOvermapPoint(){ + fun showOvermapPoint() { omvOverMap.setDebugMode(true) } @@ -348,7 +354,7 @@ class MainFragment : MvpFragment(), IMogo omvOverMap?.drawSitePolyline(coordinates, lineTrajectory) } - fun includePoint(coordinates: List){ + fun includePoint(coordinates: List) { omvOverMap?.includeSitePointsAndUpdateCamera(coordinates) } diff --git a/OCH/common/biz/build.gradle b/OCH/common/biz/build.gradle index 82d96c1975..dbe3b2d6d3 100644 --- a/OCH/common/biz/build.gradle +++ b/OCH/common/biz/build.gradle @@ -20,6 +20,9 @@ android { } } + resourcePrefix "biz_" + + buildTypes { release { minifyEnabled false diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt new file mode 100644 index 0000000000..f474a6ac36 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt @@ -0,0 +1,55 @@ +package com.mogo.och.biz.login + +import com.mogo.eagle.core.data.config.FunctionBuildConfig + +/** + * Created on 2021/12/6 + */ +class LoginConst { + companion object { + @JvmStatic + fun getBaseUrl(): String { + return FunctionBuildConfig.urlJson.ochUrl + } + @JvmStatic + fun getShuttleUrl(): String { + return FunctionBuildConfig.urlJson.shuttleUrl + } + @JvmStatic + fun getSweeperUrl(): String { + return FunctionBuildConfig.urlJson.sweeperUrl + } + + @JvmStatic + fun getEagleMisUrl(): String { + return FunctionBuildConfig.urlJson.eagleMisUrl + } + + // token 失效 重新获取token + const val WAIT_TAKEN = 100046 + + const val BIZ_LOGIN = "/ochbiz/common/login" + + const val BUS_DRIVER = "/bus/driver" + const val BUS_PASSENGER = "/bus/passenger" + + const val CHARTER_DRIVER = "/charter/driver" + const val CHARTER_PASSENGER = "/charter/passenger" + + const val SHUTTLE_DRIVER = "/shuttle/driver" + const val SHUTTLE_PASSENGER = "/shuttle/passenger" + + const val SWEEPER_DRIVER = "/sweeper/driver" + + const val TAXI_DRIVER = "/taxi/driver" + const val TAXI_PASSENGER = "/taxi/passenger" + + const val TAXI_UNMANNED_DRIVER = "/taxiunman/driver" + const val TAXI_UNMANNED_PASSENGER = "/taxiunman/passenger" + + const val BUSINESS_STRING = 100 + + // 自动驾驶自动规划的最大距离 + const val AUTOMATIC_PLANNING_MAX_DISTANCE = 15 + } +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt index 8933257237..6c2b3d2e80 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt @@ -1,12 +1,15 @@ package com.mogo.och.biz.login import android.content.Context +import android.view.View import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.biz.login.model.OchCommonLoginStatusDefaultModel +import com.mogo.och.biz.login.model.LoginStatusDefaultModel import com.mogo.och.biz.login.ui.LoginFragment -import com.mogo.och.biz.login.ui.SimpleFragment +import com.mogo.och.biz.login.ui.LoginPassengerFragment import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.login.LoginInfo import com.mogo.och.common.module.biz.login.LoginService @@ -21,25 +24,34 @@ import com.mogo.och.common.module.biz.login.TaxiLoginStatusEnum */ @Route(path = OchCommonConst.BIZ_LOGIN) class LoginProvider : LoginService { + + private val tag = LoginProvider::class.java.simpleName private lateinit var loginFragment: Fragment - - private var uiModel = true - private var loginStatus: TaxiLoginStatusEnum = TaxiLoginStatusEnum.None private var loginInfo: LoginInfo?=null - private val TAG = "LoginProvider" + override fun init(context: Context) { - CallerLogger.d(TAG,"init") - loginFragment = LoginFragment() + CallerLogger.d(tag,"LoginProvider init") + loginFragment= if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + LoginFragment() + }else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){ + LoginPassengerFragment() + }else{ + LoginFragment() + } } override fun getFragment(): Fragment { - CallerLogger.d(TAG,"getFragment ${Thread.currentThread().name}") - return SimpleFragment() + CallerLogger.d(tag,"getFragment:${loginFragment}") + return loginFragment + } + + override fun getStatusBarView(context: Context): View { + return View(context) } override fun setLoginStatus(status: Int) { - CallerLogger.d(TAG,"setLoginStatus:${status}") + CallerLogger.d(tag,"setLoginStatus:${status}") when (status) { 0 -> { setLoginStatus(TaxiLoginStatusEnum.Logout) @@ -54,53 +66,47 @@ class LoginProvider : LoginService { } override fun queryLoginStatusByNet() { - CallerLogger.d(TAG,"queryLoginStatusByNet") - OchCommonLoginStatusDefaultModel.queryCarStatus() - } - override fun showUiModel(show: Boolean) { - CallerLogger.d(TAG,"showUiModel${show}") - uiModel = show; + CallerLogger.d(tag,"queryLoginStatusByNet") + LoginStatusDefaultModel.queryCarStatus() } + override fun loginOut(mLatitude: Double, mLongitude: Double) { - CallerLogger.d(TAG,"loginOut mLatitude:${mLatitude}--mLongitude:${mLongitude}") - OchCommonLoginStatusDefaultModel.logout(mLatitude, mLongitude) + CallerLogger.d(tag,"loginOut mLatitude:${mLatitude}--mLongitude:${mLongitude}") + LoginStatusDefaultModel.logout(mLatitude, mLongitude) } override fun setLoginInfo(loginInfo: LoginInfo) { - CallerLogger.d(TAG,"setLoginInfo:${loginInfo}") + CallerLogger.d(tag,"setLoginInfo:${loginInfo}") this.loginInfo = loginInfo } override fun getLoginInfo(): LoginInfo? { - CallerLogger.d(TAG,"getLoginInfo") + CallerLogger.d(tag,"getLoginInfo") return loginInfo } override fun getPurpose(): TaxiDriverRoleEnum { - CallerLogger.d(TAG,"getPurpose") + CallerLogger.d(tag,"getPurpose") return TaxiDriverRoleEnum.valueOf(loginInfo?.purpose) } override fun isLogin(): Boolean { - CallerLogger.d(TAG,"isLogin") + CallerLogger.d(tag,"isLogin") return loginStatus == TaxiLoginStatusEnum.Login } override fun getLoginStatus(): TaxiLoginStatusEnum { - CallerLogger.d(TAG,"getLoginStatus:${loginStatus}") + CallerLogger.d(tag,"getLoginStatus:${loginStatus}") return loginStatus } override fun setLoginStatus(loginStatus: TaxiLoginStatusEnum) { - CallerLogger.d(TAG,"setLoginStatus:${loginStatus}") + CallerLogger.d(tag,"setLoginStatus:${loginStatus}") if(loginStatus!=this.loginStatus){ this.loginStatus = loginStatus LoginStatusManager.invokeLoginStatusChange(loginStatus) } } - companion object { - private const val TAG = "LoginProvider" - } } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt similarity index 98% rename from OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginModel.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index b694c786bd..65267fbe42 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -24,7 +24,7 @@ import com.mogo.och.common.module.wigets.toast.ToastCharterUtils * 网约车 - 出租车业务逻辑处理 */ @SuppressLint("StaticFieldLeak") -object OchCommonLoginModel { +object LoginModel { private val TAG = "TaxiLoginModel" private var mContext: Context? = null @@ -45,7 +45,7 @@ object OchCommonLoginModel { } fun setiTaxiLoginCallback(iTaxiLoginCallback: ITaxiLoginCallback?) { - OchCommonLoginModel.iTaxiLoginCallback = iTaxiLoginCallback + LoginModel.iTaxiLoginCallback = iTaxiLoginCallback } fun release() { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusDefaultModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt similarity index 93% rename from OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusDefaultModel.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt index ff4cc0b912..09701160b7 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusDefaultModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt @@ -9,13 +9,12 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean import com.mogo.och.common.module.bean.dpmsg.BusCacheKey import com.mogo.och.common.module.bean.dpmsg.LoginCacheStatus -import com.mogo.och.common.module.biz.login.ILoginCallback import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.data.manager.cache.CacheDataManager @SuppressLint("StaticFieldLeak") -object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() { +object LoginStatusDefaultModel : LoginStatusModel() { const val TAG = "OchCommonLoginStatusDefaultModel" diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusModel.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java similarity index 98% rename from OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusModel.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java index 82d14a1113..a5cf118265 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/OchCommonLoginStatusModel.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java @@ -4,7 +4,6 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAX import android.content.Context; -import com.mogo.commons.AbsMogoApplication; import com.mogo.eagle.core.data.BaseData; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.NetworkUtils; @@ -23,7 +22,7 @@ import java.util.concurrent.TimeUnit; import io.reactivex.Observable; import io.reactivex.disposables.Disposable; -public abstract class OchCommonLoginStatusModel { +public abstract class LoginStatusModel { private static final String TAG = "OchCommonLoginStatusModel"; diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt index c83b64a357..3cfa70e051 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt @@ -17,15 +17,24 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry +import com.mogo.och.common.module.utils.ProjectUtils object OchCommonServiceManager { private const val TAG = "OchCommonServiceManager" - private val loginDefaultManage: OchLoginServiceApi = + private val ochLoginServiceSaasEh: OchLoginServiceSaasEhApi by lazy { MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - OchLoginServiceApi::class.java + OchLoginServiceSaasEhApi::class.java ) + } + + private val ochLoginServiceMogo: OchLoginServiceMogoApi by lazy { + MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( + OchLoginServiceMogoApi::class.java + ) + } + private var draiverSnCacher = "" /** * 获取Bus司机端的sn @@ -50,12 +59,22 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - loginDefaultManage.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "sendSms")) + }else{ + ochLoginServiceSaasEh.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "sendSms")) + } + } /** @@ -70,11 +89,19 @@ object OchCommonServiceManager { callback: OchCommonServiceCallback? ) { val sn = SharedPrefsMgr.getInstance().sn - loginDefaultManage.gotoLoginBycode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.gotoLoginBycode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "login")) + }else{ + ochLoginServiceSaasEh.gotoLoginBycode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "login")) + } } /** @@ -86,13 +113,25 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - loginDefaultManage.logout(MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean( - SharedPrefsMgr.getInstance().sn, - location4Login - ) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.logout( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLogoutReqBean( + SharedPrefsMgr.getInstance().sn, + location4Login + ) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + }else { + ochLoginServiceSaasEh.logout( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + TaxiLogoutReqBean( + SharedPrefsMgr.getInstance().sn, + location4Login + ) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + } } /** @@ -112,12 +151,21 @@ object OchCommonServiceManager { } else{ draiverSn } - loginDefaultManage.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "loginStatus")) + }else{ + ochLoginServiceSaasEh.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "loginStatus")) + } } } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceApi.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java similarity index 88% rename from OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceApi.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java index 9fcfeb8a31..e40150878f 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceApi.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java @@ -20,7 +20,7 @@ import retrofit2.http.Query; *

* 网约车-出租车接口定义 */ -interface OchLoginServiceApi { +interface OchLoginServiceMogoApi { /** * 获取手机验证码 * @@ -40,7 +40,7 @@ interface OchLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation") + @POST("/autopilot-car-hailing/cab/flow/v1/driver/login") Observable gotoLoginBycode(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); @@ -48,7 +48,7 @@ interface OchLoginServiceApi { * 登出接口 */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") + @POST("/autopilot-car-hailing/cab/flow/v1/driver/logout") Observable logout(@Header("appId") String appId, @Header("ticket") String ticket, @Body TaxiLogoutReqBean data); @@ -59,7 +59,7 @@ interface OchLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + @GET("/autopilot-car-hailing/cab/flow/v1/driver/loginStatus") Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java new file mode 100644 index 0000000000..bb94d176a0 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java @@ -0,0 +1,66 @@ +package com.mogo.och.biz.login.net; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean; +import com.mogo.och.biz.login.bean.TaxiLoginReqBean; +import com.mogo.och.biz.login.bean.TaxiLoginRespBean; +import com.mogo.och.biz.login.bean.TaxiLoginSmsReqBean; +import com.mogo.och.biz.login.bean.TaxiLogoutReqBean; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * Created by pangfan on 2021/8/19 + *

+ * 网约车-出租车接口定义 + */ +interface OchLoginServiceSaasEhApi { + /** + * 获取手机验证码 + * + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-vehicle/cabin/sendSms") + Observable getPhoneCode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); + + /** + * 通过验证码登录 + * + * @param appId + * @param ticket + * @param data + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-vehicle/cabin/login") + Observable gotoLoginBycode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); + + /** + * 登出接口 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-vehicle/cabin/logout") + Observable logout(@Header("appId") String appId, @Header("ticket") String ticket, + @Body TaxiLogoutReqBean data); + + /** + * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 + * + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @GET("/och-vehicle/cabin/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId + , @Header("ticket") String ticket, @Query("sn") String sn); + +} diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt new file mode 100644 index 0000000000..a13ebc218c --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt @@ -0,0 +1,50 @@ +package com.mogo.och.biz.login.presenter + +import androidx.lifecycle.LifecycleOwner +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.mvp.Presenter +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.biz.login.callback.ITaxiLoginCallback +import com.mogo.och.biz.login.model.LoginModel +import com.mogo.och.biz.login.ui.LoginPassengerFragment + +/** + * @author congtaowang + * @since 2021/1/18 + * + * 描述 + */ +class LoginPassengerPresenter(view: LoginPassengerFragment?) : Presenter(view), ITaxiLoginCallback { + + private val TAG = LoginPassengerPresenter::class.java.simpleName + + init { + initListeners() + CallerLogger.d(TAG, "乘客屏-登录-Init") + } + + private fun initListeners() { + LoginModel.init(AbsMogoApplication.getApp()) + LoginModel.setiTaxiLoginCallback(this) + } + + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + CallerLogger.d(TAG, "乘客屏-登录-登陆") + } + + + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + } + + override fun getPhoneCodeSuccess() { + + } + + override fun loginSuccess() { + + } + +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/OchCommonLoginPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt similarity index 84% rename from OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/OchCommonLoginPresenter.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt index c3483c33e7..b15bbeba06 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/OchCommonLoginPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt @@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.util.RegexUtils import com.mogo.och.biz.R import com.mogo.och.biz.login.callback.ITaxiLoginCallback import com.mogo.och.biz.login.ui.LoginFragment -import com.mogo.och.biz.login.model.OchCommonLoginModel +import com.mogo.och.biz.login.model.LoginModel import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers @@ -23,11 +23,11 @@ import java.util.concurrent.TimeUnit * * 描述 */ -class OchCommonLoginPresenter(view: LoginFragment?) : Presenter(view), ITaxiLoginCallback { +class LoginPresenter(view: LoginFragment?) : Presenter(view), ITaxiLoginCallback { private var countDownDisposable: Disposable? = null - private val TAG = OchCommonLoginPresenter::class.java.simpleName + private val TAG = LoginPresenter::class.java.simpleName init { initListeners() @@ -35,12 +35,12 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter( } private fun initListeners() { - OchCommonLoginModel.init(AbsMogoApplication.getApp()) - OchCommonLoginModel.setiTaxiLoginCallback(this) + LoginModel.init(AbsMogoApplication.getApp()) + LoginModel.setiTaxiLoginCallback(this) } fun getPhoneCode(phone:String){ - if(!OchCommonLoginModel.hasInit()){ + if(!LoginModel.hasInit()){ initListeners() } if (!RegexUtils.isMobileExact(phone)) { @@ -48,7 +48,7 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter( mView?.inputPhoneError() return } - OchCommonLoginModel.getPhoneCode(phone) + LoginModel.getPhoneCode(phone) } override fun onCreate(owner: LifecycleOwner) { @@ -60,7 +60,7 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter( override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) - OchCommonLoginModel.release() + LoginModel.release() countDownDisposable?.let { if (!it.isDisposed) { it.dispose() @@ -92,7 +92,7 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter( } fun gotoLogin(phone: String, code: String) { - if(!OchCommonLoginModel.hasInit()){ + if(!LoginModel.hasInit()){ initListeners() } if (!RegexUtils.isMobileExact(phone)) { @@ -105,6 +105,6 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter( return } mView?.closeSoftInput() - OchCommonLoginModel.gotoLogin(phone,code) + LoginModel.gotoLogin(phone,code) } } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt index f3300b112f..efdf036012 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -5,39 +5,33 @@ import android.os.SystemClock import android.view.* import androidx.core.content.ContextCompat import androidx.core.widget.addTextChangedListener -import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.kotlin.onClick -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.KeyboardUtils import com.mogo.och.biz.R -import com.mogo.och.biz.login.presenter.OchCommonLoginPresenter -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.login.LoginService +import com.mogo.och.biz.login.presenter.LoginPresenter import com.mogo.och.common.module.utils.RxUtils -import kotlinx.android.synthetic.main.taxi_login_view.acbtn_login -import kotlinx.android.synthetic.main.taxi_login_view.ace_login_phone_value -import kotlinx.android.synthetic.main.taxi_login_view.acet_phone_code_value -import kotlinx.android.synthetic.main.taxi_login_view.aciv_login_bg -import kotlinx.android.synthetic.main.taxi_login_view.actv_login_get_code -import kotlinx.android.synthetic.main.taxi_login_view.actv_login_show_sn -import kotlinx.android.synthetic.main.taxi_login_view.actv_welcome_login_title -import kotlinx.android.synthetic.main.taxi_login_view.cl_main +import kotlinx.android.synthetic.main.biz_login_view.biz_acbtn_login +import kotlinx.android.synthetic.main.biz_login_view.biz_ace_login_phone_value +import kotlinx.android.synthetic.main.biz_login_view.biz_acet_phone_code_value +import kotlinx.android.synthetic.main.biz_login_view.biz_actv_login_get_code +import kotlinx.android.synthetic.main.biz_login_view.biz_actv_login_show_sn +import kotlinx.android.synthetic.main.biz_login_view.biz_actv_welcome_login_title +import kotlinx.android.synthetic.main.biz_login_view.biz_cl_driver_main /** * @author: yangyakun * @date: 2022/8/15 */ -class LoginFragment : MvpFragment(){ +class LoginFragment : MvpFragment(){ override fun getLayoutId(): Int { - return R.layout.taxi_login_view + return R.layout.biz_login_view } override fun initViews() { @@ -48,17 +42,7 @@ class LoginFragment : MvpFragment(){ } private fun initBg() { - if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - //出租车司机 - aciv_login_bg.setImageResource(R.drawable.taxi_ic_login_bg) - } else if ((AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - || AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode) - || AppIdentityModeUtils.isCharter(FunctionBuildConfig.appIdentityMode)) && - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - //小巴车司机 - aciv_login_bg.setImageResource(R.drawable.bus_ic_login_bg) - } + } private fun initListener() { @@ -73,49 +57,44 @@ class LoginFragment : MvpFragment(){ } false } - acbtn_login.onClick { - val phone = ace_login_phone_value.text.toString() - val code = acet_phone_code_value.text.toString() + biz_acbtn_login.onClick { + val phone = biz_ace_login_phone_value.text.toString() + val code = biz_acet_phone_code_value.text.toString() mPresenter?.gotoLogin(phone, code) } - actv_welcome_login_title.setOnClickListener { + biz_actv_welcome_login_title.setOnClickListener { continuousClick() } - cl_main.viewTreeObserver.addOnGlobalLayoutListener { + biz_cl_driver_main.viewTreeObserver.addOnGlobalLayoutListener { val rect = Rect() - cl_main.getWindowVisibleDisplayFrame(rect) - val mainInvisibleHeight = cl_main.rootView.height - rect.bottom + biz_cl_driver_main.getWindowVisibleDisplayFrame(rect) + val mainInvisibleHeight = biz_cl_driver_main.rootView.height - rect.bottom if (mainInvisibleHeight > 100) { val outLocation = IntArray(2) - acbtn_login.getLocationInWindow(outLocation) - val srollHeight = (outLocation[1] + acbtn_login.height) - rect.bottom + biz_acbtn_login.getLocationInWindow(outLocation) + val srollHeight = (outLocation[1] + biz_acbtn_login.height) - rect.bottom if (srollHeight > 0) { - cl_main.scrollTo(0, srollHeight) + biz_cl_driver_main.scrollTo(0, srollHeight) } CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "滚动的距离:$srollHeight") } else { - cl_main.scrollTo(0, 0) + biz_cl_driver_main.scrollTo(0, 0) } } - actv_login_get_code.onClick { - mPresenter?.getPhoneCode(ace_login_phone_value.text.toString()) + biz_actv_login_get_code.onClick { + mPresenter?.getPhoneCode(biz_ace_login_phone_value.text.toString()) } - actv_login_show_sn.setOnLongClickListener { - val loginService = ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN) - .navigation() as LoginService - loginService.showUiModel(false) - true - } - ace_login_phone_value.addTextChangedListener { + + biz_ace_login_phone_value.addTextChangedListener { it?.let { itEditable -> if (itEditable.isNotEmpty()) { inputPhoneNormal() } } } - actv_login_show_sn.text = SharedPrefsMgr.getInstance().sn + biz_actv_login_show_sn.text = SharedPrefsMgr.getInstance().sn RxUtils.createSubscribe(10_000) { - CallerLogger.d(TAG,"宽度${cl_main.width}----${cl_main.height}----${cl_main.visibility}") + CallerLogger.d(TAG,"宽度${biz_cl_driver_main.width}----${biz_cl_driver_main.height}----${biz_cl_driver_main.visibility}") } } @@ -129,32 +108,32 @@ class LoginFragment : MvpFragment(){ fun setCountDownText(text: String, enable: Boolean) { if (enable) { - actv_login_get_code.setText(R.string.module_och_taxi_login_get_code) - actv_login_get_code.isEnabled = true + biz_actv_login_get_code.setText(R.string.module_och_taxi_login_get_code) + biz_actv_login_get_code.isEnabled = true } else { - actv_login_get_code.text = text - actv_login_get_code.isEnabled = false + biz_actv_login_get_code.text = text + biz_actv_login_get_code.isEnabled = false } } fun inputPhoneError() { - ace_login_phone_value.text?.clear() - ace_login_phone_value.setHint(R.string.module_och_taxi_login_phone_error) + biz_ace_login_phone_value.text?.clear() + biz_ace_login_phone_value.setHint(R.string.module_och_taxi_login_phone_error) context?.let { - ace_login_phone_value.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_EF262C)) - ace_login_phone_value.setBackgroundResource(R.drawable.taxi_login_phone_error) + biz_ace_login_phone_value.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_EF262C)) + biz_ace_login_phone_value.setBackgroundResource(R.drawable.taxi_login_phone_error) } } private fun inputPhoneNormal() { context?.let { - ace_login_phone_value.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_878890)) - ace_login_phone_value.setBackgroundResource(R.drawable.taxi_login_phone_normal) + biz_ace_login_phone_value.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_878890)) + biz_ace_login_phone_value.setBackgroundResource(R.drawable.taxi_login_phone_normal) } } - override fun createPresenter(): OchCommonLoginPresenter { - return OchCommonLoginPresenter(this) + override fun createPresenter(): LoginPresenter { + return LoginPresenter(this) } override fun getTagName(): String { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt new file mode 100644 index 0000000000..b865280149 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt @@ -0,0 +1,60 @@ +package com.mogo.och.biz.login.ui + +import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.biz.R +import com.mogo.och.biz.login.presenter.LoginPassengerPresenter +import kotlinx.android.synthetic.main.biz_login_passenger_view.biz_cl_passenger_main + + +/** + * @author: yangyakun + * @date: 2022/8/15 + */ +class LoginPassengerFragment : MvpFragment(){ + + override fun getLayoutId(): Int { + return R.layout.biz_login_passenger_view + } + + override fun initViews() { + if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + biz_cl_passenger_main.setBackgroundResource(R.drawable.biz_login_passenger_1920x1080) + } else if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + biz_cl_passenger_main.setBackgroundResource(R.drawable.biz_login_passenger_1080x1920) + } else { + biz_cl_passenger_main.setBackgroundResource(R.drawable.biz_login_passenger_2560x1600) + } + + CallerLogger.d(TAG,"init") + } + + override fun createPresenter(): LoginPassengerPresenter { + return LoginPassengerPresenter(this) + } + + override fun getTagName(): String { + return TAG + } + + companion object { + + val TAG = LoginPassengerFragment::class.java.simpleName + } + + override fun onResume() { + super.onResume() + CallerLogger.d(TAG,"onResume") + } + + override fun onPause() { + super.onPause() + CallerLogger.d(TAG,"onPause") + } +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/SimpleFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/SimpleFragment.kt deleted file mode 100644 index 16fd33b2b0..0000000000 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/SimpleFragment.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.mogo.och.biz.login.ui - -import com.mogo.commons.mvp.BaseFragment -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.biz.R - -/** - * @author: yangyakun - * @date: 2022/8/15 - */ -class SimpleFragment : BaseFragment() { - - override fun getLayoutId(): Int { - return R.layout.taxi_login_view_1 - } - - override fun initViews() { - CallerLogger.d(TAG,"init") - } - - - override fun getTagName(): String { - return TAG - } - - companion object { - val TAG = SimpleFragment::class.java.simpleName - } - - - override fun onResume() { - super.onResume() - CallerLogger.d(TAG,"onResume") - } - - override fun onPause() { - super.onPause() - CallerLogger.d(TAG,"onPause") - } -} \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/bus_ic_login_bg.webp b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_bg.webp similarity index 100% rename from OCH/common/biz/src/main/res/drawable-nodpi/bus_ic_login_bg.webp rename to OCH/common/biz/src/main/res/drawable-nodpi/biz_login_bg.webp diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png new file mode 100644 index 0000000000..fc4ad73d11 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png new file mode 100644 index 0000000000..75df2ac20e Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png new file mode 100644 index 0000000000..c535403510 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/taxi_ic_login_bg.webp b/OCH/common/biz/src/main/res/drawable-nodpi/taxi_ic_login_bg.webp deleted file mode 100644 index 7af7432551..0000000000 Binary files a/OCH/common/biz/src/main/res/drawable-nodpi/taxi_ic_login_bg.webp and /dev/null differ diff --git a/OCH/common/biz/src/main/res/layout/taxi_login_view_1.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml similarity index 83% rename from OCH/common/biz/src/main/res/layout/taxi_login_view_1.xml rename to OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml index e2073c5501..317c8a65fa 100644 --- a/OCH/common/biz/src/main/res/layout/taxi_login_view_1.xml +++ b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view.xml @@ -1,9 +1,8 @@ diff --git a/OCH/common/biz/src/main/res/layout/taxi_login_view.xml b/OCH/common/biz/src/main/res/layout/biz_login_view.xml similarity index 93% rename from OCH/common/biz/src/main/res/layout/taxi_login_view.xml rename to OCH/common/biz/src/main/res/layout/biz_login_view.xml index 89577408f8..79dbe04a33 100644 --- a/OCH/common/biz/src/main/res/layout/taxi_login_view.xml +++ b/OCH/common/biz/src/main/res/layout/biz_login_view.xml @@ -1,20 +1,20 @@ { + return Project.DALI + } + + Project.SAAS.value -> { + return Project.SAAS + } + + Project.MOGO.value -> { + return Project.MOGO + } + + Project.YANTAI.value -> { + return Project.YANTAI + } + } + return Project.MOGO + } + +} + +enum class Project(val value: String) { + SAAS("saas"), + DALI("dali"), + MOGO("mogo"), + YANTAI("yantai") +} \ No newline at end of file diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt index e3ff4ed73c..02d2ab1350 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt @@ -1,6 +1,10 @@ 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 @@ -8,6 +12,7 @@ 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 @@ -26,85 +31,10 @@ import com.mogo.och.facade.constant.FacadeConst * @author tongchenfei */ @Route(path = FacadeConst.DRIVER_PATH) -class FacadeDriverProvider : IMoGoFunctionProvider, ILoginCallback { - private var containerId = 0 - private var activity: FragmentActivity? = null +class FacadeDriverProvider : FacadeProvider() { private val TAG = "FacadeDriverProvider" - override fun init(context: Context) { - d(TAG, "init") - LoginStatusManager.addListener(TAG, this) - queryLoginStatusByNet() - } - - override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? { - containerId = integer!! - activity = fragmentActivity - showFragment() - return null - } override val functionName: String get() = TAG - private fun showFragment() { - val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager - - val fragment= if(LoginStatusManager.isLogin()){ - getFragment() - }else{ - LoginStatusManager.getFragment() - } - d(SceneConstant.M_TAXI_P + TAG, "准备add fragment======") - - if(supportFragmentManager!=null){ - val back = supportFragmentManager.beginTransaction() - back.replace(containerId,fragment,fragment.tag) - back.commit() - } - } - - private fun getFragment(): Fragment { - if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.BUS_DRIVER) - } else if (AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.SHUTTLE_DRIVER) - } else if (AppIdentityModeUtils.isCharter(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.CHARTER_DRIVER) - } else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.TAXI_DRIVER) - } else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) { - return getFragmentByServeName(OchCommonConst.SWEEPER_DRIVER) - } - return LoginStatusManager.getFragment() - } - - private fun getFragmentByServeName(serviceName: String): Fragment { - val bizService = ARouter.getInstance().build(serviceName).navigation() as CommonService? - if (bizService == null) { - try { - return LoginStatusManager.getFragment() - } catch (e: ClassNotFoundException) { - OchChainLogManager.writeChainLog( - "Init", - "没有找到登录Fragment", - eventID = OchChainLogManager.EVENT_KEY_INFE_ERROR - ) - return Fragment() - } - } else { - return bizService.getFragment() - } - } - - override fun onDestroy() { - //若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 - if (activity == null) return - activity!!.finish() - } - - override fun onStatusChange(currentStatus: TaxiLoginStatusEnum) { - d(TAG, "登录状态发生改变 ${currentStatus}") - //showFragment() - } - } diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.java b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.java deleted file mode 100644 index f80f99f473..0000000000 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.java +++ /dev/null @@ -1,62 +0,0 @@ - -package com.mogo.och.facade.route; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; - -import android.content.Context; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; -import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.och.facade.constant.FacadeConst; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * 网约车小巴业务实现入口 - * - * @author tongchenfei - */ -@Route(path = FacadeConst.PASSENGER_PATH) -public class FacadePassengerProvider implements IMoGoFunctionProvider { - - private static final String TAG = "FacadePassengerProvider"; - - private int containerId; - private FragmentActivity activity; - - @Override - public void init(Context context) { - } - - private void showFragment() { - - } - - @NotNull - @Override - public String getFunctionName() { - return TAG; - } - - @Nullable - @Override - public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) { - this.containerId = integer; - this.activity = fragmentActivity; - showFragment(); - return null; - } - - @Override - public void onDestroy() { - //若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 - if (activity == null) return; - activity.finish(); - } -} diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt new file mode 100644 index 0000000000..02f9bae3b3 --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt @@ -0,0 +1,19 @@ +package com.mogo.och.facade.route + +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.och.facade.constant.FacadeConst + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +@Route(path = FacadeConst.PASSENGER_PATH) +class FacadePassengerProvider : FacadeProvider() { + private val TAG = FacadePassengerProvider::class.java.simpleName + + override val functionName: String + get() = TAG + + +} diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt new file mode 100644 index 0000000000..0850bd821c --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -0,0 +1,144 @@ +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.facade.constant.FacadeConst + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { + private var containerId = 0 + private var activity: FragmentActivity? = null + private val TAG = "FacadeProvider" + private var commonService: CommonService? = null + override fun init(context: Context) { + d(TAG, "FacadeProvider:init") + LoginStatusManager.addListener(TAG, this) + queryLoginStatusByNet() + } + + override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? { + containerId = integer!! + activity = fragmentActivity + showFragment() + return null + } + + private fun showFragment() { + val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager + + val fragment = if (LoginStatusManager.isLogin()) { + getFragment() + } else { + LoginStatusManager.getFragment() + } + + d(TAG, "切换 fragment:${fragment}") + + if (supportFragmentManager != null) { + val back = supportFragmentManager.beginTransaction() + back.replace(containerId, fragment, fragment.tag) + back.commit() + } + } + + private fun getFragment(): Fragment { + if (AppIdentityModeUtils.isBusDriver(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.BUS_DRIVER) + } else if (AppIdentityModeUtils.isShuttleDriver(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.SHUTTLE_DRIVER) + } else if (AppIdentityModeUtils.isCharterDriver(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.CHARTER_DRIVER) + } else if (AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.TAXI_DRIVER) + } else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.SWEEPER_DRIVER) + } else if (AppIdentityModeUtils.isBusPassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.BUS_DRIVER) + } else if (AppIdentityModeUtils.isShuttlePassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.SHUTTLE_DRIVER) + } else if (AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.CHARTER_DRIVER) + } else if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.TAXI_DRIVER) + } + return LoginStatusManager.getFragment() + } + + private fun getFragmentByServeName(serviceName: String): Fragment { + commonService = ARouter.getInstance().build(serviceName).navigation() as CommonService? + return if (commonService == null) { + try { + LoginStatusManager.getFragment() + } catch (e: ClassNotFoundException) { + OchChainLogManager.writeChainLog( + "Init", + "没有找到登录Fragment", + eventID = OchChainLogManager.EVENT_KEY_INFE_ERROR + ) + Fragment() + } + } else { + commonService!!.getFragment() + } + } + + override fun onDestroy() { + //若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 + if (activity == null) return + activity!!.finish() + } + + override fun onStatusChange(currentStatus: TaxiLoginStatusEnum) { + d(TAG, "登录状态发生改变 ${currentStatus}") + showFragment() + } + + + private fun injectStatusBar() { + activity?.let { + val decorView = it.window.decorView as? FrameLayout ?: return + val contentView = + (decorView.findViewById(android.R.id.content) as? ViewGroup)?.getChildAt(0) + ?: return + contentView.fitsSystemWindows = false + decorView.clipToPadding = false + var statusBarView = decorView.findViewWithTag("status_bar") + val statusBar = commonService?.getStatusBarView(it) + statusBarView = statusBar ?: StatusBarView(it) + statusBarView.tag = "status_bar" + val statusBarLP = FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT, + ) + statusBarLP.topMargin = 0 + statusBarLP.gravity = Gravity.TOP + decorView.addView(statusBarView, statusBarLP) + } + } + +} diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ShuttleDriverProvider.kt similarity index 74% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ShuttleDriverProvider.kt index a2cb99084a..56aeb29158 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ShuttleDriverProvider.kt @@ -8,6 +8,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.bus.fragment.ShuttleFragment import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl /** * 网约车小巴业务实现入口 @@ -15,18 +16,18 @@ import com.mogo.och.common.module.biz.provider.CommonService * @author tongchenfei */ @Route(path = OchCommonConst.SHUTTLE_DRIVER) -class BusProvider : CommonService { - private var busFragment: ShuttleFragment? = null +class ShuttleDriverProvider : CommonServiceImpl() { + + private val TAG = ShuttleDriverProvider::class.java.simpleName + private lateinit var busFragment: ShuttleFragment + override fun init(context: Context) { d(SceneConstant.M_TAXI + TAG, "init") busFragment = ShuttleFragment() } override fun getFragment(): Fragment { - return busFragment!! + return busFragment } - companion object { - private const val TAG = "BusProvider" - } } diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/MogoOCHShuttlePassenger.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/ShuttlePassengerProvider.kt similarity index 66% rename from OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/MogoOCHShuttlePassenger.kt rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/ShuttlePassengerProvider.kt index 81a17a51ca..a84ff97c23 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/MogoOCHShuttlePassenger.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/ShuttlePassengerProvider.kt @@ -1,25 +1,22 @@ package com.mogo.och.shuttle.passenger import android.content.Context +import android.view.View 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.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider -import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.stepInDayMode 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.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.CommonService -import com.mogo.och.shuttle.passenger.constant.BusPassengerConst +import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.common.module.wigets.media.MediaPlayerActivity import com.mogo.och.shuttle.passenger.model.TicketModel +import com.mogo.och.shuttle.passenger.ui.BusPStatusBarView import com.mogo.och.shuttle.passenger.ui.BusPassengerRouteFragment import com.mogo.och.shuttle.passenger.ui.PM2BaseFragment +import com.mogo.och.shuttle.passenger.ui.widget.M2StatusBarView /** * 网约车-Bus-乘客端 @@ -27,7 +24,9 @@ import com.mogo.och.shuttle.passenger.ui.PM2BaseFragment * Created on 2022/3/29 */ @Route(path = OchCommonConst.SHUTTLE_PASSENGER) -class MogoOCHShuttlePassenger : CommonService { +class ShuttlePassengerProvider : CommonServiceImpl() { + + private val tag = ShuttlePassengerProvider::class.java.simpleName private lateinit var mPM2Fragment: Fragment override fun init(context: Context) { @@ -41,6 +40,19 @@ class MogoOCHShuttlePassenger : CommonService { } } + override fun getStatusBarView(context: Context): View { + if(statusBarView==null){ + statusBarView = if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + M2StatusBarView(context); + } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { + BusPStatusBarView(context); + }else{ + BusPStatusBarView(context); + } + } + return statusBarView!! + } + override fun getFragment(): Fragment { if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { MultiDisplayUtils.startActWithSecond(ActivityUtils.getTopActivity(), MediaPlayerActivity::class.java) @@ -48,8 +60,4 @@ class MogoOCHShuttlePassenger : CommonService { return mPM2Fragment } - companion object { - private val TAG = MogoOCHShuttlePassenger::class.java.simpleName - } - } \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java deleted file mode 100644 index 6c11478908..0000000000 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.mogo.och.shuttle.passenger.provider; - -import android.content.Context; -import android.view.View; - -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.och.shuttle.passenger.ui.BusPStatusBarView; -import com.mogo.och.shuttle.passenger.ui.widget.M2StatusBarView; -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - @NonNull - @Override - public View getStatusView(Context context) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { - return new M2StatusBarView(context); - } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { - return new BusPStatusBarView(context); - } - return new BusPStatusBarView(context); - } - - @Override - public void init(Context context) { - - } -} diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt similarity index 78% rename from OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.kt rename to OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt index f3f177945a..1e972e250f 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.kt +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt @@ -7,6 +7,7 @@ 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.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.taxi.ui.TaxiFragment /** @@ -17,12 +18,13 @@ import com.mogo.och.taxi.ui.TaxiFragment * 网约车-出租车 */ @Route(path = OchCommonConst.TAXI_DRIVER) -class TaxiProvider : CommonService { +class TaxiDriverProvider : CommonServiceImpl() { - private val TAG = "TaxiProvider" + private val tag = TaxiDriverProvider::class.java.simpleName private lateinit var ochTaxiFragment: TaxiFragment + override fun init(context: Context) { - d(SceneConstant.M_TAXI + TAG, "init") + d(SceneConstant.M_TAXI + tag, "init") ochTaxiFragment = TaxiFragment() } diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt similarity index 63% rename from OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.kt rename to OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt index e91ea85960..7737eb62c7 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt @@ -1,13 +1,16 @@ package com.mogo.och.taxi.passenger import android.content.Context +import android.view.View import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.annotation.Route 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.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment +import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView /** * @author congtaowang @@ -17,15 +20,22 @@ import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment * 网约车-出租车-乘客端 */ @Route(path = OchCommonConst.TAXI_PASSENGER) -class MogoOCHTaxiPassenger : CommonService { +class TaxiPassengerProvider : CommonServiceImpl() { + private val tag = TaxiPassengerProvider::class.java.simpleName private lateinit var ochTaxiPassengerFragment: TaxiPassengerBaseFragment - private val TAG = "MogoOCHTaxiPassenger" override fun init(context: Context) { - d(SceneConstant.M_TAXI_P + TAG, "init") + d(SceneConstant.M_TAXI_P + tag, "init") ochTaxiPassengerFragment = TaxiPassengerBaseFragment() } + override fun getStatusBarView(context: Context): View { + if (statusBarView == null) { + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + override fun getFragment(): Fragment { return ochTaxiPassengerFragment } diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java deleted file mode 100644 index 8104aaee3d..0000000000 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.taxi.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java deleted file mode 100644 index 3c724ee33c..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mogo.och.taxi; - -import androidx.annotation.IdRes; -import androidx.fragment.app.FragmentActivity; - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; - -public -/** - * @author congtaowang - * @since 2021/1/15 - * - * 网约车抽象接口 - */ -interface IMogoOCH extends IMoGoFunctionProvider { - - /** - * 初始化网约车容器 - * - * @param activity - * @param containerId 容器ID - */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); -} diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedProvider.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedDriverProvider.kt similarity index 69% rename from OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedProvider.kt rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedDriverProvider.kt index f5a9923b65..df1be2c018 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedProvider.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/TaxiUnmannedDriverProvider.kt @@ -2,13 +2,12 @@ package com.mogo.och.taxi import android.content.Context import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentActivity import com.alibaba.android.arouter.facade.annotation.Route -import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.stepInNightMode -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger 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.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl import com.mogo.och.taxi.ui.base.TaxiFragment /** @@ -19,12 +18,13 @@ import com.mogo.och.taxi.ui.base.TaxiFragment * 网约车-出租车 */ @Route(path = OchCommonConst.TAXI_UNMANNED_DRIVER) -class TaxiUnmannedProvider : CommonService { +class TaxiUnmannedDriverProvider : CommonServiceImpl() { + + private val tag = TaxiUnmannedDriverProvider::class.java.simpleName private lateinit var ochTaxiFragment: TaxiFragment - private val TAG = "TaxiProvider" override fun init(context: Context) { - d(SceneConstant.M_TAXI + TAG, "init") + CallerLogger.d(SceneConstant.M_TAXI + tag, "init") ochTaxiFragment = TaxiFragment() } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java deleted file mode 100644 index 860a60d670..0000000000 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.mogo.och.taxi.passenger; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; - -import android.content.Context; - -import androidx.annotation.NonNull; -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.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.och.common.module.biz.constant.OchCommonConst; -import com.mogo.och.common.module.biz.provider.CommonService; -import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; -import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * @author congtaowang - * @since 2021/1/15 - *

- * 网约车-出租车-乘客端 - */ -@Route(path = OchCommonConst.TAXI_UNMANNED_PASSENGER) -public class MogoOCHTaxiPassenger implements CommonService { - - private static final String TAG = "MogoOCHTaxiPassenger"; - private TaxiPassengerBaseFragment ochTaxiPassengerFragment; - - @Override - public void init(Context context) { - CallerLogger.d(M_TAXI_P + TAG, "init"); - ochTaxiPassengerFragment = new TaxiPassengerBaseFragment(); - } - - @NonNull - @Override - public Fragment getFragment() { - return ochTaxiPassengerFragment; - } -} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt new file mode 100644 index 0000000000..6c29dcfe2a --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt @@ -0,0 +1,44 @@ +package com.mogo.och.taxi.passenger + +import android.content.Context +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +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.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl +import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment +import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView + +/** + * @author congtaowang + * @since 2021/1/15 + * + * + * 网约车-出租车-乘客端 + */ +@Route(path = OchCommonConst.TAXI_UNMANNED_PASSENGER) +class TaxiUnmannedPassengerProvider : CommonServiceImpl() { + + private val tag = TaxiUnmannedPassengerProvider::class.java.simpleName + private lateinit var ochTaxiPassengerFragment: TaxiPassengerBaseFragment + override fun init(context: Context) { + d(SceneConstant.M_TAXI_P + tag, "init") + ochTaxiPassengerFragment = TaxiPassengerBaseFragment() + statusBarView = StatusBarView(context) + } + + override fun getStatusBarView(context: Context): View { + if (statusBarView == null) { + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + + override fun getFragment(): Fragment { + return ochTaxiPassengerFragment + } + +} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java deleted file mode 100644 index 8104aaee3d..0000000000 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.taxi.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt index 5368d577e2..7f62b9b2e0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt @@ -82,7 +82,6 @@ open class MainActivity : MvpActivity(), MainView, override fun initViews() { injectFloatView() - injectStatusBar() window.setBackgroundDrawable(null) initConnectInfoRV() CallerHmiManager.init(this) @@ -95,28 +94,6 @@ open class MainActivity : MvpActivity(), MainView, PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG) } - private fun injectStatusBar() { - val decorView = this.window.decorView as? FrameLayout ?: return - val contentView = - (decorView.findViewById(android.R.id.content) as? ViewGroup)?.getChildAt(0) - ?: return - contentView.fitsSystemWindows = false - decorView.clipToPadding = false - var statusBarView = decorView.findViewWithTag("status_bar") - if (statusBarView == null) { - val statusBar = CallerHmiFloatViewManager.getView(this) - statusBarView = statusBar ?: StatusBarView(this) - statusBarView.tag = "status_bar" - } - val statusBarLP = FrameLayout.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.WRAP_CONTENT, - ) - statusBarLP.topMargin = 0 - statusBarLP.gravity = Gravity.TOP - decorView.addView(statusBarView, statusBarLP) - } - // todo 优化 车聊聊 private fun injectFloatView() { val decorView = this.window.decorView as? FrameLayout ?: return diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt index acdc4caeac..52742d94e8 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt @@ -4,10 +4,7 @@ import android.content.Context import android.view.View import android.widget.FrameLayout import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_FLOAT_VIEW_MANAGER -import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_STATUS_VIEW_MANAGER -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout import com.mogo.eagle.core.function.api.hmi.view.IViewLayoutSet /** @@ -18,9 +15,6 @@ object CallerHmiFloatViewManager { private val floatViewProviderApi get() = ARouter.getInstance().build(PATH_FLOAT_VIEW_MANAGER) .navigation() as? IViewLayoutSet - private val statusViewProviderApi - get() = ARouter.getInstance().build(PATH_STATUS_VIEW_MANAGER) - .navigation() as? IStatusViewLayout fun addView(view: View, params: FrameLayout.LayoutParams, movable: Boolean) { floatViewProviderApi?.addView(view, params, movable) @@ -30,11 +24,4 @@ object CallerHmiFloatViewManager { floatViewProviderApi?.removeView(view) } - fun getView(context:Context):View?{ - return if (DebugConfig.isReplaceStatusview()){ - statusViewProviderApi?.getStatusView(context) - }else{ - null - } - } } \ No newline at end of file diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt index 5cadfe79a4..909f9957d1 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt @@ -44,6 +44,8 @@ object AppIdentityModeUtils { private const val M1 = "M1" private const val M2 = "M2" private const val JL = "JL" + private const val DFHQ = "DFHQ" + private const val FT = "FT" private fun getInfo(appIdentityMode: String): Array { @@ -121,6 +123,11 @@ object AppIdentityModeUtils { } return false } + @JvmStatic + fun isShuttleDriver(appIdentityMode: String): Boolean { + return isShuttle(appIdentityMode) && isDriver(appIdentityMode) + } + /** * 是否是 接驳车(这里不细分具体是:司机、乘客等类型) @@ -133,25 +140,6 @@ object AppIdentityModeUtils { return isShuttle(appIdentityMode) && isPassenger(appIdentityMode) } - @JvmStatic - fun isM2(appIdentityMode: String): Boolean { - val (_, _, model) = getInfo(appIdentityMode) - if (model.isNotEmpty()) { - return model == M2 - } - return false - } - - @JvmStatic - fun isJL(appIdentityMode: String): Boolean { - val (_, _, model) = getInfo(appIdentityMode) - if (model.isNotEmpty()) { - return model == JL - } - return false - } - - /** * 是否是 清扫车(这里不细分具体是:司机、乘客等类型) * @@ -227,11 +215,6 @@ object AppIdentityModeUtils { return isTaxi(appIdentityMode) && isPassenger(appIdentityMode) } - fun isBusPassengerM1(appIdentityMode: String): Boolean { - return isBus(appIdentityMode) && isPassenger(appIdentityMode) && isM1(appIdentityMode) - } - - /** * 是否包车 */ @@ -244,11 +227,45 @@ object AppIdentityModeUtils { return false } + @JvmStatic + fun isCharterDriver(appIdentityMode: String): Boolean { + return isCharter(appIdentityMode) && isDriver(appIdentityMode) + } + + @JvmStatic fun isCharterPassenger(appIdentityMode: String): Boolean { return isCharter(appIdentityMode) && isPassenger(appIdentityMode) } + + + @JvmStatic + fun isDFHQ(appIdentityMode: String): Boolean { + val (_, _, model) = getInfo(appIdentityMode) + if (model.isNotEmpty()) { + return model == DFHQ + } + return false + } + @JvmStatic + fun isFT(appIdentityMode: String): Boolean { + val (_, _, model) = getInfo(appIdentityMode) + if (model.isNotEmpty()) { + return model == FT + } + return false + } + + @JvmStatic + fun isJL(appIdentityMode: String): Boolean { + val (_, _, model) = getInfo(appIdentityMode) + if (model.isNotEmpty()) { + return model == JL + } + return false + } + @JvmStatic fun isM1(appIdentityMode: String): Boolean { val (_, _, model) = getInfo(appIdentityMode) @@ -258,6 +275,19 @@ object AppIdentityModeUtils { return false } + @JvmStatic + fun isM2(appIdentityMode: String): Boolean { + val (_, _, model) = getInfo(appIdentityMode) + if (model.isNotEmpty()) { + return model == M2 + } + return false + } + + + + + fun getProduct(appIdentityMode: String): Product { val (bussness, _, _) = getInfo(appIdentityMode) return when (bussness) {