[temp]
This commit is contained in:
yangyakun
2024-04-03 19:31:12 +08:00
parent 884b09b916
commit 2faec4b0a8
36 changed files with 920 additions and 920 deletions

View File

@@ -1,6 +1,7 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
@@ -15,9 +16,10 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
@@ -64,7 +66,7 @@ dependencies {
implementation rootProject.ext.dependencies.kotlinstdlib
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
annotationProcessor rootProject.ext.dependencies.aroutercompiler
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.amapnavi3dmap

View File

@@ -1,101 +0,0 @@
package com.mogo.och.bus;
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 androidx.fragment.app.FragmentManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.och.bus.constant.BusConst;
import com.mogo.och.bus.fragment.BusFragment;
import com.mogo.och.common.module.biz.constant.OchCommonConst;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* 网约车小巴业务实现入口
*
* @author tongchenfei
*/
@Route(path = OchCommonConst.BUS_DRIVER)
public class BusProvider implements IMogoOCH {
private static final String TAG = "BusProvider";
private BusFragment busFragment;
private int containerId;
private FragmentActivity activity;
/**
* 进入鹰眼模式,设置手势缩放地图失效
*/
private void stepIntoVrMode() {
CallerLogger.d(M_BUS + TAG, "进入vr模式");
CallerMoGoUiSettingManager.INSTANCE.stepInNightMode();//夜间模式 状态栏字体颜色变黑
}
@Override
public void init(Context context) {
}
private void showFragment() {
FragmentManager supportFragmentManager = activity.getSupportFragmentManager();
if (busFragment == null) {
CallerLogger.d(TAG, "准备add fragment======");
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(BusFragment.TAG);
if (fragmentByTag instanceof BusFragment) {
busFragment = (BusFragment) fragmentByTag;
} else {
busFragment = new BusFragment();
}
if(!busFragment.isAdded()) {
supportFragmentManager.beginTransaction().add(containerId, busFragment, BusFragment.TAG).commitAllowingStateLoss();
}
return;
}
CallerLogger.d(TAG, "准备show fragment");
supportFragmentManager.beginTransaction().show(busFragment).commitAllowingStateLoss();
}
private void hideFragment() {
if (busFragment != null) {
CallerLogger.d(TAG, "准备hide fragment");
activity.getSupportFragmentManager().beginTransaction().hide(busFragment).commitAllowingStateLoss();
}
}
@Override
public void createCoverage(FragmentActivity activity, int containerId) {
}
@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();
}
}

View File

@@ -0,0 +1,28 @@
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.och.bus.fragment.BusFragment
import com.mogo.och.common.module.biz.constant.OchCommonConst
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
override fun getFragment(): Fragment {
return busFragment!!
}
override fun init(context: Context) {
d(TAG, "准备show fragment")
busFragment = BusFragment()
}
}

View File

@@ -1,24 +0,0 @@
package com.mogo.och.bus;
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);
}

View File

@@ -11,11 +11,13 @@ import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.step
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.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.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.common.module.wigets.media.MediaPlayerActivity
/**
@@ -24,83 +26,26 @@ import com.mogo.och.common.module.wigets.media.MediaPlayerActivity
* Created on 2022/3/29
*/
@Route(path = OchCommonConst.BUS_PASSENGER)
class MogoOCHBusPassenger : IMoGoFunctionProvider {
private var mActivity: FragmentActivity? = null
private var mContainerId = 0
private var mPM2Fragment: Fragment? = null
class MogoOCHBusPassenger : CommonService {
private lateinit var mPM2Fragment: Fragment
override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? {
mActivity = activity
mContainerId = containerId!!
showFragment()
private val TAG = MogoOCHBusPassenger::class.java.simpleName
override fun getFragment(): Fragment {
if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
mActivity?.let {
MultiDisplayUtils.startActWithSecond(it, MediaPlayerActivity::class.java)
}
MultiDisplayUtils.startActWithSecond(ActivityUtils.getTopActivity(), MediaPlayerActivity::class.java)
}
return null
}
override val functionName: String
get() = "och-bus-passenger-m2"
override fun onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
mActivity?.finish()
return mPM2Fragment
}
override fun init(context: Context) {
}
/**
* 进入鹰眼模式,设置手势缩放地图失效
*/
private fun stepIntoVrMode() {
d(SceneConstant.M_TAXI_P + TAG, "进入vr模式")
stepInDayMode() //白天模式 状态栏字体颜色变黑
}
private fun showFragment() {
val supportFragmentManager: FragmentManager? = mActivity?.supportFragmentManager
if (mPM2Fragment == null) {
d(SceneConstant.M_TAXI_P + TAG, "准备add fragment======")
val fragmentByTag: Fragment? = supportFragmentManager?.findFragmentByTag(PM2BaseFragment.TAG)
mPM2Fragment = if (fragmentByTag is Fragment){
fragmentByTag
}else{
if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
PM2BaseFragment()
}else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
BusPassengerRouteFragment()
}else{
BusPassengerRouteFragment()
}
}
if (!mPM2Fragment?.isAdded!!){
supportFragmentManager?.beginTransaction()
?.add(mContainerId, mPM2Fragment!!, PM2BaseFragment.TAG)?.commitAllowingStateLoss()
}
return
d(SceneConstant.M_TAXI_P + TAG, "init")
mPM2Fragment = if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
PM2BaseFragment()
} else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
BusPassengerRouteFragment()
} else {
BusPassengerRouteFragment()
}
d(SceneConstant.M_TAXI_P + TAG, "准备show fragment")
supportFragmentManager?.beginTransaction()?.show(mPM2Fragment!!)
?.commitAllowingStateLoss()
}
private fun hideFragment() {
if (mPM2Fragment != null) {
mActivity?.supportFragmentManager?.beginTransaction()?.hide(mPM2Fragment!!)
?.commitAllowingStateLoss()
}
}
companion object {
private val TAG = MogoOCHBusPassenger::class.java.simpleName
}
}

View File

