[6.4.0]
[业务分发]
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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)) {
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
* 根据优先级控制显示 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) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
* 根据优先级控制显示 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);
|
||||
}
|
||||
}
|
||||
@@ -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<MainFragment?, BusPassengerPresenter?>(), 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<MainFragment?, BusPassengerPresenter?>(), 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<MainFragment?, BusPassengerPresenter?>(), 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<MainFragment?, BusPassengerPresenter?>(), IMogo
|
||||
)
|
||||
}
|
||||
|
||||
fun showOvermapPoint(){
|
||||
fun showOvermapPoint() {
|
||||
omvOverMap.setDebugMode(true)
|
||||
}
|
||||
|
||||
@@ -348,7 +354,7 @@ class MainFragment : MvpFragment<MainFragment?, BusPassengerPresenter?>(), IMogo
|
||||
omvOverMap?.drawSitePolyline(coordinates, lineTrajectory)
|
||||
}
|
||||
|
||||
fun includePoint(coordinates: List<LatLng>){
|
||||
fun includePoint(coordinates: List<LatLng>) {
|
||||
omvOverMap?.includeSitePointsAndUpdateCamera(coordinates)
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
resourcePrefix "biz_"
|
||||
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
@@ -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"
|
||||
@@ -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";
|
||||
|
||||
@@ -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<BaseData>?
|
||||
) {
|
||||
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<TaxiLoginRespBean>?
|
||||
) {
|
||||
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<BaseData>?
|
||||
) {
|
||||
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"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,7 +20,7 @@ import retrofit2.http.Query;
|
||||
* <p>
|
||||
* 网约车-出租车接口定义
|
||||
*/
|
||||
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<TaxiLoginRespBean> 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<BaseData> 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<DriverStatusQueryRespBean> queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId
|
||||
, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||
|
||||
@@ -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
|
||||
* <p>
|
||||
* 网约车-出租车接口定义
|
||||
*/
|
||||
interface OchLoginServiceSaasEhApi {
|
||||
/**
|
||||
* 获取手机验证码
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Headers({"Content-type:application/json;charset=UTF-8"})
|
||||
@POST("/och-vehicle/cabin/sendSms")
|
||||
Observable<DriverStatusQueryRespBean> 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<TaxiLoginRespBean> 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<BaseData> 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<DriverStatusQueryRespBean> queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId
|
||||
, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||
|
||||
}
|
||||
@@ -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<LoginPassengerFragment?>(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() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<LoginFragment?>(view), ITaxiLoginCallback {
|
||||
class LoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(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<LoginFragment?>(
|
||||
}
|
||||
|
||||
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<LoginFragment?>(
|
||||
mView?.inputPhoneError()
|
||||
return
|
||||
}
|
||||
OchCommonLoginModel.getPhoneCode(phone)
|
||||
LoginModel.getPhoneCode(phone)
|
||||
}
|
||||
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
@@ -60,7 +60,7 @@ class OchCommonLoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(
|
||||
|
||||
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<LoginFragment?>(
|
||||
}
|
||||
|
||||
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<LoginFragment?>(
|
||||
return
|
||||
}
|
||||
mView?.closeSoftInput()
|
||||
OchCommonLoginModel.gotoLogin(phone,code)
|
||||
LoginModel.gotoLogin(phone,code)
|
||||
}
|
||||
}
|
||||
@@ -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<LoginFragment?, OchCommonLoginPresenter?>(){
|
||||
class LoginFragment : MvpFragment<LoginFragment?, LoginPresenter?>(){
|
||||
|
||||
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<LoginFragment?, OchCommonLoginPresenter?>(){
|
||||
}
|
||||
|
||||
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<LoginFragment?, OchCommonLoginPresenter?>(){
|
||||
}
|
||||
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<LoginFragment?, OchCommonLoginPresenter?>(){
|
||||
|
||||
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 {
|
||||
|
||||
@@ -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<LoginPassengerFragment?, LoginPassengerPresenter?>(){
|
||||
|
||||
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")
|
||||
}
|
||||
}
|
||||
@@ -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")
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.3 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB |
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/cl_main"
|
||||
android:id="@+id/biz_cl_passenger_main"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="@drawable/icon_car_red"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/cl_main"
|
||||
android:id="@+id/biz_cl_driver_main"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_login_bg"
|
||||
android:src="@drawable/taxi_ic_login_bg"
|
||||
android:src="@drawable/biz_login_bg"
|
||||
android:scaleType="fitXY"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_welcome_login_title"
|
||||
android:id="@+id/biz_actv_welcome_login_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="149dp"
|
||||
@@ -37,7 +37,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/actv_welcome_login_title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/ace_login_phone_value"
|
||||
android:id="@+id/biz_ace_login_phone_value"
|
||||
android:layout_width="760dp"
|
||||
android:layout_height="136dp"
|
||||
android:layout_marginTop="40dp"
|
||||
@@ -75,7 +75,7 @@
|
||||
android:layout_marginTop="40dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/acet_phone_code_value"
|
||||
android:id="@+id/biz_acet_phone_code_value"
|
||||
app:layout_constraintTop_toTopOf="@+id/v_phone_code_bg"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/v_phone_code_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/v_phone_code_bg"
|
||||
@@ -92,7 +92,7 @@
|
||||
android:layout_height="136dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_login_get_code"
|
||||
android:id="@+id/biz_actv_login_get_code"
|
||||
app:layout_constraintTop_toTopOf="@+id/v_phone_code_bg"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/v_phone_code_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/v_phone_code_bg"
|
||||
@@ -105,7 +105,7 @@
|
||||
android:layout_height="136dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/acbtn_login"
|
||||
android:id="@+id/biz_acbtn_login"
|
||||
app:layout_constraintTop_toBottomOf="@+id/v_phone_code_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/ace_login_phone_value"
|
||||
android:background="@drawable/taxi_login_bg_selector"
|
||||
@@ -118,7 +118,7 @@
|
||||
android:layout_height="136dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_login_show_sn"
|
||||
android:id="@+id/biz_actv_login_show_sn"
|
||||
android:textSize="@dimen/dp_30"
|
||||
android:textColor="@android:color/white"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
@@ -2,7 +2,7 @@ package com.mogo.och.common.module.biz.login
|
||||
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
|
||||
interface LoginService : CommonService {
|
||||
interface LoginService :CommonService {
|
||||
fun setLoginInfo(loginInfo: LoginInfo)
|
||||
fun getLoginInfo():LoginInfo?
|
||||
|
||||
@@ -15,8 +15,6 @@ interface LoginService : CommonService {
|
||||
|
||||
fun queryLoginStatusByNet()
|
||||
|
||||
fun showUiModel(show:Boolean)
|
||||
|
||||
/**
|
||||
* 登出
|
||||
*/
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.mogo.och.common.module.biz.provider
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
interface CommonService : IProvider {
|
||||
|
||||
fun getFragment():Fragment
|
||||
fun getFragment(): Fragment
|
||||
|
||||
fun getStatusBarView(context: Context): View
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.mogo.och.common.module.biz.provider
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
|
||||
abstract class CommonServiceImpl : CommonService {
|
||||
|
||||
var statusBarView: View?= null
|
||||
|
||||
override fun getStatusBarView(context: Context): View {
|
||||
if (statusBarView == null) {
|
||||
statusBarView = StatusBarView(context)
|
||||
}
|
||||
return statusBarView!!
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.mogo.och.common.module.utils
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
|
||||
object ProjectUtils {
|
||||
fun isSaas(): Boolean {
|
||||
return DebugConfig.getProjectFlavor() == Project.SAAS.value
|
||||
}
|
||||
|
||||
fun isDali(): Boolean {
|
||||
return DebugConfig.getProjectFlavor() == Project.DALI.value
|
||||
}
|
||||
|
||||
fun isMogo(): Boolean {
|
||||
return DebugConfig.getProjectFlavor() == Project.MOGO.value
|
||||
}
|
||||
|
||||
fun isYantai(): Boolean {
|
||||
return DebugConfig.getProjectFlavor() == Project.YANTAI.value
|
||||
}
|
||||
|
||||
fun getProjectType(): Project {
|
||||
when (DebugConfig.getProjectFlavor()) {
|
||||
Project.DALI.value -> {
|
||||
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")
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
}
|
||||
@@ -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<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0)
|
||||
?: return
|
||||
contentView.fitsSystemWindows = false
|
||||
decorView.clipToPadding = false
|
||||
var statusBarView = decorView.findViewWithTag<View>("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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
* 根据优先级控制显示 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) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
* 根据优先级控制显示 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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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
|
||||
* <p>
|
||||
* 网约车-出租车-乘客端
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
* 根据优先级控制显示 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);
|
||||
}
|
||||
}
|
||||
@@ -82,7 +82,6 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
|
||||
override fun initViews() {
|
||||
injectFloatView()
|
||||
injectStatusBar()
|
||||
window.setBackgroundDrawable(null)
|
||||
initConnectInfoRV()
|
||||
CallerHmiManager.init(this)
|
||||
@@ -95,28 +94,6 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG)
|
||||
}
|
||||
|
||||
private fun injectStatusBar() {
|
||||
val decorView = this.window.decorView as? FrameLayout ?: return
|
||||
val contentView =
|
||||
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0)
|
||||
?: return
|
||||
contentView.fitsSystemWindows = false
|
||||
decorView.clipToPadding = false
|
||||
var statusBarView = decorView.findViewWithTag<View>("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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<String> {
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user