@@ -2,13 +2,12 @@ package com.magic.mogo.och.charter
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import com.alibaba.android.arouter.facade.annotation.Route
import com.magic.mogo.och.charter.constant.CharterConst
import com.magic.mogo.och.charter.fragment.DriverM1Fragment
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.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.CommonService
/**
@@ -16,56 +15,18 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst
* @date: 2023/2/22
*/
@Route(path = OchCommonConst.CHARTER_DRIVER)
class CharterProvider: IMoGoFunctionProvider{
class CharterProvider : CommonService {
private var mActivity: FragmentActivity? = null
private var mContainerId: Int? = 0
private var driverM1Fragment: Fragment? = null
private lateinit var driverM1Fragment: Fragment
private val TAG = CharterProvider::class.java.simpleName
override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? {
this.mContainerId = integer
this.mActivity = fragmentActivity
showFragment()
return null
override fun getFragment(): Fragment {
return driverM1Fragment
}
private fun showFragment() {
val supportFragmentManager = mActivity?.supportFragmentManager
if (driverM1Fragment == null) {
d(TAG, "准备add fragment======")
val fragmentByTag = supportFragmentManager?.findFragmentByTag(DriverM1Fragment.TAG)
driverM1Fragment = if (fragmentByTag is DriverM1Fragment) {
fragmentByTag
} else {
DriverM1Fragment()
}
if (!driverM1Fragment?.isAdded!!) {
mContainerId?.let {
supportFragmentManager?.beginTransaction()
?.add(it, driverM1Fragment!!, DriverM1Fragment.TAG)?.commitAllowingStateLoss()
}
}
return
}
d(TAG, "准备show fragment")
supportFragmentManager?.beginTransaction()?.show(driverM1Fragment!!)?.commitAllowingStateLoss()
}
override fun init(context: Context?) {
d(SceneConstant.M_TAXI + TAG, "init")
driverM1Fragment = DriverM1Fragment()
}
override val functionName: String
get() = ""
override fun onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
mActivity?.finish()
}
companion object {
private val TAG = CharterProvider::class.java.simpleName
}
}

View File

@@ -11,6 +11,7 @@ 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-乘客端
@@ -18,60 +19,19 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst
* Created on 2022/3/29
*/
@Route(path = OchCommonConst.CHARTER_PASSENGER)
class MogoOCHBusPassenger : IMoGoFunctionProvider {
private var mActivity: FragmentActivity? = null
private var mContainerId = 0
private var mPassengerFragment: MainFragment? = null
override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? {
mActivity = activity
mContainerId = containerId!!
showFragment()
return null
}
class MogoOCHBusPassenger : CommonService {
override val functionName: String
get() = "och-bus-passenger-m1"
private lateinit var mPassengerFragment: MainFragment
private val TAG = MogoOCHBusPassenger::class.java.simpleName
override fun onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
mActivity?.finish()
override fun getFragment(): Fragment {
return mPassengerFragment
}
override fun init(context: Context) {
d(SceneConstant.M_TAXI_P + TAG, "init")
mPassengerFragment = MainFragment()
}
private fun showFragment() {
val supportFragmentManager: FragmentManager? = mActivity?.supportFragmentManager
if (mPassengerFragment == null) {
d(SceneConstant.M_TAXI_P + TAG, "准备add fragment======")
val fragmentByTag: Fragment? = supportFragmentManager?.findFragmentByTag(MainFragment.TAG)
mPassengerFragment = if (fragmentByTag is MainFragment){
fragmentByTag
}else{
MainFragment()
}
if (!mPassengerFragment?.isAdded!!){
supportFragmentManager?.beginTransaction()
?.add(mContainerId, mPassengerFragment!!, MainFragment.TAG)?.commitAllowingStateLoss()
}
return
}
d(SceneConstant.M_TAXI_P + TAG, "准备show fragment")
supportFragmentManager?.beginTransaction()?.show(mPassengerFragment!!)
?.commitAllowingStateLoss()
}
private fun hideFragment() {
if (mPassengerFragment != null) {
mActivity!!.supportFragmentManager.beginTransaction().hide(mPassengerFragment!!)
.commitAllowingStateLoss()
}
}
companion object {
private val TAG = MogoOCHBusPassenger::class.java.simpleName
}
}

View File

@@ -3,19 +3,16 @@ package com.mogo.och.biz.login
import android.content.Context
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.temp.EventLogout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.biz.login.model.OchCommonLoginStatusDefaultModel
import com.mogo.och.biz.login.ui.LoginFragment
import com.mogo.och.biz.login.ui.SimpleFragment
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
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.biz.login.TaxiDriverRoleEnum
import com.mogo.och.common.module.biz.login.TaxiLoginStatusEnum
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
/**
* 网约车小巴业务实现入口
@@ -30,15 +27,19 @@ class LoginProvider : LoginService {
private var loginStatus: TaxiLoginStatusEnum = TaxiLoginStatusEnum.None
private var loginInfo: LoginInfo?=null
private val TAG = "LoginProvider"
override fun init(context: Context) {
loginFragment = Fragment()
CallerLogger.d(TAG,"init")
loginFragment = LoginFragment()
}
override fun getFragment(): Fragment {
return loginFragment
CallerLogger.d(TAG,"getFragment ${Thread.currentThread().name}")
return SimpleFragment()
}
override fun setLoginStatus(status: Int) {
CallerLogger.d(TAG,"setLoginStatus:${status}")
when (status) {
0 -> {
setLoginStatus(TaxiLoginStatusEnum.Logout)
@@ -53,37 +54,46 @@ class LoginProvider : LoginService {
}
override fun queryLoginStatusByNet() {
CallerLogger.d(TAG,"queryLoginStatusByNet")
OchCommonLoginStatusDefaultModel.queryCarStatus()
}
override fun showUiModel(show: Boolean) {
CallerLogger.d(TAG,"showUiModel${show}")
uiModel = show;
}
override fun loginOut(mLatitude: Double, mLongitude: Double) {
CallerLogger.d(TAG,"loginOut mLatitude:${mLatitude}--mLongitude:${mLongitude}")
OchCommonLoginStatusDefaultModel.logout(mLatitude, mLongitude)
}
override fun setLoginInfo(loginInfo: LoginInfo) {
CallerLogger.d(TAG,"setLoginInfo:${loginInfo}")
this.loginInfo = loginInfo
}
override fun getLoginInfo(): LoginInfo? {
CallerLogger.d(TAG,"getLoginInfo")
return loginInfo
}
override fun getPurpose(): TaxiDriverRoleEnum {
CallerLogger.d(TAG,"getPurpose")
return TaxiDriverRoleEnum.valueOf(loginInfo?.purpose)
}
override fun isLogin(): Boolean {
CallerLogger.d(TAG,"isLogin")
return loginStatus == TaxiLoginStatusEnum.Login
}
override fun getLoginStatus(): TaxiLoginStatusEnum {
CallerLogger.d(TAG,"getLoginStatus:${loginStatus}")
return loginStatus
}
override fun setLoginStatus(loginStatus: TaxiLoginStatusEnum) {
CallerLogger.d(TAG,"setLoginStatus:${loginStatus}")
if(loginStatus!=this.loginStatus){
this.loginStatus = loginStatus
LoginStatusManager.invokeLoginStatusChange(loginStatus)

View File

@@ -1,6 +1,7 @@
package com.mogo.och.biz.login.model
import android.annotation.SuppressLint
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.commons.storage.SharedPrefsMgr
@@ -20,7 +21,9 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
const val TAG = "OchCommonLoginStatusDefaultModel"
var loginCallback: ILoginCallback? = null
init {
mContext = AbsMogoApplication.getApp();
}
override fun loginSuccess(data: DriverStatusQueryRespBean?) {
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginSuccess:${LoginStatusManager.isLogin()}")
@@ -29,7 +32,6 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
} else {
SharedPrefsMgr.getInstance().putString("och_account", "")
}
loginCallback?.loginSuccess()
data?.data?.driverStatus?.let { updateLoginLocalStatus(it) }
@@ -44,7 +46,6 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
override fun loginFail(isLogin: Boolean) {
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginFail:$isLogin")
loginCallback?.loginFail()
updateLoginLocalStatus(0)
}

View File

@@ -32,11 +32,6 @@ public abstract class OchCommonLoginStatusModel {
private Disposable subscribe;
public void init() {
mContext = AbsMogoApplication.getApp();
queryCarStatus();
}
protected abstract void loginSuccess(DriverStatusQueryRespBean data);
protected abstract void loginFail(boolean isLogin);

View File

@@ -8,7 +8,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
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.TaxiLoginDialogFragment
import com.mogo.och.biz.login.ui.LoginFragment
import com.mogo.och.biz.login.model.OchCommonLoginModel
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
import io.reactivex.Observable
@@ -23,13 +23,15 @@ import java.util.concurrent.TimeUnit
*
* 描述
*/
class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) :
Presenter<TaxiLoginDialogFragment?>(view), ITaxiLoginCallback {
class OchCommonLoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(view), ITaxiLoginCallback {
private var countDownDisposable: Disposable? = null
private val TAG = OchCommonLoginPresenter::class.java.simpleName
init {
initListeners()
CallerLogger.d(SceneConstant.M_TAXI + TAG, "网约车-Init")
}
private fun initListeners() {
@@ -66,10 +68,6 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) :
}
}
companion object {
private val TAG = OchCommonLoginPresenter::class.java.simpleName
}
override fun getPhoneCodeSuccess() {
val countDownSeconds = 60L;
countDownDisposable = Observable.intervalRange(0, countDownSeconds, 0, 1, TimeUnit.SECONDS)

View File

@@ -1,8 +1,6 @@
package com.mogo.och.biz.login.ui
import android.annotation.SuppressLint
import android.graphics.Rect
import android.os.Bundle
import android.os.SystemClock
import android.view.*
import androidx.core.content.ContextCompat
@@ -21,6 +19,7 @@ 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.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
@@ -35,25 +34,14 @@ import kotlinx.android.synthetic.main.taxi_login_view.cl_main
* @author: yangyakun
* @date: 2022/8/15
*/
class TaxiLoginDialogFragment :
MvpFragment<TaxiLoginDialogFragment?, OchCommonLoginPresenter?>(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return super.onCreateView(inflater, container, savedInstanceState)
}
class LoginFragment : MvpFragment<LoginFragment?, OchCommonLoginPresenter?>(){
override fun getLayoutId(): Int {
return R.layout.taxi_login_view
}
override fun initViews() {
CallerLogger.d(TAG,"init")
inputPhoneNormal()
initBg()
initListener()
@@ -73,8 +61,8 @@ class TaxiLoginDialogFragment :
}
}
@SuppressLint("ClickableViewAccessibility")
private fun initListener() {
CallerLogger.d(TAG,"initListener")
mRootView.isFocusable = true
mRootView.isFocusableInTouchMode = true
mRootView.setOnTouchListener { _, event ->
@@ -113,7 +101,7 @@ class TaxiLoginDialogFragment :
mPresenter?.getPhoneCode(ace_login_phone_value.text.toString())
}
actv_login_show_sn.setOnLongClickListener {
val loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE)
val loginService = ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN)
.navigation() as LoginService
loginService.showUiModel(false)
true
@@ -126,6 +114,9 @@ class TaxiLoginDialogFragment :
}
}
actv_login_show_sn.text = SharedPrefsMgr.getInstance().sn
RxUtils.createSubscribe(10_000) {
CallerLogger.d(TAG,"宽度${cl_main.width}----${cl_main.height}----${cl_main.visibility}")
}
}
/**
@@ -156,7 +147,6 @@ class TaxiLoginDialogFragment :
}
private fun inputPhoneNormal() {
//ace_login_phone_value.setHint(R.string.module_och_taxi_login_phone_hint_text)
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)
@@ -174,15 +164,7 @@ class TaxiLoginDialogFragment :
companion object {
private const val COUNTS = 4 // 点击次数
private const val DURATION: Long = 1000 // 规定有效时间
val TAG = TaxiLoginDialogFragment::class.java.simpleName
@JvmStatic
fun newInstance(): TaxiLoginDialogFragment {
val args = Bundle()
val fragment = TaxiLoginDialogFragment()
fragment.arguments = args
return fragment
}
val TAG = LoginFragment::class.java.simpleName
}
private var mHits = LongArray(COUNTS)
@@ -201,4 +183,14 @@ class TaxiLoginDialogFragment :
fun loginSuccess() {
}
override fun onResume() {
super.onResume()
CallerLogger.d(TAG,"onResume")
}
override fun onPause() {
super.onPause()
CallerLogger.d(TAG,"onPause")
}
}

View File

@@ -0,0 +1,40 @@
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")
}
}

View File

@@ -0,0 +1,10 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/icon_car_red"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -28,8 +28,6 @@ class OchCommonConst {
// token 失效 重新获取token
const val WAIT_TAKEN = 100046
const val LOGINSERVICE = "/ochbiz/common/login"
const val BIZ_LOGIN = "/ochbiz/common/login"
const val BUS_DRIVER = "/bus/driver"

View File

@@ -9,4 +9,82 @@ public class LoginInfo {
public String phone;//手机号
public Integer lineId;//线路id
public Integer taskId;//任务id
public int getDriverStatus() {
return driverStatus;
}
public void setDriverStatus(int driverStatus) {
this.driverStatus = driverStatus;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public int getPurpose() {
return purpose;
}
public void setPurpose(int purpose) {
this.purpose = purpose;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getPlateNumber() {
return plateNumber;
}
public void setPlateNumber(String plateNumber) {
this.plateNumber = plateNumber;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Integer getLineId() {
return lineId;
}
public void setLineId(Integer lineId) {
this.lineId = lineId;
}
public Integer getTaskId() {
return taskId;
}
public void setTaskId(Integer taskId) {
this.taskId = taskId;
}
@Override
public String toString() {
return "LoginInfo{" +
"driverStatus=" + driverStatus +
", orderNo='" + orderNo + '\'' +
", purpose=" + purpose +
", sn='" + sn + '\'' +
", plateNumber='" + plateNumber + '\'' +
", phone='" + phone + '\'' +
", lineId=" + lineId +
", taskId=" + taskId +
'}';
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.och.common.module.biz.login
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager
import com.mogo.och.common.module.biz.constant.OchCommonConst
@@ -12,6 +13,14 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
private var loginService: LoginService? =
ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN).navigation() as LoginService
@JvmStatic
fun getFragment():Fragment {
loginService?.let {
return it.getFragment()
}
throw ClassNotFoundException("没有找到登录Fragment");
}
@JvmStatic
fun loginOut(mLatitude: Double, mLongitude: Double) {
loginService?.loginOut(mLatitude, mLongitude)

View File

@@ -0,0 +1,35 @@
package com.mogo.och.facade
import androidx.lifecycle.LifecycleOwner
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.mvp.Presenter
import com.mogo.och.charter.passenger.ui.MainFragment
import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteNamewithCheck
import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager
import java.util.concurrent.ConcurrentHashMap
class BusPassengerPresenter(view: MainFragment?) :
Presenter<MainFragment?>(view) {
private val lindIdAndView = ConcurrentHashMap<Long, MakerWithSiteNamewithCheck?>()
companion object {
private const val TAG = "BusPassengerPresenter"
const val KEY4SHOWNOVICEGUIDANCE = "showNoviceGuidanceOrderNor"
}
init {
OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp())
}
override fun onCreate(owner: LifecycleOwner) {
super.onCreate(owner)
}
override fun onDestroy(owner: LifecycleOwner) {
super.onDestroy(owner)
}
}

View File

@@ -0,0 +1,359 @@
package com.mogo.och.facade
import android.graphics.BitmapFactory
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.alibaba.android.arouter.launcher.ARouter
import com.amap.api.maps.model.LatLng
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController
import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView
import com.mogo.eagle.core.function.view.SiteMarkerBean
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.listener.MogoMapListenerHandler
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.och.charter.passenger.R
import com.mogo.och.charter.passenger.bean.event.EventLineSites
import com.mogo.och.charter.passenger.callback.IClearViewCallback
import com.mogo.och.charter.passenger.presenter.BusPassengerPresenter
import com.mogo.och.charter.passenger.ui.bottom.BottomBar
import com.mogo.och.charter.passenger.ui.bottom.BottomClickView
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.wigets.toast.ToastCharterUtils
import com.mogo.och.common.module.biz.login.LoginStatusManager
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
import kotlinx.android.synthetic.main.charter_p_main_fragment.biz_orderinfo
import kotlinx.android.synthetic.main.charter_p_main_fragment.biz_selectline
import kotlinx.android.synthetic.main.charter_p_main_fragment.biz_softcontrol
import kotlinx.android.synthetic.main.charter_p_main_fragment.biz_video
import kotlinx.android.synthetic.main.charter_p_main_fragment.mapBizView
import kotlinx.android.synthetic.main.charter_p_main_fragment.mcv_play_music
import kotlinx.android.synthetic.main.charter_p_main_fragment.omvOverMap
//import kotlinx.android.synthetic.main.charter_p_main_fragment.viewBusPM1MsgBoxBubble
//import kotlinx.android.synthetic.main.charter_p_main_fragment.viewBusPM1MsgBoxButton
//import kotlinx.android.synthetic.main.charter_p_main_fragment.viewBusPM1MsgBoxList
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
import java.lang.ref.WeakReference
/**
* @author: wangmingjun
* @date: 2022/4/12
*/
class MainFragment : MvpFragment<MainFragment?, BusPassengerPresenter?>(), IMogoMapListener {
private var m1CarUserNoOrderFragment: WeakReference<M1CarUserNoOrderFragment>? = null
private var noviceGuidanceFragment: WeakReference<NoviceGuidanceFragment>? = null
private val endStation =
BitmapFactory.decodeResource(
AbsMogoApplication.getApp().resources,
R.drawable.charter_p_small_map_view_dir_end
)
private val lineTrajectory =
BitmapFactory.decodeResource(
AbsMogoApplication.getApp().resources,
R.drawable.charter_p_trajectory_line
)
private val goneView = object : IClearViewCallback {
override fun goneAllView() {
bb_boorombar.setCheckIndex(BottomBar.SelectView.NONE)
}
}
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
}
}
return R.layout.charter_p_main_fragment
}
override fun getTagName(): String {
return TAG
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
EventBus.getDefault().register(this)
return super.onCreateView(inflater, container, savedInstanceState)
}
override fun initViews() {
omvOverMap.hideResetView()
// viewBusPM1MsgBoxButton.setClickListener(object : MMsgBoxButtonView.ClickListener {
// override fun showMsgBoxList(show: Boolean) {
// if (show) {
// viewBusPM1MsgBoxList.visibility = View.VISIBLE
// viewBusPM1MsgBoxBubble.visibility = View.GONE
// viewBusPM1MsgBoxBubble.isShowData(false)
// } else {
// viewBusPM1MsgBoxList.visibility = View.GONE
// viewBusPM1MsgBoxBubble.visibility = View.VISIBLE
// viewBusPM1MsgBoxBubble.isShowData(true)
// }
// }
//
// })
bb_boorombar.setCheckChangeListener(object : BottomBar.ApplyClickLintener {
override fun onApplyClick(selectItem: BottomBar.SelectView): Boolean {
when (selectItem) {
BottomBar.SelectView.ORDERINFO -> {
if (LoginStatusManager.isLogin()) {
if (mPresenter?.haveOrder() == true) {
} else {
ToastCharterUtils.showToastShort("请确认订单")
return true
}
} else {
mPresenter?.querLogin()
ToastCharterUtils.showToastShort(requireContext().getString(R.string.charter_p_please_login_driver))
return true
}
showBizView(orderinfo = true)
}
BottomBar.SelectView.SETTING -> showBizView(softControl = true)
BottomBar.SelectView.LINE -> showBizView(selectLine = true)
BottomBar.SelectView.VIDEO -> showBizView(showVideo = true)
BottomBar.SelectView.MUSIC -> showBizView(showMusic = true)
else -> {
showBizView()
statusBarView?.setBackgroudColor(R.color.charter_p_80ffffff)
}
}
return false
}
})
bb_boorombar.setApplyClickListener(object : BottomClickView.ApplyClickLintener {
override fun onApplyClick() {
bb_boorombar.setCheckIndex(BottomBar.SelectView.NONE)
}
})
biz_orderinfo.goneViewListener = goneView
biz_softcontrol.goneViewListener = goneView
biz_selectline.goneViewListener = goneView
biz_video.goneViewListener = goneView
aciv_enter_video.setOnClickListener {
bb_boorombar.setCheckIndex(BottomBar.SelectView.VIDEO)
}
aciv_map_2_default.setOnClickListener {
omvOverMap.displayCustomOverView()
mapBizView.getUI()?.let {
it.changeMapVisualAngle(it.getVrAngleDefaultMode(), null)
}
}
MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener(TAG, this)
}
fun setCarMode(type: Int) {
mPresenter?.setCarChangeListener(type)
}
private fun showBizView(
orderinfo: Boolean = false,
softControl: Boolean = false,
selectLine: Boolean = false,
showVideo: Boolean = false,
showMusic: Boolean = false
) {
if (orderinfo) {
biz_orderinfo.visibility = View.VISIBLE
statusBarView?.setBackgroudColor(R.color.charter_p_80ffffff)
} else {
biz_orderinfo.visibility = View.GONE
}
if (softControl) {
biz_softcontrol.visibility = View.VISIBLE
statusBarView?.setBackgroudColor(R.color.charter_p_40ffffff)
} else {
biz_softcontrol.visibility = View.GONE
}
if (selectLine) {
biz_selectline.visibility = View.VISIBLE
statusBarView?.setBackgroudColor(R.color.charter_p_80ffffff)
} else {
biz_selectline.visibility = View.GONE
}
if (showVideo) {
biz_video.visibility = View.VISIBLE
statusBarView?.setBackgroudColor(R.color.charter_p_40ffffff)
} else {
biz_video.visibility = View.GONE
}
if(showMusic) {
mcv_play_music.visibility = View.VISIBLE
statusBarView?.setBackgroudColor(R.color.charter_p_40ffffff)
}else{
mcv_play_music.visibility = View.GONE
}
}
fun setCarModel(rawInfo: Int) {
getMapUIController()?.changeCurrentIcon(rawInfo)
HdMapBuildConfig.currentCarVrIconRes = rawInfo
}
override fun createPresenter(): BusPassengerPresenter {
return BusPassengerPresenter(this)
}
override fun initViews(savedInstanceState: Bundle?) {
super.initViews(savedInstanceState)
mapBizView.onCreate(savedInstanceState)
omvOverMap.onCreateView(savedInstanceState)
}
fun drawEndStation(latLng: LatLng) {
val listOf = listOf(latLng)
omvOverMap.drawSiteMarkers(listOf, endStation, 0.5f, 1f)
includePoint(listOf)
}
fun cleanEndStation() {
omvOverMap.clearSiteMarkers()
omvOverMap.clearCustomPolyline()
}
override fun onResume() {
super.onResume()
mapBizView.onResume()
omvOverMap.onResume()
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
mapBizView.onSaveInstanceState(outState)
}
override fun onLowMemory() {
super.onLowMemory()
mapBizView.onLowMemory()
}
override fun onPause() {
super.onPause()
mapBizView.onPause()
omvOverMap.onPause()
}
override fun onDestroyView() {
mapBizView.onDestroy()
omvOverMap.onDestroy()
super.onDestroyView()
EventBus.getDefault().unregister(this)
}
override fun onMapLoaded() {
super.onMapLoaded()
getMapUIController()?.setAllGesturesEnabled(false)
}
fun showOpenAndCloseDoor() {
val noviceGuidanceFragment = noviceGuidanceFragment?.get()
noviceGuidanceFragment?.dismissAllowingStateLoss()
if (m1CarUserNoOrderFragment?.get() == null) {
m1CarUserNoOrderFragment = WeakReference(M1CarUserNoOrderFragment.newInstance())
}
val m1CarUserNoOrderFragment = m1CarUserNoOrderFragment?.get()
M1CarUserNoOrderFragment.showOpenAndCloseDoor(
childFragmentManager,
parentFragmentManager,
m1CarUserNoOrderFragment
)
}
fun showOvermapPoint(){
omvOverMap.setDebugMode(true)
}
fun showNoviceGuidanceFragment() {
if (noviceGuidanceFragment?.get() == null) {
noviceGuidanceFragment = WeakReference(NoviceGuidanceFragment.newInstance())
}
val noviceGuidanceFragmentWeak = noviceGuidanceFragment?.get()
NoviceGuidanceFragment.showNoviceGuidance(
childFragmentManager,
parentFragmentManager,
noviceGuidanceFragmentWeak
)
LockManager.setLock(LockManager.LockStatus.UNLOCK)
}
fun closeOpenAndCloseDoor() {
val bpFunctionGroup = m1CarUserNoOrderFragment?.get()
bpFunctionGroup?.let {
bpFunctionGroup.dismissAllowingStateLoss()
}
UiThreadHandler.postDelayed({
cleanEndStation()
}, 2_000)
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLineSites: EventLineSites) {
CallerLogger.d(M_BUS_P + TAG, "eventLineSites:${eventLineSites.lineInfo?.lineId}")
if (eventLineSites.clear) {
omvOverMap?.clearSitePolyline()
omvOverMap?.clearSiteMarkers()
omvOverMap?.clearSiteNameViews()
mPresenter?.drawEndStation()
} else {
if (eventLineSites.lineInfo == null) {//更新站点
mPresenter?.drawStationInfo(eventLineSites.sites!!)
} else {// 更新轨迹和站点
mPresenter?.getLineTrajectory(eventLineSites.lineInfo, eventLineSites.sites!!)
}
}
}
fun drawOverMapViewStation(
stationsList: MutableList<SiteMarkerBean>,
siteMarkers: List<SiteMarkerBean>?
) {
omvOverMap?.clearSiteMarkers()
omvOverMap?.clearSiteNameViews()
omvOverMap?.drawSiteMarkers(stationsList)
omvOverMap?.drawSiteNameViews(siteMarkers)
}
fun drawOverMapViewTrajectory(coordinates: List<LatLng>) {
omvOverMap?.drawSitePolyline(coordinates, lineTrajectory)
}
fun includePoint(coordinates: List<LatLng>){
omvOverMap?.includeSitePointsAndUpdateCamera(coordinates)
}
companion object {
const val TAG = "BusPassengerRouteFragment"
}
}

View File

@@ -1,77 +0,0 @@
package com.mogo.och.facade.route;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
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.data.config.FunctionBuildConfig;
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.AppIdentityModeUtils;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
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.TaxiLoginStatusEnum;
import com.mogo.och.facade.constant.FacadeConst;
import com.mogo.och.taxi.ui.TaxiFragment;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* 网约车小巴业务实现入口
*
* @author tongchenfei
*/
@Route(path = FacadeConst.DRIVER_PATH)
public class FacadeDriverProvider implements IMoGoFunctionProvider, ILoginCallback {
private static final String TAG = "FacadeDriverProvider";
private int containerId;
private FragmentActivity activity;
@Override
public void init(Context context) {
LoginStatusManager.INSTANCE.addListener(TAG,this);
}
@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;
}
private void showFragment() {
}
@Override
public void onDestroy() {
//若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
if (activity == null) return;
activity.finish();
}
@Override
public void onStatusChange(TaxiLoginStatusEnum currentStatus) {
}
}

View File

@@ -0,0 +1,111 @@
package com.mogo.och.facade.route
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager
import com.alibaba.android.arouter.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.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
*/
@Route(path = FacadeConst.DRIVER_PATH)
class FacadeDriverProvider : IMoGoFunctionProvider, ILoginCallback {
private var containerId = 0
private var activity: FragmentActivity? = null
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()
// }
val fragment = SimpleFragment()
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()
}
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cl_main"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/icon_car_red"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>

View File

@@ -1,6 +1,7 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
@@ -15,9 +16,10 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
@@ -49,7 +51,7 @@ dependencies {
implementation rootProject.ext.dependencies.kotlinstdlib
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
annotationProcessor rootProject.ext.dependencies.aroutercompiler
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.amapnavi3dmap

View File

@@ -1,86 +0,0 @@
package com.mogo.och.bus;
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;
import com.mogo.och.bus.constant.BusConst;
import com.mogo.och.bus.fragment.ShuttleFragment;
import com.mogo.och.common.module.biz.constant.OchCommonConst;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* 网约车小巴业务实现入口
*
* @author tongchenfei
*/
@Route(path = OchCommonConst.SHUTTLE_DRIVER)
public class BusProvider implements IMoGoFunctionProvider {
private static final String TAG = "BusProvider";
private ShuttleFragment busFragment;
private int containerId;
private FragmentActivity activity;
@Override
public void init(Context context) {
}
private void showFragment() {
FragmentManager supportFragmentManager = activity.getSupportFragmentManager();
if (busFragment == null) {
CallerLogger.d(TAG, "准备add fragment======");
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(ShuttleFragment.TAG);
if (fragmentByTag instanceof ShuttleFragment) {
busFragment = (ShuttleFragment) fragmentByTag;
} else {
busFragment = new ShuttleFragment();
}
if(!busFragment.isAdded()) {
supportFragmentManager.beginTransaction().add(containerId, busFragment, ShuttleFragment.TAG).commitAllowingStateLoss();
}
return;
}
CallerLogger.d(TAG, "准备show fragment");
supportFragmentManager.beginTransaction().show(busFragment).commitAllowingStateLoss();
}
private void hideFragment() {
if (busFragment != null) {
CallerLogger.d(TAG, "准备hide fragment");
activity.getSupportFragmentManager().beginTransaction().hide(busFragment).commitAllowingStateLoss();
}
}
@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();
}
}

View File

@@ -0,0 +1,32 @@
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.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
/**
* 网约车小巴业务实现入口
*
* @author tongchenfei
*/
@Route(path = OchCommonConst.SHUTTLE_DRIVER)
class BusProvider : CommonService {
private var busFragment: ShuttleFragment? = null
override fun init(context: Context) {
d(SceneConstant.M_TAXI + TAG, "init")
busFragment = ShuttleFragment()
}
override fun getFragment(): Fragment {
return busFragment!!
}
companion object {
private const val TAG = "BusProvider"
}
}

View File

@@ -11,8 +11,10 @@ import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.step
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.wigets.media.MediaPlayerActivity
import com.mogo.och.shuttle.passenger.model.TicketModel
@@ -25,80 +27,25 @@ import com.mogo.och.shuttle.passenger.ui.PM2BaseFragment
* Created on 2022/3/29
*/
@Route(path = OchCommonConst.SHUTTLE_PASSENGER)
class MogoOCHShuttlePassenger : IMoGoFunctionProvider {
private var mActivity: FragmentActivity? = null
private var mContainerId = 0
private var mPM2Fragment: Fragment? = null
override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? {
mActivity = activity
mContainerId = containerId!!
showFragment()
if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
mActivity?.let {
MultiDisplayUtils.startActWithSecond(it, MediaPlayerActivity::class.java)
}
}
TicketModel.load()
return null
}
override val functionName: String
get() = "och-bus-passenger-m2"
override fun onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
mActivity?.finish()
}
class MogoOCHShuttlePassenger : CommonService {
private lateinit var mPM2Fragment: Fragment
override fun init(context: Context) {
}
/**
* 进入鹰眼模式,设置手势缩放地图失效
*/
private fun stepIntoVrMode() {
d(SceneConstant.M_TAXI_P + TAG, "进入vr模式")
stepInDayMode() //白天模式 状态栏字体颜色变黑
}
private fun showFragment() {
val supportFragmentManager: FragmentManager? = mActivity?.supportFragmentManager
if (mPM2Fragment == null) {
d(SceneConstant.M_TAXI_P + TAG, "准备add fragment======")
val fragmentByTag: Fragment? = supportFragmentManager?.findFragmentByTag(PM2BaseFragment.TAG)
mPM2Fragment = if (fragmentByTag is Fragment){
fragmentByTag
}else{
if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
PM2BaseFragment()
}else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
BusPassengerRouteFragment()
}else{
BusPassengerRouteFragment()
}
}
if (!mPM2Fragment?.isAdded!!){
supportFragmentManager?.beginTransaction()
?.add(mContainerId, mPM2Fragment!!, PM2BaseFragment.TAG)?.commitAllowingStateLoss()
}
return
TicketModel.load()
mPM2Fragment = if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
PM2BaseFragment()
}else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
BusPassengerRouteFragment()
}else{
BusPassengerRouteFragment()
}
d(SceneConstant.M_TAXI_P + TAG, "准备show fragment")
supportFragmentManager?.beginTransaction()?.show(mPM2Fragment!!)
?.commitAllowingStateLoss()
}
private fun hideFragment() {
if (mPM2Fragment != null) {
mActivity?.supportFragmentManager?.beginTransaction()?.hide(mPM2Fragment!!)
?.commitAllowingStateLoss()
override fun getFragment(): Fragment {
if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) {
MultiDisplayUtils.startActWithSecond(ActivityUtils.getTopActivity(), MediaPlayerActivity::class.java)
}
return mPM2Fragment
}
companion object {

View File

@@ -1,6 +1,7 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
@@ -15,9 +16,10 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
@@ -50,7 +52,7 @@ dependencies {
implementation rootProject.ext.dependencies.arouter
implementation rootProject.ext.dependencies.androidxrecyclerview
implementation rootProject.ext.dependencies.material
annotationProcessor rootProject.ext.dependencies.aroutercompiler
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.rxandroid
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.amapnavi3dmap

View File

@@ -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);
}

View File

@@ -1,101 +0,0 @@
package com.mogo.och.taxi;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
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.call.setting.CallerMoGoUiSettingManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.och.common.module.biz.constant.OchCommonConst;
import com.mogo.och.taxi.constant.TaxiConst;
import com.mogo.och.taxi.ui.TaxiFragment;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public
/**
* @author congtaowang
* @since 2021/1/15
* <p>
* 网约车-出租车
*/
@Route( path = OchCommonConst.TAXI_DRIVER )
class TaxiProvider implements IMogoOCH {
private static final String TAG = "TaxiProvider";
private TaxiFragment ochTaxiFragment;
private FragmentActivity mActivity;
private int mContainerId;
@Override
public void init( Context context ) {
CallerLogger.d( M_TAXI + TAG, "init" );
}
/**
* 进入鹰眼模式,设置手势缩放地图失效
*/
private void stepIntoVrMode() {
CallerLogger.d( M_TAXI + TAG, "进入vr模式" );
CallerMoGoUiSettingManager.INSTANCE.stepInNightMode();//夜间模式 状态栏字体颜色变黑
}
private void showFragment() {
FragmentManager supportFragmentManager = mActivity.getSupportFragmentManager();
if (ochTaxiFragment == null) {
CallerLogger.d(M_TAXI + TAG, "准备add fragment======");
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(TaxiFragment.TAG);
if (fragmentByTag instanceof TaxiFragment){
ochTaxiFragment = (TaxiFragment) fragmentByTag;
}else {
ochTaxiFragment = new TaxiFragment();
}
if (!ochTaxiFragment.isAdded()){
supportFragmentManager.beginTransaction().add(mContainerId, ochTaxiFragment
,TaxiFragment.TAG).commitAllowingStateLoss();
}
return;
}
CallerLogger.d(M_TAXI + TAG, "准备show fragment");
supportFragmentManager.beginTransaction().show(ochTaxiFragment).commitAllowingStateLoss();
}
private void hideFragment(){
if (ochTaxiFragment != null){
mActivity.getSupportFragmentManager().beginTransaction().hide(ochTaxiFragment).commitAllowingStateLoss();
}
}
@Override
public void createCoverage(FragmentActivity activity, int containerId) {
}
@NotNull
@Override
public String getFunctionName() {
return TAG;
}
@Nullable
@Override
public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) {
this.mActivity = fragmentActivity;
this.mContainerId = integer;
showFragment();
return null;
}
@Override
public void onDestroy() {
//若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
if (mActivity == null) return;
mActivity.finish();
}
}

View File

@@ -0,0 +1,32 @@
package com.mogo.och.taxi
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.scene.SceneConstant
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.taxi.ui.TaxiFragment
/**
* @author congtaowang
* @since 2021/1/15
*
*
* 网约车-出租车
*/
@Route(path = OchCommonConst.TAXI_DRIVER)
class TaxiProvider : CommonService {
private val TAG = "TaxiProvider"
private lateinit var ochTaxiFragment: TaxiFragment
override fun init(context: Context) {
d(SceneConstant.M_TAXI + TAG, "init")
ochTaxiFragment = TaxiFragment()
}
override fun getFragment(): Fragment {
return ochTaxiFragment
}
}

View File

@@ -1,6 +1,7 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
@@ -15,9 +16,10 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
@@ -51,7 +53,7 @@ dependencies {
implementation rootProject.ext.dependencies.androidxrecyclerview
implementation rootProject.ext.dependencies.material
implementation rootProject.ext.dependencies.flexbox
annotationProcessor rootProject.ext.dependencies.aroutercompiler
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.rxandroid
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.amapnavi3dmap

View File

@@ -1,87 +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.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.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_PASSENGER)
public class MogoOCHTaxiPassenger implements IMoGoFunctionProvider {
private static final String TAG = "MogoOCHTaxiPassenger";
private TaxiPassengerBaseFragment ochTaxiPassengerFragment;
private FragmentActivity mActivity;
private int mContainerId;
@Override
public void init(Context context) {
CallerLogger.d(M_TAXI_P + TAG, "init");
}
private void showFragment() {
FragmentManager supportFragmentManager = mActivity.getSupportFragmentManager();
if (ochTaxiPassengerFragment == null) {
CallerLogger.d(M_TAXI_P + TAG, "准备add fragment======");
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(TaxiPassengerBaseFragment.TAG);
if (fragmentByTag instanceof TaxiPassengerBaseFragment){
ochTaxiPassengerFragment = (TaxiPassengerBaseFragment) fragmentByTag;
}else {
ochTaxiPassengerFragment = new TaxiPassengerBaseFragment();
}
if (!ochTaxiPassengerFragment.isAdded()){
supportFragmentManager.beginTransaction().add(mContainerId, ochTaxiPassengerFragment
,TaxiPassengerBaseFragment.TAG).commitAllowingStateLoss();
}
return;
}
CallerLogger.d(M_TAXI_P + TAG, "准备show fragment");
supportFragmentManager.beginTransaction().show(ochTaxiPassengerFragment).commitAllowingStateLoss();
}
private void hideFragment() {
if (ochTaxiPassengerFragment != null) {
mActivity.getSupportFragmentManager().beginTransaction().hide(ochTaxiPassengerFragment).commitAllowingStateLoss();
}
}
@NotNull
@Override
public String getFunctionName() {
return TAG;
}
@Nullable
@Override
public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) {
this.mActivity = fragmentActivity;
this.mContainerId = integer;
showFragment();
return null;
}
@Override
public void onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
if (mActivity == null) return;
mActivity.finish();
}
}

View File

@@ -0,0 +1,33 @@
package com.mogo.och.taxi.passenger
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.scene.SceneConstant
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
/**
* @author congtaowang
* @since 2021/1/15
*
*
* 网约车-出租车-乘客端
*/
@Route(path = OchCommonConst.TAXI_PASSENGER)
class MogoOCHTaxiPassenger : CommonService {
private lateinit var ochTaxiPassengerFragment: TaxiPassengerBaseFragment
private val TAG = "MogoOCHTaxiPassenger"
override fun init(context: Context) {
d(SceneConstant.M_TAXI_P + TAG, "init")
ochTaxiPassengerFragment = TaxiPassengerBaseFragment()
}
override fun getFragment(): Fragment {
return ochTaxiPassengerFragment
}
}

View File

@@ -8,7 +8,7 @@ import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.step
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.taxi.constant.TaxiUnmannedConst
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.taxi.ui.base.TaxiFragment
/**
@@ -19,68 +19,16 @@ import com.mogo.och.taxi.ui.base.TaxiFragment
* 网约车-出租车
*/
@Route(path = OchCommonConst.TAXI_UNMANNED_DRIVER)
class TaxiUnmannedProvider : IMogoOCH {
private var ochTaxiFragment: TaxiFragment? = null
private var mActivity: FragmentActivity? = null
private var mContainerId = 0
class TaxiUnmannedProvider : CommonService {
private lateinit var ochTaxiFragment: TaxiFragment
private val TAG = "TaxiProvider"
override fun init(context: Context) {
d(SceneConstant.M_TAXI + TAG, "init")
ochTaxiFragment = TaxiFragment()
}
/**
* 进入鹰眼模式,设置手势缩放地图失效
*/
private fun stepIntoVrMode() {
d(SceneConstant.M_TAXI + TAG, "进入vr模式")
stepInNightMode() //夜间模式 状态栏字体颜色变黑
}
private fun showFragment() {
val supportFragmentManager = mActivity!!.supportFragmentManager
if (ochTaxiFragment == null) {
d(SceneConstant.M_TAXI + TAG, "准备add fragment======")
val fragmentByTag = supportFragmentManager.findFragmentByTag(TaxiFragment.TAG)
ochTaxiFragment = if (fragmentByTag is TaxiFragment) {
fragmentByTag
} else {
TaxiFragment()
}
if (!ochTaxiFragment!!.isAdded) {
supportFragmentManager.beginTransaction().add(
mContainerId, ochTaxiFragment!!, TaxiFragment.TAG
).commitAllowingStateLoss()
}
return
}
d(SceneConstant.M_TAXI + TAG, "准备show fragment")
supportFragmentManager.beginTransaction().show(ochTaxiFragment!!).commitAllowingStateLoss()
}
private fun hideFragment() {
if (ochTaxiFragment != null) {
mActivity!!.supportFragmentManager.beginTransaction().hide(ochTaxiFragment!!)
.commitAllowingStateLoss()
}
}
override fun createCoverage(activity: FragmentActivity, containerId: Int) {}
override val functionName: String
get() = "TaxiUnmannedProvider"
override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? {
mActivity = fragmentActivity
mContainerId = integer!!
showFragment()
return null
}
override fun onDestroy() {
//若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
if (mActivity == null) return
mActivity!!.finish()
}
companion object {
private const val TAG = "TaxiProvider"
override fun getFragment(): Fragment {
return ochTaxiFragment
}
}

View File

@@ -4,6 +4,7 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAX
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
@@ -12,6 +13,7 @@ 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;
@@ -25,63 +27,20 @@ import org.jetbrains.annotations.Nullable;
* 网约车-出租车-乘客端
*/
@Route(path = OchCommonConst.TAXI_UNMANNED_PASSENGER)
public class MogoOCHTaxiPassenger implements IMoGoFunctionProvider {
public class MogoOCHTaxiPassenger implements CommonService {
private static final String TAG = "MogoOCHTaxiPassenger";
private TaxiPassengerBaseFragment ochTaxiPassengerFragment;
private FragmentActivity mActivity;
private int mContainerId;
@Override
public void init(Context context) {
CallerLogger.d(M_TAXI_P + TAG, "init");
ochTaxiPassengerFragment = new TaxiPassengerBaseFragment();
}
private void showFragment() {
FragmentManager supportFragmentManager = mActivity.getSupportFragmentManager();
if (ochTaxiPassengerFragment == null) {
CallerLogger.d(M_TAXI_P + TAG, "准备add fragment======");
Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(TaxiPassengerBaseFragment.TAG);
if (fragmentByTag instanceof TaxiPassengerBaseFragment){
ochTaxiPassengerFragment = (TaxiPassengerBaseFragment) fragmentByTag;
}else {
ochTaxiPassengerFragment = new TaxiPassengerBaseFragment();
}
if (!ochTaxiPassengerFragment.isAdded()){
supportFragmentManager.beginTransaction().add(mContainerId, ochTaxiPassengerFragment
,TaxiPassengerBaseFragment.TAG).commitAllowingStateLoss();
}
return;
}
CallerLogger.d(M_TAXI_P + TAG, "准备show fragment");
supportFragmentManager.beginTransaction().show(ochTaxiPassengerFragment).commitAllowingStateLoss();
}
private void hideFragment() {
if (ochTaxiPassengerFragment != null) {
mActivity.getSupportFragmentManager().beginTransaction().hide(ochTaxiPassengerFragment).commitAllowingStateLoss();
}
}
@NotNull
@NonNull
@Override
public String getFunctionName() {
return TAG;
}
@Nullable
@Override
public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) {
this.mActivity = fragmentActivity;
this.mContainerId = integer;
showFragment();
return null;
}
@Override
public void onDestroy() {
// 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠
if (mActivity == null) return;
mActivity.finish();
public Fragment getFragment() {
return ochTaxiPassengerFragment;
}
}

View File

@@ -4,19 +4,19 @@ if (!isAndroidTest) {
apply plugin: 'bytex'
ByteX {
enable true
enable false
enableInDebug true
}
apply from: rootProject.file('gradle/bytex/bytex_config.gradle')
apply from: rootProject.file('gradle/bytex/bytex_router.gradle')
apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')
apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_config.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_router.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_handler_proxy.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_btrace.gradle')
}