diff --git a/OCH/bus/driver/build.gradle b/OCH/bus/driver/build.gradle index 333947fc29..a0ac3cce2e 100644 --- a/OCH/bus/driver/build.gradle +++ b/OCH/bus/driver/build.gradle @@ -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", "bus"+project.getName()) } } } @@ -42,21 +44,6 @@ android { } } - - flavorDimensions "vehicle" - productFlavors { - // 车型:金旅星辰、开沃 小巴业务 - jinlvvan { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '0' - } - // 车型:金旅m2 小巴业务 - m2 { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } - } - } dependencies { @@ -64,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 diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt new file mode 100644 index 0000000000..dd8204e4d6 --- /dev/null +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusDriverProvider.kt @@ -0,0 +1,31 @@ +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 +import com.mogo.och.bus.fragment.BusFragment +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +@Route(path = OchCommonConst.BUS_DRIVER) +class BusDriverProvider : CommonServiceImpl() { + + private val tag = BusDriverProvider::class.java.simpleName + private lateinit var busFragment: BusFragment + + override fun getFragment(): Fragment { + return busFragment + } + + override fun init(context: Context) { + CallerLogger.d(tag, "准备show fragment") + busFragment = BusFragment() + } +} diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.java deleted file mode 100644 index 998d7b5d4b..0000000000 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/BusProvider.java +++ /dev/null @@ -1,100 +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 org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * 网约车小巴业务实现入口 - * - * @author tongchenfei - */ -@Route(path = BusConst.PATH) -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(); - } -} diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java deleted file mode 100644 index 073f7fcc29..0000000000 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java +++ /dev/null @@ -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); -} diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index 7c570bd3f3..82d2864654 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -74,7 +74,7 @@ public abstract class BaseBusTabFragment private FrameLayout flStationPanelContainer; private BizMapView mapBizView; private Group groupTestPanel; - private TrafficDataView mTrafficDataView; +// private TrafficDataView mTrafficDataView; // private BusTrafficLightView mTrafficLightView; //远景和中景的切换 @@ -92,6 +92,7 @@ public abstract class BaseBusTabFragment public boolean isAnimateRunning = false; + /** * 滑动按钮触发的事件 */ @@ -123,7 +124,15 @@ public abstract class BaseBusTabFragment // tvOperationStatus = findViewById(R.id.module_mogo_och_operation_status); tvArrived = findViewById(R.id.module_mogo_och_arrived_tv); - mTrafficDataView = (TrafficDataView) findViewById(R.id.bus_arc); +// mTrafficDataView = (TrafficDataView) findViewById(R.id.bus_arc); + + + FrameLayout flSpeed = findViewById(R.id.fl_speed); + if (flSpeed != null) { + CallerDevaToolsManager.INSTANCE.attachAutopilotBeforeLaunchView(flSpeed.getContext(), flSpeed); + } + + LayoutInflater.from(getContext()).inflate(getStationPanelViewId(), flStationPanelContainer); slidePanelView.setOnSlidePanelMoveToEndListener(onSlideToEndListener); @@ -517,15 +526,15 @@ public abstract class BaseBusTabFragment } } - /** - * 迈速表实时更新 - */ - public void updateSpeedView(float newSpeed) { - int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值 - if (mTrafficDataView != null) { - mTrafficDataView.updateSpeedWithValue(speed); - } - } +// /** +// * 迈速表实时更新 +// */ +// public void updateSpeedView(float newSpeed) { +// int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值 +// if (mTrafficDataView != null) { +// mTrafficDataView.updateSpeedWithValue(speed); +// } +// } @Override public void onDestroy() { diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index e015160501..5c3a324424 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -15,7 +15,6 @@ import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.Group; -import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.storage.SharedPrefsMgr; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.temp.EventLogout; @@ -32,13 +31,10 @@ import com.mogo.map.overlay.point.Point; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.net.login.LoginBusImpl; import com.mogo.och.bus.presenter.BusPresenter; import com.mogo.och.bus.ui.BusStationCommonItem; import com.mogo.och.bus.ui.BusSwitchLineActivity; import com.mogo.och.bus.view.SlidePanelView; -import com.mogo.och.common.module.biz.constant.OchCommonConst; -import com.mogo.och.common.module.biz.provider.LoginService; import com.mogo.och.common.module.utils.BlinkAnimationUtil; import com.mogo.och.common.module.utils.OCHThreadPoolManager; import com.mogo.och.common.module.utils.QRUtilsKt; @@ -75,8 +71,6 @@ public class BusFragment extends BaseBusTabFragment private BusStationCommonItem secondStationItem; private BusStationCommonItem thirdStationItem; - private LoginService loginService; - @Override public String getTagName() { return "BusFragment"; @@ -85,17 +79,11 @@ public class BusFragment extends BaseBusTabFragment @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); - if (loginService != null) { - loginService.registerFragment(this, getPresenter(), new LoginBusImpl()); - } } @Override public void onDestroyView() { super.onDestroyView(); - loginService.unRegisterFragment(); - loginService = null; } @Override @@ -410,7 +398,7 @@ public class BusFragment extends BaseBusTabFragment @Override public int getStationPanelViewId() { - return R.layout.fragment_och_bus; + return R.layout.bug_fragment_och; } @Override diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/BusLineModel.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/BusLineModel.java index ff9f265fa9..fe08e545f2 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/BusLineModel.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/BusLineModel.java @@ -13,8 +13,8 @@ import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.callback.IBusLinesCallback; import com.mogo.och.bus.net.OrderServiceManager; import com.mogo.och.bus.ui.BusSwitchLineActivity; -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.common.module.network.OchCommonServiceCallback; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; /** * @author: wangmingjun diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index fabef08b13..a176100b6f 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -12,7 +12,6 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.alibaba.android.arouter.launcher.ARouter; import com.elegant.network.utils.GsonUtil; import com.mogo.aicloud.services.socket.IMogoOnMessageListener; import com.mogo.commons.AbsMogoApplication; @@ -55,21 +54,22 @@ import com.mogo.och.bus.util.BusAnalyticsManager; import com.mogo.och.bus.util.BusSendTripInfoManager; import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.bus.util.BusVoiceManager; -import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg; -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; -import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage; -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.provider.LoginService; +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager; +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg; +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager; +import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessage; +import com.mogo.och.common.module.constant.OchCommonConst; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.network.OchCommonServiceCallback; import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.ArrivedStation; -import com.mogo.och.common.module.manager.autopilotmanager.trajectory.ITrajectoryListListener; -import com.mogo.och.common.module.manager.autopilotmanager.trajectory.TrajectoryManager; -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener; -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation; +import com.mogo.och.common.module.manager.autopilot.trajectory.ITrajectoryListListener; +import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryManager; +import com.mogo.och.common.module.manager.distance.ITrajectoryListener; +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import com.mogo.och.common.module.utils.DateTimeUtil; import com.mogo.och.common.module.utils.MultiRequestLimitChecker; import com.mogo.och.common.module.utils.NumberFormatUtil; @@ -123,8 +123,6 @@ public class OrderModel { //0: 代表没有启动过 1代表是启动第一次,当>=1 代表是重试 每次到站/路线结束清空置为0 private volatile int firstStartAutopilot = 0; - private LoginService loginService; - private final Handler handler = new Handler(msg -> { if (msg.what == MSG_QUERY_BUS_STATION) { queryBusRoutes(); @@ -149,7 +147,6 @@ public class OrderModel { public void init() { mContext = AbsMogoApplication.getApp(); - loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); // 定位监听 CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG,5, mMapLocationListener); @@ -315,7 +312,6 @@ public class OrderModel { CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); TrajectoryManager.INSTANCE.addTrajectoryListListenerr(TAG,null); - loginService = null; OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); @@ -1136,9 +1132,7 @@ public class OrderModel { public void sendWriteOffNumToClient(String msg){ AppConnectMsg passengerMsg = new AppConnectMsg(false,true,msg,-1); - - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(passengerMsg).getBytes()); + LanSocketManager.sendMsgToClient(passengerMsg); } // 车机端上传心跳数据(只在出车状态时上传) @@ -1172,7 +1166,7 @@ public class OrderModel { public void logout() { double mLatitude = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLatitude(); double mLongitude =CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLongitude(); - loginService.loginOut(mLatitude, mLongitude); + LoginStatusManager.loginOut(mLatitude, mLongitude); } public void triggerStartServiceEvent(boolean isRestart, boolean send) { diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt index 2cd34d2b6f..c6e27dc5c4 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt @@ -8,10 +8,10 @@ import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.och.bus.bean.* -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry /** * @author: wangmingjun diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt deleted file mode 100644 index 0f3c2d294f..0000000000 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.bus.net.login - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class LoginBusImpl: LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.getPhoneCode(context,phone,callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.logout(context,location4Login,callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.queryDriverServiceStatus(context,callback) - } - - -} \ No newline at end of file diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 10deb32cd8..f5e5a35c64 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -27,13 +27,13 @@ import com.mogo.och.bus.fragment.BusFragment; import com.mogo.och.bus.model.OrderModel; import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.bus.util.BusVoiceManager; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.callback.ILoginCallback; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.ArrivedStation; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.IOchAutopilotStatusListener; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.OchAutoPilotStatusListenerManager; +import com.mogo.och.common.module.biz.login.ILoginCallback; +import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation; +import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener; +import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager; import com.zhjt.mogo.adas.data.AdasConstants; import java.util.ArrayList; @@ -62,6 +62,7 @@ public class BusPresenter extends Presenter OchAutoPilotStatusListenerManager.INSTANCE.addListener(TAG,this); OrderModel.getInstance().init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); + LoginStatusManager.INSTANCE.addListener(TAG,this); } @Override @@ -202,9 +203,9 @@ public class BusPresenter extends Presenter @Override public void onCarLocationChanged(MogoLocation location) { - if (null != location) { - runOnUIThread(() -> mView.updateSpeedView((float) location.getGnssSpeed())); - } +// if (null != location) { +// runOnUIThread(() -> mView.updateSpeedView((float) location.getGnssSpeed())); +// } } @Override @@ -266,7 +267,7 @@ public class BusPresenter extends Presenter } @Override - public void loginSuccess(DriverStatusQueryRespBean data) { + public void onStatusChange(LoginStatusEnum currentStatus) { CallerLogger.d(M_BUS + TAG, " loginStatus =" + LoginStatusManager.isLogin()); if(LoginStatusManager.isLogin()){ OrderModel.getInstance().startOrStopOrderLoop(true); @@ -281,11 +282,6 @@ public class BusPresenter extends Presenter } } - @Override - public void loginFail(boolean isLogin) { - - } - @Override public void playPassenger(WriteOffPassenger passenger) { int passengerNum = passenger.passengerSize; diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt index 412574bdc4..fd6f7b874e 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt @@ -42,7 +42,7 @@ class BusSwitchLineActivity : MvpActivity private lateinit var linearLayoutManager:LinearLayoutManager private val mData: MutableList = ArrayList() override fun getLayoutId(): Int { - return R.layout.activity_bus_switch_line + return R.layout.bus_switch_line } override fun createPresenter(): BusLinePresenter { diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.kt index 8a43a1137e..53b80232ab 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.kt @@ -11,7 +11,7 @@ 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.DateTimeUtils import com.mogo.och.bus.constant.BusConst -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java index 613fb2d050..9caa005698 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java @@ -9,9 +9,8 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.och.bus.bean.BusRoutesResult; import com.mogo.och.bus.constant.BusConst; import com.mogo.och.bus.model.OrderModel; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; -import com.zhidao.socket.utils.LoginStatusUtil; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import java.util.concurrent.TimeUnit; diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusVoiceManager.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusVoiceManager.kt index 71a562a555..999aaa4f7a 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusVoiceManager.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/util/BusVoiceManager.kt @@ -21,7 +21,7 @@ object BusVoiceManager { } fun arrivedStationBus(siteNameCN: String?, siteNameKR: String?) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { return } val context = AbsMogoApplication.getApp() diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt b/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt index 47a515da4b..fe5d97bbcc 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt @@ -20,9 +20,9 @@ class BizMapView @JvmOverloads constructor( private lateinit var mapBizView: MapBizView init { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { LayoutInflater.from(context).inflate(R.layout.bus_m2_bizmap_map, this, true) - }else if(AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)){ + }else if(AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)){ LayoutInflater.from(context).inflate(R.layout.bus_jl_bizmap_map, this, true) }else{ LayoutInflater.from(context).inflate(R.layout.bus_jl_bizmap_map, this, true) diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java index 6692778b2e..d83e5272a5 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java @@ -27,7 +27,7 @@ import com.mogo.eagle.core.utilcode.util.ConvertUtils; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.R; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import me.jessyan.autosize.AutoSizeConfig; import me.jessyan.autosize.utils.AutoSizeUtils; diff --git a/OCH/bus/driver/src/main/res/layout/fragment_och_bus.xml b/OCH/bus/driver/src/main/res/layout/bug_fragment_och.xml similarity index 100% rename from OCH/bus/driver/src/main/res/layout/fragment_och_bus.xml rename to OCH/bus/driver/src/main/res/layout/bug_fragment_och.xml diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml index 7268f93076..da0491e98c 100644 --- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml @@ -19,22 +19,29 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + + + + + + + + + + + + + + + - - - - + app:layout_constraintTop_toTopOf="parent"/> + + + \ No newline at end of file diff --git a/OCH/bus/driver/src/main/res/layout/activity_bus_switch_line.xml b/OCH/bus/driver/src/main/res/layout/bus_switch_line.xml similarity index 100% rename from OCH/bus/driver/src/main/res/layout/activity_bus_switch_line.xml rename to OCH/bus/driver/src/main/res/layout/bus_switch_line.xml diff --git a/OCH/bus/passenger/build.gradle b/OCH/bus/passenger/build.gradle index 2c836f13b4..485f12e541 100644 --- a/OCH/bus/passenger/build.gradle +++ b/OCH/bus/passenger/build.gradle @@ -19,7 +19,7 @@ android { kapt { useBuildCache = false arguments { - arg("AROUTER_MODULE_NAME", project.getName()) + arg("AROUTER_MODULE_NAME", "bus"+project.getName()) } } } @@ -58,20 +58,6 @@ android { ] } } - - flavorDimensions "vehicle" - productFlavors { - // 车型:金旅星辰、开沃 小巴业务 - jinlvvan { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '0' - } - // 车型:金旅m1 小巴业务 - m2 { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } - } } dependencies { diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt new file mode 100644 index 0000000000..8c0806e5f5 --- /dev/null +++ b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/BusPassengerProvider.kt @@ -0,0 +1,65 @@ +package com.mogo.och.bus.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.data.config.FunctionBuildConfig +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 +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.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.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonServiceImpl +import com.mogo.och.common.module.wigets.media.MediaPlayerActivity + +/** + * 网约车-Bus-乘客端 + * + * Created on 2022/3/29 + */ +@Route(path = OchCommonConst.BUS_PASSENGER) +class BusPassengerProvider : CommonServiceImpl() { + + private val tag = BusPassengerProvider::class.java.simpleName + + private lateinit var mPM2Fragment: Fragment + + override fun getFragment(): Fragment { + if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + MultiDisplayUtils.startActWithSecond(ActivityUtils.getTopActivity(), MediaPlayerActivity::class.java) + } + return mPM2Fragment + } + + override fun getStatusBarView(context: Context): View { + if(statusBarView==null) { + statusBarView = if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + M2StatusBarView(context) + } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + BusPStatusBarView(context) + } else{ + StatusBarView(context) + } + } + return statusBarView!! + } + + override fun init(context: Context) { + CallerLogger.d(SceneConstant.M_TAXI_P + tag, "init") + mPM2Fragment = if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + PM2BaseFragment() + } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + BusPassengerRouteFragment() + } else { + BusPassengerRouteFragment() + } + } + +} \ No newline at end of file diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java deleted file mode 100644 index fb146e17c3..0000000000 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/IMogoOCH.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mogo.och.bus.passenger; - -import androidx.annotation.IdRes; -import androidx.fragment.app.FragmentActivity; - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; - -/** - * 网约车抽象接口 - * - * Created on 2022/3/29 - */ -interface IMogoOCH extends IMoGoFunctionProvider { - - /** - * 初始化网约车容器 - * - * @param activity - * @param containerId 容器ID - */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); -} diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt deleted file mode 100644 index 12a869c9aa..0000000000 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt +++ /dev/null @@ -1,105 +0,0 @@ -package com.mogo.och.bus.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.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.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.wigets.media.MediaPlayerActivity - -/** - * 网约车-Bus-乘客端 - * - * Created on 2022/3/29 - */ -@Route(path = BusPassengerConst.PATH) -class MogoOCHBusPassenger : 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) - } - } - return null - } - - override val functionName: String - get() = "och-bus-passenger-m2" - - override fun onDestroy() { - // 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 - mActivity?.finish() - } - - 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, "准备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 - } - -} \ No newline at end of file diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt index 626fe265ae..89d19a3922 100644 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt +++ b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt @@ -9,10 +9,10 @@ import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry /** * Created on 2022/3/31 diff --git a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java b/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java deleted file mode 100644 index d4fdde8ebb..0000000000 --- a/OCH/bus/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.mogo.och.bus.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.och.bus.passenger.passenger.ui.widget.M2StatusBarView; -import com.mogo.och.bus.passenger.ui.BusPStatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - - @NonNull - @Override - public View getStatusView(Context context) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { - return new M2StatusBarView(context); - } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { - return new BusPStatusBarView(context); - } - return new BusPStatusBarView(context); - } - - @Override - public void init(Context context) { - - } -} diff --git a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/model/BusPassengerModel.kt b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/model/BusPassengerModel.kt index ecd0dd6eaf..32587ce9ea 100644 --- a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/model/BusPassengerModel.kt +++ b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/model/BusPassengerModel.kt @@ -19,20 +19,17 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener -import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.addListener -import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isPassenger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P -import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils @@ -43,23 +40,23 @@ import com.mogo.och.bus.passenger.callback.* import com.mogo.och.bus.passenger.constant.BusPassengerConst import com.mogo.och.bus.passenger.network.BusPassengerServiceManager import com.mogo.och.bus.passenger.network.BusPassengerServiceManager.driverAppSn -import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.DPMsgType -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.pushAppOperationalMsgBox -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager.startLoopAbnormalFactors -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager.stopLoopAbnormalFactors -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.addDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.addTrajectoryListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.setStationPoint -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.suspendCalculate -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.pushAppOperationalMsgBox +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.startLoopAbnormalFactors +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.stopLoopAbnormalFactors +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.ITrajectoryListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.addDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.addTrajectoryListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.setStationPoint +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.suspendCalculate +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.OCHThreadPoolManager import com.mogo.och.common.module.utils.PinYinUtil diff --git a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/model/PM2DrivingModel.kt b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/model/PM2DrivingModel.kt index bedc3c1ed2..211be0bcc8 100644 --- a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/model/PM2DrivingModel.kt +++ b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/model/PM2DrivingModel.kt @@ -20,7 +20,6 @@ import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.sendMsgToServer import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P @@ -32,20 +31,24 @@ import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse import com.mogo.och.bus.passenger.constant.BusPassengerConst import com.mogo.och.bus.passenger.passenger.callback.AutoPilotStatusCallback import com.mogo.och.bus.passenger.passenger.callback.DrivingInfoCallback -import com.mogo.och.common.module.bean.dpmsg.* -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.pushAppOperationalMsgBox -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.pushAppOperationalMsgBox +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusTransferData import com.mogo.och.bus.passenger.bean.PM2RoutesResponse import com.mogo.och.bus.passenger.network.BusPassengerServiceManager -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg import com.mogo.och.common.module.utils.OCHThreadPoolManager import kotlin.math.abs @@ -101,7 +104,7 @@ class PM2DrivingModel private constructor() { private fun queryDriverByLocalDriver() { //本地去请求司机端 val msg = TaskDetailsMsg("task") - sendMsgToServer(GsonUtils.toJson(msg)) + LanSocketManager.sendMsgToServer(msg) } private fun initListener() { @@ -121,13 +124,6 @@ class PM2DrivingModel private constructor() { TrajectoryAndDistanceManager.addDistanceListener(TAG, trajectoryListener) } - private fun sendMsgToServer(msg: String) { - sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - fun releaseListener() { //自动驾驶状态监听 CallerAutoPilotStatusListenerManager.removeListener(TAG) diff --git a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/widget/M2TurnLightView.kt b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/widget/M2TurnLightView.kt index f280b6eb1f..7084e5012d 100644 --- a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/widget/M2TurnLightView.kt +++ b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/widget/M2TurnLightView.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListene import com.mogo.eagle.core.function.call.v2x.CallerTurnLightListenerManager import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.bus.passenger.R -import com.mogo.och.common.module.manager.lightmanager.TurnLightManager +import com.mogo.och.common.module.manager.light.TurnLightManager import kotlinx.android.synthetic.main.bus_p_m2_turn_light_status.view.left_nor_image import kotlinx.android.synthetic.main.bus_p_m2_turn_light_status.view.left_select_image import kotlinx.android.synthetic.main.bus_p_m2_turn_light_status.view.right_nor_image diff --git a/OCH/bus/passenger/src/main/res/jinlv/layout/bus_p_base_fragment.xml b/OCH/bus/passenger/src/main/res/jinlv/layout/bus_p_base_fragment.xml index 455d781077..88ba1bea28 100644 --- a/OCH/bus/passenger/src/main/res/jinlv/layout/bus_p_base_fragment.xml +++ b/OCH/bus/passenger/src/main/res/jinlv/layout/bus_p_base_fragment.xml @@ -96,6 +96,8 @@ android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" /> - + \ No newline at end of file diff --git a/OCH/bus/passenger/src/main/res/jinlv/layout/p_bus_view_status_bar.xml b/OCH/bus/passenger/src/main/res/jinlv/layout/p_bus_view_status_bar.xml index 88c228c4f3..23bf8fc8d3 100644 --- a/OCH/bus/passenger/src/main/res/jinlv/layout/p_bus_view_status_bar.xml +++ b/OCH/bus/passenger/src/main/res/jinlv/layout/p_bus_view_status_bar.xml @@ -22,7 +22,7 @@ - + + + \ No newline at end of file diff --git a/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml b/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml index 8c4a96d678..79310174b3 100644 --- a/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml +++ b/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml @@ -10,7 +10,7 @@ ?>() : slidePanelView?.setText(resources.getString(R.string.charter_back_car)) slidePanelView?.setOnSlidePanelMoveToEndListener(onSlideToEndListener) + + // mTrafficDataView = (TrafficDataView) findViewById(R.id.bus_arc); + val flSpeed = findViewById(R.id.fl_speed) + if (flSpeed != null) { + attachAutopilotBeforeLaunchView(flSpeed.context, flSpeed) + } + LayoutInflater.from(context).inflate(getStationPanelViewId(), flStationPanelContainer) mSwitchMapModeLayout = findViewById(R.id.bus_switch_model_layout) mSwitchMapModeImage = findViewById(R.id.bus_switch_model_icon) diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt index 350aa1d261..d4b30d1d6b 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt @@ -5,13 +5,11 @@ import android.os.Bundle import android.os.CountDownTimer import android.view.View.GONE import android.view.View.VISIBLE -import com.alibaba.android.arouter.launcher.ARouter import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.base.CharterBaseFragment import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVING import com.magic.mogo.och.charter.constant.CharterConst.Companion.LOOP_PERIOD_60S -import com.magic.mogo.och.charter.net.login.LoginDriverM1Impl import com.magic.mogo.och.charter.presenter.DriverM1Presenter import com.magic.mogo.och.charter.view.SlidePanelView import com.mogo.commons.storage.SharedPrefsMgr @@ -19,8 +17,6 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.temp.EventLogout 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.LoginService import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.createQRCodeWithPicture import com.mogo.och.common.module.wigets.BindQRCodeDialog @@ -47,7 +43,6 @@ import kotlin.math.roundToInt */ class DriverM1Fragment : CharterBaseFragment(), SlidePanelView.OnSlidePanelMoveToEndListener{ - private var loginService: LoginService? = null private var ochCommitDialog: OCHCommitDialog? = null var countDownTimer: CountDownTimer? = null @@ -57,11 +52,6 @@ class DriverM1Fragment : CharterBaseFragment=1 代表是重试 每次到站/路线结束清空置为0 - private var loginService: LoginService? = null companion object { val TAG = DriverM1Model::class.java.simpleName @@ -147,8 +151,6 @@ class DriverM1Model { //网络监听 IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener) - loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService - //2022.1.28 // 调用Disposable.dispose() 时候会出现InterruptedException 导致出现崩溃 // The exception could not be delivered to the consumer because it has already canceled/disposed @@ -172,7 +174,6 @@ class DriverM1Model { // 注销定位监听 CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) - loginService = null OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null) releaseSocketMessageListener( OCHSocketMessageManager.msgMonitorType @@ -292,7 +293,7 @@ class DriverM1Model { override fun onMsgReceived(obj: OrderCloseMsg) { //订单结束 pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp(), obj.message - ,OCHSocketMessageManager.OPERATION_ORDER_TYPE) + , OCHSocketMessageManager.OPERATION_ORDER_TYPE) sendMsgToClient(DPOrderClosedMsg()) queryCurrentServiceStatus() } @@ -350,7 +351,7 @@ class DriverM1Model { d(SceneConstant.M_TAXI + TAG, "onIntentReceived = %s", intentStr) if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) { if (NetworkUtils.isConnected(mContext)) { - loginService!!.queryLoginStatusByNet() + LoginStatusManager.queryLoginStatusByNet() } } } @@ -406,7 +407,8 @@ class DriverM1Model { mContext?.let { mCurrentOrder?.lineId?.let { it1 -> DriverM1ServiceManager.arriveDest( - it, it1.toLong(),DateTimeUtil.getCurrentTimeStamp(),object :OchCommonServiceCallback{ + it, it1.toLong(),DateTimeUtil.getCurrentTimeStamp(),object : + OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(data)) if (data?.code == 0){ @@ -517,7 +519,7 @@ class DriverM1Model { // 登出 fun logout() { - loginService!!.loginOut(mLatitude, mLongitude) + LoginStatusManager.loginOut(mLatitude, mLongitude) } fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { @@ -622,14 +624,11 @@ class DriverM1Model { private fun sendMsgToClient(msg: BaseDPMsg?){ d(SceneConstant.M_CHARTER_D + TAG, "sendMsgToClient" + GsonUtils.toJson(msg)) - sendMsgToAllClients( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToClient(msg) } fun driverEndLease() { - DriverM1ServiceManager.driverEndLease(mContext,object : OchCommonServiceCallback{ + DriverM1ServiceManager.driverEndLease(mContext,object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { if (data != null && data.code == 0){ mOrderCallback?.updateReturnCarStatus(true) @@ -647,7 +646,7 @@ class DriverM1Model { fun queryCurrentServiceStatus() { DriverM1ServiceManager.queryCurrentServiceStatus(mContext - ,object: OchCommonServiceCallback{ + ,object: OchCommonServiceCallback { override fun onSuccess(data: QueryBusinessStatusResponse?) { if (data == null || data.code != 0 || data.data.equals(mCurrentBusinessStatus)){ d(SceneConstant.M_CHARTER_D + TAG, "data is null or data not change" ) @@ -689,7 +688,7 @@ class DriverM1Model { fun queryCurrentOrder(){ DriverM1ServiceManager.queryCurrentOrder(mContext - ,object: OchCommonServiceCallback{ + ,object: OchCommonServiceCallback { override fun onSuccess(data: QueryCurrentOrderResponse?) { if (data == null || data.code != 0){ isArrivedStation = false @@ -753,7 +752,7 @@ class DriverM1Model { fun checkOrderCountDown() { DriverM1ServiceManager.checkOrderCountDown(mContext, - object: OchCommonServiceCallback{ + object: OchCommonServiceCallback { override fun onSuccess(data: CheckOrderCountDownResponse?) { if (data?.data == null || data.code != 0){ return @@ -782,7 +781,7 @@ class DriverM1Model { currentChangeDestMsg!!.startSiteId, currentChangeDestMsg!!.destSiteId, writeVersion, - object : OchCommonServiceCallback{ + object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { if (data != null && data.code == 0){ d(SceneConstant.M_CHARTER_D + TAG, "confirmed station .") @@ -817,7 +816,7 @@ class DriverM1Model { fun checkoutContrail(){ if (mCurrentOrder == null) return DriverM1ServiceManager.checkoutContrail(mContext,mCurrentOrder!!.lineId, - object : OchCommonServiceCallback{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryRoutesResponse?) { if (data == null || data.code != 0) return d(SceneConstant.M_CHARTER_D + TAG, "checkoutContrail-==" diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt index f521d07e8d..46c8ca5959 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt @@ -3,13 +3,13 @@ package com.magic.mogo.och.charter.net import android.content.Context import com.magic.mogo.och.charter.bean.* import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr -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.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry /** * Created by pangfan on 2021/8/19 diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/LoginDriverM1Impl.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/LoginDriverM1Impl.kt deleted file mode 100644 index d6374c2c73..0000000000 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/LoginDriverM1Impl.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.magic.mogo.och.charter.net.login - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class LoginDriverM1Impl: LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.getPhoneCode(context,phone,callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.logout(context,location4Login,callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.queryDriverServiceStatus(context,callback) - } - - -} \ No newline at end of file diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchCommonServiceManager.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchCommonServiceManager.kt deleted file mode 100644 index 68412ada11..0000000000 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchCommonServiceManager.kt +++ /dev/null @@ -1,108 +0,0 @@ -package com.magic.mogo.och.charter.net.login - -import android.content.Context -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.commons.storage.SharedPrefsMgr -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 - -/** - * Created by pangfan on 2021/8/19 - */ -object OchCommonServiceManager { - - private const val TAG = "OchCommonServiceManager" - - private val mLoginServiceApi: OchLoginServiceApi = - MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - OchLoginServiceApi::class.java - ) - - /** - * 获取手机验证码 - * @param context - * @param callback - */ - @JvmStatic - fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - mLoginServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) - } - - /** - * 通过验证码登录 - * @param context - * @param callback - */ - @JvmStatic - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - val sn = SharedPrefsMgr.getInstance().sn - mLoginServiceApi.gotoLoginBycode4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) - } - - /** - * 登出 - */ - @JvmStatic - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - mLoginServiceApi.logout4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean(SharedPrefsMgr.getInstance().sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) - } - - /** - * 接单状态和登录状态查询 - * - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - if (SharedPrefsMgr.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return - } - mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) - } - -} \ No newline at end of file diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchLoginServiceApi.java b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchLoginServiceApi.java deleted file mode 100644 index 1f2cd8b5cb..0000000000 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/net/login/OchLoginServiceApi.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.magic.mogo.och.charter.net.login; - -import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; - -import io.reactivex.Observable; -import retrofit2.http.Body; -import retrofit2.http.GET; -import retrofit2.http.Header; -import retrofit2.http.Headers; -import retrofit2.http.POST; -import retrofit2.http.Query; - -/** - * Created by pangfan on 2021/8/19 - *

- * 网约车-出租车接口定义 - */ -interface OchLoginServiceApi { - /** - * 获取手机验证码 - * - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-rental-cabin/api/sms/v1/driver/sendSms") - Observable getPhoneCode(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); - - /** - * 通过验证码登录 - * - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-rental-cabin/api/flow/v1/driver/startOperation") - Observable gotoLoginBycode4Bus(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); - - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-rental-cabin/api/flow/v1/driver/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, - @Body TaxiLogoutReqBean data); - - /** - * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * - * @param sn - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/och-rental-cabin/api/business/v1/driver/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId - , @Header("ticket") String ticket, @Query("sn") String sn); - -} diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt index 46f911e6fc..ed63920374 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt @@ -5,28 +5,25 @@ import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse import com.magic.mogo.och.charter.callback.ChangeDestCallback import com.magic.mogo.och.charter.callback.DriverM1OrderCallback -import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback import com.magic.mogo.och.charter.fragment.DriverM1Fragment import com.magic.mogo.och.charter.manager.CharterTrajectoryManager import com.magic.mogo.och.charter.model.DriverM1Model import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.Presenter -import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager 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.DateTimeUtils -import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.callback.ILoginCallback -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.OPERATION_ROAD_SIDE_TYPE -import com.mogo.och.common.module.biz.constant.LoginStatusManager.isLogin -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.biz.login.ILoginCallback +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.OPERATION_ROAD_SIDE_TYPE +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.manager.beautifymode.BeautifyManager -import com.mogo.och.common.module.manager.stopsidemanager.OCHPlanningActionsCallback -import com.mogo.och.common.module.manager.stopsidemanager.StopSideStatus -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager +import com.mogo.och.common.module.manager.stopside.OCHPlanningActionsCallback +import com.mogo.och.common.module.manager.stopside.StopSideStatus +import com.mogo.och.common.module.manager.stopside.StopSideManager import com.mogo.och.common.module.utils.DateTimeUtil import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg @@ -36,7 +33,8 @@ import mogo_msg.MogoReportMsg * @date: 2023/2/22 */ class DriverM1Presenter(view: DriverM1Fragment?) : - Presenter(view),ILoginCallback, DriverM1OrderCallback, ChangeDestCallback, + Presenter(view), + ILoginCallback, DriverM1OrderCallback, ChangeDestCallback, IMoGoAutopilotStatusListener, OCHPlanningActionsCallback{ companion object{ @@ -47,6 +45,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) : DriverM1Model.get().init(context) OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()) registerListener() + LoginStatusManager.addListener(TAG,this) } private fun registerListener() { @@ -70,21 +69,18 @@ class DriverM1Presenter(view: DriverM1Fragment?) : DriverM1Model.get().release() } - override fun loginSuccess(data: DriverStatusQueryRespBean?) { - d(SceneConstant.M_BUS + TAG, " loginStatus =" + isLogin()) - if(isLogin()){ + override fun onStatusChange(currentStatus: LoginStatusEnum?) { + d(SceneConstant.M_BUS + TAG, " loginStatus =" + LoginStatusManager.isLogin()) + if(LoginStatusManager.isLogin()){ // 查询服务状态 DriverM1Model.get().queryCurrentServiceStatus() DriverM1Model.get().startQueryCurrentOrder() }else{ CharterTrajectoryManager.stopTrajReqLoop() + DriverM1Model.get().stopQueryCurrentOrder() } } - override fun loginFail(isLogin: Boolean) { - DriverM1Model.get().stopQueryCurrentOrder() - } - // 登出 fun logout() { DriverM1Model.get().logout() diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/DriverMoFangFunctionView.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/DriverMoFangFunctionView.kt index aed4ea1646..8a8199efc0 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/DriverMoFangFunctionView.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/DriverMoFangFunctionView.kt @@ -8,7 +8,7 @@ import com.magic.mogo.och.charter.R import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.och.common.module.manager.DriverMoFangFunctionManager -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager import com.mogo.och.common.module.utils.SoundPoolHelper import kotlinx.android.synthetic.main.driver_mofang_function_view.view.* diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt index 77be38100c..1b62ed6c2b 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt @@ -19,11 +19,10 @@ import android.view.View import android.view.animation.DecelerateInterpolator import com.magic.mogo.och.charter.R import com.mogo.commons.AbsMogoApplication -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ConvertUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import me.jessyan.autosize.AutoSizeConfig import me.jessyan.autosize.utils.AutoSizeUtils diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt index 900b62800a..9f2384a481 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt @@ -2,11 +2,9 @@ package com.magic.mogo.och.charter.view.autopilot import androidx.lifecycle.ViewModel import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVED -import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVING import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback import com.magic.mogo.och.charter.constant.CharterConst import com.magic.mogo.och.charter.model.DriverM1Model -import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager @@ -17,9 +15,9 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.manager.beautifymode.BeautifyManager import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager -import com.mogo.och.common.module.manager.stopsidemanager.StopSideStatus +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.stopside.StopSideManager +import com.mogo.och.common.module.manager.stopside.StopSideStatus import com.mogo.och.common.module.utils.RxUtils import java.util.concurrent.atomic.AtomicBoolean diff --git a/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml b/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml index c3852d9385..cbb7a1b508 100644 --- a/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml +++ b/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml @@ -29,17 +29,14 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - - + + \ No newline at end of file diff --git a/OCH/charter/driver/src/main/res/layout/charter_fragment_driver_m1.xml b/OCH/charter/driver/src/main/res/layout/charter_fragment_driver_m1.xml index cda4d405fe..cd484ddd06 100644 --- a/OCH/charter/driver/src/main/res/layout/charter_fragment_driver_m1.xml +++ b/OCH/charter/driver/src/main/res/layout/charter_fragment_driver_m1.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/module_och_bus_order_status_stationInfo" - android:layout_width="@dimen/dp_618" + android:layout_width="@dimen/dp_624" android:layout_height="wrap_content" android:minHeight="@dimen/dp_754" android:background="@drawable/charter_line_panel_bg" diff --git a/OCH/charter/passenger/build.gradle b/OCH/charter/passenger/build.gradle index ef7833ad2b..7a15a65798 100644 --- a/OCH/charter/passenger/build.gradle +++ b/OCH/charter/passenger/build.gradle @@ -19,7 +19,7 @@ android { kapt { useBuildCache = false arguments { - arg("AROUTER_MODULE_NAME", project.getName()) + arg("AROUTER_MODULE_NAME", "charter"+project.getName()) } } } diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt new file mode 100644 index 0000000000..5ab206a822 --- /dev/null +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/CharterPassengerProvider.kt @@ -0,0 +1,42 @@ +package com.mogo.och.charter.passenger + +import android.content.Context +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.charter.passenger.ui.MainFragment +import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl + +/** + * 网约车-Bus-乘客端 + * + * Created on 2022/3/29 + */ +@Route(path = OchCommonConst.CHARTER_PASSENGER) +class CharterPassengerProvider : CommonServiceImpl() { + + private val tag = CharterPassengerProvider::class.java.simpleName + private lateinit var fragment: MainFragment + + override fun getFragment(): Fragment { + return fragment + } + + override fun getStatusBarView(context: Context): View { + if(statusBarView==null){ + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + + override fun init(context: Context) { + CallerLogger.d(SceneConstant.M_TAXI_P + tag, "init") + fragment = MainFragment() + } + +} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt deleted file mode 100644 index 33007cf843..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/MogoOCHBusPassenger.kt +++ /dev/null @@ -1,76 +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 - -/** - * 网约车-Bus-乘客端 - * - * Created on 2022/3/29 - */ -@Route(path = CharterPassengerConst.PATH) -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 - } - - override val functionName: String - get() = "och-bus-passenger-m1" - - override fun onDestroy() { - // 若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 - mActivity?.finish() - } - - override fun init(context: Context) { - - } - - 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 - } -} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/bean/response/SiteInfoResponse.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/bean/response/SiteInfoResponse.kt index 1498c49eb1..2c9b564bf5 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/bean/response/SiteInfoResponse.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/bean/response/SiteInfoResponse.kt @@ -1,8 +1,7 @@ package com.mogo.och.charter.passenger.bean.response import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.bean.dpmsg.LineSite -import java.util.* +import com.mogo.och.common.module.manager.socket.lan.bean.LineSite /** * diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index 8d27ffc4ea..9c3c3b26c6 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -25,31 +25,32 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.* import com.mogo.och.charter.passenger.R -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.charter.passenger.bean.response.* import com.mogo.och.charter.passenger.callback.* import com.mogo.och.charter.passenger.constant.CharterPassengerConst -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager +import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.charter.passenger.net.BusPassengerServiceManager import com.mogo.och.charter.passenger.utils.CharterVoiceManager import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import com.mogo.och.charter.passenger.utils.VoiceFocusManager -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.constant.LoginStatusManager -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.login.ILoginCallback +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.CharterSendTripInfoManager import com.mogo.och.common.module.manager.CharterSendTripInfoManager.LEAVE_STATION -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.manager.beautifymode.BeautifyManager -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.PinYinUtil -import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import io.reactivex.Observable import io.reactivex.disposables.Disposable @@ -163,27 +164,26 @@ object CharterPassengerModel { * 启动轮询查询司机登录状态 */ private fun listenerLoginStatus() { - LoginStatusManager.setControllerStatusCallback(TAG, - object : LoginStatusManager.ILoginStatusChangeListener { - override fun onStatusChange(currentStatus: TaxiLoginStatusEnum) { - if (LoginStatusManager.isLogin()) { - // 1、打开视频播放、 - // 2 、打开空调暖风机灯设置页面 - // 3、车控页面、 - // 4、打开选择线路页面 - BizLoopManager.removeLoopFunction(TAGLOGIN) - d(M_BUS_P + TAG, "结束登录状态轮询") - // 启动订单轮 - startOrderLoop() - } else { - BizLoopManager.setLoopFunction( - TAGLOGIN, - LoopInfo(3, ::queryLoginStatus) - ) - d(M_BUS_P + TAG, "启动登录状态轮询") - } + LoginStatusManager.addListener(TAG,object : ILoginCallback{ + override fun onStatusChange(currentStatus: LoginStatusEnum?) { + if (LoginStatusManager.isLogin()) { + // 1、打开视频播放、 + // 2 、打开空调暖风机灯设置页面 + // 3、车控页面、 + // 4、打开选择线路页面 + BizLoopManager.removeLoopFunction(TAGLOGIN) + d(M_BUS_P + TAG, "结束登录状态轮询") + // 启动订单轮 + startOrderLoop() + } else { + BizLoopManager.setLoopFunction( + TAGLOGIN, + LoopInfo(3, ::queryLoginStatus) + ) + d(M_BUS_P + TAG, "启动登录状态轮询") } - }) + } + }) } // endregion @@ -291,26 +291,7 @@ object CharterPassengerModel { * 查询车辆登录状态、车牌、司机手机号、司机sn */ fun queryLoginStatus() { - BusPassengerServiceManager.queryDriverOperationStatus( - mContext, object : OchCommonServiceCallback { - override fun onSuccess(data: M1DriverLoginStatusResponse?) { - if (data?.data == null) return - LoginStatusManager.setLoginStatus(data.data.driverStatus) - } - - override fun onFail(code: Int, msg: String) { - RxUtils.createSubscribe { - queryLoginStatus() - } - } - - override fun onError() { - super.onError() - RxUtils.createSubscribe { - queryLoginStatus() - } - } - }) + LoginStatusManager.queryLoginStatusByNet() } //监听网络变化,避免启动机器时无网导致无法更新订单信息 @@ -1001,10 +982,7 @@ object CharterPassengerModel { OrderInfoResponse.ARRIVED, currentTimeStamp ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToServer(msg) d(M_BUS_P + BaseDPMsg.TAG, "到站发送数据${msg}") } @@ -1050,7 +1028,8 @@ object CharterPassengerModel { if(size>3){ return } - BusPassengerServiceManager.queryLineSiteList(mContext,"$lineId",object :OchCommonServiceCallback{ + BusPassengerServiceManager.queryLineSiteList(mContext,"$lineId",object : + OchCommonServiceCallback { override fun onSuccess(data: SiteInfoResponse?) { data?.data?.forEach { if (it.siteId==siteId) { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/MusicModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/MusicModel.kt index bfbbf2244c..05f2cf23d6 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/MusicModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/MusicModel.kt @@ -4,8 +4,8 @@ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.util.TAG -import com.mogo.och.common.module.manager.auditionmanager.AuditionManager -import com.mogo.och.common.module.manager.auditionmanager.PlayState +import com.mogo.och.common.module.manager.audition.AuditionManager +import com.mogo.och.common.module.manager.audition.PlayState import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/net/BusPassengerServiceManager.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/net/BusPassengerServiceManager.kt index 228c480a11..c5bb0bef1a 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/net/BusPassengerServiceManager.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/net/BusPassengerServiceManager.kt @@ -8,11 +8,11 @@ import com.mogo.och.charter.passenger.bean.request.ArriveDestRequest import com.mogo.och.charter.passenger.bean.request.EndOrderRequest import com.mogo.och.charter.passenger.bean.response.* import com.mogo.och.common.module.wigets.toast.ToastCharterUtils -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.transformIoTry -import com.mogo.och.common.module.biz.network.interceptor.transformTry +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformIoTry +import com.mogo.och.common.module.network.interceptor.transformTry /** * Created on 2022/3/31 diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt index 8387d842cb..eb7e57493d 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt @@ -31,13 +31,13 @@ import com.mogo.och.charter.passenger.receive.DriverMessage import com.mogo.och.charter.passenger.ui.MainFragment import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteName import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteNamewithCheck -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.manager.beautifymode.BeautifyManager -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager -import com.mogo.och.common.module.manager.devicemanage.callback.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.stopsidemanager.OCHPlanningActionsCallback -import com.mogo.och.common.module.manager.stopsidemanager.StopSideStatus +import com.mogo.och.common.module.manager.stopside.StopSideManager +import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback +import com.mogo.och.common.module.manager.stopside.OCHPlanningActionsCallback +import com.mogo.och.common.module.manager.stopside.StopSideStatus import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.wigets.toast.ToastCharterUtils diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java deleted file mode 100644 index aae72e7b38..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.mogo.och.charter.passenger.provider; - -import android.content.Context; -import android.view.View; - -import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/receive/DriverMessage.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/receive/DriverMessage.kt index 5c36418f3b..0b638d807c 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/receive/DriverMessage.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/receive/DriverMessage.kt @@ -11,11 +11,14 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.bean.response.OrderInfoResponse import com.mogo.och.charter.passenger.model.CharterPassengerModel -import com.mogo.och.common.module.bean.dpmsg.* -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.SoundPoolHelper import com.mogo.och.common.module.voice.VoiceNotice diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt index 95bb001ece..fd6d4475d8 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/MainFragment.kt @@ -31,8 +31,10 @@ import com.mogo.och.charter.passenger.ui.dialogfragment.M1CarUserNoOrderFragment import com.mogo.och.charter.passenger.ui.dialogfragment.NoviceGuidanceFragment import com.mogo.och.charter.passenger.ui.lockview.LockManager import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView +import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.wigets.toast.ToastCharterUtils -import com.mogo.och.common.module.biz.constant.LoginStatusManager +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.biz.provider.CommonService import kotlinx.android.synthetic.main.charter_p_main_fragment.aciv_enter_video import kotlinx.android.synthetic.main.charter_p_main_fragment.aciv_map_2_default import kotlinx.android.synthetic.main.charter_p_main_fragment.bb_boorombar @@ -80,13 +82,16 @@ class MainFragment : MvpFragment(), IMogo private var statusBarView: StatusBarView? = null override fun getLayoutId(): Int { - (ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_VIEW_MANAGER) - .navigation() as? IStatusViewLayout)?.apply { - val statusView = getStatusView(requireContext()) - if (statusView is StatusBarView) { - statusBarView = statusView + (ARouter.getInstance().build(OchCommonConst.CHARTER_PASSENGER) + .navigation() as? CommonService)?.apply { + context?.let { + val statusView = getStatusBarView(it) + if (statusView is StatusBarView) { + statusBarView = statusView + } } } + return R.layout.charter_p_main_fragment } @@ -138,6 +143,7 @@ class MainFragment : MvpFragment(), IMogo } showBizView(orderinfo = true) } + BottomBar.SelectView.SETTING -> showBizView(softControl = true) BottomBar.SelectView.LINE -> showBizView(selectLine = true) BottomBar.SelectView.VIDEO -> showBizView(showVideo = true) @@ -207,10 +213,10 @@ class MainFragment : MvpFragment(), IMogo } else { biz_video.visibility = View.GONE } - if(showMusic) { + if (showMusic) { mcv_play_music.visibility = View.VISIBLE statusBarView?.setBackgroudColor(R.color.charter_p_40ffffff) - }else{ + } else { mcv_play_music.visibility = View.GONE } } @@ -290,7 +296,7 @@ class MainFragment : MvpFragment(), IMogo ) } - fun showOvermapPoint(){ + fun showOvermapPoint() { omvOverMap.setDebugMode(true) } @@ -348,7 +354,7 @@ class MainFragment : MvpFragment(), IMogo omvOverMap?.drawSitePolyline(coordinates, lineTrajectory) } - fun includePoint(coordinates: List){ + fun includePoint(coordinates: List) { omvOverMap?.includeSitePointsAndUpdateCamera(coordinates) } diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/CloseDoorView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/CloseDoorView.kt index 8d2f605601..a5a52476e5 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/CloseDoorView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/CloseDoorView.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.ui.bottom.BottomClickView -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager import com.mogo.och.common.module.utils.SoundPoolHelper class CloseDoorView @JvmOverloads constructor( diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/GoViewWithArrive.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/GoViewWithArrive.kt index f1132bef75..16e6bad267 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/GoViewWithArrive.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/GoViewWithArrive.kt @@ -9,7 +9,6 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P @@ -20,8 +19,8 @@ import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.callback.ICharterPassengerAutoStatusChangeCallback import com.mogo.och.charter.passenger.model.CharterPassengerModel import com.mogo.och.charter.passenger.ui.bottom.BottomClickView -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager +import com.mogo.och.common.module.manager.stopside.StopSideManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.utils.SoundPoolHelper import io.reactivex.disposables.Disposable diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/MusicCheckView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/MusicCheckView.kt index 398fbf271f..6157dd61cb 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/MusicCheckView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/MusicCheckView.kt @@ -14,9 +14,9 @@ import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.target.SimpleTarget import com.bumptech.glide.request.transition.Transition import com.mogo.och.charter.passenger.R -import com.mogo.och.common.module.manager.auditionmanager.AuditionManager -import com.mogo.och.common.module.manager.auditionmanager.MusicData -import com.mogo.och.common.module.manager.auditionmanager.PlayState +import com.mogo.och.common.module.manager.audition.AuditionManager +import com.mogo.och.common.module.manager.audition.MusicData +import com.mogo.och.common.module.manager.audition.PlayState import kotlinx.android.synthetic.main.charter_p_bottom_music.view.aciv_center_image import kotlinx.android.synthetic.main.charter_p_bottom_music.view.actv_title import kotlinx.android.synthetic.main.charter_p_bottom_music.view.aciv_playing diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/OpenDoorView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/OpenDoorView.kt index 46c0a8c028..d73272c7f5 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/OpenDoorView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/OpenDoorView.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.ui.bottom.BottomClickView -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager import com.mogo.och.common.module.utils.SoundPoolHelper class OpenDoorView @JvmOverloads constructor( diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/StopSiteView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/StopSiteView.kt index 61233b4697..1fffbdcebd 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/StopSiteView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/bottom/impl/StopSiteView.kt @@ -3,13 +3,12 @@ package com.mogo.och.charter.passenger.ui.bottom.impl import android.content.Context import android.util.AttributeSet import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.ui.bottom.BottomClickView -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager +import com.mogo.och.common.module.manager.stopside.StopSideManager import com.mogo.och.common.module.utils.SoundPoolHelper class StopSiteView @JvmOverloads constructor( diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt index 09017951c0..f051a2a43a 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt @@ -18,7 +18,7 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.presenter.BusPassengerCarUseAndNoOrderPresenter import com.mogo.och.charter.passenger.utils.CharterVoiceManager -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager import kotlinx.android.synthetic.main.charter_p_order_end.iv_end_order_closedoor import kotlinx.android.synthetic.main.charter_p_order_end.iv_end_order_opendoor diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/MusicControlView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/MusicControlView.kt index e5c79fd29a..e149293200 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/MusicControlView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/MusicControlView.kt @@ -8,7 +8,7 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.ui.music.list.MusicListView -import com.mogo.och.common.module.manager.auditionmanager.MusicData +import com.mogo.och.common.module.manager.audition.MusicData import kotlinx.android.synthetic.main.charter_p_music.view.mlv_list import kotlinx.android.synthetic.main.charter_p_music.view.mpv_music_info diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListItemAdapter.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListItemAdapter.kt index deea92b6c6..9db6901ac1 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListItemAdapter.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListItemAdapter.kt @@ -13,8 +13,8 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.charter.passenger.R -import com.mogo.och.common.module.manager.auditionmanager.MusicData -import com.mogo.och.common.module.manager.auditionmanager.PlayState +import com.mogo.och.common.module.manager.audition.MusicData +import com.mogo.och.common.module.manager.audition.PlayState import me.jessyan.autosize.AutoSizeCompat /** diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListView.kt index a3144ae018..df45abfece 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListView.kt @@ -9,7 +9,7 @@ import androidx.lifecycle.findViewTreeViewModelStoreOwner import androidx.recyclerview.widget.LinearLayoutManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.charter.passenger.R -import com.mogo.och.common.module.manager.auditionmanager.MusicData +import com.mogo.och.common.module.manager.audition.MusicData import kotlinx.android.synthetic.main.charter_p_music_list.view.rv_music_list class MusicListView : ConstraintLayout, MusicListViewModel.IMusicListViewCaLillback, diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListViewModel.kt index e88f40c48c..a2312e2f1e 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/list/MusicListViewModel.kt @@ -3,8 +3,8 @@ package com.mogo.och.charter.passenger.ui.music.list import androidx.lifecycle.ViewModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.auditionmanager.AuditionManager -import com.mogo.och.common.module.manager.auditionmanager.MusicData +import com.mogo.och.common.module.manager.audition.AuditionManager +import com.mogo.och.common.module.manager.audition.MusicData class MusicListViewModel : ViewModel(), AuditionManager.MusicDataChangeListener { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingView.kt index 5c7a48de6a..9c2c870f7b 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingView.kt @@ -13,13 +13,12 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions -import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.TimeTransformUtils import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.ui.music.list.MusicListViewModel -import com.mogo.och.common.module.manager.auditionmanager.MusicData -import com.mogo.och.common.module.manager.auditionmanager.PlayState +import com.mogo.och.common.module.manager.audition.MusicData +import com.mogo.och.common.module.manager.audition.PlayState import com.mogo.och.common.module.utils.DateTimeUtil import kotlinx.android.synthetic.main.charter_p_music_playing.view.iv_music_cover import kotlinx.android.synthetic.main.charter_p_music_playing.view.iv_music_cover_bg diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingViewModel.kt index f43e922495..6d46b46d74 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/music/playing/MusicPlayingViewModel.kt @@ -3,8 +3,8 @@ package com.mogo.och.charter.passenger.ui.music.playing import androidx.lifecycle.ViewModel import com.elegant.utils.UiThreadHandler import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.common.module.manager.auditionmanager.AuditionManager -import com.mogo.och.common.module.manager.auditionmanager.MusicData +import com.mogo.och.common.module.manager.audition.AuditionManager +import com.mogo.och.common.module.manager.audition.MusicData class MusicPlayingViewModel : ViewModel(), AuditionManager.MusicDataChangeListener { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoViewModel.kt index 224351d5a6..541f777faf 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoViewModel.kt @@ -2,18 +2,16 @@ package com.mogo.och.charter.passenger.ui.orderinfo import androidx.lifecycle.ViewModel import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager 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.GsonUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.charter.passenger.callback.ITimeCallback import com.mogo.och.charter.passenger.model.CharterPassengerModel import com.mogo.och.common.module.wigets.toast.ToastCharterUtils -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.EndOrderMsg -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.EndOrderMsg +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.DateTimeUtil class OrderInfoViewModel: ViewModel(), ITimeCallback { @@ -74,10 +72,7 @@ class OrderInfoViewModel: ViewModel(), ITimeCallback { val msg = EndOrderMsg( CharterPassengerModel.getCurrentOrderInfo()?.orderNo?:"", ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToServer(msg) CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "发送数据:结束订单${msg}") } } diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineViewModel.kt index 55b669503c..329a55d96a 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineViewModel.kt @@ -21,16 +21,17 @@ import com.mogo.och.charter.passenger.model.IOrderStatusChangeListener import com.mogo.och.charter.passenger.model.OrderStatusEnum import com.mogo.och.charter.passenger.net.BusPassengerServiceManager import com.mogo.och.common.module.wigets.toast.ToastCharterUtils -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg -import com.mogo.och.common.module.bean.dpmsg.DPMsgType -import com.mogo.och.common.module.bean.dpmsg.LineSite -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo -import com.mogo.och.common.module.manager.stopsidemanager.StopSideStatus +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.LineSite +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.stopside.StopSideManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.stopside.StopSideStatus import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable import org.greenrobot.eventbus.EventBus @@ -242,10 +243,7 @@ class SelectLineViewModel : ViewModel(), IOrderStatusChangeListener { 0, sentDataSite ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToServer(msg) CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "发送数据:切换站点${msg}") } viewCallback?.hideDataWaitDriverMsg() diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlViewModel.kt index 695239f216..634a4cd9b8 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlViewModel.kt @@ -6,11 +6,11 @@ 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.och.common.module.wigets.toast.ToastCharterUtils -import com.mogo.och.common.module.manager.devicemanage.callback.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager -import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus -import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue -import com.mogo.och.common.module.manager.devicemanage.data.LightStatus +import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback +import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager +import com.mogo.och.common.module.manager.device.data.AirconditionStatus +import com.mogo.och.common.module.manager.device.data.HeaterStatue +import com.mogo.och.common.module.manager.device.data.LightStatus import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt index 20352dba05..cd763de62b 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt @@ -27,10 +27,10 @@ import com.mogo.och.charter.passenger.model.OrderStatusEnum import com.mogo.och.charter.passenger.ui.debugview.DebugEvent import com.mogo.och.common.module.manager.beautifymode.BeautifyManager import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo -import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager -import com.mogo.och.common.module.manager.stopsidemanager.StopSideStatus +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.stopside.StopSideManager +import com.mogo.och.common.module.manager.stopside.StopSideStatus import kotlinx.android.synthetic.main.charter_p_statusview_datetime.view.aciv_connect_driver_status import kotlinx.android.synthetic.main.charter_p_statusview_datetime.view.actv_auto_status import kotlinx.android.synthetic.main.charter_p_statusview_datetime.view.bizz_view diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/video/ConsultVideoPlayer.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/video/ConsultVideoPlayer.kt index 38e6d6da91..50c2144239 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/video/ConsultVideoPlayer.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/video/ConsultVideoPlayer.kt @@ -23,7 +23,7 @@ import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.utils.FullVideoUtils -import com.mogo.och.common.module.manager.audiofocusmanager.AudioFocusManager +import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import com.mogo.och.common.module.wigets.media.MediaItem import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack import com.shuyu.gsyvideoplayer.utils.GSYVideoType diff --git a/OCH/charter/passenger/src/main/res/layout/charter_p_main_fragment.xml b/OCH/charter/passenger/src/main/res/layout/charter_p_main_fragment.xml index 3bbc9238a9..595730e1ae 100644 --- a/OCH/charter/passenger/src/main/res/layout/charter_p_main_fragment.xml +++ b/OCH/charter/passenger/src/main/res/layout/charter_p_main_fragment.xml @@ -130,7 +130,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - + + \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/res/layout/charter_p_statusview_datetime.xml b/OCH/charter/passenger/src/main/res/layout/charter_p_statusview_datetime.xml index 70561adb14..ece186e532 100644 --- a/OCH/charter/passenger/src/main/res/layout/charter_p_statusview_datetime.xml +++ b/OCH/charter/passenger/src/main/res/layout/charter_p_statusview_datetime.xml @@ -54,7 +54,7 @@ + + + \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/OchCommonConst.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt similarity index 54% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/OchCommonConst.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt index e6fec1f2d5..f474a6ac36 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/OchCommonConst.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginConst.kt @@ -1,11 +1,11 @@ -package com.mogo.och.common.module.biz.constant +package com.mogo.och.biz.login import com.mogo.eagle.core.data.config.FunctionBuildConfig /** * Created on 2021/12/6 */ -class OchCommonConst { +class LoginConst { companion object { @JvmStatic fun getBaseUrl(): String { @@ -28,7 +28,24 @@ 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" + 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 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt new file mode 100644 index 0000000000..2177a0fdb9 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt @@ -0,0 +1,199 @@ +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.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.biz.login.callback.ILoginViewCallback +import com.mogo.och.biz.login.model.LoginStatusDefaultModel +import com.mogo.och.biz.login.ui.LoginFragment +import com.mogo.och.biz.login.ui.LoginPassengerFragment +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.login.BusinessEnum +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.RoleEnum +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType +import com.mogo.och.common.module.utils.FlavorUtils + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +@Route(path = OchCommonConst.BIZ_LOGIN) +class LoginProvider : LoginService { + + private val tag = LoginProvider::class.java.simpleName + private lateinit var loginFragment: Fragment + private var loginStatus: LoginStatusEnum = LoginStatusEnum.None + private var businessEnum: BusinessEnum = BusinessEnum.None + private var openOrderStatusEnum: OpenOrderStatusEnum = OpenOrderStatusEnum.None + private var loginInfo: LoginInfo? = null + + override fun init(context: Context) { + 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:${loginFragment}") + return loginFragment + } + + override fun getStatusBarView(context: Context): View { + return View(context) + } + + override fun setLoginStatus(status: Int) { + CallerLogger.d(tag, "setLoginStatus:${status}") + when (status) { + 0 -> { + setLoginStatus(LoginStatusEnum.Logout) + } + + 1 -> { + setLoginStatus(LoginStatusEnum.Login) + } + + else -> { + setLoginStatus(LoginStatusEnum.None) + } + } + } + + override fun queryLoginStatusByNet() { + CallerLogger.d(tag, "queryLoginStatusByNet") + LoginStatusDefaultModel.queryCarStatus() + } + + override fun loginOut(mLatitude: Double, mLongitude: Double) { + CallerLogger.d(tag, "loginOut mLatitude:${mLatitude}--mLongitude:${mLongitude}") + LoginStatusDefaultModel.logout(mLatitude, mLongitude) + } + + override fun checkBusiness(businessType: Int): Boolean { + val businessInfo = FlavorUtils.getBusinessInfo(businessType) + if(businessInfo.isEmpty()){ + return true + } + if (loginFragment is ILoginViewCallback) { + UiThreadHandler.post({ + (loginFragment as ILoginViewCallback).showErrorInfo(businessInfo) + },UiThreadHandler.MODE.QUEUE) + } + return false + } + + override fun checkAllEnv( + projectType: ProjectType, + envType: EnvType, + vehicleType: VehicleType, + businessType: BusinessType + ): Boolean { + + val checkAllEnv = FlavorUtils.checkAllEnv(projectType, envType, vehicleType, businessType) + if(checkAllEnv.isEmpty()){ + + }else{ + if (loginFragment is ILoginViewCallback) { + changeStatus(checkAllEnv) + UiThreadHandler.post({ + changeStatus(checkAllEnv) + (loginFragment as ILoginViewCallback).checkAllEnv(checkAllEnv) + },UiThreadHandler.MODE.QUEUE) + } + } + + return checkAllEnv.isEmpty() + } + + override fun changeStatus(currentStatus: String) { + (loginFragment as ILoginViewCallback).updateStatus(currentStatus) + } + + + 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(): RoleEnum { + CallerLogger.d(tag, "getPurpose") + return RoleEnum.valueOf(loginInfo?.purpose) + } + + override fun isLogin(): Boolean { + CallerLogger.d(tag, "isLogin:${loginStatus == LoginStatusEnum.Login}") + return loginStatus == LoginStatusEnum.Login + } + + override fun getLoginStatus(): LoginStatusEnum { + CallerLogger.d(tag, "getLoginStatus:${loginStatus}") + return loginStatus + } + + + override fun setLoginStatus(loginStatus: LoginStatusEnum) { + CallerLogger.d(tag, "setLoginStatus:${loginStatus}----old${this.loginStatus}") + if (loginStatus != this.loginStatus) { + this.loginStatus = loginStatus + LoginStatusManager.invokeLoginStatusChange(loginStatus) + } + } + + + override fun setBusinessType(type: Int) { + CallerLogger.d(tag, "setBusinessType:${type}") + if (businessEnum.code != type) { + this.businessEnum = BusinessEnum.valueOf(type) + LoginStatusManager.invokeLBusinessTypeChange(this.businessEnum) + } + } + + override fun getBusinessType(): BusinessEnum { + CallerLogger.d(tag, "getBusinessType") + return businessEnum + } + + override fun setOpenOrderStatusType(type: Int) { + CallerLogger.d(tag, "setOpenOrderStatusType:${type}") + if (openOrderStatusEnum.code != type) { + this.openOrderStatusEnum = OpenOrderStatusEnum.valueOf(type) + LoginStatusManager.invokeLOpenOrderStatusChange(this.openOrderStatusEnum) + } + } + + override fun getOpenOrderStatusType(): OpenOrderStatusEnum { + CallerLogger.d(tag, "getOpenOrderStatusType") + return openOrderStatusEnum + } + + override fun isOpenOrderType(): Boolean { + CallerLogger.d(tag, "isOpenOrderType:${openOrderStatusEnum == OpenOrderStatusEnum.Ordering}") + return openOrderStatusEnum == OpenOrderStatusEnum.Ordering + } + + +} diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java new file mode 100644 index 0000000000..48966c7b5b --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/DriverStatusQueryRespBean.java @@ -0,0 +1,20 @@ +package com.mogo.och.biz.login.bean; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.common.module.biz.login.LoginInfo; + +/** + * Created by pangfan on 2021/8/19 + * + * 状态查询返回数据结构 + */ +public class DriverStatusQueryRespBean extends BaseData { + public LoginInfo data; + + @Override + public String toString() { + return "DriverStatusQueryRespBean{" + + "data=" + data + + '}'; + } +} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginReqBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginReqBean.java similarity index 93% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginReqBean.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginReqBean.java index 0af1851615..3cb357abb2 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginReqBean.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginReqBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.bean; +package com.mogo.och.biz.login.bean; /** * Created by yangyakun on 2021/8/19 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginRespBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginRespBean.java similarity index 86% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginRespBean.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginRespBean.java index 9cda2a96c6..c48cb9dc7e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginRespBean.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginRespBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.bean; +package com.mogo.och.biz.login.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginSmsReqBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginSmsReqBean.java similarity index 81% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginSmsReqBean.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginSmsReqBean.java index 3c246bc153..ef2a6232d2 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLoginSmsReqBean.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLoginSmsReqBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.bean; +package com.mogo.och.biz.login.bean; /** * Created by yyk on 2021/8/19 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLogoutReqBean.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLogoutReqBean.java similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLogoutReqBean.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLogoutReqBean.java index c9f95f263b..e152ea2ce9 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/TaxiLogoutReqBean.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/bean/TaxiLogoutReqBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.bean; +package com.mogo.och.biz.login.bean; /** * Created by yyk on 2021/8/19 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginCallback.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginCallback.java similarity index 52% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginCallback.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginCallback.java index 481a2cd75b..7da0cd0161 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginCallback.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginCallback.java @@ -1,6 +1,6 @@ -package com.mogo.och.common.module.biz.callback; +package com.mogo.och.biz.login.callback; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; +import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean; public interface ILoginCallback { void loginSuccess(DriverStatusQueryRespBean data); diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt new file mode 100644 index 0000000000..c624511a53 --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ILoginViewCallback.kt @@ -0,0 +1,17 @@ +package com.mogo.och.biz.login.callback + +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType + +interface ILoginViewCallback { + fun showErrorInfo(errorInfo: String) + + fun checkAllEnv( + reason:String + ){} + + fun updateStatus(status:String){} + +} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ITaxiLoginCallback.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java similarity index 78% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ITaxiLoginCallback.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java index 5cbca0d853..ee4a439542 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ITaxiLoginCallback.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.callback; +package com.mogo.och.biz.login.callback; /** * Created on 2021/9/8 @@ -7,5 +7,4 @@ package com.mogo.och.common.module.biz.callback; */ public interface ITaxiLoginCallback { void getPhoneCodeSuccess(); - void loginSuccess(); } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt similarity index 85% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index ebf531dbfb..c02c91fa69 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.model +package com.mogo.och.biz.login.model import android.annotation.SuppressLint import android.content.Context @@ -6,14 +6,12 @@ import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.NetworkUtils -import com.mogo.och.common.module.R -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.callback.ITaxiLoginCallback -import com.mogo.och.common.module.biz.constant.LoginStatusManager -import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.biz.network.OchCommonServiceManager +import com.mogo.och.biz.R +import com.mogo.och.biz.login.bean.TaxiLoginReqBean +import com.mogo.och.biz.login.bean.TaxiLoginRespBean +import com.mogo.och.biz.login.callback.ITaxiLoginCallback +import com.mogo.och.biz.login.net.OchCommonServiceManager +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.ToastUtilsOch import com.mogo.och.common.module.wigets.toast.ToastCharterUtils @@ -24,7 +22,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 +43,7 @@ object OchCommonLoginModel { } fun setiTaxiLoginCallback(iTaxiLoginCallback: ITaxiLoginCallback?) { - this.iTaxiLoginCallback = iTaxiLoginCallback + LoginModel.iTaxiLoginCallback = iTaxiLoginCallback } fun release() { @@ -98,11 +96,10 @@ object OchCommonLoginModel { if (null != data && 0 == data.code) { // 获取验证码成功 ToastCharterUtils.showToastShort(mContext?.getString(R.string.module_och_taxi_login_login_success)) - LoginStatusManager.setLoginStatus(TaxiLoginStatusEnum.Login) + LoginStatusDefaultModel.queryCarStatus() mContext?.let { c -> SharedPrefsMgr.getInstance().putString("och_account", phone) } - iTaxiLoginCallback?.loginSuccess() } else { if (data != null) { ToastCharterUtils.showToastShort(data.code.toString()) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusDefaultModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt similarity index 59% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusDefaultModel.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt index afaf7bbf28..ecd10f5d5f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusDefaultModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusDefaultModel.kt @@ -1,39 +1,36 @@ -package com.mogo.och.common.module.biz.model +package com.mogo.och.biz.login.model import android.annotation.SuppressLint +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.storage.SharedPrefsMgr 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 import com.mogo.eagle.core.utilcode.util.GsonUtils -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.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.callback.ILoginCallback -import com.mogo.och.common.module.biz.callback.ILoginViewCallback -import com.mogo.och.common.module.biz.constant.LoginStatusManager +import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.manager.socket.lan.bean.BusCacheKey +import com.mogo.och.common.module.manager.socket.lan.bean.LoginCacheStatus 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" - var loginCallback: ILoginCallback? = null - var loginViewCallback: ILoginViewCallback? = null + init { + mContext = AbsMogoApplication.getApp(); + } override fun loginSuccess(data: DriverStatusQueryRespBean?) { CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginSuccess:${LoginStatusManager.isLogin()}") if (LoginStatusManager.isLogin()) { SharedPrefsMgr.getInstance().putString("och_account", data?.data?.phone) - loginViewCallback?.hideLoginDialogFragment() } else { SharedPrefsMgr.getInstance().putString("och_account", "") - loginViewCallback?.showLoginDialogFragment() } - loginCallback?.loginSuccess(data) data?.data?.driverStatus?.let { updateLoginLocalStatus(it) } @@ -45,15 +42,9 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() { GsonUtils.toJson(loginCacheStatus)) } + override fun loginFail(isLogin: Boolean) { CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginFail:$isLogin") - if (isLogin) { - loginViewCallback?.hideLoginDialogFragment() - } else { - loginViewCallback?.showLoginDialogFragment() - } - loginCallback?.loginFail(isLogin) - updateLoginLocalStatus(0) } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusModel.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java similarity index 69% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusModel.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java index 9d23783a11..e7809ba4f6 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginStatusModel.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java @@ -1,21 +1,21 @@ -package com.mogo.och.common.module.biz.model; +package com.mogo.och.biz.login.model; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; import android.content.Context; -import com.mogo.commons.AbsMogoApplication; import com.mogo.eagle.core.data.BaseData; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.NetworkUtils; -import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.och.common.module.R; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -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.OchCommonServiceManager; +import com.mogo.och.biz.R; +import com.mogo.och.biz.login.bean.DriverStatusQueryRespBean; +import com.mogo.och.biz.login.bean.TaxiLogoutReqBean; +import com.mogo.och.biz.login.net.OchCommonServiceManager; +import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.constant.OchCommonConst; +import com.mogo.och.common.module.network.OchCommonServiceCallback; import com.mogo.och.common.module.utils.ToastUtilsOch; import com.mogo.och.common.module.wigets.toast.ToastCharterUtils; @@ -24,7 +24,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"; @@ -33,11 +33,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); @@ -59,8 +54,22 @@ public abstract class OchCommonLoginStatusModel { @Override public void onSuccess(DriverStatusQueryRespBean data) { if (null != data && 0 == data.code) { + // 不用登录也可以获得支持的业务模式 + LoginStatusManager.setBusinessType(data.data.businessType); + // 后台已登录 + if (LoginStatusEnum.valueOf(data.data.driverStatus)==LoginStatusEnum.Login) { + // 业务不支持 去退出登录 + if (!LoginStatusManager.checkBusiness(data.data.businessType)) { + double mLatitude = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLatitude(); + double mLongitude =CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLongitude(); + LoginStatusManager.loginOut(mLatitude,mLongitude); + return; + } + } + LoginStatusManager.setOpenOrderType(data.data.servingStatus); LoginStatusManager.setLoginStatus(data.data.driverStatus); - CallerLogger.d(M_TAXI + TAG, "changeCarStatus:" + LoginStatusManager.getLoginStatus()); + LoginStatusManager.setLoginInfo(data.data); + CallerLogger.d(M_TAXI + TAG, "登录信息:" + data); loginSuccess(data); } } diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt similarity index 53% rename from OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt index 55e1c742a0..3e5fa4084c 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchCommonServiceManager.kt @@ -1,38 +1,54 @@ -package com.mogo.och.bus.net.login +package com.mogo.och.biz.login.net import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.commons.debug.DebugConfig -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr -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.biz.login.bean.DriverStatusQueryRespBean +import com.mogo.och.biz.login.bean.TaxiLoginReqBean +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +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 com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry +import com.mogo.och.common.module.utils.ProjectUtils -/** - * Created by pangfan on 2021/8/19 - */ object OchCommonServiceManager { private const val TAG = "OchCommonServiceManager" - private val mLoginServiceApi: OchLoginServiceApi = + private val ochLoginServiceSaasEh: OchLoginServiceSaasEhApi by lazy { MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - OchLoginServiceApi::class.java + OchLoginServiceSaasEhApi::class.java ) + } - private val mLoginSaasServiceApi: OchSAASLoginServiceApi = + private val ochLoginServiceMogo: OchLoginServiceMogoApi by lazy { MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - OchSAASLoginServiceApi::class.java + OchLoginServiceMogoApi::class.java ) + } + + private var draiverSnCacher = "" + /** + * 获取Bus司机端的sn + * @return + */ + val draiverSn: String + get(){ + val serverToken = CallerTelematicManager.getServerToken() + if (serverToken != draiverSnCacher && serverToken.isNotEmpty()) { + draiverSnCacher = serverToken + } + return draiverSnCacher + } /** * 获取手机验证码 @@ -44,21 +60,22 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - if (DebugConfig.getProjectFlavor().contains("saas")){ - mLoginSaasServiceApi.getPhoneCode( + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.getPhoneCode( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, TaxiLoginSmsReqBean(phone) ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + .subscribe(OchCommonSubscribeImpl(context, callback, "sendSms")) }else{ - mLoginServiceApi.getPhoneCode( + ochLoginServiceSaasEh.getPhoneCode( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, TaxiLoginSmsReqBean(phone) ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + .subscribe(OchCommonSubscribeImpl(context, callback, "sendSms")) } + } /** @@ -69,23 +86,23 @@ object OchCommonServiceManager { @JvmStatic fun gotoLoginBycode( context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, + location4Login: TaxiLoginReqBean.Location4Login, callback: OchCommonServiceCallback? ) { + CallerLogger.d(TAG, "gotoLoginBycode:通过手机验证码登录:${phone}---${code}"); val sn = SharedPrefsMgr.getInstance().sn - - if (DebugConfig.getProjectFlavor().contains("saas")){ - mLoginSaasServiceApi.gotoLoginBycode4Bus( + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.gotoLoginBycode( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "login")) }else{ - mLoginServiceApi.gotoLoginBycode4Bus( + ochLoginServiceSaasEh.gotoLoginBycode( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "login")) } } @@ -98,17 +115,24 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - if (DebugConfig.getProjectFlavor().contains("saas")){ - mLoginSaasServiceApi.logout4Bus( + CallerLogger.d(TAG, "logout:登出"); + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.logout( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean(SharedPrefsMgr.getInstance().sn, location4Login) + TaxiLogoutReqBean( + SharedPrefsMgr.getInstance().sn, + location4Login + ) ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) - }else{ - mLoginServiceApi.logout4Bus( + }else { + ochLoginServiceSaasEh.logout( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean(SharedPrefsMgr.getInstance().sn, location4Login) + TaxiLogoutReqBean( + SharedPrefsMgr.getInstance().sn, + location4Login + ) ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) } } @@ -124,27 +148,28 @@ object OchCommonServiceManager { context: Context, callback: OchCommonServiceCallback? ) { - if (SharedPrefsMgr.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return + CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态"); + val sn = + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + SharedPrefsMgr.getInstance().sn + } else{ + draiverSn } - if (DebugConfig.getProjectFlavor().contains("saas")){ - mLoginSaasServiceApi.queryDriverServiceStatusAndLoginStatus( + if (ProjectUtils.isMogo()) { + ochLoginServiceMogo.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn + sn ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + .subscribe(OchCommonSubscribeImpl(context, callback, "loginStatus")) }else{ - mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( + ochLoginServiceSaasEh.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn + sn ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + .subscribe(OchCommonSubscribeImpl(context, callback, "loginStatus")) } - } } \ No newline at end of file diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java similarity index 65% rename from OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java index fed3c8e1bc..e40150878f 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceMogoApi.java @@ -1,11 +1,11 @@ -package com.mogo.och.bus.net.login; +package com.mogo.och.biz.login.net; import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; +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; @@ -13,7 +13,6 @@ import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; -import retrofit2.http.Path; import retrofit2.http.Query; /** @@ -21,7 +20,7 @@ import retrofit2.http.Query; *

* 网约车-出租车接口定义 */ -interface OchLoginServiceApi { +interface OchLoginServiceMogoApi { /** * 获取手机验证码 * @@ -41,16 +40,16 @@ interface OchLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation") - Observable gotoLoginBycode4Bus(@Header("appId") String appId + @POST("/autopilot-car-hailing/cab/flow/v1/driver/login") + Observable gotoLoginBycode(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); /** * 登出接口 */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @POST("/autopilot-car-hailing/cab/flow/v1/driver/logout") + Observable logout(@Header("appId") String appId, @Header("ticket") String ticket, @Body TaxiLogoutReqBean data); /** @@ -60,7 +59,7 @@ interface OchLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + @GET("/autopilot-car-hailing/cab/flow/v1/driver/loginStatus") Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java similarity index 64% rename from OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java index 847d766400..bb94d176a0 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/net/OchLoginServiceSaasEhApi.java @@ -1,11 +1,11 @@ -package com.mogo.och.bus.net.login; +package com.mogo.och.biz.login.net; import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; +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; @@ -20,14 +20,14 @@ import retrofit2.http.Query; *

* 网约车-出租车接口定义 */ -interface OchSAASLoginServiceApi { +interface OchLoginServiceSaasEhApi { /** * 获取手机验证码 * * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-bus-cabin/api/sms/v1/driver/sendSms") + @POST("/och-vehicle/cabin/sendSms") Observable getPhoneCode(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); @@ -40,16 +40,16 @@ interface OchSAASLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/startOperation") - Observable gotoLoginBycode4Bus(@Header("appId") String appId + @POST("/och-vehicle/cabin/login") + Observable gotoLoginBycode(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); /** * 登出接口 */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @POST("/och-vehicle/cabin/logout") + Observable logout(@Header("appId") String appId, @Header("ticket") String ticket, @Body TaxiLogoutReqBean data); /** @@ -59,7 +59,7 @@ interface OchSAASLoginServiceApi { * @return */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/och-bus-cabin/api/business/v1/loginStatus") + @GET("/och-vehicle/cabin/loginStatus") Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt new file mode 100644 index 0000000000..455fd6180e --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt @@ -0,0 +1,52 @@ +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 +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo + +/** + * @author congtaowang + * @since 2021/1/18 + * + * 描述 + */ +class LoginPassengerPresenter(view: LoginPassengerFragment?) : Presenter(view), ITaxiLoginCallback { + + private val TAG = LoginPassengerPresenter::class.java.simpleName + + init { + initListeners() + CallerLogger.d(TAG, "乘客屏-登录-Init") + } + + private fun initListeners() { + LoginModel.init(AbsMogoApplication.getApp()) + LoginModel.setiTaxiLoginCallback(this) + BizLoopManager.setLoopFunction(TAG, LoopInfo(2,::showStatus)) + } + + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + CallerLogger.d(TAG, "乘客屏-登录-登陆") + } + + private fun showStatus(){ + mView?.showStatus() + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + BizLoopManager.removeLoopFunction(TAG) + } + + override fun getPhoneCodeSuccess() { + + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt similarity index 72% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginPresenter.kt rename to OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt index 784d7f3e43..d9b2d52a92 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt @@ -1,15 +1,19 @@ -package com.mogo.och.common.module.biz.presenter +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.data.config.FunctionBuildConfig 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.RegexUtils -import com.mogo.och.common.module.R -import com.mogo.och.common.module.biz.callback.ITaxiLoginCallback -import com.mogo.och.common.module.biz.model.OchCommonLoginModel -import com.mogo.och.common.module.biz.ui.TaxiLoginDialogFragment +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.LoginModel +import com.mogo.och.biz.login.model.LoginStatusDefaultModel +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers @@ -23,22 +27,24 @@ import java.util.concurrent.TimeUnit * * 描述 */ -class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) : - Presenter(view), ITaxiLoginCallback { +class LoginPresenter(view: LoginFragment?) : Presenter(view), ITaxiLoginCallback { private var countDownDisposable: Disposable? = null + private val TAG = LoginPresenter::class.java.simpleName + init { initListeners() + CallerLogger.d(SceneConstant.M_TAXI + TAG, "网约车-Init") } 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)) { @@ -46,7 +52,7 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) : mView?.inputPhoneError() return } - OchCommonLoginModel.getPhoneCode(phone) + LoginModel.getPhoneCode(phone) } override fun onCreate(owner: LifecycleOwner) { @@ -58,7 +64,7 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) : override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) - OchCommonLoginModel.release() + LoginModel.release() countDownDisposable?.let { if (!it.isDisposed) { it.dispose() @@ -66,10 +72,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) @@ -89,12 +91,8 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) : }) } - override fun loginSuccess() { - mView?.loginSuccess() - } - fun gotoLogin(phone: String, code: String) { - if(!OchCommonLoginModel.hasInit()){ + if(!LoginModel.hasInit()){ initListeners() } if (!RegexUtils.isMobileExact(phone)) { @@ -106,7 +104,11 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) : ToastCharterUtils.showToastShort(R.string.module_och_taxi_login_code_error) return } + if(!LoginStatusManager.checkBusiness(LoginStatusManager.getBusInessType().code)){ + LoginStatusDefaultModel.queryCarStatus() + return + } mView?.closeSoftInput() - OchCommonLoginModel.gotoLogin(phone,code) + LoginModel.gotoLogin(phone,code) } } \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt new file mode 100644 index 0000000000..5f0544505e --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -0,0 +1,208 @@ +package com.mogo.och.biz.login.ui + +import android.graphics.Rect +import android.os.SystemClock +import android.view.* +import android.view.ViewTreeObserver.OnGlobalLayoutListener +import androidx.core.content.ContextCompat +import androidx.core.widget.addTextChangedListener +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.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.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.biz.R +import com.mogo.och.biz.login.callback.ILoginViewCallback +import com.mogo.och.biz.login.presenter.LoginPresenter +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType +import com.mogo.och.common.module.utils.RxUtils +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 +import kotlinx.android.synthetic.main.biz_login_view.bv_switch_business +import kotlinx.android.synthetic.main.biz_login_view.eiv_Info + + +/** + * @author: yangyakun + * @date: 2022/8/15 + */ +class LoginFragment : MvpFragment(), ILoginViewCallback { + + override fun getLayoutId(): Int { + return R.layout.biz_login_view + } + + override fun initViews() { + CallerLogger.d(TAG,"init") + inputPhoneNormal() + initBg() + initListener() + } + + private fun initBg() { + + } + + private fun initListener() { + CallerLogger.d(TAG,"initListener") + mRootView.isFocusable = true + mRootView.isFocusableInTouchMode = true + mRootView.setOnTouchListener { _, event -> + when (event?.action) { + MotionEvent.ACTION_DOWN -> { + closeSoftInput() + } + } + false + } + 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) + } + biz_actv_welcome_login_title.setOnClickListener { + continuousClick() + } + biz_cl_driver_main.viewTreeObserver.addOnGlobalLayoutListener(object :OnGlobalLayoutListener{ + override fun onGlobalLayout() { + try { + if (biz_cl_driver_main==null) { + + }else{ + val rect = Rect() + biz_cl_driver_main.getWindowVisibleDisplayFrame(rect) + val mainInvisibleHeight = biz_cl_driver_main.rootView.height - rect.bottom + if (mainInvisibleHeight > 100) { + val outLocation = IntArray(2) + biz_acbtn_login.getLocationInWindow(outLocation) + val srollHeight = (outLocation[1] + biz_acbtn_login.height) - rect.bottom + if (srollHeight > 0) { + biz_cl_driver_main.scrollTo(0, srollHeight) + } + CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "滚动的距离:$srollHeight") + } else { + biz_cl_driver_main.scrollTo(0, 0) + } + } + }catch (e:Exception){ + e.printStackTrace() + } + } + }) + biz_actv_login_get_code.onClick { + mPresenter?.getPhoneCode(biz_ace_login_phone_value.text.toString()) + } + + biz_ace_login_phone_value.addTextChangedListener { + it?.let { itEditable -> + if (itEditable.isNotEmpty()) { + inputPhoneNormal() + } + } + } + biz_actv_login_show_sn.text = SharedPrefsMgr.getInstance().sn + biz_actv_login_show_sn.setOnLongClickListener { + bv_switch_business.selectBusniess() + true + } + RxUtils.createSubscribe(10_000) { + CallerLogger.d(TAG,"宽度${biz_cl_driver_main.width}----${biz_cl_driver_main.height}----${biz_cl_driver_main.visibility}") + } + } + + /** + * 关闭键盘 + */ + fun closeSoftInput() { + mRootView.requestFocus() + KeyboardUtils.hideSoftInput(ActivityUtils.getTopActivity()) + } + + fun setCountDownText(text: String, enable: Boolean) { + if (enable) { + biz_actv_login_get_code.setText(R.string.module_och_taxi_login_get_code) + biz_actv_login_get_code.isEnabled = true + } else { + biz_actv_login_get_code.text = text + biz_actv_login_get_code.isEnabled = false + } + } + + fun inputPhoneError() { + biz_ace_login_phone_value.text?.clear() + biz_ace_login_phone_value.setHint(R.string.module_och_taxi_login_phone_error) + context?.let { + 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 { + 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(): LoginPresenter { + return LoginPresenter(this) + } + + override fun getTagName(): String { + return TAG + } + + companion object { + private const val COUNTS = 4 // 点击次数 + private const val DURATION: Long = 1000 // 规定有效时间 + val TAG = LoginFragment::class.java.simpleName + } + + private var mHits = LongArray(COUNTS) + + private fun continuousClick() { + //每次点击时,数组向前移动一位 + System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1) + //为数组最后一位赋值 + mHits[mHits.size - 1] = SystemClock.uptimeMillis() + if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) { + mHits = LongArray(COUNTS) //重新初始化数组 + mPresenter?.gotoLogin("13288888888", "8888") + } + } + + override fun showErrorInfo(errorInfo: String) { + ToastUtils.showLong(errorInfo) + eiv_Info.visibility = View.VISIBLE + eiv_Info.showErrinfo(errorInfo) + } + + override fun checkAllEnv( + reason:String + ) { + // 司机屏不用处理 只处理 后台返回的业务模型就行 + } + + override fun onResume() { + super.onResume() + CallerLogger.d(TAG,"onResume") + } + + override fun onPause() { + super.onPause() + CallerLogger.d(TAG,"onPause") + } +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt new file mode 100644 index 0000000000..dbe4b7795a --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginPassengerFragment.kt @@ -0,0 +1,122 @@ +package com.mogo.och.biz.login.ui + +import android.view.View +import androidx.appcompat.widget.AppCompatTextView +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.biz.R +import com.mogo.och.biz.login.callback.ILoginViewCallback +import com.mogo.och.biz.login.presenter.LoginPassengerPresenter +import com.mogo.och.biz.login.ui.debugview.BusinessView +import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket +import com.mogo.och.common.module.utils.FlavorUtils +import kotlinx.android.synthetic.main.biz_login_view.eiv_Info + + +/** + * @author: yangyakun + * @date: 2022/8/15 + */ +class LoginPassengerFragment : MvpFragment(), + ILoginViewCallback { + + private var biz_cl_passenger_main: ConstraintLayout?=null + private var biz_actv_login_show_sn: AppCompatTextView?=null + private var bv_switch_business: BusinessView?=null + private var actv_app_version: AppCompatTextView?=null + private var actv_connect_status: AppCompatTextView?=null + + private val statusList = mutableListOf() + + override fun getLayoutId(): Int { + + if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + return R.layout.biz_login_passenger_view_1920x1080 + } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + return R.layout.biz_login_passenger_view_1080x1920 + } else { + return R.layout.biz_login_passenger_view_2560x1600 + } + + } + + override fun initViews() { + + biz_cl_passenger_main = findViewById(R.id.biz_cl_passenger_main) + biz_actv_login_show_sn= findViewById(R.id.biz_actv_login_show_sn) + bv_switch_business= findViewById(R.id.bv_switch_business) + actv_app_version= findViewById(R.id.actv_app_version) + actv_connect_status= findViewById(R.id.actv_connect_status) + + actv_app_version?.text = FlavorUtils.getInfo() + + actv_app_version?.setOnLongClickListener { + bv_switch_business?.selectBusniess() + true + } + + 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 showErrorInfo(errorInfo: String) { + + } + + override fun checkAllEnv( + reason:String + ) { + eiv_Info.visibility = View.VISIBLE + eiv_Info.showErrinfo(reason) + } + + override fun updateStatus(status: String) { + statusList.add(status) + } + + override fun onResume() { + super.onResume() + CallerLogger.d(TAG, "onResume") + if (CallerTelematicManager.getClientConnStatus()) { + updateStatus("连接成功 司机SN:${LoginLanPassengerSocket.driverSn}") + }else{ + updateStatus("连接司机屏中") + } + } + + override fun onPause() { + super.onPause() + CallerLogger.d(TAG, "onPause") + } + + fun showStatus() { + if (statusList.isNotEmpty()) { + val removeFirst = statusList.removeFirst() + UiThreadHandler.post({ + actv_connect_status?.text = "当前状态:${removeFirst}" + }, UiThreadHandler.MODE.QUEUE) + } + + } +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessView.kt new file mode 100644 index 0000000000..8041973b4c --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessView.kt @@ -0,0 +1,129 @@ +package com.mogo.och.biz.login.ui.debugview + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.findViewTreeViewModelStoreOwner +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.och.biz.R +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager +import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_bus +import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_charter +import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_shuttle +import kotlinx.android.synthetic.main.biz_login_business_view.view.actv_business_taxi + + +class BusinessView : ConstraintLayout, BusinessViewModel.IErrorInfoViewCallback { + + private val TAG = "ItineraryView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private var viewModel: BusinessViewModel? = null + private fun initView() { + LayoutInflater.from(context).inflate(R.layout.biz_login_business_view, this, true) + } + + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + viewModel = findViewTreeViewModelStoreOwner()?.let { + ViewModelProvider(it).get(BusinessViewModel::class.java) + } + + viewModel?.setDistanceCallback(this) + + actv_business_shuttle.onClick { swtichBusiness(BusinessEnum.Shuttle) } + actv_business_bus.onClick { swtichBusiness(BusinessEnum.Bus) } + actv_business_taxi.onClick { swtichBusiness(BusinessEnum.Taxi) } + actv_business_charter.onClick { swtichBusiness(BusinessEnum.Charter) } + } + + private fun swtichBusiness(businessEnum: BusinessEnum){ + LoginStatusManager.invokeLBusinessTypeChangeDebug(businessEnum) + visibility = GONE + } + + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + if(isVisible){ + + }else{ + + } + } + + fun selectBusniess(){ + if(FunctionBuildConfig.supportBusiness.size==1){ + FunctionBuildConfig.supportBusiness.forEach { + when (it) { + "shuttle" -> { + swtichBusiness(BusinessEnum.Shuttle) + } + + "bus" -> { + swtichBusiness(BusinessEnum.Bus) + } + + "taxi" -> { + swtichBusiness(BusinessEnum.Taxi) + } + + "charter" -> { + swtichBusiness(BusinessEnum.Charter) + } + + else -> {} + } + } + }else { + visibility = VISIBLE + actv_business_shuttle.visibility = GONE + actv_business_bus.visibility = GONE + actv_business_taxi.visibility = GONE + actv_business_charter.visibility = GONE + FunctionBuildConfig.supportBusiness.forEach { + when (it) { + "shuttle" -> { + actv_business_shuttle.visibility = VISIBLE + } + + "bus" -> { + actv_business_bus.visibility = VISIBLE + } + + "taxi" -> { + actv_business_taxi.visibility = VISIBLE + } + + "charter" -> { + actv_business_charter.visibility = VISIBLE + } + + else -> {} + } + } + } + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessViewModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessViewModel.kt new file mode 100644 index 0000000000..abaae395da --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/debugview/BusinessViewModel.kt @@ -0,0 +1,42 @@ +package com.mogo.och.biz.login.ui.debugview + +import androidx.lifecycle.ViewModel +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.och.biz.R +import com.mogo.och.common.module.utils.RxUtils +import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.disposables.Disposable +import io.reactivex.schedulers.Schedulers +import java.util.concurrent.TimeUnit + +class BusinessViewModel : ViewModel() { + + private val TAG = BusinessViewModel::class.java.simpleName + + private var viewCallback: IErrorInfoViewCallback? = null + + + + init { + + } + + fun setDistanceCallback(viewCallback: IErrorInfoViewCallback) { + this.viewCallback = viewCallback + } + + override fun onCleared() { + super.onCleared() + this.viewCallback = null + + } + + interface IErrorInfoViewCallback { + + } + + +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoView.kt new file mode 100644 index 0000000000..69cb14b5fb --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoView.kt @@ -0,0 +1,118 @@ +package com.mogo.och.biz.login.ui.errorview + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.appcompat.widget.AppCompatTextView +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.findViewTreeViewModelStoreOwner +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.och.biz.R +import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket +import com.mogo.och.common.module.utils.FlavorUtils + + +class ErrorInfoView : ConstraintLayout, ErrorInfoViewModel.IErrorInfoViewCallback { + + private val TAG = "ItineraryView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super( + context, + attributeSet, + defStyleAttr + ) + + constructor( + context: Context, + attributeSet: AttributeSet, + defStyleAttr: Int, + defStyleRes: Int + ) : super(context, attributeSet, defStyleAttr, defStyleRes) + + private var actv_see: AppCompatTextView? = null + private var actv_countdown: AppCompatTextView? = null + private var actv_error_body: AppCompatTextView? = null + private var actv_error_head: AppCompatTextView? = null + + private var viewModel: ErrorInfoViewModel? = null + private fun initView() { + + if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + LayoutInflater.from(context) + .inflate(R.layout.biz_login_errorinfo_view_1920x1080, this, true) + } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isPassenger((FunctionBuildConfig.appIdentityMode)) + ) { + LayoutInflater.from(context) + .inflate(R.layout.biz_login_errorinfo_view_1080x1920, this, true) + } else { + LayoutInflater.from(context) + .inflate(R.layout.biz_login_errorinfo_view_2560x1600, this, true) + } + actv_see = findViewById(R.id.actv_see) + actv_countdown = findViewById(R.id.actv_countdown) + actv_error_body = findViewById(R.id.actv_error_body) + actv_error_head = findViewById(R.id.actv_error_head) + + actv_see?.onClick { + viewModel?.cancleCountDown() + actv_countdown?.text = "10s" + visibility = GONE + } + + actv_error_body?.text = FlavorUtils.getInfo() + + } + + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + viewModel = findViewTreeViewModelStoreOwner()?.let { + ViewModelProvider(it).get(ErrorInfoViewModel::class.java) + } + + viewModel?.setDistanceCallback(this) + } + + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + if (isVisible) { + viewModel?.showCountDown() + } else { + + } + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun setCountDownText(countDown: String, isEnd: Boolean) { + if (isEnd) { + visibility = GONE + } else { + actv_countdown?.text = countDown + } + } + + fun showErrinfo(errorInfo: String) { + actv_error_head?.text = errorInfo + actv_error_body?.text = "${FlavorUtils.getInfo()} 司机SN:${LoginLanPassengerSocket.driverSn}" + } + +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt new file mode 100644 index 0000000000..421cef228e --- /dev/null +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt @@ -0,0 +1,76 @@ +package com.mogo.och.biz.login.ui.errorview + +import androidx.lifecycle.ViewModel +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.och.biz.R +import com.mogo.och.biz.login.ui.debugview.BusinessViewModel +import com.mogo.och.common.module.utils.RxUtils +import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.disposables.Disposable +import io.reactivex.schedulers.Schedulers +import java.util.concurrent.TimeUnit + +class ErrorInfoViewModel : ViewModel() { + + private val TAG = BusinessViewModel::class.java.simpleName + + private var viewCallback: IErrorInfoViewCallback? = null + + private var countDownDisposable: Disposable? = null + + + init { + + } + + fun setDistanceCallback(viewCallback: IErrorInfoViewCallback) { + this.viewCallback = viewCallback + } + + fun showCountDown(){ + val countDownSeconds = 10L + if(RxUtils.isNotDisposed(countDownDisposable)){ + return + } + RxUtils.disposeSubscribe(countDownDisposable) + countDownDisposable = Observable.intervalRange(0, countDownSeconds, 0, 1, TimeUnit.SECONDS) + .map { aLong -> countDownSeconds - aLong } + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe({ + viewCallback?.setCountDownText("${it}s",false) + CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时:$it") + }, { + CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onError:${it}") + it.printStackTrace() + RxUtils.createSubscribe(1_000) { + viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + } + }, { + CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onComplete") + RxUtils.createSubscribe(1_000) { + viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + } + }) + } + + override fun onCleared() { + super.onCleared() + this.viewCallback = null + + } + + fun cancleCountDown() { + RxUtils.disposeSubscribe(countDownDisposable) + } + + interface IErrorInfoViewCallback { + fun setCountDownText(s: String, b: Boolean) + + } + + +} \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_bg.webp b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_bg.webp new file mode 100644 index 0000000000..4265e496e2 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_bg.webp differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png new file mode 100644 index 0000000000..fc4ad73d11 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1080x1920.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png new file mode 100644 index 0000000000..75df2ac20e Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_1920x1080.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png new file mode 100644 index 0000000000..c535403510 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_passenger_2560x1600.png differ diff --git a/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_pop_bg.png b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_pop_bg.png new file mode 100755 index 0000000000..a540ce3cc8 Binary files /dev/null and b/OCH/common/biz/src/main/res/drawable-nodpi/biz_login_pop_bg.png differ diff --git a/OCH/common/biz/src/main/res/drawable/biz_login_error_info.xml b/OCH/common/biz/src/main/res/drawable/biz_login_error_info.xml new file mode 100644 index 0000000000..252c42a791 --- /dev/null +++ b/OCH/common/biz/src/main/res/drawable/biz_login_error_info.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/drawable/biz_login_error_info_1080x1920.xml b/OCH/common/biz/src/main/res/drawable/biz_login_error_info_1080x1920.xml new file mode 100644 index 0000000000..47c8dfedb1 --- /dev/null +++ b/OCH/common/biz/src/main/res/drawable/biz_login_error_info_1080x1920.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/drawable/biz_login_error_see.xml b/OCH/common/biz/src/main/res/drawable/biz_login_error_see.xml new file mode 100644 index 0000000000..6725501574 --- /dev/null +++ b/OCH/common/biz/src/main/res/drawable/biz_login_error_see.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_business_view.xml b/OCH/common/biz/src/main/res/layout/biz_login_business_view.xml new file mode 100644 index 0000000000..b9b315631e --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_business_view.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1080x1920.xml b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1080x1920.xml new file mode 100644 index 0000000000..32eb65566f --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1080x1920.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1920x1080.xml b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1920x1080.xml new file mode 100644 index 0000000000..e1363ccf09 --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_1920x1080.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_2560x1600.xml b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_2560x1600.xml new file mode 100644 index 0000000000..c0a9935842 --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_errorinfo_view_2560x1600.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml new file mode 100644 index 0000000000..9d1b213918 --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1080x1920.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml new file mode 100644 index 0000000000..8659d2b5bf --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_1920x1080.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml new file mode 100644 index 0000000000..5d58ae60f1 --- /dev/null +++ b/OCH/common/biz/src/main/res/layout/biz_login_passenger_view_2560x1600.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/common/common/src/main/res/layout/taxi_login_view.xml b/OCH/common/biz/src/main/res/layout/biz_login_view.xml similarity index 69% rename from OCH/common/common/src/main/res/layout/taxi_login_view.xml rename to OCH/common/biz/src/main/res/layout/biz_login_view.xml index 89577408f8..61c71b52bb 100644 --- a/OCH/common/common/src/main/res/layout/taxi_login_view.xml +++ b/OCH/common/biz/src/main/res/layout/biz_login_view.xml @@ -1,20 +1,30 @@ + + + app:layout_constraintStart_toStartOf="@+id/biz_actv_welcome_login_title" + app:layout_constraintTop_toBottomOf="@+id/biz_actv_welcome_login_title" /> + app:layout_constraintStart_toStartOf="@+id/biz_ace_login_phone_value" + app:layout_constraintTop_toBottomOf="@+id/biz_ace_login_phone_value" /> + + + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/values/colors.xml b/OCH/common/biz/src/main/res/values/colors.xml new file mode 100644 index 0000000000..0b4e8be82d --- /dev/null +++ b/OCH/common/biz/src/main/res/values/colors.xml @@ -0,0 +1,8 @@ + + + + #5F6582 + #72A7FF + #A0B3DA + + \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/values/strings.xml b/OCH/common/biz/src/main/res/values/strings.xml new file mode 100644 index 0000000000..56bbdcd277 --- /dev/null +++ b/OCH/common/biz/src/main/res/values/strings.xml @@ -0,0 +1,22 @@ + + + + 欢迎您登录 + 登录 + 获取验证码 + 请输入验证码 + 获取验证码成功 + 登录成功 + 请输入正确的手机号 + 请输入正确的验证码 + 请输入手机号 + 请输入手机号 + + 网络异常,请稍后重试 + 请求出现异常,请稍后重试 + + 取消 + 扫描二维码完成车辆绑定 + + 我知道了 + \ No newline at end of file diff --git a/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt b/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt index 953c9bb585..3099f36ee5 100644 --- a/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt +++ b/OCH/common/common/src/debug/java/com/mogo/och/common/module/debug/DebugDataDispatch.kt @@ -28,7 +28,7 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.common.module.debug.location.MogoLocationExit -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.view.DebugFloatWindow import com.zhjt.mogo.adas.data.bean.AutopilotStatistics diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt deleted file mode 100644 index 81588d4e85..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt +++ /dev/null @@ -1,99 +0,0 @@ -package com.mogo.och.common.module.bean.dpmsg -/** - * @author: wangmingjun - * @date: 2023/3/27 - */ - -object BusCacheKey{ - const val BUS_LINE_CACHE = "bus_line_cache" - const val BUS_LOGIN_STATUS_CACHE = "bus_login_status_cache" -} - -open class BaseDPMsg(open var type: Int){// 0: 常规 1:确认路线/站点 2:开/关车门 3:结束订单 - companion object{ - const val TAG = "BaseDPMsg" - } -} - - -data class LoginCacheStatus( - var loginStatus: Int, - var updateTime: Long - ): BaseDPMsg(DPMsgType.TYPE_LOGIN_STATUS.type) - -data class ChangeDestMsg( - var orderNo: String,// 订单号 - var lineId: Int, //线路id - var lineName: String = "", //线路名称 - var startSiteId: Int= 0, //当前站点 - var startSiteName: String = "", - var destSiteId: Int= 0, //目的地 - var destSiteName: String = "", - var isConfirmed: Boolean = false, //司机端是否同意 - var arriveStatus:Int?, //1:未到达 2:到达 - var writeVersion:Long?, //版本标记 - var lineSiteList: MutableList? = null -): BaseDPMsg(DPMsgType.TYPE_CHANGE_DEST.type) - -data class LineSite( - val lineId: Long?,//线路Id - val lineName: String?,//线路名称 - val siteId: Long?,//线路Id - val siteName: String?,//站点名称 - val Wgs84Lon: Double?,//高精坐标 - val Wgs84Lat: Double?,//高精坐标 - val GcjLon: Double?,//高德坐标 - val GcjLat: Double?,//高德坐标 - val seq: Double?, - val type: Int?, -) - -data class ArriveDestMsg( - var orderNo: String, //订单id - var lineId: Int, //线路id - var lineName: String = "", //线路名称 - var startSiteId: Int= 0, //当前站点 - var startSiteName: String = "", - var destSiteId: Int= 0, //目的地 - var destSiteName: String = "", - var arriveStatus:Int?, //1:未到达 2:到达 - var writtenVersion:Long?, //版本标记 -): BaseDPMsg(DPMsgType.TYPE_ARRIVEDEST_STATUS.type) - -data class EndOrderMsg( - var orderNo: String, //订单id -): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED_BY_M1_STATUS.type) - -data class DPCommonOperationMsg( - var msg: String -): BaseDPMsg(DPMsgType.TYPE_COMMON.type) - -data class DPOperateDoorMsg( - var open: Boolean = false // true: 开门, false: 关门 -): BaseDPMsg(DPMsgType.TYPE_OPEN_CLOSE_DOOR.type) - -data class DPOrderClosedMsg( - var closed: Boolean = true // true: 结束 -): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED.type) - -data class AppConnectMsg( - var isViewShow: Boolean = true, var isPlay: Boolean = false, var msg: String,var boxType:Int=-1 -) : BaseDPMsg(DPMsgType.TYPE_COMMON.type) - -data class TaskDetailsMsg( - var msg: String?, -): BaseDPMsg(DPMsgType.TYPE_TASK_DETAILS.type) - -data class WriteOffMsg( - val isScuccess: Boolean?, - val phone: String?, - val ticketSize: Int?, - val ticketName:String?, - val failedReason:String?, - val orderNo: String? -): BaseDPMsg(DPMsgType.TYPE_WRITEOFF_INFO.type) - -data class WriteOffDevicesMsg( - val isConnectScanner: Boolean?, - val reason:String? -): BaseDPMsg(DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/DriverStatusQueryRespBean.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/DriverStatusQueryRespBean.java deleted file mode 100644 index 0b8692ae59..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/bean/DriverStatusQueryRespBean.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mogo.och.common.module.biz.bean; - -import com.mogo.eagle.core.data.BaseData; - -/** - * Created by pangfan on 2021/8/19 - * - * 状态查询返回数据结构 - */ -public class DriverStatusQueryRespBean extends BaseData { - public Result data; - - public static class Result { - public int servingStatus; //1接单,1暂停接单 - public int driverStatus; //1登录,0登出 - public String orderNo; - public int purpose; // 1 运营, 2 测试, 3演示 - - public String sn; - public String plateNumber;//车牌号 - public String phone;//手机号 - public Integer lineId;//线路id - public Integer taskId;//任务id - } -} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginViewCallback.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginViewCallback.kt deleted file mode 100644 index 033e900e77..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/callback/ILoginViewCallback.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.mogo.och.common.module.biz.callback - -interface ILoginViewCallback { - /** - * 展示登录页面 - */ - fun showLoginDialogFragment() - - /** - * 隐藏登录页面 - */ - fun hideLoginDialogFragment() -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/LoginStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/LoginStatusManager.kt deleted file mode 100644 index 8f339cebde..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/LoginStatusManager.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.mogo.och.common.module.biz.constant - -import java.util.concurrent.ConcurrentHashMap - -object LoginStatusManager { - /** - * 登录状态 - */ - private var loginStatus: TaxiLoginStatusEnum = TaxiLoginStatusEnum.None - private val mStatusChangeListener = ConcurrentHashMap() - - @JvmStatic - fun setLoginStatus(status: Int) { - when (status) { - 0 -> { - setLoginStatus(TaxiLoginStatusEnum.Logout) - } - 1 -> { - setLoginStatus(TaxiLoginStatusEnum.Login) - } - else -> { - setLoginStatus(TaxiLoginStatusEnum.None) - } - } - } - @JvmStatic - fun setLoginStatus(loginStatus: TaxiLoginStatusEnum) { - if(loginStatus!=this.loginStatus){ - this.loginStatus = loginStatus - for (callback in mStatusChangeListener.values) { - callback.onStatusChange(loginStatus) - } - } - } - @JvmStatic - fun getLoginStatus(): TaxiLoginStatusEnum { - return loginStatus - } - @JvmStatic - fun isLogin():Boolean { - if(loginStatus== TaxiLoginStatusEnum.Login){ - return true - } - return false - } - - fun setControllerStatusCallback(tag: String, callback: ILoginStatusChangeListener?) { - if (tag.isBlank()) return - if (callback == null) { - mStatusChangeListener.remove(tag) - return - } - mStatusChangeListener[tag] = callback - } - - interface ILoginStatusChangeListener{ - fun onStatusChange(currentStatus:TaxiLoginStatusEnum) - } -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt new file mode 100644 index 0000000000..672c5ec06f --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt @@ -0,0 +1,97 @@ +package com.mogo.och.common.module.biz.lansocket + +import com.mogo.commons.debug.DebugConfig +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.och.common.module.biz.login.ILoginCallback +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.ChangeBusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.utils.FlavorUtils + +object LoginLanDriverSocket : ILoginCallback { + private const val TAG = "LoginLanSocket" + + // 客户端注册 + private val registerListener = object : ILanMessageListener { + override fun target(): Class { + return BaseDPMsg::class.java + } + + override fun onMsgReceived(obj: Array) { + println("-------${obj}") + if(LoginStatusManager.isLogin()) { + FlavorUtils.getEnvCheck() + val msg = + ChangeBusinessType(FlavorUtils.vehicleType!!, FlavorUtils.businessType!!, FlavorUtils.projectType!!, FlavorUtils.envType!!) + LanSocketManager.sendMsgToClient(msg) + }else{ + FlavorUtils.getEnvCheck() + val msg = + ChangeBusinessType(FlavorUtils.vehicleType!!, BusinessType.none, FlavorUtils.projectType!!, FlavorUtils.envType!!) + LanSocketManager.sendMsgToClient(msg) + } + } + + }; + + fun load() { + LanSocketManager.load() + } + + init { + LoginStatusManager.addListener(TAG, this) + LanSocketManager.registerSocketMessageListener( + DPMsgType.TYPE_CLIENT_REGISTER.type, + TAG, + registerListener + ) + } + + // 司机端发送业务模式更改和环境校验 + override fun onStatusChange(currentStatus: LoginStatusEnum?) { + if (FlavorUtils.vehicleType != null && FlavorUtils.projectType != null && FlavorUtils.envType != null) { + when (currentStatus) { + LoginStatusEnum.Login -> { + FlavorUtils.getEnvCheck() + val msg = + ChangeBusinessType( + FlavorUtils.vehicleType!!, + FlavorUtils.businessType!!, + FlavorUtils.projectType!!, + FlavorUtils.envType!! + ) + LanSocketManager.sendMsgToClient(msg) + BizLoopManager.setLoopFunction(TAG, LoopInfo(60, ::loopCheck)) + } + + else -> { + BizLoopManager.removeLoopFunction(TAG) + val msg = + ChangeBusinessType( + FlavorUtils.vehicleType!!, + BusinessType.none, + FlavorUtils.projectType!!, + FlavorUtils.envType!! + ) + LanSocketManager.sendMsgToClient(msg) + } + } + } + } + + private fun loopCheck() { + FlavorUtils.getEnvCheck() + val msg = EnvCheck(FlavorUtils.vehicleType!!, FlavorUtils.businessType!!, FlavorUtils.projectType!!, FlavorUtils.envType!!) + LanSocketManager.sendMsgToClient(msg) + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt new file mode 100644 index 0000000000..c305ec6afe --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt @@ -0,0 +1,139 @@ +package com.mogo.och.common.module.biz.lansocket + +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.ChangeBusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType +import java.lang.StringBuilder +import kotlin.properties.Delegates + +object LoginLanPassengerSocket : IReceivedMsgListener { + private const val TAG = "LoginLanSocket" + + var driverSn: String by Delegates.observable("") { _, oldV, newV -> + if (oldV != newV) { + // 司机屏发生变化 + val msg = BaseDPMsg(type = DPMsgType.TYPE_CLIENT_REGISTER.type) + LanSocketManager.sendMsgToServer(msg) + LoginStatusManager.changeStatus("连接成功 司机SN:${newV}") + if(newV.isNotEmpty()){ + OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","已连接 sn${newV}") + } + } + } + + // 环境监测 + private val checkListener = object : ILanMessageListener { + override fun target(): Class { + return EnvCheck::class.java + } + + override fun onMsgReceived(obj: Array) { + if (obj.isNotEmpty()) { + val first = obj.first() as EnvCheck + val checkEnv = checkEnv(first.projectType, first.envType, first.vehicleType, first.businessType) + if(checkEnv){ + + }else{ + LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) + } + } + } + + } + + private fun checkEnv( + projectType: ProjectType, + envType: EnvType, + vehicleType: VehicleType, + businessType: BusinessType + ): Boolean { + return LoginStatusManager.checkAllEnv(projectType, envType, vehicleType, businessType) + } + + // 环境监测+业务展示和跳转 + private val changeBusinessType = object : ILanMessageListener { + override fun target(): Class { + return ChangeBusinessType::class.java + } + + override fun onMsgReceived(obj: Array) { + if (obj.isNotEmpty()) { + val first = obj.first() as ChangeBusinessType + val checkEnv = checkEnv( + first.projectType, + first.envType, + first.vehicleType, + first.businessType + ) + if(checkEnv){ + val status = StringBuilder() + status.append("切换业务模式<当前:${LoginStatusManager.getBusInessType().name}") + when (first.businessType) { + BusinessType.none -> { + LoginStatusManager.setBusinessType(BusinessEnum.None.code) + return LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) + } + BusinessType.bus -> LoginStatusManager.setBusinessType(BusinessEnum.Bus.code) + BusinessType.shuttle -> LoginStatusManager.setBusinessType(BusinessEnum.Shuttle.code) + BusinessType.charter -> LoginStatusManager.setBusinessType(BusinessEnum.Charter.code) + BusinessType.taxi -> LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code) + BusinessType.taxiunmanned ->LoginStatusManager.setBusinessType(BusinessEnum.Taxi.code) + } + status.append(", 后台配置:${LoginStatusManager.getBusInessType().name}>") + LoginStatusManager.changeStatus(status.toString()) + UiThreadHandler.postDelayed({ + LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) + },2000) + + } + } + } + + }; + + fun load() { + LanSocketManager.load() + } + + init { + //监听司机端消息 + CallerTelematicListenerManager.addListener(TAG, this) + // 乘客屏 + LanSocketManager.registerSocketMessageListener( + DPMsgType.TYPE_ENV_CHECK.type, + TAG, + checkListener + ) + LanSocketManager.registerSocketMessageListener( + DPMsgType.TYPE_CHANGE_BUSINESS_TYPE.type, + TAG, + changeBusinessType + ) + } + + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + + } + + override fun onReceivedServerSn(sn: String?) { + Logger.d(TAG, "司机屏sn:$sn") + driverSn = sn ?: "" + } + + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/TaxiLoginStatusEnum.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/BusinessEnum.kt similarity index 63% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/TaxiLoginStatusEnum.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/BusinessEnum.kt index 451196d777..420c9bbc9c 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/constant/TaxiLoginStatusEnum.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/BusinessEnum.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.constant +package com.mogo.och.common.module.biz.login /** * Created on 2022/08/19 @@ -8,14 +8,16 @@ package com.mogo.och.common.module.biz.constant * 10 已登录, * 20 已登出, */ -enum class TaxiLoginStatusEnum(val code: Int) { +enum class BusinessEnum(val code: Int) { None( 0 ), - Login( 10), - Logout( 20),; + Taxi( 9), + Bus( 10), + Shuttle( 11), + Charter( 13),; companion object { @JvmStatic - fun valueOf(code: Int): TaxiLoginStatusEnum? { + fun valueOf(code: Int): BusinessEnum { for (value in values()) { if (value.code == code) { return value diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/ILoginCallback.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/ILoginCallback.java new file mode 100644 index 0000000000..85e78b76e0 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/ILoginCallback.java @@ -0,0 +1,13 @@ +package com.mogo.och.common.module.biz.login; + +public interface ILoginCallback { + + default void onStatusChange(LoginStatusEnum currentStatus){} + + default void onBusinessChange(BusinessEnum businessEnum){} + + default void onOpenOrderStatusEnumChange(OpenOrderStatusEnum businessEnum){} + + default void onBusinessChangeDebug(BusinessEnum businessEnum){} + +} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginInfo.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginInfo.java new file mode 100644 index 0000000000..64841b8c13 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginInfo.java @@ -0,0 +1,94 @@ +package com.mogo.och.common.module.biz.login; + +public class LoginInfo { + public int driverStatus; //1登录,0登出 + public int servingStatus;//1接单中,0暂停接单 + public int businessType; //9: taxi. 10: bus公交 11:接驳 13:包车 + public String orderNo; + public int purpose; // 1 运营, 2 测试, 3演示 + public String sn; + public String plateNumber;//车牌号 + 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 + + ", servingStatus=" + servingStatus + + ", businessType=" + businessType + + ", orderNo='" + orderNo + '\'' + + ", purpose=" + purpose + + ", sn='" + sn + '\'' + + ", plateNumber='" + plateNumber + '\'' + + ", phone='" + phone + '\'' + + ", lineId=" + lineId + + ", taskId=" + taskId + + '}'; + } +} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt new file mode 100644 index 0000000000..d7e53c0832 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt @@ -0,0 +1,45 @@ +package com.mogo.och.common.module.biz.login + +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType + +interface LoginService :CommonService { + fun setLoginInfo(loginInfo: LoginInfo) + fun getLoginInfo():LoginInfo? + + fun getPurpose():RoleEnum + + fun isLogin():Boolean + fun getLoginStatus(): LoginStatusEnum + fun setLoginStatus(loginStatus: LoginStatusEnum) + fun setLoginStatus(status: Int) + fun setBusinessType(type: Int) + + fun getBusinessType():BusinessEnum + + fun queryLoginStatusByNet() + + /** + * 登出 + */ + fun loginOut(mLatitude:Double,mLongitude:Double) + fun checkBusiness(businessType: Int): Boolean + fun checkAllEnv( + projectType: ProjectType, + envType: EnvType, + vehicleType: VehicleType, + businessType: BusinessType + ): Boolean + + fun changeStatus(currentStatus: String) + + fun setOpenOrderStatusType(type: Int) + + fun getOpenOrderStatusType(): OpenOrderStatusEnum + + fun isOpenOrderType(): Boolean + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusEnum.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusEnum.kt new file mode 100644 index 0000000000..7ec1da16f6 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusEnum.kt @@ -0,0 +1,27 @@ +package com.mogo.och.common.module.biz.login + +/** + * Created on 2022/08/19 + * + * + * 0 初始状态, + * 10 已登录, + * 20 已登出, + */ +enum class LoginStatusEnum(val code: Int) { + None( -1 ), + Login( 1), + Logout( 0),; + + companion object { + @JvmStatic + fun valueOf(code: Int): LoginStatusEnum? { + for (value in values()) { + if (value.code == code) { + return value + } + } + return None + } + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt new file mode 100644 index 0000000000..2ad7abd155 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt @@ -0,0 +1,170 @@ +package com.mogo.och.common.module.biz.login + + +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType +import com.mogo.och.common.module.utils.CallerBase + +object LoginStatusManager : CallerBase() { + + 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) + } + + @JvmStatic + fun queryLoginStatusByNet() { + loginService?.queryLoginStatusByNet() + } + @JvmStatic + fun getPurpose(): RoleEnum { + loginService?.let { + return it.getPurpose() + } + return RoleEnum.None + } + + @JvmStatic + fun setLoginInfo(loginInfo: LoginInfo) { + loginService?.setLoginInfo(loginInfo) + } + + fun getLoginInfo(): LoginInfo? { + return loginService?.getLoginInfo() + } + + @JvmStatic + fun setLoginStatus(status: Int) { + loginService?.setLoginStatus(status) + } + @JvmStatic + fun setBusinessType(type: Int) { + loginService?.setBusinessType(type) + } + + fun getBusInessType():BusinessEnum{ + loginService?.let { + return it.getBusinessType() + } + return BusinessEnum.None + } + + @JvmStatic + fun setOpenOrderType(type: Int) { + loginService?.setOpenOrderStatusType(type) + } + + @JvmStatic + fun getOpenOrderType():OpenOrderStatusEnum{ + loginService?.let { + return it.getOpenOrderStatusType() + } + return OpenOrderStatusEnum.None + } + @JvmStatic + fun isOpenOrderType():Boolean{ + loginService?.let { + return it.isOpenOrderType() + } + return false + } + + @JvmStatic + fun setLoginStatus(loginStatus: LoginStatusEnum) { + loginService?.setLoginStatus(loginStatus) + } + + @JvmStatic + fun getLoginStatus(): LoginStatusEnum { + loginService?.let { + return it.getLoginStatus() + } + return LoginStatusEnum.None + } + + @JvmStatic + fun isLogin(): Boolean { + loginService?.let { + return it.isLogin() + } + return false + } + + fun invokeLoginStatusChange(currentStatus: LoginStatusEnum) { + M_LISTENERS.forEach { + val listener = it.value + listener.onStatusChange(currentStatus) + } + } + + fun invokeLBusinessTypeChange(currentStatus: BusinessEnum) { + M_LISTENERS.forEach { + val listener = it.value + listener.onBusinessChange(currentStatus) + } + } + fun invokeLBusinessTypeChangeDebug(currentStatus: BusinessEnum) { + M_LISTENERS.forEach { + val listener = it.value + listener.onBusinessChangeDebug(currentStatus) + } + } + + fun invokeLOpenOrderStatusChange(currentStatus: OpenOrderStatusEnum) { + M_LISTENERS.forEach { + val listener = it.value + listener.onOpenOrderStatusEnumChange(currentStatus) + } + } + + @JvmStatic + fun checkBusiness(businessType: Int):Boolean { + loginService?.let { + return it.checkBusiness(businessType) + } + return false + } + + fun checkAllEnv( + projectType: ProjectType, + envType: EnvType, + vehicleType: VehicleType, + businessType: BusinessType + ):Boolean { + loginService?.let { + return it.checkAllEnv(projectType,envType,vehicleType,businessType) + } + return false + } + + fun changeStatus(status: String) { + loginService?.let { + it.changeStatus(status) + } + } + + override fun doSomeAfterAddListener(tag: String, listener: ILoginCallback) { + super.doSomeAfterAddListener(tag, listener) + listener.onStatusChange(getLoginStatus()) + listener.onBusinessChange(getBusInessType()) + listener.onOpenOrderStatusEnumChange(getOpenOrderType()) + } + + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/OpenOrderStatusEnum.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/OpenOrderStatusEnum.kt new file mode 100644 index 0000000000..7ab675ba2d --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/OpenOrderStatusEnum.kt @@ -0,0 +1,27 @@ +package com.mogo.och.common.module.biz.login + +/** + * Created on 2022/08/19 + * + * + * 0 初始状态, + * 10 接单状态 可接单, + * 20 暂停接到哪 不可接单, + */ +enum class OpenOrderStatusEnum(val code: Int) { + UnOrdering( 0 ), + Ordering( 1), + None( -1),; + + companion object { + @JvmStatic + fun valueOf(code: Int): OpenOrderStatusEnum { + for (value in values()) { + if (value.code == code) { + return value + } + } + return None + } + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/RoleEnum.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/RoleEnum.kt new file mode 100644 index 0000000000..4ef732cb09 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/RoleEnum.kt @@ -0,0 +1,25 @@ +package com.mogo.och.common.module.biz.login + +/** + * Created on 2021/12/7 + * 1 运营, 2 测试, 3演示 + */ +enum class RoleEnum(val code: Int) { + None( 0), + OPERATION( 1), + TEST( 2), + DEMO( 3); + + + companion object { + @JvmStatic + fun valueOf(code: Int?): RoleEnum { + for (value in RoleEnum.values()) { + if (value.code == code) { + return value + } + } + return RoleEnum.None + } + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt deleted file mode 100644 index 9637d39f2c..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.mogo.och.common.module.biz.network - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean - -interface LoginDefaultManage { - fun getPhoneCode( - context: Context, - phone: String?, - callback: OchCommonServiceCallback? - ) - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt deleted file mode 100644 index ba78e36d5b..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt +++ /dev/null @@ -1,85 +0,0 @@ -package com.mogo.och.common.module.biz.network - -import android.content.Context -import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.commons.debug.DebugConfig -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.och.common.module.biz.network.interceptor.transformTry -import io.reactivex.Observable - -/** - * Created by pangfan on 2021/8/19 - */ -object OchCommonServiceManager { - - private const val TAG = "OchCommonServiceManager" - - private var loginDefaultManage: LoginDefaultManage?=null - - fun setLoginDefaultManage(loginDefaultManage: LoginDefaultManage?){ - this.loginDefaultManage = loginDefaultManage - } - - /** - * 获取手机验证码 - * @param context - * @param callback - */ - @JvmStatic - fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - loginDefaultManage?.getPhoneCode(context,phone,callback) - } - - /** - * 通过验证码登录 - * @param context - * @param callback - */ - @JvmStatic - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - loginDefaultManage?.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - /** - * 登出 - */ - @JvmStatic - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - loginDefaultManage?.logout(context,location4Login,callback) - } - - /** - * 接单状态和登录状态查询 - * - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - loginDefaultManage?.queryDriverServiceStatus(context,callback) - } - -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginStatusDefaultPresenter.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginStatusDefaultPresenter.kt deleted file mode 100644 index a4c77ec190..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/presenter/OchCommonLoginStatusDefaultPresenter.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.mogo.och.common.module.biz.presenter - -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleObserver -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.OnLifecycleEvent -import com.mogo.och.common.module.biz.callback.ILoginCallback -import com.mogo.och.common.module.biz.callback.ILoginViewCallback -import com.mogo.och.common.module.biz.model.OchCommonLoginStatusDefaultModel - -/** - * @author yangyakun - * @since 2020-09-19 - */ -class OchCommonLoginStatusDefaultPresenter : LifecycleObserver { - private var isFirstShow = true - - @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) - fun onCreate(owner: LifecycleOwner) { - OchCommonLoginStatusDefaultModel.init() - } - - @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) - fun onResume(owner: LifecycleOwner) { - if (isFirstShow) { - isFirstShow = false - } else { - queryLoginStatus() - } - } - @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) - fun onDestory(owner: LifecycleOwner) { - OchCommonLoginStatusDefaultModel.release() - } - - fun queryLoginStatus() { - OchCommonLoginStatusDefaultModel.queryCarStatus() - } - - fun logOut(mLatitude:Double,mLongitude:Double){ - OchCommonLoginStatusDefaultModel.logout(mLatitude, mLongitude) - } - - fun setLoginCallback(loginCallback: ILoginCallback?,loginViewCallback: ILoginViewCallback?){ - OchCommonLoginStatusDefaultModel.loginCallback = loginCallback - OchCommonLoginStatusDefaultModel.loginViewCallback = loginViewCallback - } -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonService.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonService.kt new file mode 100644 index 0000000000..6e3e70fc90 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonService.kt @@ -0,0 +1,16 @@ +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 getStatusBarView(context: Context): View + + fun invokeByName(type:String,value:Any){} + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonServiceImpl.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonServiceImpl.kt new file mode 100644 index 0000000000..301c0df123 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/CommonServiceImpl.kt @@ -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!! + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt deleted file mode 100644 index 485014cee5..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.mogo.och.common.module.biz.provider - -import androidx.fragment.app.Fragment -import com.alibaba.android.arouter.facade.template.IProvider -import com.mogo.och.common.module.biz.callback.ILoginCallback -import com.mogo.och.common.module.biz.network.LoginDefaultManage - -interface LoginService : IProvider { - /** - * 注册页面 - * @param fragment 主页面 - * @param callback 回调 - */ - fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?,logindefaultmanage: LoginDefaultManage?) - - fun unRegisterFragment() - - /** - * 查询登录状态 - */ - fun queryLoginStatus():Boolean - - fun queryLoginStatusByNet() - - fun showUiModel(show:Boolean) - - /** - * 登出 - */ - fun loginOut(mLatitude:Double,mLongitude:Double) - -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt deleted file mode 100644 index 71a2afd619..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt +++ /dev/null @@ -1,139 +0,0 @@ -package com.mogo.och.common.module.biz.provider - -import android.content.Context -import android.content.DialogInterface -import androidx.fragment.app.DialogFragment -import androidx.fragment.app.Fragment -import com.alibaba.android.arouter.facade.annotation.Route -import com.mogo.eagle.core.function.call.hmi.CallerHmiManager -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.AppStateManager.currentActivity -import com.mogo.eagle.core.utilcode.util.ClickUtils -import com.mogo.och.common.module.biz.callback.ILoginCallback -import com.mogo.och.common.module.biz.callback.ILoginViewCallback -import com.mogo.och.common.module.biz.constant.LoginStatusManager -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceManager -import com.mogo.och.common.module.biz.presenter.OchCommonLoginStatusDefaultPresenter -import com.mogo.och.common.module.biz.ui.TaxiLoginDialogFragment -import com.mogo.och.common.module.biz.ui.TaxiLoginDialogFragment.Companion.newInstance -import java.lang.ref.WeakReference - -@Route(path = OchCommonConst.LOGINSERVICE) -class LoginServiceImpl : LoginService,ILoginViewCallback { - - companion object{ - const val TAG = "LoginServiceImpl" - } - - private var fragment: Fragment?=null - private var taxiLoginDialogFragment: WeakReference? = null - private var presenter: OchCommonLoginStatusDefaultPresenter?=null - private var uiModel = true - - override fun init(context: Context) { - - } - - override fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?,logindefaultmanage: LoginDefaultManage?) { - OchCommonServiceManager.setLoginDefaultManage(logindefaultmanage) - presenter = OchCommonLoginStatusDefaultPresenter() - this.fragment = fragment - presenter?.let { - it.setLoginCallback(loginCallback, this) - this.fragment?.lifecycle?.addObserver(it) - } - } - - override fun unRegisterFragment() { - this.presenter?.let { - it.setLoginCallback(null,null) - this.fragment?.lifecycle?.removeObserver(it) - } - this.fragment = null - } - - - override fun showLoginDialogFragment() { - if(uiModel) { - fragment?.let { - CallerHmiManager.hideToolsView() - CallerHmiManager.hideSOPSettingView() - val parentFragmentManager = it.childFragmentManager - val fragmentByTag: Fragment? = parentFragmentManager.findFragmentByTag(TAG) - if (fragmentByTag is DialogFragment) { - if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { - return - } - if (fragmentByTag.dialog != null && fragmentByTag.isAdded) { - if (currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用 - CallerLogger.d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 权限验证") - return - } - } - } - - if (taxiLoginDialogFragment?.get() == null) { - taxiLoginDialogFragment = WeakReference(newInstance()) - } - val taxiLoginDialog = taxiLoginDialogFragment?.get() - if (taxiLoginDialog != null) { - if (taxiLoginDialog.dialog != null && taxiLoginDialog.dialog!!.isShowing) { - return - } - if (taxiLoginDialog.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 - parentFragmentManager.beginTransaction().remove(taxiLoginDialog) - .commitAllowingStateLoss() - } - if (isFastClick()) { - taxiLoginDialog.show(parentFragmentManager, TAG) - taxiLoginDialog.setOnDismissListener(DialogInterface.OnDismissListener { dialog: DialogInterface? -> - taxiLoginDialogFragment?.clear() - presenter?.queryLoginStatus() - }) - CallerLogger.d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 展示登录界面") - }else{ - CallerLogger.d(SceneConstant.M_TAXI + TAG, "showLoginDialogFragment 展示登录界面 5s内执行一次") - } - } - } - } - } - // 5s 还没有执行说明在anr了 - private val MIN_CLICK_DELAY_TIME = 5000 - private var lastClickTime: Long = 0 - - fun isFastClick(): Boolean { - var flag = false - val curClickTime = System.currentTimeMillis() - if (curClickTime - lastClickTime >= MIN_CLICK_DELAY_TIME) { - flag = true - } - lastClickTime = curClickTime - return flag - } - - override fun hideLoginDialogFragment() { - CallerLogger.d(SceneConstant.M_TAXI + TAG, "hideLoginDialogFragment 隐藏登录界面") - if (taxiLoginDialogFragment?.get() != null) { - taxiLoginDialogFragment?.get()?.dismissAllowingStateLoss() - } - } - override fun queryLoginStatus():Boolean { - return LoginStatusManager.isLogin() - } - - override fun queryLoginStatusByNet() { - presenter?.queryLoginStatus() - } - - override fun showUiModel(show:Boolean) { - uiModel = show; - } - - override fun loginOut(mLatitude:Double,mLongitude:Double) { - presenter?.logOut(mLatitude,mLongitude) - } -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt deleted file mode 100644 index 802b3e6c32..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt +++ /dev/null @@ -1,284 +0,0 @@ -package com.mogo.och.common.module.biz.ui - -import android.annotation.SuppressLint -import android.content.DialogInterface -import android.graphics.Rect -import android.os.Bundle -import android.os.SystemClock -import android.util.Log -import android.view.* -import androidx.appcompat.widget.AppCompatButton -import androidx.appcompat.widget.AppCompatEditText -import androidx.appcompat.widget.AppCompatImageView -import androidx.appcompat.widget.AppCompatTextView -import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.ContextCompat -import androidx.core.widget.addTextChangedListener -import androidx.fragment.app.DialogFragment -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentTransaction -import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.commons.mvp.MvpDialogFragment -import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.function.call.hmi.CallerHmiManager -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.KeyboardUtils -import com.mogo.och.common.module.R -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.presenter.OchCommonLoginPresenter -import com.mogo.och.common.module.biz.provider.LoginService - - -/** - * @author: yangyakun - * @date: 2022/8/15 - */ -class TaxiLoginDialogFragment : - MvpDialogFragment(), - DialogInterface.OnKeyListener { - - lateinit var clMain: ConstraintLayout - lateinit var acbtnLogin: AppCompatButton - lateinit var actvLoginGetCode: AppCompatTextView - lateinit var actvLoginShowSn: AppCompatTextView - lateinit var aceLoginPhoneValue: AppCompatEditText - lateinit var acetPhoneCodeValue: AppCompatEditText - lateinit var actvWelcomeLoginTitle: AppCompatTextView - lateinit var acivLoginBg: AppCompatImageView - private var mOnClickListener: DialogInterface.OnDismissListener? = null - - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 - } - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - dialog?.setOnKeyListener(this) - return super.onCreateView(inflater, container, savedInstanceState) - } - - override fun getLayoutId(): Int { - return R.layout.taxi_login_view - } - - override fun initViews() { - clMain = mRootView.findViewById(R.id.cl_main) - acbtnLogin = mRootView.findViewById(R.id.acbtn_login) - actvLoginGetCode = mRootView.findViewById(R.id.actv_login_get_code) - aceLoginPhoneValue = mRootView.findViewById(R.id.ace_login_phone_value) - acetPhoneCodeValue = mRootView.findViewById(R.id.acet_phone_code_value) - actvWelcomeLoginTitle = mRootView.findViewById(R.id.actv_welcome_login_title) - actvLoginShowSn = mRootView.findViewById(R.id.actv_login_show_sn) - acivLoginBg = mRootView.findViewById(R.id.aciv_login_bg) - inputPhoneNormal() - initBg() - initListener() - dialog?.window?.let { - context?.let { _ -> - CallerHmiManager.setStatusBarDarkOrLight(false) - } - } - } - - private fun initBg() { - if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - //出租车司机 - acivLoginBg.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)) { - //小巴车司机 - acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg) - } - } - - @SuppressLint("ClickableViewAccessibility") - private fun initListener() { - mRootView.isFocusable = true - mRootView.isFocusableInTouchMode = true - mRootView.setOnTouchListener { _, event -> - when (event?.action) { - MotionEvent.ACTION_DOWN -> { - closeSoftInput() - } - } - false - } - acbtnLogin.onClick { - val phone = aceLoginPhoneValue.text.toString() - val code = acetPhoneCodeValue.text.toString() - mPresenter?.gotoLogin(phone, code) - } - actvWelcomeLoginTitle.setOnClickListener { - continuousClick() - } - clMain.viewTreeObserver.addOnGlobalLayoutListener { - val rect = Rect() - clMain.getWindowVisibleDisplayFrame(rect) - val mainInvisibleHeight = clMain.rootView.height - rect.bottom - if (mainInvisibleHeight > 100) { - val outLocation = IntArray(2) - acbtnLogin.getLocationInWindow(outLocation) - val srollHeight = (outLocation[1] + acbtnLogin.height) - rect.bottom - if (srollHeight > 0) { - clMain.scrollTo(0, srollHeight) - } - CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "滚动的距离:$srollHeight") - } else { - clMain.scrollTo(0, 0) - } - } - actvLoginGetCode.onClick { - mPresenter?.getPhoneCode(aceLoginPhoneValue.text.toString()) - } - actvLoginShowSn.setOnLongClickListener { - val loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE) - .navigation() as LoginService - loginService.showUiModel(false) - dismissAllowingStateLoss() - true - } - aceLoginPhoneValue.addTextChangedListener { - it?.let { itEditable -> - if (itEditable.isNotEmpty()) { - inputPhoneNormal() - } - } - } - actvLoginShowSn.text = SharedPrefsMgr.getInstance().sn - } - - /** - * 关闭键盘 - */ - fun closeSoftInput() { - mRootView.requestFocus() - dialog?.window?.let { - KeyboardUtils.hideSoftInput(it) - } - } - - fun setCountDownText(text: String, enable: Boolean) { - if (enable) { - actvLoginGetCode.setText(R.string.module_och_taxi_login_get_code) - actvLoginGetCode.isEnabled = true - } else { - actvLoginGetCode.text = text - actvLoginGetCode.isEnabled = false - } - } - - fun inputPhoneError() { - aceLoginPhoneValue.text?.clear() - aceLoginPhoneValue.setHint(R.string.module_och_taxi_login_phone_error) - context?.let { - aceLoginPhoneValue.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_EF262C)) - aceLoginPhoneValue.setBackgroundResource(R.drawable.taxi_login_phone_error) - } - } - - private fun inputPhoneNormal() { - //aceLoginPhoneValue.setHint(R.string.module_och_taxi_login_phone_hint_text) - context?.let { - aceLoginPhoneValue.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_878890)) - aceLoginPhoneValue.setBackgroundResource(R.drawable.taxi_login_phone_normal) - } - } - - override fun createPresenter(): OchCommonLoginPresenter { - return OchCommonLoginPresenter(this) - } - - override fun getTagName(): String { - return TAG - } - - 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 - } - } - - private var mHits = LongArray(COUNTS) - - private fun continuousClick() { - //每次点击时,数组向前移动一位 - System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1) - //为数组最后一位赋值 - mHits[mHits.size - 1] = SystemClock.uptimeMillis() - if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) { - mHits = LongArray(COUNTS) //重新初始化数组 - mPresenter?.gotoLogin("13288888888", "8888") - } - } - - override fun onKey(dialog: DialogInterface, keyCode: Int, event: KeyEvent): Boolean { - return keyCode == KeyEvent.KEYCODE_BACK - } - - fun loginSuccess() { - dismissAllowingStateLoss() - } - - fun setOnDismissListener(listener: DialogInterface.OnDismissListener?) { - mOnClickListener = listener - } - - override fun onDismiss(dialog: DialogInterface) { - super.onDismiss(dialog) - mOnClickListener?.onDismiss(dialog) - CallerHmiManager.setStatusBarDarkOrLight(false) - } - - /** - * 重写父类show()方法 - * 避免出现java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState - */ - override fun show(manager: FragmentManager, tag: String?) { - try { - var cls = this.javaClass.superclass ?: return - while (cls != null) { - if (cls.name == "java.lang.Object") { - break - } - cls = cls.superclass!! - if (cls == DialogFragment::class.java) { - break - } - } - val mDismissed = cls.getDeclaredField("mDismissed") - val mShownByMe = cls.getDeclaredField("mShownByMe") - mDismissed.isAccessible = true - mShownByMe.isAccessible = true - mDismissed.setBoolean(this, false) - mShownByMe.setBoolean(this, true) - if (isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 - return - } - val ft: FragmentTransaction = manager.beginTransaction() - ft.add(this, tag) - ft.commitAllowingStateLoss() - } catch (e: Exception) { - Log.e("DialogFragment", "show", e.fillInStackTrace()) - } - } - -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/constant/OchCommonConst.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/constant/OchCommonConst.kt new file mode 100644 index 0000000000..cae81e1970 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/constant/OchCommonConst.kt @@ -0,0 +1,55 @@ +package com.mogo.och.common.module.constant + +import com.mogo.eagle.core.data.config.FunctionBuildConfig + +/** + * Created on 2021/12/6 + */ +class OchCommonConst { + 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/busdriver" + const val BUS_PASSENGER = "/bus/buspassenger" + + const val CHARTER_DRIVER = "/charter/charterdriver" + const val CHARTER_PASSENGER = "/charter/charterpassenger" + + const val SHUTTLE_DRIVER = "/shuttle/shuttledriver" + const val SHUTTLE_PASSENGER = "/shuttle/shuttlepassenger" + + const val SWEEPER_DRIVER = "/sweeper/sweeperdriver" + + const val TAXI_DRIVER = "/taxi/taxidriver" + const val TAXI_PASSENGER = "/taxi/taxipassenger" + + const val TAXI_UNMANNED_DRIVER = "/taxiunman/taxiunmandriver" + const val TAXI_UNMANNED_PASSENGER = "/taxiunman/taxiunmanpassenger" + + const val BUSINESS_STRING = 100 + + // 自动驾驶自动规划的最大距离 + const val AUTOMATIC_PLANNING_MAX_DISTANCE = 15 + } +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/LanSocketManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/LanSocketManager.kt deleted file mode 100644 index 4e07bf5b0f..0000000000 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/LanSocketManager.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.mogo.och.common.module.manager - -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager -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.GsonUtils -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.biz.constant.OchCommonConst - -object LanSocketManager { - private const val TAG = "LanSocket" - fun sendMsgToClient(msg: BaseDPMsg?) { - CallerLogger.d(SceneConstant.M_CHARTER_D + TAG, "sendMsgToClient" + GsonUtils.toJson(msg)) - CallerTelematicManager.sendMsgToAllClients( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - - fun sendMsgToServer(msg: BaseDPMsg?) { - CallerLogger.d(SceneConstant.M_CHARTER_D + TAG, "sendMsgToServer" + GsonUtils.toJson(msg)) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - - -} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocusmanager/AudioFocusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocus/AudioFocusManager.kt similarity index 89% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocusmanager/AudioFocusManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocus/AudioFocusManager.kt index 86ac59ffa8..43b236de8a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocusmanager/AudioFocusManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audiofocus/AudioFocusManager.kt @@ -1,12 +1,12 @@ -package com.mogo.och.common.module.manager.audiofocusmanager +package com.mogo.och.common.module.manager.audiofocus import android.content.Context import android.media.AudioManager import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.common.module.manager.auditionmanager.AuditionManager -import com.mogo.och.common.module.manager.auditionmanager.MusicData -import com.mogo.och.common.module.manager.auditionmanager.PlayState +import com.mogo.och.common.module.manager.audition.AuditionManager +import com.mogo.och.common.module.manager.audition.MusicData +import com.mogo.och.common.module.manager.audition.PlayState object AudioFocusManager : AuditionManager.MusicDataChangeListener { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/Audition.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/Audition.kt similarity index 98% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/Audition.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/Audition.kt index ce67a0be3c..f85f6a061f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/Audition.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/Audition.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.auditionmanager +package com.mogo.och.common.module.manager.audition import android.media.AudioManager import android.media.MediaPlayer diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionCacheManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionCacheManager.kt similarity index 96% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionCacheManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionCacheManager.kt index 15dc2810cb..d8d95e1c9f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionCacheManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionCacheManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.auditionmanager +package com.mogo.och.common.module.manager.audition import android.media.MediaExtractor import android.media.MediaFormat @@ -14,12 +14,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.eagle.core.utilcode.util.Utils -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager.EVENT_KEY_INFE_WITH_MUSIC +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager.EVENT_KEY_INFE_WITH_MUSIC import com.mogo.och.common.module.utils.FileUtils import com.mogo.och.common.module.wigets.media.MediaPlayLogger -import rx.Single import java.io.File import java.io.FileOutputStream import java.io.IOException diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionManager.kt similarity index 96% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionManager.kt index ac95684224..3409e0ed9b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/AuditionManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/AuditionManager.kt @@ -1,9 +1,8 @@ -package com.mogo.och.common.module.manager.auditionmanager +package com.mogo.och.common.module.manager.audition import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.audiofocusmanager.AudioFocusManager +import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import java.util.concurrent.ConcurrentHashMap object AuditionManager: AuditionCacheManager.DataChangeListener, Audition.OnAuditionListener { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/MusicData.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/MusicData.kt similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/MusicData.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/MusicData.kt index 54b407aba3..cf1af2b82b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/auditionmanager/MusicData.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/audition/MusicData.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.auditionmanager +package com.mogo.och.common.module.manager.audition data class MusicDataList(val musics: MutableList) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/OCHAdasAbilityManager.java similarity index 99% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/OCHAdasAbilityManager.java index a1c57ea9ae..1c96ec1414 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/OCHAdasAbilityManager.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager; +package com.mogo.och.common.module.manager.autopilot; import android.content.Context; diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/ArrivedStation.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/ArrivedStation.java similarity index 92% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/ArrivedStation.java rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/ArrivedStation.java index e07c77c4eb..740f9e3877 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/ArrivedStation.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/ArrivedStation.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.autopilot; +package com.mogo.och.common.module.manager.autopilot.autopilot; import com.mogo.eagle.core.data.map.MogoLocation; diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/IOchAutopilotStatusListener.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.kt similarity index 97% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/IOchAutopilotStatusListener.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.kt index 544b1c1d1f..8d733df8c4 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/IOchAutopilotStatusListener.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.autopilot +package com.mogo.och.common.module.manager.autopilot.autopilot import com.zhjt.mogo.adas.data.AdasConstants import mogo.telematics.pad.MessagePad diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt similarity index 98% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/OchAutoPilotStatusListenerManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index f021bd4c39..5c577b151b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.autopilot +package com.mogo.och.common.module.manager.autopilot.autopilot import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/ITrajectoryListListener.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/ITrajectoryListListener.kt similarity index 82% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/ITrajectoryListListener.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/ITrajectoryListListener.kt index eaa911e425..71457956bf 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/ITrajectoryListListener.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/ITrajectoryListListener.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.trajectory +package com.mogo.och.common.module.manager.autopilot.trajectory import com.mogo.eagle.core.data.map.MogoLocation diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryCache.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryCache.kt similarity index 96% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryCache.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryCache.kt index fd78e2c1ca..8b1528f772 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryCache.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryCache.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.trajectory +package com.mogo.och.common.module.manager.autopilot.trajectory import com.elegant.network.utils.GsonUtil import com.mogo.commons.AbsMogoApplication diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt similarity index 94% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt index 2d25aeb728..9734f53b03 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/trajectory/TrajectoryManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/trajectory/TrajectoryManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.autopilotmanager.trajectory +package com.mogo.och.common.module.manager.autopilot.trajectory import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.data.map.MogoLocation @@ -88,10 +88,14 @@ object TrajectoryManager : IMoGoPlanningRottingListener { } } - fun addTrajectoryListListenerr(tag: String, listener: ITrajectoryListListener) { + fun addTrajectoryListListenerr(tag: String, listener: ITrajectoryListListener?) { if (distanceListeners.containsKey(tag)) { return } + if(listener==null){ + distanceListeners.remove(tag) + return + } distanceListeners[tag] = listener } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorManager.kt similarity index 75% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorManager.kt index 2fa555553a..784ffddf91 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorManager.kt @@ -1,16 +1,8 @@ -package com.mogo.och.common.module.manager.devicemanage +package com.mogo.och.common.module.manager.device -import com.mogo.commons.voice.AIAssist -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils -import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.manager.LanSocketManager -import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.RxUtils -import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import io.reactivex.disposables.Disposable diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorStatusManager.kt similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorStatusManager.kt index af3e06b237..b5d7224342 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/LightAirconditionDoorStatusManager.kt @@ -1,13 +1,13 @@ -package com.mogo.och.common.module.manager.devicemanage +package com.mogo.och.common.module.manager.device import chassis.VehicleStateOuterClass import com.mogo.eagle.core.function.api.autopilot.IMoGoRoboBusJinlvM1StatesListener import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StatesListenerManager -import com.mogo.och.common.module.manager.devicemanage.callback.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus -import com.mogo.och.common.module.manager.devicemanage.data.DoorStatus -import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue -import com.mogo.och.common.module.manager.devicemanage.data.LightStatus +import com.mogo.och.common.module.manager.device.callback.LightAirconditionDoorCallback +import com.mogo.och.common.module.manager.device.data.AirconditionStatus +import com.mogo.och.common.module.manager.device.data.DoorStatus +import com.mogo.och.common.module.manager.device.data.HeaterStatue +import com.mogo.och.common.module.manager.device.data.LightStatus import java.util.concurrent.ConcurrentHashMap object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/TaxiDoorStateManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/TaxiDoorStateManager.kt similarity index 93% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/TaxiDoorStateManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/TaxiDoorStateManager.kt index daf0ec52eb..053142e944 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/TaxiDoorStateManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/TaxiDoorStateManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.devicemanage +package com.mogo.och.common.module.manager.device import chassis.Chassis import chassis.VehicleStateOuterClass @@ -7,9 +7,9 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisDoorStateListene import com.mogo.eagle.core.function.call.base.CallerBase 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.manager.devicemanage.callback.DoorStateCallback -import com.mogo.och.common.module.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.callback.DoorStateCallback +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState object TaxiDoorStateManager : IMoGoChassisDoorStateListener, CallerBase() { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/DoorStateCallback.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/DoorStateCallback.kt similarity index 63% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/DoorStateCallback.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/DoorStateCallback.kt index 37886350be..04e690690a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/DoorStateCallback.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/DoorStateCallback.kt @@ -1,7 +1,7 @@ -package com.mogo.och.common.module.manager.devicemanage.callback +package com.mogo.och.common.module.manager.device.callback -import com.mogo.och.common.module.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState interface DoorStateCallback { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/LightAirconditionDoorCallback.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/LightAirconditionDoorCallback.kt similarity index 67% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/LightAirconditionDoorCallback.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/LightAirconditionDoorCallback.kt index a9a5f7f607..54406dec6d 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/callback/LightAirconditionDoorCallback.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/callback/LightAirconditionDoorCallback.kt @@ -1,8 +1,8 @@ -package com.mogo.och.common.module.manager.devicemanage.callback +package com.mogo.och.common.module.manager.device.callback -import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus -import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue -import com.mogo.och.common.module.manager.devicemanage.data.LightStatus +import com.mogo.och.common.module.manager.device.data.AirconditionStatus +import com.mogo.och.common.module.manager.device.data.HeaterStatue +import com.mogo.och.common.module.manager.device.data.LightStatus interface LightAirconditionDoorCallback { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/AirconditionStatus.kt similarity index 68% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/AirconditionStatus.kt index 31bc8a474a..6eca247f1e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/AirconditionStatus.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.devicemanage.data +package com.mogo.och.common.module.manager.device.data data class AirconditionStatus( var isOpen: Boolean, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/DoorStatus.kt similarity index 74% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/DoorStatus.kt index 7f6121e562..7d2c168f12 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/DoorStatus.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.devicemanage.data +package com.mogo.och.common.module.manager.device.data data class DoorStatus(var isOpen: Boolean) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/HeaterStatue.kt similarity index 51% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/HeaterStatue.kt index 80d2ef5690..753814fd82 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/HeaterStatue.kt @@ -1,3 +1,3 @@ -package com.mogo.och.common.module.manager.devicemanage.data +package com.mogo.och.common.module.manager.device.data data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/LightStatus.kt similarity index 66% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/LightStatus.kt index 69f047a7cf..d23adad76b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/device/data/LightStatus.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.devicemanage.data +package com.mogo.och.common.module.manager.device.data data class LightStatus( var isOpenLight1: Boolean, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/DistanceDegree.kt similarity index 96% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/DistanceDegree.kt index bc30038358..5c335f7757 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/DistanceDegree.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.distancemamager +package com.mogo.och.common.module.manager.distance data class DistanceDegree(var distance: Float, var degree: Double?, var isNext: Boolean?) : Comparable { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/IDistanceListener.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/IDistanceListener.kt similarity index 95% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/IDistanceListener.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/IDistanceListener.kt index 53a5f0425c..977db15d01 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/IDistanceListener.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/IDistanceListener.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.distancemamager +package com.mogo.och.common.module.manager.distance import com.mogo.eagle.core.data.map.MogoLocation diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/StationAndIndex.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/StationAndIndex.kt similarity index 87% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/StationAndIndex.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/StationAndIndex.kt index b99a200bdb..3ae219b294 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/StationAndIndex.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/StationAndIndex.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.distancemamager +package com.mogo.och.common.module.manager.distance import com.mogo.eagle.core.data.map.MogoLocation diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/TrajectoryAndDistanceManager.kt similarity index 98% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/TrajectoryAndDistanceManager.kt index c39f502b01..19870d6a3f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/distance/TrajectoryAndDistanceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.distancemamager +package com.mogo.och.common.module.manager.distance import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.data.map.MogoLocation @@ -11,10 +11,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.LocationUtils -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.manager.autopilotmanager.trajectory.TrajectoryCache -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryCache +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import io.reactivex.schedulers.Schedulers import mogo.telematics.pad.MessagePad diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/BreakLightManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/BreakLightManager.kt similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/BreakLightManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/BreakLightManager.kt index b5789f43b2..2f0b73e966 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/BreakLightManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/BreakLightManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.lightmanager +package com.mogo.och.common.module.manager.light import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLamplightListener import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListenerManager diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/TurnLightManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/TurnLightManager.kt similarity index 97% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/TurnLightManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/TurnLightManager.kt index 68f9033c22..89e9dfaa85 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/lightmanager/TurnLightManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/light/TurnLightManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.lightmanager +package com.mogo.och.common.module.manager.light import chassis.Chassis import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLamplightListener diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/orderlogmanager/OchChainLogManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt similarity index 66% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/orderlogmanager/OchChainLogManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt index 0162529472..f0dc108a82 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/orderlogmanager/OchChainLogManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.orderlogmanager +package com.mogo.och.common.module.manager.logchainanalytic import android.text.TextUtils import com.mogo.commons.debug.DebugConfig @@ -22,6 +22,28 @@ object OchChainLogManager { // 需要举行观察的 const val EVENT_KEY_INFE_ERROR = "event_key_och_error" + const val EVENT_KEY_INFO_Net = "event_key_och_net" + const val EVENT_KEY_INFO_SOCKET = "analytics_event_och_track_screen_msg" + const val EVENT_KEY_INFO_SOCKET_CONNECT = "analytics_event_och_track_screen_connect" + + + fun writeChainLogNet(info: String, changeInfo: String){ + writeChainLog(info,changeInfo,true,EVENT_KEY_INFO_Net) + } + fun writeChainLogNetLanSocketConnect(info: String, changeInfo: String){ + writeChainLog(info,changeInfo,true,EVENT_KEY_INFO_SOCKET_CONNECT) + } + fun writeChainLogLanSocket(info: String, changeInfo: String,action:String){ + val map = hashMapOf() + map["action"] = action + writeChainLog(info,changeInfo,true,EVENT_KEY_INFO_SOCKET, map) + } + + @JvmStatic + fun writeChainLog(info: String, changeInfo: String,upload:Boolean = true,eventID:String=EVENT_KEY_INFE_WITH_CHANGE) { + writeChainLog(info,changeInfo,upload,eventID,null) + } + /** * @param Info 订单详细信息 * @param changeInfo 变化信息 @@ -33,7 +55,7 @@ object OchChainLogManager { paramIndexes = [0,1] ) @JvmStatic - fun writeChainLog(Info: String, changeInfo: String,upload:Boolean = true,eventID:String=EVENT_KEY_INFE_WITH_CHANGE) { + fun writeChainLog(Info: String, changeInfo: String,upload:Boolean = true,eventID:String=EVENT_KEY_INFE_WITH_CHANGE,patch:HashMap?=null) { try { d(SceneConstant.M_OCHCOMMON + TAG, Info) d(SceneConstant.M_OCHCOMMON + TAG, changeInfo) @@ -46,6 +68,9 @@ object OchChainLogManager { params["time"] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss) params["info"] = Info params["changeInfo"] = changeInfo + patch?.let { + params.putAll(it) + } MogoAnalyticUtils.track(eventID, params) } }catch (e:Exception){ diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/BizLoopManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/BizLoopManager.kt similarity index 98% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/BizLoopManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/BizLoopManager.kt index f40e96513c..d91edc23b4 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/BizLoopManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/BizLoopManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.loopmanager +package com.mogo.och.common.module.manager.loop import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/LoopInfo.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/LoopInfo.kt similarity index 84% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/LoopInfo.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/LoopInfo.kt index a987ec2d5c..6b9249cf23 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loopmanager/LoopInfo.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/loop/LoopInfo.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.loopmanager +package com.mogo.och.common.module.manager.loop import io.reactivex.Scheduler diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/AbnormalFactorsLoopManager.kt similarity index 98% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/AbnormalFactorsLoopManager.kt index 76db0f8f1c..2260880938 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/AbnormalFactorsLoopManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager +package com.mogo.och.common.module.manager.socket.cloud import android.Manifest import android.content.Context diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/OCHSocketMessageManager.kt similarity index 96% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/OCHSocketMessageManager.kt index 6c8c71bc2d..6b92440565 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/OCHSocketMessageManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/OCHSocketMessageManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage +package com.mogo.och.common.module.manager.socket.cloud import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/DataBaseMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/DataBaseMsg.kt similarity index 69% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/DataBaseMsg.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/DataBaseMsg.kt index 813ff0d5b2..f22ecf65c8 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/DataBaseMsg.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/DataBaseMsg.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage.data +package com.mogo.och.common.module.manager.socket.cloud.data /** * @author: wangmingjun diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OCHOperationalMessage.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OCHOperationalMessage.kt similarity index 85% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OCHOperationalMessage.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OCHOperationalMessage.kt index 87867287ea..4f864310ea 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OCHOperationalMessage.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OCHOperationalMessage.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage.data +package com.mogo.och.common.module.manager.socket.cloud.data import java.io.Serializable diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OperateDoorMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OperateDoorMsg.kt similarity index 78% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OperateDoorMsg.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OperateDoorMsg.kt index f9dddb3e98..1f0f42ef96 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OperateDoorMsg.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OperateDoorMsg.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage.data +package com.mogo.och.common.module.manager.socket.cloud.data /** * @author: wangmingjun * @date: 2023/2/25 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OrderCloseMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OrderCloseMsg.kt similarity index 76% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OrderCloseMsg.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OrderCloseMsg.kt index 438ce06c0c..ecb5d306c9 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/OrderCloseMsg.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/OrderCloseMsg.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage.data +package com.mogo.och.common.module.manager.socket.cloud.data /** * @author: wangmingjun * @date: 2023/2/25 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/SystemMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/SystemMsg.kt similarity index 79% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/SystemMsg.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/SystemMsg.kt index f321b2c108..7379b89c76 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/common/socketmessage/data/SystemMsg.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/cloud/data/SystemMsg.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.common.socketmessage.data +package com.mogo.och.common.module.manager.socket.cloud.data /** * @author: wangmingjun * @date: 2023/2/25 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/ILanMessageListener.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/ILanMessageListener.kt new file mode 100644 index 0000000000..197b4745cc --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/ILanMessageListener.kt @@ -0,0 +1,18 @@ +package com.mogo.och.common.module.manager.socket.lan + +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg + +/** + * @author congtaowang + * @since 2019-12-31 + * + * + * 消息回调 + */ +interface ILanMessageListener { + + fun target(): Class + + fun onMsgReceived(obj: Array) + +} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt new file mode 100644 index 0000000000..cb9b15f299 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManager.kt @@ -0,0 +1,90 @@ +package com.mogo.och.common.module.manager.socket.lan + +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import java.util.concurrent.ConcurrentHashMap + + +object LanSocketManager : IReceivedMsgListener { + private const val TAG = "LanSocketManager" + + init { + CallerTelematicListenerManager.addListener(TAG, this) + } + + fun load(){ + + } + + @JvmStatic + fun sendMsgToClient(msg: BaseDPMsg?) { + val message = GsonUtils.toJson(msg) + CallerLogger.d(TAG, "sendMsgToClient: $message") + OchChainLogManager.writeChainLogLanSocket("发送msg到各个端",message,"send") + CallerTelematicManager.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, message.toByteArray()) + } + + @JvmStatic + fun sendMsgToServer(msg: BaseDPMsg?) { + val message = GsonUtils.toJson(msg) + CallerLogger.d(TAG, "sendMsgToServer:$message") + OchChainLogManager.writeChainLogLanSocket("发送msg到服务端(司机)",message,"send") + CallerTelematicManager.sendMsgToServer(OchCommonConst.BUSINESS_STRING, message.toByteArray()) + } + + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + CallerLogger.d(TAG, "收到数据:_type:${type},byteArray:${String(byteArray)}") + OchChainLogManager.writeChainLogLanSocket("收到数据","type:${type},byteArray:${String(byteArray)}","receive") + if (OchCommonConst.BUSINESS_STRING == type) { + try { + val baseMsg = GsonUtils.fromJson(String(byteArray), BaseDPMsg::class.java) + baseMsg?.let { + mListeners.forEach { action -> + if(action.key==it.type){ + action.value.let {keyAndListenerMap-> + var fromJson:BaseDPMsg?=null + keyAndListenerMap.forEach {listeners-> + if(fromJson==null) { + val target = listeners.value.target() + fromJson = GsonUtils.fromJson( + String(byteArray), target + ) + } + + listeners.value.onMsgReceived(arrayOf(fromJson)) + } + + } + } + } + } + }catch (e:Exception){ + e.printStackTrace() + } + + } + } + fun registerSocketMessageListener(msgType:Int, tag:String ,mogoOnMessageListener : ILanMessageListener){ + val typeMap = mListeners[msgType] + if (typeMap==null) { + val concurrentHashMap = ConcurrentHashMap>() + concurrentHashMap[tag] = mogoOnMessageListener + mListeners[msgType] = concurrentHashMap + }else{ + if (!typeMap.contains(tag)) { + typeMap[tag] = mogoOnMessageListener + } + } + } + + private val mListeners: ConcurrentHashMap>> = + ConcurrentHashMap() + + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt new file mode 100644 index 0000000000..57a8ed3caa --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/BaseDPMsg.kt @@ -0,0 +1,35 @@ +package com.mogo.och.common.module.manager.socket.lan.bean + +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils + +open class BaseDPMsg( + open var type: Int = DPMsgType.TYPE_CLIENT_REGISTER.type, + open var msgVersion: Int = 1, + open var targetScreenTypes: MutableList = + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + mutableListOf(ScreenType.Passenger, ScreenType.Guide) + } else { + mutableListOf(ScreenType.Driver, ScreenType.Guide) + }, + open var sourceScreenType: ScreenType = + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + ScreenType.Driver + } else { + ScreenType.Passenger + }, + open var sourceSn: String = SharedPrefsMgr.getInstance().sn, + open var timestamp: Long = System.currentTimeMillis() +) { + companion object { + const val TAG = "BaseDPMsg" + } +} + +enum class ScreenType { + Driver, // 司机屏 + Passenger,// 乘客屏 + Guide // 报站屏 +} + diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt similarity index 60% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt index cada587957..9633fa762a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DPMsgType.kt @@ -1,4 +1,6 @@ -package com.mogo.och.common.module.bean.dpmsg +package com.mogo.och.common.module.manager.socket.lan.bean + +import com.mogo.eagle.core.utilcode.util.GsonUtils /** * @author: wangmingjun @@ -14,5 +16,8 @@ enum class DPMsgType(val type: Int) { TYPE_ARRIVEDEST_STATUS(6), //到站通知 status TYPE_ORDER_CLOSED_BY_M1_STATUS(7), //到站通知 status TYPE_WRITEOFF_INFO(8), //核销信息 - TYPE_WRITEOFF_DEVICES_INFO(9) //核销设备信息 + TYPE_WRITEOFF_DEVICES_INFO(9), //核销设备信息 + TYPE_CHANGE_BUSINESS_TYPE(10), //业务模式切换 + TYPE_ENV_CHECK(11), //环境核验 + TYPE_CLIENT_REGISTER(12); //客户端注册 服务端需要 } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt new file mode 100644 index 0000000000..f13ecc3230 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/bean/DataBean.kt @@ -0,0 +1,125 @@ +package com.mogo.och.common.module.manager.socket.lan.bean + +/** + * @author: wangmingjun + * @date: 2023/3/27 + */ + +object BusCacheKey { + const val BUS_LINE_CACHE = "bus_line_cache" + const val BUS_LOGIN_STATUS_CACHE = "bus_login_status_cache" +} + +data class LoginCacheStatus( + var loginStatus: Int, + var updateTime: Long +) : BaseDPMsg(DPMsgType.TYPE_LOGIN_STATUS.type) + +data class ChangeDestMsg( + var orderNo: String,// 订单号 + var lineId: Int, //线路id + var lineName: String = "", //线路名称 + var startSiteId: Int = 0, //当前站点 + var startSiteName: String = "", + var destSiteId: Int = 0, //目的地 + var destSiteName: String = "", + var isConfirmed: Boolean = false, //司机端是否同意 + var arriveStatus: Int?, //1:未到达 2:到达 + var writeVersion: Long?, //版本标记 + var lineSiteList: MutableList? = null +) : BaseDPMsg(DPMsgType.TYPE_CHANGE_DEST.type) + +data class LineSite( + val lineId: Long?,//线路Id + val lineName: String?,//线路名称 + val siteId: Long?,//线路Id + val siteName: String?,//站点名称 + val Wgs84Lon: Double?,//高精坐标 + val Wgs84Lat: Double?,//高精坐标 + val GcjLon: Double?,//高德坐标 + val GcjLat: Double?,//高德坐标 + val seq: Double?, + val type: Int?, +) + +data class EndOrderMsg( + var orderNo: String, //订单id +) : BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED_BY_M1_STATUS.type) + +data class DPOrderClosedMsg( + var closed: Boolean = true // true: 结束 +) : BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED.type) + +data class AppConnectMsg( + var isViewShow: Boolean = true, + var isPlay: Boolean = false, + var msg: String, + var boxType: Int = -1 +) : BaseDPMsg(DPMsgType.TYPE_COMMON.type) + +data class TaskDetailsMsg( + var msg: String?, +) : BaseDPMsg(DPMsgType.TYPE_TASK_DETAILS.type) + +data class WriteOffMsg( + val isScuccess: Boolean?, + val phone: String?, + val ticketSize: Int?, + val ticketName: String?, + val failedReason: String?, + val orderNo: String? +) : BaseDPMsg(DPMsgType.TYPE_WRITEOFF_INFO.type) + +data class WriteOffDevicesMsg( + val isConnectScanner: Boolean?, + val reason: String? +) : BaseDPMsg(DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type) + +// 更换支持的业务模式 +data class ChangeBusinessType( + val vehicleType: VehicleType, + val businessType: BusinessType, + val projectType: ProjectType, + val envType: EnvType, +) : BaseDPMsg(DPMsgType.TYPE_CHANGE_BUSINESS_TYPE.type) + +// 检测环境 +data class EnvCheck( + val vehicleType: VehicleType, + val businessType: BusinessType, + val projectType: ProjectType, + val envType: EnvType, +) : BaseDPMsg(DPMsgType.TYPE_ENV_CHECK.type) + +// 车辆类型 +enum class VehicleType { + T1T2, + C1, + B1, + B2, + M1, +} + +enum class BusinessType { + none, + bus, + shuttle, + charter, + taxi, + taxiunmanned +} + +enum class ProjectType { + dali, + mogo, + saas, + yantai +} + +enum class EnvType { + qa, + online, + demo +} + + diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/OCHPlanningActionsCallback.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/OCHPlanningActionsCallback.kt similarity index 71% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/OCHPlanningActionsCallback.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/OCHPlanningActionsCallback.kt index 558504a408..145d21d2f4 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/OCHPlanningActionsCallback.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/OCHPlanningActionsCallback.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.stopsidemanager +package com.mogo.och.common.module.manager.stopside interface OCHPlanningActionsCallback { fun onStartAutopilotFailure(actionStatus: StopSideStatus, stopSideStatus : Boolean?, errorInfo : String?) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideManager.kt similarity index 99% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideManager.kt index fbf4e26315..8f49e6a825 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.stopsidemanager +package com.mogo.och.common.module.manager.stopside import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideStatus.kt similarity index 80% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideStatus.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideStatus.kt index 87d60dfdb0..f7ffe2ae75 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopsidemanager/StopSideStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/stopside/StopSideStatus.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.stopsidemanager +package com.mogo.och.common.module.manager.stopside enum class StopSideStatus { START(),// 开始靠边停车 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiStateManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiStateManager.kt similarity index 99% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiStateManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiStateManager.kt index e47708c6ac..f264434b89 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiStateManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiStateManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.xiaozhimanager +package com.mogo.och.common.module.manager.xiaozhi import android.Manifest import androidx.core.app.ActivityCompat diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiV2NManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiV2NManager.kt similarity index 99% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiV2NManager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiV2NManager.kt index 03a507408f..ff37f33553 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiV2NManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiV2NManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.xiaozhimanager +package com.mogo.och.common.module.manager.xiaozhi import com.mogo.eagle.core.data.enums.EventTypeEnumNew import com.mogo.eagle.core.function.api.hmi.xiaozhi.event.Event diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiView.kt similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiView.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiView.kt index 20783d5640..7298141888 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiView.kt @@ -1,23 +1,16 @@ -package com.mogo.och.common.module.manager.xiaozhimanager +package com.mogo.och.common.module.manager.xiaozhi import android.animation.ObjectAnimator import android.animation.ValueAnimator import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import android.view.View import android.view.animation.LinearInterpolator -import androidx.appcompat.widget.AppCompatImageView import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.R import com.mogo.och.common.module.utils.FrameAnimatorContainer -import com.mogo.tts.base.zhi.CallbackWidget -import com.mogo.tts.base.zhi.ZhiRecordWinUi import kotlinx.android.synthetic.main.common_xiaozhi.view.aciv_v2n_event import kotlinx.android.synthetic.main.common_xiaozhi.view.aciv_xiaozhi -import java.util.concurrent.ArrayBlockingQueue -import java.util.concurrent.atomic.AtomicBoolean class ZhiView : ConstraintLayout, ZhiViewmanager.IViewCallback { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiViewmanager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiViewmanager.kt similarity index 99% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiViewmanager.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiViewmanager.kt index 3ddd1a58a7..8d90d6f0fb 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhimanager/ZhiViewmanager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/xiaozhi/ZhiViewmanager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.manager.xiaozhimanager +package com.mogo.och.common.module.manager.xiaozhi import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.R diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonServiceCallback.java similarity index 85% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonServiceCallback.java index 7aa1d80dc2..3ad859723e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonServiceCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.network; +package com.mogo.och.common.module.network; /** * @author congtaowang diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonSubscribeImpl.kt similarity index 66% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonSubscribeImpl.kt index 3345bd2980..3b82dde069 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/OchCommonSubscribeImpl.kt @@ -1,9 +1,10 @@ -package com.mogo.och.common.module.biz.network +package com.mogo.och.common.module.network import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.RequestOptions import com.mogo.eagle.core.network.SubscribeImpl import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.CallerLoggerUtils.flavorTag class OchCommonSubscribeImpl( @@ -16,21 +17,29 @@ class OchCommonSubscribeImpl( const val TAG = "OchCommonSubscribeImpl" } + init { + CallerLogger.e("$flavorTag$TAG", "$apiName: 去请求()") + OchChainLogManager.writeChainLogNet("接口:${apiName}","去请求") + } + override fun onSuccess(o: T) { super.onSuccess(o) CallerLogger.d("$flavorTag$TAG", "$apiName: onSuccess() ${o.msg}") + OchChainLogManager.writeChainLogNet("接口:${apiName}","请求成功:${o}") callback?.onSuccess(o) } override fun onError(e: Throwable) { super.onError(e) CallerLogger.e("$flavorTag$TAG", "$apiName: onError() ${e.message}") + OchChainLogManager.writeChainLogNet("接口:${apiName}","请求失败:${e.message}") callback?.onError("$apiName: onError() ${e.message}") } override fun onError(message: String, code: Int) { super.onError(message, code) CallerLogger.e("$flavorTag$TAG", "$apiName: onError() code = $code; message = $message") + OchChainLogManager.writeChainLogNet("接口:${apiName}","请求失败: onError() code = $code; message = $message\"") callback?.onFail(code, message) } } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/FRetryWithTime.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt similarity index 60% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/FRetryWithTime.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt index 5e7796806e..9323b8cb1a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/FRetryWithTime.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt @@ -1,9 +1,11 @@ -package com.mogo.och.common.module.biz.network.interceptor +package com.mogo.och.common.module.network.interceptor import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.constant.LoginStatusManager -import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.biz.login.LoginStatusEnum import io.reactivex.Observable import io.reactivex.ObservableSource import io.reactivex.functions.Function @@ -16,7 +18,9 @@ class FRetryWithTime : Function> { MoGoAiCloudClient.getInstance().refreshToken() return Observable.error(OchCommonRetryException()) }else if(it.code == 1003){ - LoginStatusManager.setLoginStatus(TaxiLoginStatusEnum.Logout) + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) + } } } return Observable.just(baseData) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonNetInterceptor.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonNetInterceptor.kt similarity index 91% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonNetInterceptor.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonNetInterceptor.kt index ef94848e01..6bb7e3de4e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonNetInterceptor.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonNetInterceptor.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.network.interceptor +package com.mogo.och.common.module.network.interceptor import io.reactivex.Observable import com.mogo.eagle.core.data.BaseData diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonRetryException.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonRetryException.java similarity index 52% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonRetryException.java rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonRetryException.java index 262d1806c0..4078aa0f55 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/OchCommonRetryException.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/OchCommonRetryException.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.network.interceptor; +package com.mogo.och.common.module.network.interceptor; public class OchCommonRetryException extends RuntimeException{ diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/RetryWithTime.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/RetryWithTime.kt similarity index 85% rename from OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/RetryWithTime.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/RetryWithTime.kt index 83606fdea0..5c06544bc0 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/interceptor/RetryWithTime.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/RetryWithTime.kt @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.network.interceptor +package com.mogo.och.common.module.network.interceptor import com.mogo.eagle.core.utilcode.constant.TimeConstants import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -19,7 +19,7 @@ class RetryWithTime : Function, ObservableSource> { override fun apply(throwableObservable: Observable): ObservableSource? { return throwableObservable.flatMap { ++current - CallerLogger.e("${flavorTag}${TAG}", " 时间:${TimeUtils.getStringByNow(0, TimeConstants.SEC)}") + CallerLogger.e("${flavorTag}$TAG", " 时间:${TimeUtils.getStringByNow(0, TimeConstants.SEC)}") if (it is OchCommonRetryException && current < timeDelys.size) { Observable.timer(timeDelys[current].toLong(), TimeUnit.SECONDS) } else { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt index 97735b8d7a..e119eed607 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt @@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils -import com.mogo.och.common.module.manager.distancemamager.DistanceDegree +import com.mogo.och.common.module.manager.distance.DistanceDegree import mogo.telematics.pad.MessagePad import java.util.TreeMap import kotlin.math.acos diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt new file mode 100644 index 0000000000..9a393ab0ca --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/FlavorUtils.kt @@ -0,0 +1,287 @@ +package com.mogo.och.common.module.utils + +import com.mogo.commons.debug.DebugConfig +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.util.AppUtils +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType +import com.mogo.och.common.module.manager.socket.lan.bean.EnvType +import com.mogo.och.common.module.manager.socket.lan.bean.ProjectType +import com.mogo.och.common.module.manager.socket.lan.bean.VehicleType +import kotlin.text.StringBuilder + +object FlavorUtils { + + var vehicleType: VehicleType? = null + var businessType: BusinessType? = null + var projectType: ProjectType? = null + var envType: EnvType? = null + + + fun getInfo():String{ + val info = StringBuilder() + + when (ProjectUtils.getProjectType()) { + Project.SAAS -> info.append("saas") + Project.DALI -> info.append("dali") + Project.MOGO -> info.append("mogo") + Project.YANTAI -> info.append("yantai") + } + + if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { + info.append(" T1T2") + } else if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) { + info.append(" M1") + } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + info.append(" B1") + } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + info.append(" B2") + } else { + info.append(" C1") + } + + when (DebugConfig.getNetMode()) { + 2 -> { + info.append(" qa ") + } + + 3 -> { + info.append(" online ") + } + + 4 -> { + info.append(" demo ") + } + + else -> { + info.append(" qa ") + } + } + + info.append(" Passenger") + info.append(" ${AppUtils.getAppVersionName()}") + info.append(" AppSN:${SharedPrefsMgr.getInstance().sn}") + return info.toString() + } + + fun getBusinessInfo(businessType: Int):String { + val businessEnum = BusinessEnum.valueOf(businessType) + FunctionBuildConfig.supportBusiness.forEach { + when (it) { + "shuttle" -> { + val isSupply = businessEnum == BusinessEnum.Shuttle + if (isSupply) { + return "" + } + } + + "bus" -> { + val isSupply = businessEnum == BusinessEnum.Bus + if (isSupply) { + return "" + } + } + + "taxi" -> { + val isSupply = businessEnum == BusinessEnum.Taxi + if (isSupply) { + return "" + } + } + + "charter" -> { + val isSupply = businessEnum == BusinessEnum.Charter + if (isSupply) { + return "" + } + } + + else -> {} + } + } + val reason = StringBuilder() + reason.append("业务异常<当前支持:") + FunctionBuildConfig.supportBusiness.forEachIndexed { index, s -> + if(index==FunctionBuildConfig.supportBusiness.size-1){ + reason.append(s) + }else{ + reason.append("${s},") + } + } + when (businessEnum) { + BusinessEnum.Taxi -> reason.append(" 后台配置:taxi>") + BusinessEnum.Bus -> reason.append(" 后台配置:bus>") + BusinessEnum.Shuttle -> reason.append(" 后台配置:shuttle>") + BusinessEnum.Charter -> reason.append(" 后台配置:charter>") + else -> reason.append(" 后台配置:未知>") + } + return reason.toString() + } + + fun getEnvCheck() { + businessType = + when (AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode)) { + AppIdentityModeUtils.Product.BUS -> { + BusinessType.bus + } + + AppIdentityModeUtils.Product.TAXI -> { + BusinessType.taxi + } + + AppIdentityModeUtils.Product.SWEEPER -> { + BusinessType.none + } + + AppIdentityModeUtils.Product.SHUTTLE -> { + BusinessType.shuttle + } + + AppIdentityModeUtils.Product.CHARTER -> { + BusinessType.charter + } + + else -> { + BusinessType.none + } + } + + if(vehicleType==null||projectType==null||envType==null) { + vehicleType = + if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { + VehicleType.T1T2 + } else if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) { + VehicleType.M1 + } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + VehicleType.B1 + } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + VehicleType.B2 + } else { + VehicleType.C1 + } + + projectType = when (ProjectUtils.getProjectType()) { + Project.SAAS -> ProjectType.saas + Project.DALI -> ProjectType.dali + Project.MOGO -> ProjectType.mogo + Project.YANTAI -> ProjectType.yantai + } + envType = when (DebugConfig.getNetMode()) { + + 2 -> { + EnvType.qa + } + + 3 -> { + EnvType.online + } + + 4 -> { + EnvType.demo + } + + else -> { + EnvType.qa + } + } + } + } + + fun checkAllEnv( projectType: ProjectType, + envType: EnvType, + vehicleType: VehicleType, + businessType: BusinessType):String{ + + val reason = StringBuilder() + + val isProjectSupply = when (ProjectUtils.getProjectType()) { + Project.SAAS -> projectType == ProjectType.saas + Project.DALI -> projectType == ProjectType.dali + Project.MOGO -> projectType == ProjectType.mogo + Project.YANTAI -> projectType == ProjectType.yantai + } + if(!isProjectSupply){ + reason.append("项目异常<当前:${ProjectUtils.getProjectType().name}, 后台配置:${projectType.name}> ") + } + + val currentVehicle:String + val vehicleTypeSupply = + if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { + currentVehicle = VehicleType.T1T2.name + vehicleType == VehicleType.T1T2 + } else if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)) { + currentVehicle = VehicleType.M1.name + vehicleType == VehicleType.M1 + } else if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) { + currentVehicle = VehicleType.B1.name + vehicleType == VehicleType.B1 + } else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { + currentVehicle = VehicleType.B2.name + vehicleType == VehicleType.B2 + } else { + currentVehicle = VehicleType.C1.name + vehicleType == VehicleType.C1 + } + if(!vehicleTypeSupply){ + reason.append("车型异常<当前:${currentVehicle}, 后台配置:${vehicleType.name}> ") + } + + val currentenvType:String + val envTypeSupply = when (DebugConfig.getNetMode()) { + 2 -> { + currentenvType = EnvType.qa.name + envType == EnvType.qa + } + + 3 -> { + currentenvType = EnvType.online.name + envType == EnvType.online + } + + 4 -> { + currentenvType = EnvType.demo.name + envType == EnvType.demo + } + + else -> { + currentenvType = EnvType.qa.name + envType == EnvType.qa + } + } + if(!envTypeSupply){ + reason.append("环境异常<当前:${currentenvType} 后台配置:${envType.name}> ") + } + + + val businessTypeSupply = checkBusinessMine(businessType) + + if(!businessTypeSupply){ + reason.append("业务异常<当前支持:") + FunctionBuildConfig.supportBusiness.forEachIndexed { index, s -> + if(index==FunctionBuildConfig.supportBusiness.size-1){ + reason.append(s) + }else{ + reason.append("${s},") + } + } + reason.append(" 后台配置:${businessType.name}> ") + } + + return reason.toString() + } + + fun checkBusinessMine(businessType: BusinessType) :Boolean{ + if(businessType==BusinessType.none){ + return true + } + FunctionBuildConfig.supportBusiness.forEach { + if (businessType.name == it) { + return true + } + } + return false + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ProjectUtils.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ProjectUtils.kt new file mode 100644 index 0000000000..a16951fb2f --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ProjectUtils.kt @@ -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") +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt index 7794099b4f..09021ada3f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt @@ -3,7 +3,7 @@ package com.mogo.och.common.module.voice import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.audiofocusmanager.AudioFocusManager +import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import com.mogo.tts.base.IMogoTTSCallback import com.mogo.tts.base.LangTtsEntity import com.mogo.tts.base.MultiLangTtsEntity diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/DriverConnectStatusView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/DriverConnectStatusView.kt index dcfd21e62c..5c0448c7e0 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/DriverConnectStatusView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/DriverConnectStatusView.kt @@ -8,8 +8,8 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.R -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo class DriverConnectStatusView @JvmOverloads constructor( context: Context, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt new file mode 100644 index 0000000000..13f1c14bcc --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt @@ -0,0 +1,61 @@ +package com.mogo.och.common.module.wigets + +import android.animation.ObjectAnimator +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.animation.LinearInterpolator +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.map.listener.IMogoMapListener +import com.mogo.map.listener.MogoMapListenerHandler +import com.mogo.och.common.module.R +import kotlinx.android.synthetic.main.common_loading_map.view.aciv_loading_map + +class LoadingMapStatusView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr),IMogoMapListener { + companion object { + const val TAG = "LoadingMapStatusView" + } + + private var autopilotLoadingAnimator: ObjectAnimator? = null + + init { + LayoutInflater.from(context).inflate(R.layout.common_loading_map, this, true) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerLogger.d(TAG,"onAttachedToWindow") + visibility = VISIBLE + MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener(TAG,this) + if (autopilotLoadingAnimator == null) { + autopilotLoadingAnimator = + ObjectAnimator.ofFloat(aciv_loading_map, "rotation", 0f, 360f) + autopilotLoadingAnimator?.setInterpolator(LinearInterpolator()) + autopilotLoadingAnimator?.setRepeatCount(-1) //无限循环 + autopilotLoadingAnimator?.setDuration(1000) //设置持续时间 + } + autopilotLoadingAnimator!!.start() //动画开始 + + setOnClickListener { + CallerLogger.d(TAG,"点击") + } + } + + override fun onMapLoaded() { + visibility = GONE + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerLogger.d(TAG,"onDetachedFromWindow") + MogoMapListenerHandler.mogoMapListenerHandler.unregisterHostMapListener(TAG) + } + + + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/mapdirectionview/MapDirectionViewModel.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/mapdirectionview/MapDirectionViewModel.kt index 3b2df2feec..e21fb838d2 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/mapdirectionview/MapDirectionViewModel.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/mapdirectionview/MapDirectionViewModel.kt @@ -4,8 +4,8 @@ import androidx.lifecycle.ViewModel import com.amap.api.maps.model.LatLng import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.ITrajectoryListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager class MapDirectionViewModel: ViewModel(), ITrajectoryListener { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt index 03577124d4..e65cf29f6f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt @@ -13,10 +13,10 @@ import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.common.module.wigets.media.MediaItem.Companion.MEDIA_TYPE_IMAGE import com.mogo.och.common.module.wigets.media.MediaItem.Companion.MEDIA_TYPE_VIDEO import io.reactivex.Observable diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/toast/ToastCharterUtils.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/toast/ToastCharterUtils.kt index 751d21222e..0e86882483 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/toast/ToastCharterUtils.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/toast/ToastCharterUtils.kt @@ -11,7 +11,6 @@ import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg import me.jessyan.autosize.utils.AutoSizeUtils object ToastCharterUtils { diff --git a/OCH/common/common/src/main/res/drawable-nodpi/common_loading_map.png b/OCH/common/common/src/main/res/drawable-nodpi/common_loading_map.png new file mode 100755 index 0000000000..bec43bcdde Binary files /dev/null and b/OCH/common/common/src/main/res/drawable-nodpi/common_loading_map.png differ diff --git a/OCH/common/common/src/main/res/drawable-xhdpi/bus_ic_login_bg.webp b/OCH/common/common/src/main/res/drawable-xhdpi/bus_ic_login_bg.webp deleted file mode 100644 index 7d76261863..0000000000 Binary files a/OCH/common/common/src/main/res/drawable-xhdpi/bus_ic_login_bg.webp and /dev/null differ diff --git a/OCH/common/common/src/main/res/drawable-xhdpi/taxi_ic_login_bg.webp b/OCH/common/common/src/main/res/drawable-xhdpi/taxi_ic_login_bg.webp deleted file mode 100644 index 7af7432551..0000000000 Binary files a/OCH/common/common/src/main/res/drawable-xhdpi/taxi_ic_login_bg.webp and /dev/null differ diff --git a/OCH/common/common/src/main/res/layout/common_loading_map.xml b/OCH/common/common/src/main/res/layout/common_loading_map.xml new file mode 100644 index 0000000000..274e412dc3 --- /dev/null +++ b/OCH/common/common/src/main/res/layout/common_loading_map.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/OCH/common/common/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt b/OCH/common/common/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt index 05639c7cbd..dca3cac696 100644 --- a/OCH/common/common/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt +++ b/OCH/common/common/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt @@ -6,9 +6,8 @@ import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.utilcode.util.CoordinateTransform import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.GsonUtils -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.utils.DateTimeUtil -import org.junit.Assert.* import org.junit.Test /** diff --git a/OCH/facade/.gitignore b/OCH/facade/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/OCH/facade/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/OCH/facade/build.gradle b/OCH/facade/build.gradle new file mode 100644 index 0000000000..0094d2ec71 --- /dev/null +++ b/OCH/facade/build.gradle @@ -0,0 +1,75 @@ +plugins { + id 'com.android.library' + id 'org.jetbrains.kotlin.android' + id 'kotlin-kapt' +} + +android { + compileSdkVersion rootProject.ext.android.compileSdkVersion + defaultConfig { + minSdkVersion rootProject.ext.android.minSdkVersion + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles "consumer-rules.pro" + kapt { + useBuildCache = false + arguments { + arg("AROUTER_MODULE_NAME", project.getName()) + } + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + lintOptions { + abortOnError false + } + kotlinOptions { + jvmTarget = '1.8' + } + + flavorDimensions "vehicle" + productFlavors { + // 车型:金旅星辰、开沃 小巴业务 + jinlvvan { + dimension "vehicle" + buildConfigField 'int', 'NEW_TEST', '0' + } + // 车型:金旅m2 小巴业务 + m2 { + dimension "vehicle" + buildConfigField 'int', 'NEW_TEST', '1' + } + } +} + +dependencies { + + implementation fileTree(dir: "libs", include: ["*.jar"]) + implementation rootProject.ext.dependencies.kotlinstdlib + implementation rootProject.ext.dependencies.androidxccorektx + implementation rootProject.ext.dependencies.androidxappcompat + implementation rootProject.ext.dependencies.material + implementation rootProject.ext.dependencies.rxandroid + implementation rootProject.ext.dependencies.arouter + kapt rootProject.ext.dependencies.aroutercompiler + + apply from: "./script/och.gradle" + + implementation project(":OCH:common:common") + implementation project(":OCH:common:biz") + + if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { + api rootProject.ext.dependencies.mogoutils + }else { + api project(":core:mogo-core-utils") + } +} \ No newline at end of file diff --git a/OCH/facade/consumer-rules.pro b/OCH/facade/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/OCH/facade/proguard-rules.pro b/OCH/facade/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/OCH/facade/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/script/functions/och.gradle b/OCH/facade/script/och.gradle similarity index 53% rename from app/script/functions/och.gradle rename to OCH/facade/script/och.gradle index f95942131d..dd8c3488f0 100644 --- a/app/script/functions/och.gradle +++ b/OCH/facade/script/och.gradle @@ -2,44 +2,49 @@ apply from: "./script/utils.gradle" // 网约车服务:仅小巴车、出租车渠道用 project.dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { -// fPadLenovoImplementation(rootProject.ext.dependencies.mogoochnoop) - - // Bus司机端 -// fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus) -// // Bus乘客端 -// fMultiDisplayOchBusImplementation(rootProject.ext.dependencies.mogoochbus) -// -// // taxi司机端 -// fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) -// // taxi乘客端 -// fMultiDisplayOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) } else { - - if (isCurrentDriver("bus")) { + if (isCurrentDriver("C1")) { + println "och.gradle---Driver---C1" + implementation project.project(':OCH:sweeper:driver') + } else if (isCurrentDriver("B1")) { + println "och.gradle---Driver---B1" + implementation project.project(':OCH:shuttle:driver') implementation project.project(':OCH:bus:driver') - } else if (isCurrentPassenger("bus")) { + } else if (isCurrentPassenger("B1")) { + println "och.gradle---Passenger---B1" implementation project.project(':OCH:bus:passenger') - } else if (isCurrentDriver("charter")) { - implementation project.project(':OCH:charter:driver') - } else if (isCurrentPassenger("charter")) { - implementation project.project(':OCH:charter:passenger') - } else if (isCurrentDriver("shuttle")) { - implementation project(':OCH:shuttle:driver') - } else if (isCurrentPassenger("shuttle")) { implementation project.project(':OCH:shuttle:passenger') - } else if (isCurrentDriver("sweeperOperate")) { - implementation project.project(':OCH:sweeper:driver') - } else if (isCurrentDriver("sweeperCloud")) { - implementation project.project(':OCH:sweeper:driver') - } else if (isCurrentDriver("taxiunmanned")) { - implementation project.project(':OCH:taxi:unmanned-driver') - } else if (isCurrentPassenger("taxiunmanned")) { - implementation project.project(':OCH:taxi:unmanned-passenger') - } else if (isCurrentDriver("taxi")) { - implementation project.project(':OCH:taxi:driver') - } else if (isCurrentPassenger("taxi")) { - implementation project.project(':OCH:taxi:passenger') + } else if (isCurrentDriver("M1")) { + println "och.gradle---Driver---M1" + implementation project.project(':OCH:charter:driver') + } else if (isCurrentPassenger("M1")) { + println "och.gradle---Passenger---M1" + implementation project.project(':OCH:charter:passenger') + } else if (isCurrentDriver("B2")) { + println "och.gradle---Driver---B2" + implementation project.project(':OCH:shuttle:driver') + implementation project.project(':OCH:bus:driver') + } else if (isCurrentPassenger("B2")) { + println "och.gradle---Passenger---B2" + implementation project.project(':OCH:bus:passenger') + implementation project.project(':OCH:shuttle:passenger') + } else if (isCurrentDriver("T1T2")) { + println "och.gradle---Driver---T1T2" + if(isCurrentDriver("saas")){ + implementation project.project(':OCH:taxi:unmanned-driver') + } + if(isCurrentDriver("mogo")){ + implementation project.project(':OCH:taxi:driver') + } + } else if (isCurrentPassenger("T1T2")) { + println "och.gradle---Passenger---T1T2" + if(isCurrentDriver("saas")){ + implementation project.project(':OCH:taxi:unmanned-passenger') + } + if(isCurrentDriver("mogo")){ + implementation project.project(':OCH:taxi:passenger') + } } else { implementation project.project(':OCH:bus:driver') implementation project.project(':OCH:bus:passenger') diff --git a/OCH/facade/script/utils.gradle b/OCH/facade/script/utils.gradle new file mode 100644 index 0000000000..8876c6736e --- /dev/null +++ b/OCH/facade/script/utils.gradle @@ -0,0 +1,70 @@ +boolean isCurrentDriver(String flavors) { + if(isDriver() && isCurrentFlavors(flavors)){ + return true + } + return false +} + +boolean isCurrentPassenger(String flavors) { + if(isPassenger() && isCurrentFlavors(flavors)){ + return true + } + return false +} + +boolean isDriver() { + for (String s : gradle.startParameter.taskNames) { + if (s.contains("Driver") | s.contains("driver")) { + return true + } + } + return false +} + +boolean isPassenger() { + for (String s : gradle.startParameter.taskNames) { + if (s.contains("Passenger") | s.contains("passenger")) { + return true + } + } + return false +} + +boolean isJL() { + for (String s : gradle.startParameter.taskNames) { + if (s.contains("b1") | s.contains("B1")) { + return true + } + } + return false +} + +boolean isM2() { + for (String s : gradle.startParameter.taskNames) { + if (s.contains("b2") | s.contains("B2")) { + return true + } + } + return false +} + +boolean isCurrentFlavors(String flavors){ + for (String s : gradle.startParameter.taskNames) { + + def lowerCase = flavors.toLowerCase() + if (s.toLowerCase().contains(lowerCase)) { + return true + } + } + return false +} + +ext { + isPassenger = this.&isPassenger + isDriver = this.&isDriver + isCurrentFlavors = this.&isCurrentFlavors + isCurrentDriver = this.&isCurrentDriver + isCurrentPassenger = this.&isCurrentPassenger + isJL = this.&isJL + isM2 = this.&isM2 +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/m2/AndroidManifest.xml b/OCH/facade/src/m2/AndroidManifest.xml similarity index 65% rename from OCH/shuttle/passenger/src/m2/AndroidManifest.xml rename to OCH/facade/src/m2/AndroidManifest.xml index 8eb912b35e..b618877172 100644 --- a/OCH/shuttle/passenger/src/m2/AndroidManifest.xml +++ b/OCH/facade/src/m2/AndroidManifest.xml @@ -1,9 +1,7 @@ - - + package="com.mogo.och.facade"> + + + \ No newline at end of file diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/constant/FacadeConst.kt b/OCH/facade/src/main/java/com/mogo/och/facade/constant/FacadeConst.kt new file mode 100644 index 0000000000..cf5bd72fe3 --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/constant/FacadeConst.kt @@ -0,0 +1,13 @@ +package com.mogo.och.facade.constant + +/** + * Created on 2021/12/6 + */ +class FacadeConst { + companion object { + // OCH arouter 路由path + const val DRIVER_PATH = "/driver/api" + const val PASSENGER_PATH = "/passenger/api" + + } +} \ No newline at end of file diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt new file mode 100644 index 0000000000..f8f2e04638 --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt @@ -0,0 +1,55 @@ +package com.mogo.och.facade.route + +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.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.och.common.module.biz.lansocket.LoginLanDriverSocket +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.facade.constant.FacadeConst + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +@Route(path = FacadeConst.DRIVER_PATH) +class FacadeDriverProvider : FacadeProvider() { + private val TAG = "FacadeDriverProvider" + + private val sweeperFacadeProvider:SweeperFacadeProvider by lazy { + SweeperFacadeProvider() + } + + override val functionName: String + get() = TAG + + override fun init(context: Context) { + if (AppIdentityModeUtils.isC1(FunctionBuildConfig.appIdentityMode)) { + sweeperFacadeProvider.init(context) + }else { + super.init(context) + LoginStatusManager.queryLoginStatusByNet() + LoginLanDriverSocket.load() + } + } + + override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? { + if (AppIdentityModeUtils.isC1(FunctionBuildConfig.appIdentityMode)) { + return sweeperFacadeProvider.createCoverage(fragmentActivity,integer) + }else { + return super.createCoverage(fragmentActivity, integer) + } + } + + override fun onDestroy() { + super.onDestroy() + } + + override fun onStatusChange(currentStatus: LoginStatusEnum) { + super.onStatusChange(currentStatus) + } +} diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt new file mode 100644 index 0000000000..7d27e9bebf --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadePassengerProvider.kt @@ -0,0 +1,26 @@ +package com.mogo.och.facade.route + +import android.content.Context +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket +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 + + override fun init(context: Context) { + super.init(context) + LoginLanPassengerSocket.load() + } + + +} diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt new file mode 100644 index 0000000000..31c5e4c81f --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -0,0 +1,200 @@ +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.launcher.ARouter +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.hmi.ui.setting.SopView +import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView +import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.biz.lansocket.LoginLanDriverSocket +import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.login.BusinessEnum +import com.mogo.och.common.module.biz.login.ILoginCallback +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.biz.login.LoginStatusEnum +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.utils.ProjectUtils + +/** + * 网约车小巴业务实现入口 + * + * @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) + } + + 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()) { + val fragment = getFragment() + injectStatusBar() + fragment + } else { + removeStatusBar() + CallerHmiManager.hideToolsView() + ToggleDebugView.toggleDebugView.dismiss() + SopView.sopView.dismiss() + 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 if(ProjectUtils.isMogo()){ + getFragmentByServeName(OchCommonConst.TAXI_DRIVER) + }else if(ProjectUtils.isSaas()){ + getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_DRIVER) + }else{ + 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_PASSENGER) + } else if (AppIdentityModeUtils.isShuttlePassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.SHUTTLE_PASSENGER) + } else if (AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)) { + return getFragmentByServeName(OchCommonConst.CHARTER_PASSENGER) + } else if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) { + return if(ProjectUtils.isMogo()){ + getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) + }else if(ProjectUtils.isSaas()){ + getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_PASSENGER) + }else{ + getFragmentByServeName(OchCommonConst.TAXI_PASSENGER) + } + } + 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: LoginStatusEnum) { + d(TAG, "登录状态发生改变 ${currentStatus}") + UiThreadHandler.post { + showFragment() + } + } + + override fun onBusinessChange(businessEnum: BusinessEnum) { + super.onBusinessChange(businessEnum) + val (_, identity, model) =AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode) + when (businessEnum) { + BusinessEnum.None -> {} + BusinessEnum.Taxi -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.TAXI}_${identity}_${model}" + BusinessEnum.Bus -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.BUS}_${identity}_${model}" + BusinessEnum.Shuttle -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}" + BusinessEnum.Charter -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.CHARTER}_${identity}_${model}" + } + } + + override fun onBusinessChangeDebug(businessEnum: BusinessEnum) { + onBusinessChange(businessEnum) + val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager + val fragment = getFragment() + injectStatusBar() + d(TAG, "切换 fragment:${fragment}") + + if (supportFragmentManager != null) { + val back = supportFragmentManager.beginTransaction() + back.replace(containerId, fragment, fragment.tag) + back.commit() + } + } + + private fun injectStatusBar() { + activity?.let { + val decorView = it.window.decorView as? FrameLayout ?: return + val contentView = + (decorView.findViewById(android.R.id.content) as? ViewGroup)?.getChildAt(0) + ?: return + contentView.fitsSystemWindows = false + decorView.clipToPadding = false + var statusBarView = decorView.findViewWithTag("status_bar") + val statusBar = commonService?.getStatusBarView(it) + statusBarView = statusBar ?: StatusBarView(it) + statusBarView.tag = "status_bar" + val statusBarLP = FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT, + ) + statusBarLP.topMargin = 0 + statusBarLP.gravity = Gravity.TOP + decorView.addView(statusBarView, statusBarLP) + } + } + private fun removeStatusBar(){ + activity?.let { + val decorView = it.window.decorView as? FrameLayout ?: return + val statusBar = decorView.findViewWithTag("status_bar") + statusBar?.let { + decorView.removeView(it) + } + } + } + +} diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/SweeperFacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/SweeperFacadeProvider.kt new file mode 100644 index 0000000000..37eb9d8fe8 --- /dev/null +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/SweeperFacadeProvider.kt @@ -0,0 +1,73 @@ +package com.mogo.och.facade.route + +import android.content.Context +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import androidx.fragment.app.FragmentManager +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider +import com.mogo.eagle.core.function.api.vehicle.IMoGoSweeperModeListener +import com.mogo.eagle.core.function.call.vehicle.CallerSweeperModeListenerManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonService + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ + class SweeperFacadeProvider : IMoGoFunctionProvider, IMoGoSweeperModeListener { + private var containerId = 0 + private var activity: FragmentActivity? = null + private val TAG = "SweeperFacadeProvider" + private var commonService: CommonService? = null + + override val functionName: String + get() = TAG + + override fun init(context: Context) { + d(TAG, "SweeperFacadeProvider:init") + CallerSweeperModeListenerManager.addListener(TAG, this) + } + + override fun createCoverage(fragmentActivity: FragmentActivity?, integer: Int?): Fragment? { + containerId = integer!! + activity = fragmentActivity + showFragment() + return null + } + + private fun showFragment() { + val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager + val (_, identity, model) =AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode) + FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SWEEPER}_${identity}_${model}" + val fragment = getFragmentByServeName(OchCommonConst.SWEEPER_DRIVER) + + d(TAG, "切换 fragment:${fragment}") + + if (supportFragmentManager != null) { + val back = supportFragmentManager.beginTransaction() + back.replace(containerId, fragment, fragment.tag) + back.commit() + } + } + + private fun getFragmentByServeName(serviceName: String): Fragment { + commonService = ARouter.getInstance().build(serviceName).navigation() as CommonService? + return commonService!!.getFragment() + } + + override fun onDestroy() { + //若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 + if (activity == null) return + activity!!.finish() + } + + override fun onSweeperCurrentModeChanged(currentMode: String) { + commonService?.invokeByName("reStart",currentMode) + } + +} diff --git a/OCH/facade/src/main/res/layout/taxi_login_view_1.xml b/OCH/facade/src/main/res/layout/taxi_login_view_1.xml new file mode 100644 index 0000000000..5ebb33a52c --- /dev/null +++ b/OCH/facade/src/main/res/layout/taxi_login_view_1.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/OCH/shuttle/driver/build.gradle b/OCH/shuttle/driver/build.gradle index 49905dadd6..9d0078f8e6 100644 --- a/OCH/shuttle/driver/build.gradle +++ b/OCH/shuttle/driver/build.gradle @@ -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", "shuttle"+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 diff --git a/OCH/shuttle/driver/src/main/AndroidManifest.xml b/OCH/shuttle/driver/src/main/AndroidManifest.xml index 76856fd226..d77be24a42 100644 --- a/OCH/shuttle/driver/src/main/AndroidManifest.xml +++ b/OCH/shuttle/driver/src/main/AndroidManifest.xml @@ -1,16 +1,16 @@ + package="com.mogo.och.shuttle"> - + - diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java deleted file mode 100644 index 5d4584dd99..0000000000 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java +++ /dev/null @@ -1,85 +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 org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * 网约车小巴业务实现入口 - * - * @author tongchenfei - */ -@Route(path = BusConst.PATH) -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(); - } -} diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt deleted file mode 100644 index 0f3c2d294f..0000000000 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.bus.net.login - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class LoginBusImpl: LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.getPhoneCode(context,phone,callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.logout(context,location4Login,callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.queryDriverServiceStatus(context,callback) - } - - -} \ No newline at end of file diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt deleted file mode 100644 index a31ffeb463..0000000000 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt +++ /dev/null @@ -1,108 +0,0 @@ -package com.mogo.och.bus.net.login - -import android.content.Context -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.commons.storage.SharedPrefsMgr -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 - -/** - * Created by pangfan on 2021/8/19 - */ -object OchCommonServiceManager { - - private const val TAG = "OchCommonServiceManager" - - private val mLoginServiceApi: OchLoginServiceApi = - MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( - OchLoginServiceApi::class.java - ) - - /** - * 获取手机验证码 - * @param context - * @param callback - */ - @JvmStatic - fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - mLoginServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) - } - - /** - * 通过验证码登录 - * @param context - * @param callback - */ - @JvmStatic - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - val sn = SharedPrefsMgr.getInstance().sn - mLoginServiceApi.gotoLoginBycode4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) - } - - /** - * 登出 - */ - @JvmStatic - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - mLoginServiceApi.logout4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean(SharedPrefsMgr.getInstance().sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) - } - - /** - * 接单状态和登录状态查询 - * - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - if (SharedPrefsMgr.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return - } - mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) - } - -} \ No newline at end of file diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java deleted file mode 100644 index 81a0206a40..0000000000 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.mogo.och.bus.net.login; - -import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.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.Path; -import retrofit2.http.Query; - -/** - * Created by pangfan on 2021/8/19 - *

- * 网约车-出租车接口定义 - */ -interface OchLoginServiceApi { - /** - * 获取手机验证码 - * - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/och-shuttle-cabin/api/sms/v1/driver/sendSms" ) - Observable getPhoneCode(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); - - /** - * 通过验证码登录 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/och-shuttle-cabin/api/flow/v1/driver/startOperation" ) - Observable gotoLoginBycode4Bus(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); - - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-shuttle-cabin/api/flow/v1/driver/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, - @Body TaxiLogoutReqBean data); - - /** - * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * @param sn - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @GET( "/och-shuttle-cabin/api/business/v1/driver/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId - , @Header("ticket") String ticket, @Query("sn") String sn); - -} diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ShuttleDriverProvider.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ShuttleDriverProvider.kt new file mode 100644 index 0000000000..86aa46d082 --- /dev/null +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ShuttleDriverProvider.kt @@ -0,0 +1,32 @@ +package com.mogo.och.shuttle + +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.shuttle.fragment.ShuttleFragment +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonServiceImpl + +/** + * 网约车小巴业务实现入口 + * + * @author tongchenfei + */ +@Route(path = OchCommonConst.SHUTTLE_DRIVER) +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 + } + +} diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusCloseTaskRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusCloseTaskRequest.java similarity index 93% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusCloseTaskRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusCloseTaskRequest.java index 14346ad51a..7854aa0e07 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusCloseTaskRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusCloseTaskRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; import com.mogo.och.common.module.utils.DateTimeUtil; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOperationStatusRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOperationStatusRequest.java similarity index 95% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOperationStatusRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOperationStatusRequest.java index 11b865f15c..2b45d47011 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOperationStatusRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOperationStatusRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrderBean.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrderBean.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrderBean.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrderBean.java index 85c3a1da58..4a4230ccd6 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrderBean.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrderBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; /** * @author congtaowang diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrdersResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrdersResponse.java similarity index 92% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrdersResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrdersResponse.java index 2215a298a5..03a2b23b96 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusOrdersResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusOrdersResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineStationsRequest.java similarity index 90% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineStationsRequest.java index f6c9828873..0f3cd777ea 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineStationsRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineTaskResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineTaskResponse.java similarity index 89% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineTaskResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineTaskResponse.java index 4911c3cf99..fbf8f22c3b 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLineTaskResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLineTaskResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLinesResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLinesResponse.java similarity index 94% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLinesResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLinesResponse.java index 17540e3eed..a5ad54daa8 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryLinesResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryLinesResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryWriteOffPassengersResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryWriteOffPassengersResponse.java similarity index 86% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryWriteOffPassengersResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryWriteOffPassengersResponse.java index 36a5e3b409..0d1139ee93 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusQueryWriteOffPassengersResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusQueryWriteOffPassengersResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetDrivingLineRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetDrivingLineRequest.java similarity index 93% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetDrivingLineRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetDrivingLineRequest.java index 75432c7782..ef6cdbda93 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetDrivingLineRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetDrivingLineRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; import com.mogo.och.common.module.utils.DateTimeUtil; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetLineStatusRequest.java similarity index 91% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetLineStatusRequest.java index e3642a892e..24bdcb8a59 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusResetLineStatusRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusResetLineStatusRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutePlanningUpdateReqBean.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutePlanningUpdateReqBean.java similarity index 95% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutePlanningUpdateReqBean.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutePlanningUpdateReqBean.java index 080e7d47bd..598b8c8ef5 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutePlanningUpdateReqBean.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutePlanningUpdateReqBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import java.util.List; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutesResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutesResponse.java similarity index 94% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutesResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutesResponse.java index 39d43217af..667135077b 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusRoutesResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusRoutesResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.data.bean.BusRoutesResult; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusUpdateSiteStatusRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusUpdateSiteStatusRequest.java similarity index 94% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusUpdateSiteStatusRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusUpdateSiteStatusRequest.java index 92f5f22ea4..13ba2e4f3c 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusUpdateSiteStatusRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusUpdateSiteStatusRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusWriteOffPassengersQueryRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusWriteOffPassengersQueryRequest.java similarity index 94% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusWriteOffPassengersQueryRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusWriteOffPassengersQueryRequest.java index 3e41b91727..d0148f79e9 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/BusWriteOffPassengersQueryRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/BusWriteOffPassengersQueryRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/CarHeartbeatReqBean.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/CarHeartbeatReqBean.java similarity index 82% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/CarHeartbeatReqBean.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/CarHeartbeatReqBean.java index dcacb5e380..b1489610ea 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/CarHeartbeatReqBean.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/CarHeartbeatReqBean.java @@ -1,6 +1,7 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; -import com.mogo.och.bus.constant.BusConst; +import com.mogo.och.shuttle.constant.BusConst; +import com.mogo.och.shuttle.constant.BusConst; import java.util.UUID; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersRequest.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersRequest.java similarity index 95% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersRequest.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersRequest.java index 72e5a3a68f..8c13428bff 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersRequest.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.commons.storage.SharedPrefsMgr; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersResponse.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersResponse.java index 98105058b8..b11ba9329b 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/QueryLeaveAwayPassengersResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/QueryLeaveAwayPassengersResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffCountResponse.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffCountResponse.java similarity index 85% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffCountResponse.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffCountResponse.java index c34204a1b1..b8eaa7e68d 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffCountResponse.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffCountResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffPassenger.java similarity index 89% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffPassenger.java index dd9f9f67c6..624c296d9f 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/bean/WriteOffPassenger.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.bean; +package com.mogo.och.shuttle.bean; import java.io.Serializable; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusADASStatusCallback.java similarity index 85% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusADASStatusCallback.java index 186fc0b5f4..8a59bcb206 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusADASStatusCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.callback; +package com.mogo.och.shuttle.callback; /** * Created on 2021/9/8 diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusControllerStatusCallback.java similarity index 91% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusControllerStatusCallback.java index 8e4528feba..2e3a71fff3 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusControllerStatusCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.callback; +package com.mogo.och.shuttle.callback; import com.mogo.eagle.core.data.map.MogoLocation; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusLinesCallback.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusLinesCallback.java similarity index 63% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusLinesCallback.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusLinesCallback.java index 8250b337c5..f52a9c7454 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IBusLinesCallback.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IBusLinesCallback.java @@ -1,7 +1,7 @@ -package com.mogo.och.bus.callback; +package com.mogo.och.shuttle.callback; -import com.mogo.och.bus.bean.BusQueryLineTaskResponse; -import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse; +import com.mogo.och.shuttle.bean.BusQueryLinesResponse; /** * @author: wangmingjun diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IRefreshBusStationsCallback.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IRefreshBusStationsCallback.java similarity index 93% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IRefreshBusStationsCallback.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IRefreshBusStationsCallback.java index 4f28bf76b9..14e30a34fa 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/IRefreshBusStationsCallback.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/IRefreshBusStationsCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.callback; +package com.mogo.och.shuttle.callback; import com.mogo.och.data.bean.BusStationBean; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/ISlidePannelHideCallback.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/ISlidePannelHideCallback.java similarity index 76% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/ISlidePannelHideCallback.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/ISlidePannelHideCallback.java index 16e6893135..6acad8a540 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/callback/ISlidePannelHideCallback.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/callback/ISlidePannelHideCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.callback; +package com.mogo.och.shuttle.callback; /** * @author: wangmingjun diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/constant/BusConst.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/constant/BusConst.kt similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/constant/BusConst.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/constant/BusConst.kt index d62d02cebe..0c68d7b5e0 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/constant/BusConst.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/constant/BusConst.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.constant +package com.mogo.och.shuttle.constant import com.mogo.commons.debug.DebugConfig diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/fragment/BaseShuttleTabFragment.java similarity index 95% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/fragment/BaseShuttleTabFragment.java index 5f69222cbd..bc36b1fb57 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/fragment/BaseShuttleTabFragment.java @@ -1,6 +1,6 @@ -package com.mogo.och.bus.fragment; +package com.mogo.och.shuttle.fragment; -import static com.mogo.och.bus.constant.BusConst.TIMER_START_AUTOPILOT_INTERVAL; +import static com.mogo.och.shuttle.constant.BusConst.TIMER_START_AUTOPILOT_INTERVAL; import android.animation.ObjectAnimator; import android.os.Bundle; @@ -32,7 +32,6 @@ import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxBubbleView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView; -import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView; import com.mogo.eagle.core.function.smp.view.SmallMapView; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; @@ -42,12 +41,12 @@ import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.listener.MogoMapListenerHandler; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; -import com.mogo.och.bus.R; -import com.mogo.och.bus.ui.ShuttleTrafficDataView; -import com.mogo.och.bus.view.BizMapView; +import com.mogo.och.shuttle.R; +import com.mogo.och.shuttle.ui.ShuttleTrafficDataView; +import com.mogo.och.shuttle.view.BizMapView; import com.mogo.och.data.bean.BusRoutesResult; -import com.mogo.och.bus.model.OrderModel; -import com.mogo.och.bus.view.SlidePanelView; +import com.mogo.och.shuttle.model.OrderModel; +import com.mogo.och.shuttle.view.SlidePanelView; import com.mogo.och.common.module.utils.SoundPoolHelper; import org.greenrobot.eventbus.EventBus; @@ -73,7 +72,7 @@ public abstract class BaseShuttleTabFragment=1 代表是重试 每次到站/路线结束清空置为0 private volatile int firstStartAutopilot = 0; - private LoginService loginService; - public static OrderModel getInstance() { if (sInstance == null) { synchronized (OrderModel.class) { @@ -131,7 +127,6 @@ public class OrderModel { public void init() { mContext = AbsMogoApplication.getApp(); - loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); // 定位监听 CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG,5,mMapLocationListener); @@ -237,8 +232,7 @@ public class OrderModel { if (list != null && list.contains(2)){ //乘客屏 AppConnectMsg msg = new AppConnectMsg(true,false,obj.getContext(),-1); - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).getBytes()); + LanSocketManager.sendMsgToClient(msg); } } @@ -265,8 +259,6 @@ public class OrderModel { // 注销定位监听 CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); - loginService = null; - OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener( @@ -734,8 +726,7 @@ public class OrderModel { BusTransferData data = new BusTransferData(LoginStatusManager.isLogin() ? 1:0,busRoutesResult); TaskDetailsMsg msg = new TaskDetailsMsg(GsonUtils.toJson(data)); CallerLogger.d(M_BUS + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)); - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).getBytes()); + LanSocketManager.sendMsgToClient(msg); } private void pushCacheTransferData(BusRoutesResult result) { @@ -750,8 +741,7 @@ public class OrderModel { AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,String.format(mContext .getString(R.string.bus_arrived_station_tip), arriveStation),-1); - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(arrivedMsg).getBytes()); + LanSocketManager.sendMsgToClient(arrivedMsg); } private void sendStartStationToClient(String nextStation) { @@ -759,24 +749,18 @@ public class OrderModel { .getString(R.string.bus_leave_station_tip), nextStation),-1); - UiThreadHandler.postDelayed(()-> - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(startMsg).getBytes()),DELAY_10S); + UiThreadHandler.postDelayed(()-> LanSocketManager.sendMsgToClient(startMsg),DELAY_10S); } private void sendEndTaskToClient() { AppConnectMsg endMsg = new AppConnectMsg(false,true,mContext .getString(R.string.bus_end_task_tip),-1); - - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(endMsg).getBytes()); + LanSocketManager.sendMsgToClient(endMsg); } public void sendWriteOffNumToClient(String msg){ AppConnectMsg passengerMsg = new AppConnectMsg(false,true,msg,-1); - - CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(passengerMsg).getBytes()); + LanSocketManager.sendMsgToClient(passengerMsg); } /** @@ -1135,7 +1119,7 @@ public class OrderModel { // 登出 public void logout() { MogoLocation gcj02 = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02(); - loginService.loginOut(gcj02.getLatitude(), gcj02.getLongitude()); + LoginStatusManager.loginOut(gcj02.getLatitude(), gcj02.getLongitude()); } public void triggerStartServiceEvent(boolean isRestart, boolean send) { diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/TicketModel.kt similarity index 87% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/TicketModel.kt index a48714e689..53194a5363 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/TicketModel.kt @@ -1,9 +1,8 @@ -package com.mogo.och.bus.model +package com.mogo.och.shuttle.model import com.elegant.network.utils.GsonUtil import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.commons.AbsMogoApplication -import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.enums.EventTypeEnumNew import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType @@ -15,19 +14,19 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.GsonUtils -import com.mogo.och.bus.bean.WriteOffCountResponse -import com.mogo.och.bus.bean.WriteOffPassenger -import com.mogo.och.bus.net.OrderServiceManager -import com.mogo.och.bus.util.ShuttleVoiceManager -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.DPMsgType -import com.mogo.och.common.module.bean.dpmsg.WriteOffDevicesMsg -import com.mogo.och.common.module.bean.dpmsg.WriteOffMsg -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.shuttle.bean.WriteOffCountResponse +import com.mogo.och.shuttle.bean.WriteOffPassenger +import com.mogo.och.shuttle.net.OrderServiceManager +import com.mogo.och.shuttle.util.ShuttleVoiceManager +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDevicesMsg +import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffMsg +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo import io.reactivex.Observable import io.reactivex.ObservableEmitter import io.reactivex.ObservableOnSubscribe @@ -54,7 +53,9 @@ object TicketModel : IReceivedMsgListener, IMogoOnMessageListener{ + object : OchCommonServiceCallback { override fun onSuccess(data: WriteOffCountResponse?) { data?.data?.let { emitterMain?.onNext(it) diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/IBascApiService.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/IBascApiService.java similarity index 87% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/IBascApiService.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/IBascApiService.java index 0bea27008e..d621303976 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/IBascApiService.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/IBascApiService.java @@ -1,16 +1,16 @@ -package com.mogo.och.bus.net; +package com.mogo.och.shuttle.net; import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.bus.bean.BusCloseTaskRequest; -import com.mogo.och.bus.bean.BusOrdersResponse; -import com.mogo.och.bus.bean.BusQueryLineTaskResponse; -import com.mogo.och.bus.bean.BusQueryLinesResponse; -import com.mogo.och.bus.bean.BusQueryLineStationsRequest; -import com.mogo.och.bus.bean.BusRoutesResponse; -import com.mogo.och.bus.bean.QueryLeaveAwayPassengersRequest; -import com.mogo.och.bus.bean.QueryLeaveAwayPassengersResponse; -import com.mogo.och.bus.bean.BusResetDrivingLineRequest; -import com.mogo.och.bus.bean.BusUpdateSiteStatusRequest; -import com.mogo.och.bus.bean.WriteOffCountResponse; +import com.mogo.och.shuttle.bean.BusCloseTaskRequest; +import com.mogo.och.shuttle.bean.BusOrdersResponse; +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse; +import com.mogo.och.shuttle.bean.BusQueryLinesResponse; +import com.mogo.och.shuttle.bean.BusQueryLineStationsRequest; +import com.mogo.och.shuttle.bean.BusRoutesResponse; +import com.mogo.och.shuttle.bean.QueryLeaveAwayPassengersRequest; +import com.mogo.och.shuttle.bean.QueryLeaveAwayPassengersResponse; +import com.mogo.och.shuttle.bean.BusResetDrivingLineRequest; +import com.mogo.och.shuttle.bean.BusUpdateSiteStatusRequest; +import com.mogo.och.shuttle.bean.WriteOffCountResponse; import io.reactivex.Observable; import retrofit2.http.Body; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/OrderServiceManager.kt similarity index 86% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/OrderServiceManager.kt index 38d1bf28ef..ccc455ef95 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/net/OrderServiceManager.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/net/OrderServiceManager.kt @@ -1,16 +1,26 @@ -package com.mogo.och.bus.net +package com.mogo.och.shuttle.net import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.och.bus.bean.* -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.transformIoTry -import com.mogo.och.common.module.biz.network.interceptor.transformTry +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformIoTry +import com.mogo.och.common.module.network.interceptor.transformTry +import com.mogo.och.shuttle.bean.BusCloseTaskRequest +import com.mogo.och.shuttle.bean.BusOrdersResponse +import com.mogo.och.shuttle.bean.BusQueryLineStationsRequest +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse +import com.mogo.och.shuttle.bean.BusQueryLinesResponse +import com.mogo.och.shuttle.bean.BusResetDrivingLineRequest +import com.mogo.och.shuttle.bean.BusRoutesResponse +import com.mogo.och.shuttle.bean.BusUpdateSiteStatusRequest +import com.mogo.och.shuttle.bean.QueryLeaveAwayPassengersRequest +import com.mogo.och.shuttle.bean.QueryLeaveAwayPassengersResponse +import com.mogo.och.shuttle.bean.WriteOffCountResponse /** * @author: wangmingjun diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusLinePresenter.java similarity index 88% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusLinePresenter.java index 9411be65fd..28ae97e982 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusLinePresenter.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.presenter; +package com.mogo.och.shuttle.presenter; import android.os.Looper; @@ -7,12 +7,12 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.bus.bean.BusQueryLineTaskResponse; -import com.mogo.och.bus.bean.BusQueryLinesResponse; -import com.mogo.och.bus.callback.IBusLinesCallback; -import com.mogo.och.bus.model.BusLineModel; -import com.mogo.och.bus.model.OrderModel; -import com.mogo.och.bus.ui.BusSwitchLineView; +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse; +import com.mogo.och.shuttle.bean.BusQueryLinesResponse; +import com.mogo.och.shuttle.callback.IBusLinesCallback; +import com.mogo.och.shuttle.model.BusLineModel; +import com.mogo.och.shuttle.model.OrderModel; +import com.mogo.och.shuttle.ui.BusSwitchLineView; import java.util.concurrent.TimeUnit; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusModelLoopManager.java similarity index 78% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusModelLoopManager.java index bab7fc443b..b72fbf91e5 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusModelLoopManager.java @@ -1,17 +1,6 @@ -package com.mogo.och.bus.presenter; +package com.mogo.och.shuttle.presenter; -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; - -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.model.OrderModel; - -import java.util.concurrent.TimeUnit; - -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; /** * Created on 2021/11/22 diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java similarity index 87% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java index 4a118676de..c8549b28ad 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.presenter; +package com.mogo.och.shuttle.presenter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; @@ -16,21 +16,21 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.ArrivedStation; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.IOchAutopilotStatusListener; -import com.mogo.och.common.module.manager.autopilotmanager.autopilot.OchAutoPilotStatusListenerManager; +import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation; +import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener; +import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager; import com.mogo.och.data.bean.BusStationBean; -import com.mogo.och.bus.callback.IBusADASStatusCallback; -import com.mogo.och.bus.callback.IBusControllerStatusCallback; -import com.mogo.och.bus.callback.IRefreshBusStationsCallback; -import com.mogo.och.bus.callback.ISlidePannelHideCallback; -import com.mogo.och.bus.fragment.ShuttleFragment; -import com.mogo.och.bus.model.OrderModel; -import com.mogo.och.bus.util.BusTrajectoryManager; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.callback.ILoginCallback; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.shuttle.callback.IBusADASStatusCallback; +import com.mogo.och.shuttle.callback.IBusControllerStatusCallback; +import com.mogo.och.shuttle.callback.IRefreshBusStationsCallback; +import com.mogo.och.shuttle.callback.ISlidePannelHideCallback; +import com.mogo.och.shuttle.fragment.ShuttleFragment; +import com.mogo.och.shuttle.model.OrderModel; +import com.mogo.och.shuttle.util.BusTrajectoryManager; +import com.mogo.och.common.module.biz.login.ILoginCallback; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.zhjt.mogo.adas.data.AdasConstants; @@ -62,6 +62,7 @@ public class BusPresenter extends Presenter OchAutoPilotStatusListenerManager.INSTANCE.addListener(TAG,this); OrderModel.getInstance().init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); + LoginStatusManager.INSTANCE.addListener(TAG,this); } @Override @@ -196,9 +197,9 @@ public class BusPresenter extends Presenter @Override public void onCarLocationChanged(MogoLocation location) { - if (null != location) { - runOnUIThread(() -> mView.updateSpeedView(location.getGnssSpeed())); - } +// if (null != location) { +// runOnUIThread(() -> mView.updateSpeedView(location.getGnssSpeed())); +// } } @Override @@ -258,7 +259,8 @@ public class BusPresenter extends Presenter } @Override - public void loginSuccess(DriverStatusQueryRespBean data) { + public void onStatusChange(LoginStatusEnum currentStatus) { + ILoginCallback.super.onStatusChange(currentStatus); CallerLogger.d(M_BUS + TAG, " loginStatus =" + LoginStatusManager.isLogin()); if(LoginStatusManager.isLogin()){ // OrderModel.getInstance().queryBusRoutes(); @@ -272,11 +274,6 @@ public class BusPresenter extends Presenter } } - @Override - public void loginFail(boolean isLogin) { - - } - @Override public void onStartAdasFailure() { runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus()); diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/receiver/TestBusBroadcastReceiver.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/receiver/TestBusBroadcastReceiver.java similarity index 92% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/receiver/TestBusBroadcastReceiver.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/receiver/TestBusBroadcastReceiver.java index 3884897d04..c3c4758be8 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/receiver/TestBusBroadcastReceiver.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/receiver/TestBusBroadcastReceiver.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.receiver; +package com.mogo.och.shuttle.receiver; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; @@ -7,7 +7,7 @@ import android.content.Context; import android.content.Intent; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.och.bus.constant.BusConst; +import com.mogo.och.shuttle.constant.BusConst; /** * 测试小巴车的场景 diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusStationCommonItem.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusStationCommonItem.kt similarity index 92% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusStationCommonItem.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusStationCommonItem.kt index ed9f463413..9f6c121f07 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusStationCommonItem.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusStationCommonItem.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui +package com.mogo.och.shuttle.ui import android.content.Context import android.util.AttributeSet @@ -6,9 +6,9 @@ import android.view.LayoutInflater import android.widget.ImageView import android.widget.LinearLayout import androidx.core.content.ContextCompat -import com.mogo.och.bus.R +import com.mogo.och.shuttle.R import com.mogo.och.common.module.utils.BlinkAnimationUtil -import kotlinx.android.synthetic.main.bus_stations_common_item.view.* +import kotlinx.android.synthetic.main.shuttle_stations_common_item.view.* /** * @author: wangmingjun @@ -21,7 +21,7 @@ class BusStationCommonItem @JvmOverloads constructor( ) : LinearLayout(context, attrs, defStyleAttr){ init { - LayoutInflater.from(context).inflate(R.layout.bus_stations_common_item,this,true) + LayoutInflater.from(context).inflate(R.layout.shuttle_stations_common_item,this,true) } fun setStationName(name: String){ diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineActivity.kt similarity index 93% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineActivity.kt index 412574bdc4..a9fddd0ff4 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineActivity.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineActivity.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui +package com.mogo.och.shuttle.ui import android.graphics.Point import android.os.Bundle @@ -13,14 +13,14 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.commons.mvp.MvpActivity import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.och.bus.presenter.BusLinePresenter -import com.mogo.och.bus.ui.adapter.SwitchLineAdapter -import com.mogo.och.bus.bean.BusQueryLinesResponse -import com.mogo.och.bus.ui.adapter.OpenItemAnimator +import com.mogo.och.shuttle.presenter.BusLinePresenter +import com.mogo.och.shuttle.ui.adapter.SwitchLineAdapter +import com.mogo.och.shuttle.bean.BusQueryLinesResponse +import com.mogo.och.shuttle.ui.adapter.OpenItemAnimator import com.mogo.eagle.core.utilcode.mogo.view.SpacesItemDecoration import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.bus.R -import com.mogo.och.bus.bean.BusQueryLineTaskResponse +import com.mogo.och.shuttle.R +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse import java.util.ArrayList /** @@ -42,7 +42,7 @@ class BusSwitchLineActivity : MvpActivity private lateinit var linearLayoutManager:LinearLayoutManager private val mData: MutableList = ArrayList() override fun getLayoutId(): Int { - return R.layout.activity_bus_switch_line + return R.layout.shuttle_switch_line } override fun createPresenter(): BusLinePresenter { @@ -80,7 +80,7 @@ class BusSwitchLineActivity : MvpActivity ) mLinesListView.setAdapter(mAdapter) //设置item 点击事件 - mAdapter.setOnLineItemClickListener(object :SwitchLineAdapter.LineItemClickListener{ + mAdapter.setOnLineItemClickListener(object : SwitchLineAdapter.LineItemClickListener{ override fun onItemClick(position: Int, close: Boolean) { mPresenter?.queryBusLineTasks(mData[position].lineId, position, close) } @@ -146,7 +146,7 @@ class BusSwitchLineActivity : MvpActivity finish() } - override fun onBusLineTasks(lineTaskInfo: BusQueryLineTaskResponse?, position: Int,autoRefresh:Boolean) { + override fun onBusLineTasks(lineTaskInfo: BusQueryLineTaskResponse?, position: Int, autoRefresh:Boolean) { val result = mData[position] if (result.taskList == null) { result.taskList = ArrayList() diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineView.java similarity index 68% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineView.java index 6646068909..5a4d85d312 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/BusSwitchLineView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/BusSwitchLineView.java @@ -1,8 +1,8 @@ -package com.mogo.och.bus.ui; +package com.mogo.och.shuttle.ui; import com.mogo.commons.mvp.IView; -import com.mogo.och.bus.bean.BusQueryLineTaskResponse; -import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse; +import com.mogo.och.shuttle.bean.BusQueryLinesResponse; /** * @author: wangmingjun diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTapPositionView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTapPositionView.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTapPositionView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTapPositionView.java index 12ba52cda7..bf24d1bb0b 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTapPositionView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTapPositionView.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui; +package com.mogo.och.shuttle.ui; import android.content.Context; import android.content.res.TypedArray; @@ -12,7 +12,7 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.och.bus.R; +import com.mogo.och.shuttle.R; import org.jetbrains.annotations.NotNull; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTrafficDataView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTrafficDataView.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTrafficDataView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTrafficDataView.java index 56c48321b4..199114506c 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTrafficDataView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/ShuttleTrafficDataView.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui; +package com.mogo.och.shuttle.ui; import static com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; @@ -24,9 +24,8 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisBrakeStateListen import com.mogo.eagle.core.function.call.autopilot.CallerChassisGearStateListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerChassisThrottleStateListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager; -import com.mogo.eagle.core.function.hmi.ui.widget.TapPositionView; import com.mogo.eagle.core.utilcode.util.ThreadUtils; -import com.mogo.och.bus.R; +import com.mogo.och.shuttle.R; import org.jetbrains.annotations.NotNull; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/OpenItemAnimator.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/OpenItemAnimator.java similarity index 99% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/OpenItemAnimator.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/OpenItemAnimator.java index 71e18d6523..bc8596d255 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/OpenItemAnimator.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/OpenItemAnimator.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui.adapter; +package com.mogo.och.shuttle.ui.adapter; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineAdapter.kt similarity index 96% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineAdapter.kt index 0bf345177a..19738350eb 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineAdapter.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui.adapter +package com.mogo.och.shuttle.ui.adapter import android.content.Context import android.view.LayoutInflater @@ -9,9 +9,9 @@ import androidx.appcompat.widget.AppCompatTextView import androidx.core.content.ContextCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.mogo.och.bus.R -import com.mogo.och.bus.bean.BusQueryLinesResponse -import com.mogo.och.bus.ui.adapter.SwitchLineAdapter.SwitchLineViewHolder +import com.mogo.och.shuttle.R +import com.mogo.och.shuttle.bean.BusQueryLinesResponse +import com.mogo.och.shuttle.ui.adapter.SwitchLineAdapter.SwitchLineViewHolder import kotlin.text.StringBuilder /** @@ -33,7 +33,7 @@ class SwitchLineAdapter( viewType: Int ): SwitchLineViewHolder { val view = LayoutInflater.from(mContext).inflate( - R.layout.bus_switch_line_list_item, parent, false + R.layout.shuttle_switch_line_list_item, parent, false ) return SwitchLineViewHolder(view) } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineTaskAdapter.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineTaskAdapter.kt similarity index 89% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineTaskAdapter.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineTaskAdapter.kt index 8183e0efd4..95d5badfb8 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineTaskAdapter.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/adapter/SwitchLineTaskAdapter.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui.adapter +package com.mogo.och.shuttle.ui.adapter import android.content.Context import android.view.LayoutInflater @@ -7,9 +7,9 @@ import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.utilcode.util.TimeUtils -import com.mogo.och.bus.R -import com.mogo.och.bus.bean.BusQueryLineTaskResponse -import com.mogo.och.bus.ui.adapter.SwitchLineTaskAdapter.SwitchLineTaskViewHolder +import com.mogo.och.shuttle.R +import com.mogo.och.shuttle.bean.BusQueryLineTaskResponse +import com.mogo.och.shuttle.ui.adapter.SwitchLineTaskAdapter.SwitchLineTaskViewHolder /** * 路线列表adapter @@ -22,7 +22,7 @@ class SwitchLineTaskAdapter( ) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SwitchLineTaskViewHolder { val view = LayoutInflater.from(mContext).inflate( - R.layout.bus_switch_line_list_task_item, parent, false + R.layout.shuttle_switch_line_list_task_item, parent, false ) return SwitchLineTaskViewHolder(view) } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffView.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffView.kt similarity index 95% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffView.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffView.kt index 2f877f4691..b0d7b3851a 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffView.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.ui.writeoff +package com.mogo.och.shuttle.ui.writeoff import android.content.Context import android.util.AttributeSet @@ -7,7 +7,7 @@ import android.view.LayoutInflater import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner -import com.mogo.och.bus.R +import com.mogo.och.shuttle.R import kotlinx.android.synthetic.main.shuttle_wirte_off_view.view.tv_write_off_count class WriteOffView : ConstraintLayout, WriteOffViewModel.IwriteOffViewCallback { diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffViewModel.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffViewModel.kt similarity index 93% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffViewModel.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffViewModel.kt index 95e4f4993d..27953a4012 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/writeoff/WriteOffViewModel.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/ui/writeoff/WriteOffViewModel.kt @@ -1,11 +1,11 @@ -package com.mogo.och.bus.ui.writeoff +package com.mogo.och.shuttle.ui.writeoff import androidx.lifecycle.ViewModel 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.och.bus.R -import com.mogo.och.bus.model.TicketModel +import com.mogo.och.shuttle.R +import com.mogo.och.shuttle.model.TicketModel import com.mogo.och.common.module.utils.RxUtils import io.reactivex.Observable import io.reactivex.Observer diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusAnalyticsManager.java similarity index 97% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusAnalyticsManager.java index 789e8491fd..b7a47fc233 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusAnalyticsManager.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.util; +package com.mogo.och.shuttle.util; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; @@ -13,8 +13,8 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.shuttle.constant.BusConst; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import java.util.HashMap; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusSendTripInfoManager.kt similarity index 97% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusSendTripInfoManager.kt index b4da61f56f..51fb81a0d0 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusSendTripInfoManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.util +package com.mogo.och.shuttle.util import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusTrajectoryManager.java similarity index 97% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusTrajectoryManager.java index 19e5310c91..56e773d700 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/BusTrajectoryManager.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.util; +package com.mogo.och.shuttle.util; import androidx.annotation.Nullable; @@ -6,11 +6,11 @@ import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.GsonUtils; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import com.mogo.och.data.bean.BusRoutesResult; -import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.model.OrderModel; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; +import com.mogo.och.shuttle.constant.BusConst; +import com.mogo.och.shuttle.model.OrderModel; +import com.mogo.och.common.module.biz.login.LoginStatusManager; import java.util.concurrent.TimeUnit; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/ShuttleVoiceManager.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/ShuttleVoiceManager.kt similarity index 96% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/ShuttleVoiceManager.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/ShuttleVoiceManager.kt index efbbd2d883..76198fdd0f 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/util/ShuttleVoiceManager.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/util/ShuttleVoiceManager.kt @@ -1,10 +1,10 @@ -package com.mogo.och.bus.util +package com.mogo.och.shuttle.util import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils -import com.mogo.och.bus.R +import com.mogo.och.shuttle.R import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.tts.base.LangTtsEntity import com.mogo.tts.base.LanguageType @@ -13,7 +13,7 @@ import java.util.ArrayList object ShuttleVoiceManager { fun arrivedStationBus(siteNameCN: String?, siteNameKR: String?) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { return } val context = AbsMogoApplication.getApp() diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BizMapView.kt similarity index 89% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BizMapView.kt index 0f31f1a06f..d396c664ca 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BizMapView.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BizMapView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.view +package com.mogo.och.shuttle.view import android.content.Context import android.os.Bundle @@ -9,7 +9,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.view.MapBizView import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.map.uicontroller.IMogoMapUIController -import com.mogo.och.bus.R +import com.mogo.och.shuttle.R /** * 魔戒蓝牙控件 @@ -24,9 +24,9 @@ class BizMapView @JvmOverloads constructor( private lateinit var mapBizView: MapBizView init { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { LayoutInflater.from(context).inflate(R.layout.shuttle_m2_bizmap_map, this, true) - }else if(AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)){ + }else if(AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)){ LayoutInflater.from(context).inflate(R.layout.shuttle_jl_bizmap_map, this, true) }else{ LayoutInflater.from(context).inflate(R.layout.shuttle_jl_bizmap_map, this, true) diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BusArcView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BusArcView.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BusArcView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BusArcView.java index 5be7429728..dc62425463 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/BusArcView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/BusArcView.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.view; +package com.mogo.och.shuttle.view; import android.animation.ValueAnimator; import android.content.Context; @@ -15,7 +15,7 @@ import android.view.View; import androidx.annotation.Nullable; -import com.mogo.och.bus.R; +import com.mogo.och.shuttle.R; /** * created by wujifei on 2021/3/24 16:20 diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/NoTouchConstraintLayout.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/NoTouchConstraintLayout.java similarity index 96% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/NoTouchConstraintLayout.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/NoTouchConstraintLayout.java index 558a515bd9..b797efe5a8 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/NoTouchConstraintLayout.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/NoTouchConstraintLayout.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.view; +package com.mogo.och.shuttle.view; import android.content.Context; import android.util.AttributeSet; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/SlidePanelView.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/SlidePanelView.java index 1c6a0823bc..87c355ceb5 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/SlidePanelView.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.view; +package com.mogo.och.shuttle.view; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; @@ -22,12 +22,11 @@ import android.view.animation.DecelerateInterpolator; import androidx.annotation.Nullable; import com.mogo.commons.AbsMogoApplication; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ConvertUtils; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.bus.R; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.shuttle.R; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import me.jessyan.autosize.AutoSizeConfig; import me.jessyan.autosize.utils.AutoSizeUtils; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/VerticalDashLineView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/VerticalDashLineView.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/VerticalDashLineView.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/VerticalDashLineView.java index 250d4a41b6..2b0fdfcf6d 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/VerticalDashLineView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/view/VerticalDashLineView.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.view; +package com.mogo.och.shuttle.view; import android.content.Context; import android.graphics.Canvas; diff --git a/OCH/shuttle/driver/src/main/res/layout/shuttle_base_fragment.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_base_fragment.xml index f1ec45407e..eef331ab7b 100644 --- a/OCH/shuttle/driver/src/main/res/layout/shuttle_base_fragment.xml +++ b/OCH/shuttle/driver/src/main/res/layout/shuttle_base_fragment.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" android:layout_marginTop="@dimen/dp_72"> - @@ -19,22 +19,30 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + + + + + + + + + + + + + + + + - - - - + app:layout_constraintTop_toTopOf="parent"/> - - + \ No newline at end of file diff --git a/OCH/shuttle/driver/src/main/res/layout/fragment_och_bus.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_fragment_och.xml similarity index 96% rename from OCH/shuttle/driver/src/main/res/layout/fragment_och_bus.xml rename to OCH/shuttle/driver/src/main/res/layout/shuttle_fragment_och.xml index e9b705fa75..a2271be28e 100644 --- a/OCH/shuttle/driver/src/main/res/layout/fragment_och_bus.xml +++ b/OCH/shuttle/driver/src/main/res/layout/shuttle_fragment_och.xml @@ -66,7 +66,7 @@ app:layout_constraintRight_toRightOf="@+id/line1" app:layout_constraintTop_toBottomOf="@+id/line1" /> - - - - diff --git a/OCH/shuttle/driver/src/main/res/layout/bus_switch_line_list_item.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_switch_line_list_item.xml similarity index 100% rename from OCH/shuttle/driver/src/main/res/layout/bus_switch_line_list_item.xml rename to OCH/shuttle/driver/src/main/res/layout/shuttle_switch_line_list_item.xml diff --git a/OCH/shuttle/driver/src/main/res/layout/bus_switch_line_list_task_item.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_switch_line_list_task_item.xml similarity index 100% rename from OCH/shuttle/driver/src/main/res/layout/bus_switch_line_list_task_item.xml rename to OCH/shuttle/driver/src/main/res/layout/shuttle_switch_line_list_task_item.xml diff --git a/OCH/shuttle/driver/src/main/res/layout/bus_test_bar_view.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_test_bar_view.xml similarity index 100% rename from OCH/shuttle/driver/src/main/res/layout/bus_test_bar_view.xml rename to OCH/shuttle/driver/src/main/res/layout/shuttle_test_bar_view.xml diff --git a/OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml index abbad9395d..9b81f97808 100644 --- a/OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml +++ b/OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml @@ -45,7 +45,7 @@ app:layout_constraintRight_toRightOf="@+id/speedImage" app:layout_constraintTop_toTopOf="parent" /> - {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} + 6002 -> {sendMessage2Driver("同一订单核销间隔时间需大于2分钟")} 1009 -> {sendMessage2Driver("车票所选乘车日期非今日")} 1005 -> {sendMessage2Driver("车辆未登录、或没有任务")} 1006 -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} @@ -64,7 +63,7 @@ object TicketModel : StateChangeListener { 1012 -> {sendMessage2Driver("当前用户下单路线非当前的车辆所属公司")} else -> { when (msg) { - "6002" -> {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} + "6002" -> {sendMessage2Driver("同一订单核销间隔时间需大于2分钟")} "1009" -> {sendMessage2Driver("车票所选乘车日期非今日")} "1005" -> {sendMessage2Driver("车辆未登录、或没有任务")} "1006" -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} @@ -90,19 +89,13 @@ object TicketModel : StateChangeListener { private fun sendMessage2Driver(message:String){ val msg = WriteOffMsg(false, "", 0, "", message,"") CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToServer(msg) ScannerChainLogManager.writeChainLog(TAG +"sendMessage2Driver","核验失败:message:${message}") } private fun sendMessage2DriverSuccess(message: PassengerWriteOffResponse.Result,orderNo: String){ val msg = WriteOffMsg(true, message.phone, message.ticketSize, message.ticketName, "",orderNo) CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) + LanSocketManager.sendMsgToServer(msg) ScannerChainLogManager.writeChainLog(TAG +"sendMessage2DriverSuccess","核验成功:message:${message}") } diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt index 53014e6a9b..b30d911249 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt @@ -7,10 +7,10 @@ import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java deleted file mode 100644 index 6c11478908..0000000000 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.mogo.och.shuttle.passenger.provider; - -import android.content.Context; -import android.view.View; - -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.och.shuttle.passenger.ui.BusPStatusBarView; -import com.mogo.och.shuttle.passenger.ui.widget.M2StatusBarView; -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - @NonNull - @Override - public View getStatusView(Context context) { - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { - return new M2StatusBarView(context); - } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { - return new BusPStatusBarView(context); - } - return new BusPStatusBarView(context); - } - - @Override - public void init(Context context) { - - } -} diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java index 35432b5f6c..7a47f0b2e3 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java @@ -20,6 +20,7 @@ import com.mogo.commons.module.intent.IMogoIntentListener; import com.mogo.commons.module.intent.IntentManager; import com.mogo.commons.module.status.IMogoStatusChangedListener; import com.mogo.commons.module.status.MogoStatusManager; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener; import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager; import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager; @@ -28,16 +29,17 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.eagle.core.utilcode.util.StringUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager; import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.shuttle.passenger.R; -import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg; -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg; -import com.mogo.och.common.module.bean.dpmsg.DPMsgType; -import com.mogo.och.common.module.bean.dpmsg.TaskDetailsMsg; -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; -import com.mogo.och.common.module.biz.constant.OchCommonConst; -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener; -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager; +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg; +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg; +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType; +import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg; +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager; +import com.mogo.och.common.module.constant.OchCommonConst; +import com.mogo.och.common.module.manager.distance.IDistanceListener; +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager; import com.mogo.och.common.module.utils.DateTimeUtil; import com.mogo.commons.module.status.StatusDescriptor; import com.mogo.eagle.core.data.config.FunctionBuildConfig; @@ -61,8 +63,8 @@ import com.mogo.och.shuttle.passenger.callback.IBusPassengerControllerStatusCall import com.mogo.och.shuttle.passenger.callback.IBusPassengerRouteLineInfoCallback; import com.mogo.och.shuttle.passenger.constant.BusPassengerConst; import com.mogo.och.shuttle.passenger.network.BusPassengerModelLoopManager; -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager; +import com.mogo.och.common.module.network.OchCommonServiceCallback; +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.RxUtils; import com.mogo.och.data.bean.BusRoutesResult; @@ -144,7 +146,7 @@ public class BusPassengerModel { //本地去请求司机端 TaskDetailsMsg msg = new TaskDetailsMsg("task"); - sendMsgToServer(GsonUtils.toJson(msg)); + LanSocketManager.sendMsgToServer(msg); } public void setDriverStatusCallback(IBusPassegerDriverStatusCallback callback){ @@ -159,13 +161,6 @@ public class BusPassengerModel { handler.sendEmptyMessageDelayed( MSG_QUERY_BUS_P_STATION, QUERY_BUS_P_STATION_DELAY ); } - private void sendMsgToServer(String msg){ - CallerTelematicManager.INSTANCE.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - msg.getBytes() - ); - } - private void queryDriverOperationStatus() { PassengerServiceManager.queryDriverOperationStatus(mContext , new OchCommonServiceCallback() { @@ -487,6 +482,11 @@ public class BusPassengerModel { }; private final IMoGoAutopilotStatusListener mGoAutopilotStatusListener = new IMoGoAutopilotStatusListener(){ + + @Override + public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) { + } + @Override public void onSsmReceiveTimeout(boolean isTimeout) { // IMoGoAutopilotStatusListener.super.onSsmReceiveTimeout(isTimeout); diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/widget/BusPTurnLightView.kt b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/widget/BusPTurnLightView.kt index 17f9179559..8d8ff58885 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/widget/BusPTurnLightView.kt +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/widget/BusPTurnLightView.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListene import com.mogo.eagle.core.function.call.v2x.CallerTurnLightListenerManager import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.shuttle.passenger.R -import com.mogo.och.common.module.manager.lightmanager.TurnLightManager +import com.mogo.och.common.module.manager.light.TurnLightManager import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.left_nor_image import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.left_select_image import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.right_nor_image diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt index b0c1ef3abf..7cf39d3947 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt +++ b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt @@ -20,7 +20,6 @@ import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.sendMsgToServer import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.Logger @@ -29,14 +28,18 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.bean.dpmsg.* -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.pushAppOperationalMsgBox -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.pushAppOperationalMsgBox +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.socket.lan.LanSocketManager +import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg +import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg +import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType +import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.voice.VoiceNotice.showNotice import com.mogo.och.data.bean.BusRoutesResult @@ -99,7 +102,7 @@ class PM2DrivingModel private constructor() { private fun queryDriverByLocalDriver() { //本地去请求司机端 val msg = TaskDetailsMsg("task") - sendMsgToServer(GsonUtils.toJson(msg)) + LanSocketManager.sendMsgToServer(msg) } private fun initListener() { @@ -120,13 +123,6 @@ class PM2DrivingModel private constructor() { } - private fun sendMsgToServer(msg: String) { - sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - fun releaseListener() { //自动驾驶状态监听 CallerAutoPilotStatusListenerManager.removeListener(TAG) @@ -342,7 +338,7 @@ class PM2DrivingModel private constructor() { fun queryDriverSiteByCoordinate(){ mContext?.let { PassengerServiceManager.queryDriverSiteByCoordinate(it, - object : OchCommonServiceCallback{ + object : OchCommonServiceCallback { override fun onSuccess(data: PassengerRoutesResponse?) { if (data == null || data.result == null){ diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/ui/widget/M2TurnLightView.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/ui/widget/M2TurnLightView.kt index 663976a36c..da9942750a 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/ui/widget/M2TurnLightView.kt +++ b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/ui/widget/M2TurnLightView.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListene import com.mogo.eagle.core.function.call.v2x.CallerTurnLightListenerManager import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.shuttle.passenger.R -import com.mogo.och.common.module.manager.lightmanager.TurnLightManager +import com.mogo.och.common.module.manager.light.TurnLightManager import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.left_nor_image import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.left_select_image import kotlinx.android.synthetic.main.shuttle_p_jl_turn_light_status.view.right_nor_image diff --git a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml index 3c9f183cb0..62f371742b 100644 --- a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml +++ b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml @@ -57,4 +57,9 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + + \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml index 1756b368a8..0ccfb4364a 100644 --- a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml +++ b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml @@ -22,7 +22,7 @@ - + + \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml b/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml index f05bbb8358..015fc8488d 100644 --- a/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml +++ b/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml @@ -10,7 +10,7 @@ () { - @Override - public void accept(String s) throws Exception { - // 写入SP当前模式 - SweeperVehicleConfigUtils.setSPCurrentSweeperMode(currentMode); - // 清除本地业务缓存数据 - MyDataBase.getInstance().getWeltDataDao().deleteAllWeltData(); - // 等清除完数据库数据后,重启App - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - AppUtils.relaunchApp(true); - } - }, 1000L); - } - }); - } -} diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.kt new file mode 100644 index 0000000000..023916ec21 --- /dev/null +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.kt @@ -0,0 +1,122 @@ +package com.mogo.och.sweeper + +import android.annotation.SuppressLint +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.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.api.vehicle.IMoGoSweeperModeListener +import com.mogo.eagle.core.function.call.vehicle.CallerSweeperModeListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.isDefaultSweeperCanSwitchMode +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.isDefaultSweeperCloudMode +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.isDefaultSweeperOperateMode +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.isSPCurrentSweeperCloudMode +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.isSPCurrentSweeperOperateMode +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils.setSPCurrentSweeperMode +import com.mogo.eagle.core.utilcode.util.AppUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonServiceImpl +import com.mogo.och.sweeper.cloud.fragment.SweeperCloudFragment +import com.mogo.och.sweeper.common.database.MyDataBase +import com.mogo.och.sweeper.common.util.SweeperAnalyticsManager +import com.mogo.och.sweeper.operate.fragment.SweeperOperateFragment +import io.reactivex.Observable +import io.reactivex.schedulers.Schedulers + +/** + * 清扫车业务实现入口 + * + * @author tongchenfei + */ +@Route(path = OchCommonConst.SWEEPER_DRIVER) +class SweeperProvider : CommonServiceImpl() { + private var sweeperOperateFragment: SweeperOperateFragment? = null + private var sweeperCloudFragment: SweeperCloudFragment? = null + + override fun getFragment(): Fragment { + // 第一优先级:需要默认能切换清扫业务模式 + // 第二优先级:如果能切换清扫模式,查询SP中缓存的当前模式(用户切换后会在SP中写入当前模式,切换完后清除,因为现在产品确认还不需要每次启动时首先使用用户上次选择的模式,目前优先还是使用gradle中默认配置的模式打开) + // 第三优先级:如果不能切换清扫模式或者SP中没有用户选择的当前模式,查询gradle中默认配置的当前模式(用户不进行切换时SP中没有配置,默认使用的gradle中默认当前模式) + i( + SceneConstant.M_SWEEPER + TAG, "清扫车启动,当前业务模式:isSPCurrentSweeperOperateMode=" + + isSPCurrentSweeperOperateMode() + + ", isSPCurrentSweeperCloudMode=" + isSPCurrentSweeperCloudMode() + ) + if (isDefaultSweeperCanSwitchMode(FunctionBuildConfig.sweeperCanSwitchMode) + && isSPCurrentSweeperOperateMode() + ) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_OPERATE + ToastUtils.showLong("当前清扫业务模式:运营") + return showOperateFragment() + } else if (isDefaultSweeperCanSwitchMode(FunctionBuildConfig.sweeperCanSwitchMode) + && isSPCurrentSweeperCloudMode() + ) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD + ToastUtils.showLong("当前清扫业务模式:云控") + return showCloudFragment() + } else if (isDefaultSweeperOperateMode(FunctionBuildConfig.sweeperDefaultMode)) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_OPERATE + ToastUtils.showLong("当前清扫业务模式:运营") + return showOperateFragment() + } else if (isDefaultSweeperCloudMode(FunctionBuildConfig.sweeperDefaultMode)) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD + ToastUtils.showLong("当前清扫业务模式:云控") + return showCloudFragment() + } else { + // 默认云控模式 + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD + ToastUtils.showLong("当前清扫业务模式:云控") + return showCloudFragment() + } + } + + override fun init(context: Context) { + + } + private fun showOperateFragment():Fragment { + if(sweeperOperateFragment==null){ + sweeperOperateFragment = SweeperOperateFragment() + } + return sweeperOperateFragment!! + } + + private fun showCloudFragment():Fragment { + if(sweeperCloudFragment==null){ + sweeperCloudFragment = SweeperCloudFragment() + } + return sweeperCloudFragment!! + } + @SuppressLint("CheckResult") + fun onSweeperCurrentModeChanged(currentMode: String) { + // 日志、埋点 + i(SceneConstant.M_SWEEPER + TAG, "切换清扫车业务模式,当前切换的模式:$currentMode") + SweeperAnalyticsManager.getInstance().trackSweeperModeChangeEvent(currentMode) + Observable.just(currentMode) + .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .subscribe { // 写入SP当前模式 + setSPCurrentSweeperMode(currentMode) + // 清除本地业务缓存数据 + MyDataBase.getInstance().weltDataDao.deleteAllWeltData() + // 等清除完数据库数据后,重启App + UiThreadHandler.postDelayed({ AppUtils.relaunchApp(true) }, 1000L) + } + } + + override fun invokeByName(type: String,value: Any) { + if (value is String && type=="reStart") { + onSweeperCurrentModeChanged(value) + } + } + + companion object { + private const val TAG = "SweeperProvider" + } +} diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java index 0479089cfa..6fcaf29aa3 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java @@ -13,6 +13,7 @@ import com.mogo.commons.module.status.IMogoStatusChangedListener; import com.mogo.commons.module.status.MogoStatusManager; import com.mogo.commons.module.status.StatusDescriptor; import com.mogo.commons.storage.SharedPrefsMgr; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; @@ -27,7 +28,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSyste import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCloudTaskListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.sweeper.cloud.callback.ISweeperCloudTaskCallback; @@ -786,4 +787,9 @@ public class SweeperCloudTaskModel implements IMoGoSweeperFutianCloudTaskListene public void onSsmReceiveTimeout(boolean isTimeout) { } + + @Override + public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) { + + } } diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java index 2d98852ecf..1e803e3b80 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java @@ -9,7 +9,7 @@ import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager; import com.mogo.eagle.core.utilcode.util.ThreadUtils; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean; import com.mogo.och.sweeper.cloud.callback.ISweeperCloudTaskCallback; import com.mogo.och.sweeper.cloud.callback.ISweeperControllerStatusCallback; diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/model/SweeperOperateTaskModel.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/model/SweeperOperateTaskModel.java index e40a0b38aa..ed4bb935ef 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/model/SweeperOperateTaskModel.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/model/SweeperOperateTaskModel.java @@ -33,11 +33,11 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.CoordinateUtils; import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; -import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage; -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager; +import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessage; +import com.mogo.och.common.module.network.OchCommonServiceCallback; import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.utils.PinYinUtil; diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt index 5f58a9852b..8f2a2bbd6e 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt @@ -7,10 +7,10 @@ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.network.MoGoRetrofitFactory 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.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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.sweeper.operate.model.SweeperOperateTaskModel import com.mogo.och.sweeper.operate.bean.BaseResponse import com.mogo.och.sweeper.operate.bean.SubInfo diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java index 10e3690435..130c155a68 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java @@ -10,6 +10,7 @@ import androidx.lifecycle.LifecycleOwner; import com.amap.api.maps.model.LatLng; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; @@ -19,7 +20,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ThreadUtils; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.sweeper.common.view.DebugView; @@ -42,8 +43,6 @@ import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil; import com.mogo.och.sweeper.operate.util.SweeperTrajectoryManager; import com.zhjt.mogo.adas.data.AdasConstants; -import org.jetbrains.annotations.NotNull; - import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; @@ -466,4 +465,8 @@ public class SweeperOperatePresenter extends Presenter public void onSsmReceiveTimeout(boolean isTimeout) { } + + @Override + public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) { + } } diff --git a/OCH/taxi/driver/build.gradle b/OCH/taxi/driver/build.gradle index 587fbd7f97..bd5ec6b05c 100644 --- a/OCH/taxi/driver/build.gradle +++ b/OCH/taxi/driver/build.gradle @@ -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", "taxi"+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 diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java deleted file mode 100644 index 3c724ee33c..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/IMogoOCH.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mogo.och.taxi; - -import androidx.annotation.IdRes; -import androidx.fragment.app.FragmentActivity; - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; - -public -/** - * @author congtaowang - * @since 2021/1/15 - * - * 网约车抽象接口 - */ -interface IMogoOCH extends IMoGoFunctionProvider { - - /** - * 初始化网约车容器 - * - * @param activity - * @param containerId 容器ID - */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); -} diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt new file mode 100644 index 0000000000..0a199335a1 --- /dev/null +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiDriverProvider.kt @@ -0,0 +1,34 @@ +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.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 + +/** + * @author congtaowang + * @since 2021/1/15 + * + * + * 网约车-出租车 + */ +@Route(path = OchCommonConst.TAXI_DRIVER) +class TaxiDriverProvider : CommonServiceImpl() { + + private val tag = TaxiDriverProvider::class.java.simpleName + private lateinit var ochTaxiFragment: TaxiFragment + + override fun init(context: Context) { + d(SceneConstant.M_TAXI + tag, "init") + ochTaxiFragment = TaxiFragment() + } + + override fun getFragment(): Fragment { + return ochTaxiFragment + } +} diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.java deleted file mode 100644 index 4e8031561a..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/TaxiProvider.java +++ /dev/null @@ -1,100 +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.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 - *

- * 网约车-出租车 - */ -@Route( path = TaxiConst.PATH ) -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(); - } -} diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxtServingStatusManager.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxtServingStatusManager.kt deleted file mode 100644 index 7a42236e8b..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxtServingStatusManager.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.mogo.och.taxi.constant - -object TaxtServingStatusManager { - - /** - * 接单状态 - */ - private var openOrderStatus: TaxiOpenOrderStatusEnum = TaxiOpenOrderStatusEnum.None - - // region 是否可用接单 - @JvmStatic - fun isOpeningOrderStatus():Boolean{ - if(openOrderStatus==TaxiOpenOrderStatusEnum.Ordering){ - return true - } - return false - } - @JvmStatic - fun setOpenOrderStatus(status: Int) { - when (status) { - 0 -> { - this.openOrderStatus = TaxiOpenOrderStatusEnum.UnOrdering - } - 1 -> { - this.openOrderStatus = TaxiOpenOrderStatusEnum.Ordering - } - else -> { - this.openOrderStatus = TaxiOpenOrderStatusEnum.None - } - } - } - @JvmStatic - fun getOpenOrderStatus(): TaxiOpenOrderStatusEnum { - return openOrderStatus - } - - //endregion -} \ No newline at end of file diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index f1928219a7..4d986c3571 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -15,7 +15,6 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.alibaba.android.arouter.launcher.ARouter; import com.amap.api.maps.model.LatLng; import com.elegant.network.utils.GsonUtil; import com.mogo.aicloud.services.socket.IMogoOnMessageListener; @@ -40,18 +39,16 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.eagle.core.utilcode.util.StringUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; -import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -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.provider.LoginService; +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager; +import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessage; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.network.OchCommonServiceCallback; import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener; -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener; -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager; +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.distance.IDistanceListener; +import com.mogo.och.common.module.manager.distance.ITrajectoryListener; +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager; import com.mogo.och.common.module.map.AmapNaviToDestinationModel; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.OCHThreadPoolManager; @@ -79,7 +76,6 @@ import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; import com.mogo.och.taxi.constant.TaxiConst; import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; import com.mogo.och.taxi.constant.TaxiOrderTypeEnum; -import com.mogo.och.taxi.constant.TaxtServingStatusManager; import com.mogo.och.taxi.network.TaxiServiceManager; import com.mogo.och.taxi.utils.OrderUtil; import com.mogo.och.taxi.utils.TaxiAnalyticsManager; @@ -139,8 +135,6 @@ public class TaxiModel { private double mLongitude, mLatitude; private MogoLocation mLocation = null; - private LoginService loginService; - private TaxiModel() { } @@ -168,7 +162,6 @@ public class TaxiModel { public void init(Context context) { mContext = context.getApplicationContext(); initListeners(); - loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); // TODO: 2021/8/27 因需要通过此回调的location进行坐标上传,暂改为全程监听,退出后再反注册, // 待后续整体调整location获取来源 @@ -214,7 +207,6 @@ public class TaxiModel { startOrStopOrderLoop(false); startOrStopCalculateRouteInfo(false); releaseListeners(); - loginService = null; } private void initListeners() { @@ -291,10 +283,11 @@ public class TaxiModel { //更新接单状态 public void updateCarStatus() { if (!LoginStatusManager.isLogin()) { - loginService.queryLoginStatusByNet(); + LoginStatusManager.queryLoginStatusByNet(); return; } - boolean currentOrderStatus = TaxtServingStatusManager.isOpeningOrderStatus(); + boolean currentOrderStatus = LoginStatusManager.isOpenOrderType(); + TaxiServiceManager.changeOrderServing(mContext, currentOrderStatus, new OchCommonServiceCallback() { @Override @@ -307,7 +300,7 @@ public class TaxiModel { // 上个状态是暂停接单 暂停成功 VoiceNotice.showNotice("开始接单啦!"); } - loginService.queryLoginStatusByNet(); + LoginStatusManager.queryLoginStatusByNet(); } } @@ -1065,8 +1058,8 @@ public class TaxiModel { CallerLogger.d(M_TAXI + TAG, "onIntentReceived = %s", intentStr); if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intentStr)) { if (NetworkUtils.isConnected(mContext)) { - startOrStopOrderLoop(LoginStatusManager.isLogin() && TaxtServingStatusManager.isOpeningOrderStatus()); - loginService.queryLoginStatusByNet(); + startOrStopOrderLoop(LoginStatusManager.isLogin() && LoginStatusManager.isOpenOrderType()); + LoginStatusManager.queryLoginStatusByNet(); } } } @@ -1210,6 +1203,11 @@ public class TaxiModel { private final IMoGoAutopilotStatusListener mGoAutopilotStatusListener = new IMoGoAutopilotStatusListener() { + @Override + public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) { + + } + @Override public void onSsmReceiveTimeout(boolean isTimeout) { @@ -1735,7 +1733,7 @@ public class TaxiModel { // 登出 public void logout() { - loginService.loginOut(mLatitude, mLongitude); + LoginStatusManager.loginOut(mLatitude, mLongitude); } //导航去订单终点目的地 diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt deleted file mode 100644 index c57492cd1e..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.taxi.network - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class LoginBusImpl: LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.getPhoneCode(context,phone,callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.logout(context,location4Login,callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.queryDriverServiceStatus(context,callback) - } - - -} \ No newline at end of file diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt deleted file mode 100644 index 47c58418ff..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt +++ /dev/null @@ -1,109 +0,0 @@ -package com.mogo.och.taxi.network - -import android.content.Context -import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.commons.storage.SharedPrefsMgr -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 - -/** - * Created by pangfan on 2021/8/19 - */ -object OchCommonServiceManager { - - private const val TAG = "OchCommonServiceManager" - - private val mOCHTaxiServiceApi: OchLoginServiceApi = - MoGoRetrofitFactory.getInstance(getBaseUrl()).create( - OchLoginServiceApi::class.java - ) - - /** - * 获取手机验证码 - * @param context - * @param callback - */ - @JvmStatic - fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - mOCHTaxiServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) - } - - /** - * 通过验证码登录 - * @param context - * @param callback - */ - @JvmStatic - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - val sn = SharedPrefsMgr.getInstance().sn - mOCHTaxiServiceApi.gotoLoginBycode4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) - } - - /** - * 登出 - */ - @JvmStatic - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - mOCHTaxiServiceApi.logout4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLogoutReqBean(SharedPrefsMgr.getInstance().sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) - } - - /** - * 接单状态和登录状态查询 - * - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - if (SharedPrefsMgr.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return - } - mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) - } - -} \ No newline at end of file diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java deleted file mode 100644 index 19c9e85fbf..0000000000 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.mogo.och.taxi.network; -import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; - -import io.reactivex.Observable; -import retrofit2.http.Body; -import retrofit2.http.GET; -import retrofit2.http.Header; -import retrofit2.http.Headers; -import retrofit2.http.POST; -import retrofit2.http.Query; - -/** - * Created by pangfan on 2021/8/19 - * - * 网约车-出租车接口定义 - */ -interface OchLoginServiceApi { - /** - * 获取手机验证码 - * - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/autopilot-car-hailing/driver/v2/driver/taxi/sendSms" ) - Observable getPhoneCode(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); - /** - * 通过验证码登录 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/autopilot-car-hailing/cab/flow/v1/driver/taxi/startOperation" ) - Observable gotoLoginBycode4Taxi(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); - - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/driver/taxi/endOperation") - Observable logout4Taxi(@Header("appId") String appId, @Header("ticket") String ticket, - @Body TaxiLogoutReqBean data); - - /** - * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * @param sn - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @GET( "/autopilot-car-hailing/operation/v1/driver/taxi/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Header ("appId") String appId - , @Header("ticket") String ticket, @Query("sn") String sn); - -} diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt index 53fd62c894..ee476f5637 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.kt @@ -5,10 +5,10 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.bean.* import io.reactivex.Observable diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index be5e671701..90d9fdedc7 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -11,16 +11,16 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.callback.ILoginCallback; -import com.mogo.och.common.module.biz.constant.LoginStatusManager; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.biz.login.ILoginCallback; +import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean; @@ -30,7 +30,6 @@ import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; import com.mogo.och.taxi.constant.TaxiConst; import com.mogo.och.taxi.constant.TaxiDriverRoleEnum; import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; -import com.mogo.och.taxi.constant.TaxtServingStatusManager; import com.mogo.och.taxi.model.TaxiModel; import com.mogo.och.taxi.ui.TaxiFragment; @@ -41,7 +40,7 @@ import java.util.List; /** * @author congtaowang * @since 2021/1/18 - * + *

* 描述 */ public class TaxiPresenter extends Presenter implements ITaxiADASStatusCallback, @@ -53,19 +52,22 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS super(view); TaxiModel.getInstance().init(AbsMogoApplication.getApp()); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); + LoginStatusManager.INSTANCE.addListener(TAG,this); + onStatusChange(LoginStatusManager.getLoginStatus()); + onOpenOrderStatusEnumChange(LoginStatusManager.getOpenOrderType()); initListeners(); } @Override - public void onCreate( @NonNull LifecycleOwner owner ) { - super.onCreate( owner ); - CallerLogger.d( M_TAXI + TAG, "网约车-出租车拿到订单" ); + public void onCreate(@NonNull LifecycleOwner owner) { + super.onCreate(owner); + CallerLogger.d(M_TAXI + TAG, "网约车-onCreate"); } @Override - public void onDestroy( @NonNull LifecycleOwner owner ) { - super.onDestroy( owner ); - + public void onDestroy(@NonNull LifecycleOwner owner) { + super.onDestroy(owner); + CallerLogger.d(M_TAXI + TAG, "网约车-onDestroy"); releaseListeners(); TaxiModel.getInstance().release(); } @@ -84,12 +86,12 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiModel.getInstance().setMoGoAutopilotPlanningListener(null); } - private void runOnUIThread( Runnable executor ) { - if ( executor == null ) { + private void runOnUIThread(Runnable executor) { + if (executor == null) { return; } - if ( Looper.myLooper() != Looper.getMainLooper() ) { - UiThreadHandler.post( executor ); + if (Looper.myLooper() != Looper.getMainLooper()) { + UiThreadHandler.post(executor); } else { executor.run(); } @@ -105,14 +107,14 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS /** * 人工模式 */ - public void startManualDrive(){ + public void startManualDrive() { TaxiModel.getInstance().startServicePilotDone(); } /** * 跳过乘客验证环节 */ - public void jumpPassengerCheckDone(){ + public void jumpPassengerCheckDone() { TaxiModel.getInstance().jumpPassengerCheckDone(); } @@ -170,15 +172,15 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } //导航去订单目的地 - public void startNaviToEndStation(boolean isShow){ - TaxiModel.getInstance().startNaviToEndStation(isShow); + public void startNaviToEndStation(boolean isShow) { + TaxiModel.getInstance().startNaviToEndStation(isShow); } - public void reportToEndDisAndTime(long lastSumLength, long duration){//米/秒 - TaxiModel.getInstance().reportOrderRemain(lastSumLength,duration); + public void reportToEndDisAndTime(long lastSumLength, long duration) {//米/秒 + TaxiModel.getInstance().reportOrderRemain(lastSumLength, duration); } - public void closeOrderByMan(){ + public void closeOrderByMan() { TaxiModel.getInstance().arriveTerminal(); } @@ -202,7 +204,7 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS @Override public void onAutopilotRunning() { runOnUIThread(() -> mView.updateAutopilotStatus( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); } @@ -235,13 +237,13 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS @RequiresApi(api = Build.VERSION_CODES.P) @Override public void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order) { - CallerLogger.d(M_TAXI + TAG,"order = "+order.toString()); - if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus){ + CallerLogger.d(M_TAXI + TAG, "order = " + order.toString()); + if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus) { TaxiModel.getInstance().queryAutopilotStatus(true); TaxiModel.getInstance().setStation(); } - if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){ + if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) { TaxiModel.getInstance().startDynamicCalculateRouteInfo(); TaxiModel.getInstance().setStation(); runOnUIThread(() -> { @@ -252,8 +254,8 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus || - TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus || - TaxiOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus){ + TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus || + TaxiOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus) { TaxiModel.getInstance().startOrStopCalculateRouteInfo(false); TaxiModel.getInstance().cleanLineMarker(); TaxiModel.getInstance().cleanStation(); @@ -263,12 +265,12 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS */ mView.updateCtvAutopilotStatusTag(false); - if(TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){ + if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) { CallerOrderListenerManager.INSTANCE.invokeOrderStatus(false); } }); } - if(TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus){ + if (TaxiOrderStatusEnum.Cancel.getCode() == order.orderStatus) { VoiceNotice.showNotice("乘客已取消行程"); } runOnUIThread(() -> mView.updateCurrentOrderStatusChanged(order)); @@ -295,17 +297,17 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS @Override public void onCurrentOrderDistToEndChanged(long meters, long timeInSecond) { - runOnUIThread(() -> mView.onCurrentOrderDistToEndChanged(meters,timeInSecond)); + runOnUIThread(() -> mView.onCurrentOrderDistToEndChanged(meters, timeInSecond)); } @Override public void onNewBookingOrderGot(OrderQueryRespBean.Result order) { - runOnUIThread(() -> mView.onNewBookingOrderGot(order)); + runOnUIThread(() -> mView.onNewBookingOrderGot(order)); } @Override public void onGrabOrderExecuteDone() { - runOnUIThread(() -> mView.onGrabOrderExecuteDone()); + runOnUIThread(() -> mView.onGrabOrderExecuteDone()); } @Override @@ -320,12 +322,12 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS @Override public void onDriverHasCheckedPilotCondition(boolean isSafe) { - runOnUIThread(() -> mView.onCheckPilotConditionSafe(isSafe)); + runOnUIThread(() -> mView.onCheckPilotConditionSafe(isSafe)); } @Override public void onNaviToEnd(boolean isAmap, boolean isShow) { - runOnUIThread( () -> mView.onNaviToEnd(isAmap,isShow)); + runOnUIThread(() -> mView.onNaviToEnd(isAmap, isShow)); } @Override @@ -336,27 +338,26 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } @Override - public void loginSuccess(DriverStatusQueryRespBean data) { - //设置 接单状态 - TaxtServingStatusManager.setOpenOrderStatus(data.data.servingStatus); + public void onStatusChange(LoginStatusEnum currentStatus) { //设置 是否启动订单轮训 - TaxiModel.getInstance().startOrStopOrderLoop(LoginStatusManager.isLogin()&&TaxtServingStatusManager.isOpeningOrderStatus()); - + TaxiModel.getInstance().startOrStopOrderLoop(LoginStatusManager.isLogin()&&LoginStatusManager.isOpenOrderType()); // 设置当前用户角色 String role = ""; - if (TaxiDriverRoleEnum.DEMO.getCode() == data.data.purpose) { + if (TaxiDriverRoleEnum.DEMO.getCode() == LoginStatusManager.getPurpose().getCode()) { role = TaxiConst.DEMO_USER; - } else if (TaxiDriverRoleEnum.TEST.getCode() == data.data.purpose) { + } else if (TaxiDriverRoleEnum.TEST.getCode() == LoginStatusManager.getPurpose().getCode()) { role = TaxiConst.TEST_USER; } String finalRole = role; runOnUIThread(() -> { - mView.updateOperationStatus(TaxtServingStatusManager.isOpeningOrderStatus(), finalRole); + mView.setRole(finalRole); }); } @Override - public void loginFail(boolean isLogin) { - + public void onOpenOrderStatusEnumChange(OpenOrderStatusEnum businessEnum) { + runOnUIThread(() -> { + mView.updateOperationStatus(LoginStatusManager.getOpenOrderType()); + }); } } diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 8573f511ce..d68f85acb0 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -77,7 +77,7 @@ public abstract class BaseTaxiTabFragment grabOrderFragmentWR; private WeakReference serverOrdersFragmentWR; private WeakReference personalDialogFragment = null; - private LoginService loginService; @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); - if(loginService!=null){ - loginService.registerFragment(this, getPresenter(),new LoginBusImpl()); - } } @Nullable @@ -155,42 +147,39 @@ public class TaxiFragment extends BaseTaxiTabFragment - + app:layout_constraintTop_toTopOf="parent"/> + app:layout_constraintLeft_toLeftOf="@+id/taxi_speed_contain" + app:layout_constraintRight_toRightOf="@+id/taxi_speed_contain" + app:layout_constraintTop_toBottomOf="@+id/taxi_speed_contain"> + + + \ No newline at end of file diff --git a/OCH/taxi/passenger/build.gradle b/OCH/taxi/passenger/build.gradle index cff4ee3253..45856a5f6d 100644 --- a/OCH/taxi/passenger/build.gradle +++ b/OCH/taxi/passenger/build.gradle @@ -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", "taxi"+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 diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java deleted file mode 100644 index ae1351af5f..0000000000 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java +++ /dev/null @@ -1,86 +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.taxi.passenger.constant.TaxiPassengerConst; -import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * @author congtaowang - * @since 2021/1/15 - *

- * 网约车-出租车-乘客端 - */ -@Route(path = TaxiPassengerConst.PATH) -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(); - } -} diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt new file mode 100644 index 0000000000..708f66ffe1 --- /dev/null +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiPassengerProvider.kt @@ -0,0 +1,43 @@ +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.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_PASSENGER) +class TaxiPassengerProvider : CommonServiceImpl() { + + private val tag = TaxiPassengerProvider::class.java.simpleName + private lateinit var ochTaxiPassengerFragment: TaxiPassengerBaseFragment + override fun init(context: Context) { + d(SceneConstant.M_TAXI_P + tag, "init") + ochTaxiPassengerFragment = TaxiPassengerBaseFragment() + } + + override fun getStatusBarView(context: Context): View { + if (statusBarView == null) { + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + + override fun getFragment(): Fragment { + return ochTaxiPassengerFragment + } + +} diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index d1f9fec99a..29629f7417 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -12,9 +12,9 @@ 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.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index bb40741e9d..f9388df438 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -18,14 +18,14 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.callback.OchAdasStartFailureCallback -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt index 422df54429..c9a850c025 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt @@ -10,10 +10,10 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt index b73c25edaa..2253f7aeb1 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -7,7 +7,7 @@ import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager 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.UiThreadHandler -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java deleted file mode 100644 index 8104aaee3d..0000000000 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.taxi.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index e7582936a2..35e53af810 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -6,7 +6,6 @@ import android.animation.ObjectAnimator import android.annotation.SuppressLint import android.os.Bundle import android.view.View -import androidx.core.view.isVisible import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.AIAssist @@ -18,7 +17,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.map.listener.IMogoMapListener -import com.mogo.och.common.module.manager.xiaozhimanager.ZhiStateManager +import com.mogo.och.common.module.manager.xiaozhi.ZhiStateManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt index b90de80abf..5a327a89fc 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt @@ -12,7 +12,7 @@ import androidx.lifecycle.ViewModelProvider import com.mogo.eagle.core.utilcode.kotlin.onClick 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.manager.xiaozhimanager.ZhiViewmanager +import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager import com.mogo.och.common.module.utils.BigFrameAnimatorContainer import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt index 625088923b..aee5276433 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt @@ -1,8 +1,8 @@ package com.mogo.och.taxi.passenger.ui.arrived import androidx.lifecycle.ViewModel -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.taxi.passenger.model.TaxiPassengerModel class ArrivedViewModel : ViewModel(), IDistanceListener { diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt index 4ff0c52076..92eb5f1f81 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt @@ -4,7 +4,6 @@ import android.animation.Animator import android.animation.AnimatorListenerAdapter import android.animation.AnimatorSet import android.animation.ObjectAnimator -import android.animation.ValueAnimator import android.content.Context import android.util.AttributeSet import android.util.Log @@ -19,9 +18,8 @@ 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.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.xiaozhimanager.ZhiViewmanager +import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager import com.mogo.och.common.module.utils.BigFrameAnimatorContainer -import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.model.TaxiPassengerModel import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt index 1b7fc65659..9d86b97d93 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt @@ -9,8 +9,8 @@ import androidx.lifecycle.ViewModelProvider import com.mogo.eagle.core.utilcode.kotlin.onClick 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.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState import com.mogo.och.common.module.utils.FrameAnimatorContainer import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt index b3cd42dc0f..00a86e4e57 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt @@ -9,10 +9,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ParseVersionUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.devicemanage.TaxiDoorStateManager -import com.mogo.och.common.module.manager.devicemanage.callback.DoorStateCallback -import com.mogo.och.common.module.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.TaxiDoorStateManager +import com.mogo.och.common.module.manager.device.callback.DoorStateCallback +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt index d18cf00625..d6198979ed 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt @@ -10,7 +10,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P import com.mogo.eagle.core.utilcode.util.DateTimeUtils -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst import io.reactivex.disposables.Disposable diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt index 4a5ffdee04..3e153f0a43 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt @@ -20,7 +20,7 @@ import androidx.core.app.ActivityCompat import com.mogo.eagle.core.utilcode.util.TimeTransformUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider -import com.mogo.och.common.module.manager.audiofocusmanager.AudioFocusManager +import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView import com.mogo.och.taxi.passenger.ui.video.FullVideoUtils diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml index 1df211547a..40da52ec4b 100644 --- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -182,7 +182,7 @@ android:layout_width="@dimen/dp_640" android:layout_height="wrap_content"/> - + + + \ No newline at end of file diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_statusview.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_statusview.xml index 3c11e1487b..c377a4756a 100644 --- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_statusview.xml +++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_statusview.xml @@ -20,7 +20,7 @@ { - this.currentCarServingStatus = TaxiOpenOrderStatusEnum.UnOrdering - } - - 1 -> { - this.currentCarServingStatus = TaxiOpenOrderStatusEnum.Ordering - } - - else -> { - this.currentCarServingStatus = TaxiOpenOrderStatusEnum.None - } - } - } - - @JvmStatic - fun getCurrentCarServingStatus(): TaxiOpenOrderStatusEnum { - return currentCarServingStatus - } -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiDriverRoleEnum.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiDriverRoleEnum.kt deleted file mode 100644 index 07572efcd4..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiDriverRoleEnum.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.mogo.och.taxi.constant - -/** - * Created on 2021/12/7 - * 1 运营, 2 测试, 3演示 - */ -enum class TaxiDriverRoleEnum(val code: Int) { - OPERATION( 1), - TEST( 2), - DEMO( 3); -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginImpl.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginImpl.kt deleted file mode 100644 index 305a5cfd41..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginImpl.kt +++ /dev/null @@ -1,45 +0,0 @@ -package com.mogo.och.taxi.network - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class TaxiDriverLoginImpl : LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - TaxiDriverLoginServiceManager.getPhoneCode(context, phone, callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - TaxiDriverLoginServiceManager.gotoLoginBycode(context, phone, code, location4Login, callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - TaxiDriverLoginServiceManager.logout(context, location4Login, callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - TaxiDriverLoginServiceManager.queryDriverServiceStatus(context, callback) - } -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceApi.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceApi.java deleted file mode 100644 index dd841840bf..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceApi.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.mogo.och.taxi.network; - -import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.taxi.bean.UnmannedLoginReqBean; -import com.mogo.och.taxi.bean.UnmannedLogoutReqBean; - -import io.reactivex.Observable; -import retrofit2.http.Body; -import retrofit2.http.GET; -import retrofit2.http.Header; -import retrofit2.http.Headers; -import retrofit2.http.POST; -import retrofit2.http.Query; - -/** - * Created by pangfan on 2021/8/19 - *

- * 网约车-出租车接口定义 - */ -interface TaxiDriverLoginServiceApi { - /** - * 获取手机验证码 - * - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-taxi-cabin/api/sms/v1/sendSms") - Observable getPhoneCode(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); - - /** - * 通过验证码登录 - * - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-taxi-cabin/api/flow/v1/startOperation") - Observable gotoLoginBycode4Taxi(@Header("appId") String appId - , @Header("ticket") String ticket, @Body UnmannedLoginReqBean data); - - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-taxi-cabin/api/flow/v1/endOperation") - Observable logout4Taxi(@Header("appId") String appId, @Header("ticket") String ticket, - @Body UnmannedLogoutReqBean data); - - /** - * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * - * @param sn - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/och-taxi-cabin/api/business/v1/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId - , @Header("ticket") String ticket, @Query("sn") String sn); - -} diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceManager.kt deleted file mode 100644 index 24428404ae..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiDriverLoginServiceManager.kt +++ /dev/null @@ -1,129 +0,0 @@ -package com.mogo.och.taxi.network - -import android.content.Context -import android.util.Log -import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.eagle.core.network.utils.GsonUtil -import com.mogo.commons.storage.SharedPrefsMgr -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.taxi.bean.GcjLatLon -import com.mogo.och.taxi.bean.UnmannedLoginReqBean -import com.mogo.och.taxi.bean.UnmannedLogoutReqBean - -/** - * Created by pangfan on 2021/8/19 - */ -object TaxiDriverLoginServiceManager { - - private const val TAG = "OchCommonServiceManager" - - private val mOCHTaxiServiceApi: TaxiDriverLoginServiceApi = - MoGoRetrofitFactory.getInstance(getBaseUrl()).create( - TaxiDriverLoginServiceApi::class.java - ) - - /** - * 获取手机验证码 - * @param context - * @param callback - */ - @JvmStatic - fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - mOCHTaxiServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) - } - - /** - * 通过验证码登录 - * @param context - * @param callback - */ - @JvmStatic - fun gotoLoginBycode( - context: Context, phone: String?, code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - //新saas 接口变换, 参数变换, 重新组装 - val unmannedLocation4Login = location4Login?.let { - GcjLatLon( - it.lat,it.lon - ) - } - Log.d("taxiUnmanned-request = " , GsonUtil.jsonFromObject(mOCHTaxiServiceApi)) - val sn = SharedPrefsMgr.getInstance().sn - mOCHTaxiServiceApi.gotoLoginBycode4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - UnmannedLoginReqBean(phone, code, sn, unmannedLocation4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) - } - - /** - * 登出 - */ - @JvmStatic - fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - //新saas 接口变换, 参数变换, 重新组装 - val unmannedLocation4Login = location4Login?.let { - GcjLatLon( - it.lat,it.lon - ) - } - Log.d("taxiUnmanned-request = " , GsonUtil.jsonFromObject(mOCHTaxiServiceApi)) - - mOCHTaxiServiceApi.logout4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - UnmannedLogoutReqBean(SharedPrefsMgr.getInstance().sn, unmannedLocation4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) - } - - /** - * 接单状态和登录状态查询 - * - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - if (SharedPrefsMgr.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return - } - mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) - } - -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiOperationalDataServiceManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiOperationalDataServiceManager.kt index 8f31813488..350483c41c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiOperationalDataServiceManager.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiOperationalDataServiceManager.kt @@ -3,10 +3,10 @@ package com.mogo.och.taxi.network import android.content.Context import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.network.MoGoRetrofitFactory -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.bean.QueryOrdersRespBean import com.mogo.och.taxi.bean.QueryServingDurationRespBean import com.mogo.och.taxi.bean.QueryTaskRespBean diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiRoutingServiceManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiRoutingServiceManager.kt index e12ac4a519..c0117cc65d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiRoutingServiceManager.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiRoutingServiceManager.kt @@ -4,10 +4,10 @@ import android.content.Context import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.bean.EndGrayContrailTaskReq import com.mogo.och.taxi.bean.GrayLineBean import com.mogo.och.taxi.bean.QueryGrayContrailListRsp diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiTaskWithOrderServiceManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiTaskWithOrderServiceManager.kt index e2012628c4..ee7a5ca1d3 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiTaskWithOrderServiceManager.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/network/TaxiTaskWithOrderServiceManager.kt @@ -4,10 +4,10 @@ import android.content.Context import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.bean.ArriveSiteReqBean import com.mogo.och.taxi.bean.CancelOrderReqBean import com.mogo.och.taxi.bean.JumpPassengerCheckReqBean diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt index 4855ec3b86..f19ddb6c93 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt @@ -8,6 +8,7 @@ import android.os.SystemClock import android.view.LayoutInflater import android.view.View import android.view.animation.LinearInterpolator +import android.widget.FrameLayout import androidx.fragment.app.FragmentTransaction import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.mogo.commons.AbsMogoApplication @@ -19,6 +20,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getState import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager.initBadCase import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showToolsView import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController @@ -45,7 +47,7 @@ import kotlinx.android.synthetic.main.taxi_base_fragment.mapBizView import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_autopilot_status import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_navi_panel_container import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_operation_status -import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_speed_tv +import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_speed_layout import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_station_panel_container import kotlinx.android.synthetic.main.taxi_base_fragment.module_och_autopilot_iv import kotlinx.android.synthetic.main.taxi_base_fragment.module_och_autopilot_tv @@ -109,7 +111,18 @@ abstract class BaseTaxiTabFragment> : MvpFragment> : MvpFragment> : MvpFragment(), private var taskTabFragment: WeakReference? = null private var personalDialogFragment: WeakReference? = null private var routingVerifyFragment: WeakReference? = null - private var loginService: LoginService? = null @Subscribe(threadMode = ThreadMode.MAIN) fun changeOverview(eventLogout: EventLogout) { @@ -83,9 +78,6 @@ class TaxiFragment : BaseTaxiTabFragment(), override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - loginService = - ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService - loginService?.registerFragment(this, presenter, TaxiDriverLoginImpl()) } override fun onCreateView( @@ -225,8 +217,6 @@ class TaxiFragment : BaseTaxiTabFragment(), override fun onDestroyView() { super.onDestroyView() - loginService!!.unRegisterFragment() - loginService = null EventBus.getDefault().unregister(this) } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java index 7cf4e7c07b..d312c01d8c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java @@ -12,14 +12,14 @@ import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.callback.ILoginCallback; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.biz.login.ILoginCallback; +import com.mogo.och.common.module.biz.login.LoginStatusEnum; +import com.mogo.och.common.module.biz.login.LoginStatusManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.taxi.callback.ITaxiADASStatusCallback; import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback; import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; -import com.mogo.och.taxi.constant.TaxiCarServingStatusManager; -import com.mogo.och.taxi.constant.TaxiDriverRoleEnum; +import com.mogo.och.common.module.biz.login.RoleEnum; import com.mogo.och.taxi.constant.TaxiUnmannedConst; import com.mogo.och.taxi.ui.routing.TaxiRoutingModel; import com.mogo.och.taxi.ui.task.TaxiTaskModel; @@ -39,6 +39,7 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS super(view); TaxiTaskModel.INSTANCE.init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); + onStatusChange(LoginStatusManager.getLoginStatus()); initListeners(); } @@ -150,11 +151,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS @Override public void onCarLocationChanged(MogoLocation location) { - if (null != location) { - runOnUIThread(() -> { - mView.updateSpeedView((float) location.getGnssSpeed()); - }); - } +// if (null != location) { +// runOnUIThread(() -> { +// mView.updateSpeedView((float) location.getGnssSpeed()); +// }); +// } } @Override @@ -198,22 +199,18 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS }); } - @Override - public void loginSuccess(DriverStatusQueryRespBean data) { - //设置 接单状态 - TaxiCarServingStatusManager.setCarServingStatus(data.data.servingStatus); - + public void onStatusChange(LoginStatusEnum currentStatus) { // 设置当前用户角色 String role = ""; - if (TaxiDriverRoleEnum.DEMO.getCode() == data.data.purpose) { + if (RoleEnum.DEMO == LoginStatusManager.getPurpose()) { role = TaxiUnmannedConst.DEMO_USER; - } else if (TaxiDriverRoleEnum.TEST.getCode() == data.data.purpose) { + } else if (RoleEnum.TEST == LoginStatusManager.getPurpose()) { role = TaxiUnmannedConst.TEST_USER; } String finalRole = role; runOnUIThread(() -> { - mView.updateOperationStatus(TaxiCarServingStatusManager.isCarServingStatus(), finalRole); + mView.updateOperationStatus(LoginStatusManager.isOpenOrderType(), finalRole); }); if (!TaxiTaskModel.INSTANCE.checkCurrentTaskCondition()) { @@ -223,10 +220,6 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiTaskModel.INSTANCE.updatePrepareTaskDelayUI(); } - @Override - public void loginFail(boolean isLogin) { - } - public void stopAutoStartAutopilot() { TaxiTaskModel.INSTANCE.stopAutoStartAutopilot(); } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/operational/TaxiOperationalDataViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/operational/TaxiOperationalDataViewModel.kt index 48f01d9bca..ea9f0af4c6 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/operational/TaxiOperationalDataViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/operational/TaxiOperationalDataViewModel.kt @@ -6,8 +6,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.taxi.R import com.mogo.och.taxi.base.BaseViewModel import com.mogo.och.taxi.base.IUiIntent @@ -54,7 +54,7 @@ class TaxiOperationalDataViewModel : BaseViewModel{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryTaskRespBean?) { CallerLogger.d(TAG, "queryCurrentScheduledTaskList" + GsonUtils.toJson(data)) data?.also { @@ -89,7 +89,7 @@ class TaxiOperationalDataViewModel : BaseViewModel{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryServingDurationRespBean) { //服务时长返回 秒 val toJson = GsonUtils.toJson(data) CallerLogger.d(TAG, "queryServingDuration$toJson") @@ -125,7 +125,7 @@ class TaxiOperationalDataViewModel : BaseViewModel{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryTaskRespBean?) { CallerLogger.d(TAG, "queryTaskListByOrderNo" + GsonUtils.toJson(data)) @@ -161,7 +161,7 @@ class TaxiOperationalDataViewModel : BaseViewModel{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryOrdersRespBean?) { CallerLogger.d(TAG, "queryCurrentCompleteOrder" + GsonUtils.toJson(data)) @@ -197,7 +197,7 @@ class TaxiOperationalDataViewModel : BaseViewModel{ + object : OchCommonServiceCallback { override fun onSuccess(data: QueryOrdersRespBean?) { CallerLogger.d(TAG, "queryCurrentDayOrder" + GsonUtils.toJson(data)) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt index c857f4495e..43dbd3a22c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt @@ -21,8 +21,8 @@ import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.utils.OCHThreadPoolManager import com.mogo.och.taxi.bean.ContrailBean import com.mogo.och.taxi.bean.EndGrayContrailTaskReq diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index 7e65cb6535..e57c36b2f5 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -16,8 +16,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.utils.ToastUtilsOch import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.R diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index f04a93a918..5f9ec8d534 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -3,7 +3,6 @@ package com.mogo.och.taxi.ui.task import android.content.Context import android.net.ConnectivityManager import android.text.TextUtils -import com.alibaba.android.arouter.launcher.ARouter import com.amap.api.maps.model.LatLng import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.commons.AbsMogoApplication @@ -38,19 +37,18 @@ import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage -import com.mogo.och.common.module.biz.constant.LoginStatusManager -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.provider.LoginService +import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager +import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessage +import com.mogo.och.common.module.biz.login.LoginStatusManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.biz.login.LoginService import com.mogo.och.common.module.callback.OchAdasStartFailureCallback -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.setStationPoint +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.ITrajectoryListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.setStationPoint import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil.coordinateConverterWgsToGcjLocations import com.mogo.och.common.module.utils.OCHThreadPoolManager @@ -68,7 +66,6 @@ import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback import com.mogo.och.taxi.callback.ITaxiTaskWithOrderCallback import com.mogo.och.taxi.constant.TaskStatusEnum import com.mogo.och.taxi.constant.TaskTypeEnum -import com.mogo.och.taxi.constant.TaxiCarServingStatusManager import com.mogo.och.taxi.constant.TaxiOrderStatusEnum import com.mogo.och.taxi.constant.TaxiUnmannedConst import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.BUSINESSTYPE @@ -201,15 +198,12 @@ object TaxiTaskModel { } fun init() { - loginService = - ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService initListeners() RxJavaUtils.setErrorHandler(TAG) } fun release() { releaseListeners() - loginService = null } private fun initListeners() { @@ -513,7 +507,7 @@ object TaxiTaskModel { d(TAG, "mNetWorkIntentListener: onIntentReceived=$intentStr") if ((ConnectivityManager.CONNECTIVITY_ACTION == intentStr)) { if (NetworkUtils.isConnected(mContext)) { - loginService?.queryLoginStatusByNet() + LoginStatusManager.queryLoginStatusByNet() DebugView.printInfoMsg("[网络状态变化] isConnected=true") } else { DebugView.printErrorMsg("[网络状态变化] isConnected=false") @@ -996,7 +990,7 @@ object TaxiTaskModel { d( TAG, "prepareNextTask onSuccess:${GsonUtil.jsonFromObject(data)}, " + - "isCarServingStatus = ${TaxiCarServingStatusManager.isCarServingStatus()}" + "isCarServingStatus = ${LoginStatusManager.isOpenOrderType()}" ) DebugView.printInfoMsg("[PrepareNextTask] 请求success") isPrepareingNextTask = false @@ -1006,7 +1000,7 @@ object TaxiTaskModel { DebugView.printErrorMsg("[PrepareNextTask] 请求fail, code=$code ,msg=$msg") d(TAG, "prepareNextTask onFail: code=$code ,msg=$msg") isPrepareingNextTask = false - if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus() + if (LoginStatusManager.isLogin() && LoginStatusManager.isOpenOrderType() && QueryCurrentTaskRespBean.isTaskCompleteTaskType(mCurrentTaskWithOrder)) { mCurrentTaskWithOrder?.endSite?.siteId?.also { startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TASK_RETRY_INTERVAL,it) @@ -1020,7 +1014,7 @@ object TaxiTaskModel { "net = ${NetworkUtils.isConnected(mContext)}") d(TAG, "prepareNextTask onError, , net = ${NetworkUtils.isConnected(mContext)}") isPrepareingNextTask = false - if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus() + if (LoginStatusManager.isLogin() && LoginStatusManager.isOpenOrderType() && QueryCurrentTaskRespBean.isTaskCompleteTaskType(mCurrentTaskWithOrder)) { mCurrentTaskWithOrder?.endSite?.siteId?.also { startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TASK_RETRY_INTERVAL,it) @@ -1106,17 +1100,17 @@ object TaxiTaskModel { fun updateCarServingStatus() { if (!LoginStatusManager.isLogin()) { - loginService?.queryLoginStatusByNet() + LoginStatusManager.queryLoginStatusByNet() return } - if (TaxiCarServingStatusManager.isCarServingStatus()) {//接单状态下,去结束 + if (LoginStatusManager.isOpenOrderType()) {//接单状态下,去结束 DebugView.printInfoMsg("[暂停接单] 准备发送请求") TaxiTaskWithOrderServiceManager.endService( mContext, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { DebugView.printInfoMsg("[暂停接单] 请求success") - loginService?.queryLoginStatusByNet() + LoginStatusManager.queryLoginStatusByNet() //需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的 mDriveToNearestStationTask = null mTaxiCarServiceCallback?.onCarEndServiceSuccess( @@ -1146,7 +1140,7 @@ object TaxiTaskModel { if (data == null) return DebugView.printInfoMsg("[开始接单] 请求success") d(TAG, "data.data=" + GsonUtil.jsonFromObject(data.data)) - loginService?.queryLoginStatusByNet() + LoginStatusManager.queryLoginStatusByNet() mCurrentTaskWithOrder?.apply { if (endSite != null) { when { @@ -1450,7 +1444,7 @@ object TaxiTaskModel { // 登出 fun logout() { - loginService?.loginOut( + LoginStatusManager.loginOut( getChassisLocationGCJ02().latitude, getChassisLocationGCJ02().longitude ) @@ -1539,7 +1533,7 @@ object TaxiTaskModel { } fun updatePrepareTaskDelayUI() { - if (!TaxiCarServingStatusManager.isCarServingStatus()){ + if (!LoginStatusManager.isOpenOrderType()){ mTaxiTaskWithOrderCallbackMap.forEach { val listener = it.value listener.onStartPrepareTaskUI(0, false) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java index 4ea89fb536..ebc7184d6d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java @@ -12,7 +12,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager; import com.mogo.och.taxi.constant.TaxiUnmannedConst; import java.util.HashMap; diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java index 7c92f57c11..7c9c72dc54 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java @@ -8,7 +8,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.GsonUtils; -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager; +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import com.mogo.och.taxi.bean.OrderDetail; import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean; import com.mogo.och.taxi.bean.TrajectoryListRespBean; diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml index e6b1c1ab50..c39420febd 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_base_fragment.xml @@ -29,48 +29,22 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - - - - - - - + app:layout_constraintTop_toTopOf="parent"/> + app:layout_constraintLeft_toLeftOf="@+id/module_mogo_och_speed_layout" + app:layout_constraintRight_toRightOf="@+id/module_mogo_och_speed_layout" + app:layout_constraintTop_toBottomOf="@+id/module_mogo_och_speed_layout"> + + + \ No newline at end of file diff --git a/OCH/taxi/unmanned-passenger/build.gradle b/OCH/taxi/unmanned-passenger/build.gradle index cff4ee3253..f38c1df5fd 100644 --- a/OCH/taxi/unmanned-passenger/build.gradle +++ b/OCH/taxi/unmanned-passenger/build.gradle @@ -17,7 +17,7 @@ android { javaCompileOptions { annotationProcessorOptions { - arguments = [AROUTER_MODULE_NAME: project.getName()] + arguments = [AROUTER_MODULE_NAME: "taxiunmanned"+project.getName()] } } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java deleted file mode 100644 index ae1351af5f..0000000000 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/MogoOCHTaxiPassenger.java +++ /dev/null @@ -1,86 +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.taxi.passenger.constant.TaxiPassengerConst; -import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * @author congtaowang - * @since 2021/1/15 - *

- * 网约车-出租车-乘客端 - */ -@Route(path = TaxiPassengerConst.PATH) -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(); - } -} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt new file mode 100644 index 0000000000..d4e550a2e4 --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/TaxiUnmannedPassengerProvider.kt @@ -0,0 +1,44 @@ +package com.mogo.och.taxi.passenger + +import android.content.Context +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.biz.provider.CommonService +import com.mogo.och.common.module.biz.provider.CommonServiceImpl +import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment +import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView + +/** + * @author congtaowang + * @since 2021/1/15 + * + * + * 网约车-出租车-乘客端 + */ +@Route(path = OchCommonConst.TAXI_UNMANNED_PASSENGER) +class TaxiUnmannedPassengerProvider : CommonServiceImpl() { + + private val tag = TaxiUnmannedPassengerProvider::class.java.simpleName + private lateinit var ochTaxiPassengerFragment: TaxiPassengerBaseFragment + override fun init(context: Context) { + d(SceneConstant.M_TAXI_P + tag, "init") + ochTaxiPassengerFragment = TaxiPassengerBaseFragment() + statusBarView = StatusBarView(context) + } + + override fun getStatusBarView(context: Context): View { + if (statusBarView == null) { + statusBarView = StatusBarView(context) + } + return statusBarView!! + } + + override fun getFragment(): Fragment { + return ochTaxiPassengerFragment + } + +} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index 87bac6335a..32634c15f6 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -10,9 +10,9 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener 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.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index 2a88f04994..698db0af90 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -18,15 +18,15 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.callback.OchAdasStartFailureCallback -import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo -import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager +import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.manager.loop.LoopInfo +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt index aa9ae27782..dce17155e1 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt @@ -6,10 +6,10 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P -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.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean import com.mogo.och.taxi.passenger.bean.TaxiPassengerCheckPhoneUpdateOrderReqBean import com.mogo.och.taxi.passenger.bean.TaxiPassengerGetTrajectoryByLineIdRespBean diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt index dc9a604caf..9b071036df 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -7,7 +7,7 @@ import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager 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.UiThreadHandler -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java deleted file mode 100644 index 8104aaee3d..0000000000 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/provider/StatusViewManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.taxi.passenger.provider; - -import android.content.Context; -import android.view.View; - -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; -import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class StatusViewManager implements IStatusViewLayout { - - private StatusBarView statusBarView; - @NonNull - @Override - public View getStatusView(Context context) { - return statusBarView; - } - - @Override - public void init(Context context) { - statusBarView = new StatusBarView(context); - } -} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index d6aff68663..a4c4340474 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -17,7 +17,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.map.listener.IMogoMapListener -import com.mogo.och.common.module.manager.xiaozhimanager.ZhiStateManager +import com.mogo.och.common.module.manager.xiaozhi.ZhiStateManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt index 2c0e91ecd5..a0707f8001 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt @@ -13,7 +13,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger 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.manager.xiaozhimanager.ZhiViewmanager +import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager import com.mogo.och.common.module.utils.BigFrameAnimatorContainer import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt index b0ca0091a9..5b70eafb52 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt @@ -1,8 +1,8 @@ package com.mogo.och.taxi.passenger.ui.arrived import androidx.lifecycle.ViewModel -import com.mogo.och.common.module.manager.distancemamager.IDistanceListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager +import com.mogo.och.common.module.manager.distance.IDistanceListener +import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.taxi.passenger.model.TaxiPassengerModel class ArrivedViewModel : ViewModel(), IDistanceListener { diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt index b3f55df635..21a3caa6e7 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotView.kt @@ -17,7 +17,7 @@ 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.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.xiaozhimanager.ZhiViewmanager +import com.mogo.och.common.module.manager.xiaozhi.ZhiViewmanager import com.mogo.och.common.module.utils.BigFrameAnimatorContainer import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.model.TaxiPassengerModel diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt index 25fc7855d0..dc90081392 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotView.kt @@ -9,8 +9,8 @@ import androidx.lifecycle.ViewModelProvider import com.mogo.eagle.core.utilcode.kotlin.onClick 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.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState import com.mogo.och.common.module.utils.FrameAnimatorContainer import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt index 7ea050bc7b..5310076b0f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/startautopilot/StartAutopilotViewModel.kt @@ -9,10 +9,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ParseVersionUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.manager.devicemanage.TaxiDoorStateManager -import com.mogo.och.common.module.manager.devicemanage.callback.DoorStateCallback -import com.mogo.och.common.module.manager.devicemanage.data.DoorPosition -import com.mogo.och.common.module.manager.devicemanage.data.DoorState +import com.mogo.och.common.module.manager.device.TaxiDoorStateManager +import com.mogo.och.common.module.manager.device.callback.DoorStateCallback +import com.mogo.och.common.module.manager.device.data.DoorPosition +import com.mogo.och.common.module.manager.device.data.DoorState import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.R diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt index ff2ff9d875..7d1daf1e0f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.kt @@ -10,7 +10,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P import com.mogo.eagle.core.utilcode.util.DateTimeUtils -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst import io.reactivex.disposables.Disposable diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt index 842d3e193e..67b65239c3 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt @@ -20,7 +20,7 @@ import androidx.core.app.ActivityCompat import com.mogo.eagle.core.utilcode.util.TimeTransformUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider -import com.mogo.och.common.module.manager.audiofocusmanager.AudioFocusManager +import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager import com.mogo.och.common.module.wigets.media.MediaItem import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml index 9a5a616777..821a801951 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml @@ -190,7 +190,7 @@ - + + + \ No newline at end of file diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_statusview.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_statusview.xml index 5a1617b197..4c461c7ada 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_statusview.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_statusview.xml @@ -20,7 +20,7 @@ - // 匹配flavor对应的 json - if(flavorNames.toLowerCase().contains(key)){ - getKey = key - return true - } - } - return jsonOutput.toJson(config.get(env).get(getKey)) - } catch (IOException e) { - e.printStackTrace() - } - return null -} - -/** - * 读取各车型宣传视频本地配置 - * @param env - * @return - */ -Object readMusicUrlConfigFromJsonFile(env){ - try { - // 加载config.json 文件 - File file = new File("${rootDir}/app/config/MusicUrlConfig.json") - def jsonSlurper = new JsonSlurper() - // 解析json - def config = jsonSlurper.parse(file) - def flavorNames = variantVehicleName() - def jsonOutput = new JsonOutput() - def getKey = flavorNames - config.get(env).each {key, value -> - // 匹配flavor对应的 json - if(flavorNames.toLowerCase().contains(key)){ - getKey = key - return true - } - } - return jsonOutput.toJson(config.get(env).get(getKey)) - } catch (IOException e) { - e.printStackTrace() - } - return null -} - - -def variantVehicleName() { - if(gradle.startParameter.taskNames.size()>0) { - for (String taskName : gradle.startParameter.taskNames) { - if (taskName.contains("Debug") | taskName.contains("Release")) { - return taskName - } - } - } - return "buspassenger" -} - diff --git a/app/config/MediaUrlConfig.json b/app/config/MediaUrlConfig.json index 42e23e8896..421970630c 100644 --- a/app/config/MediaUrlConfig.json +++ b/app/config/MediaUrlConfig.json @@ -1,6 +1,6 @@ { "mogo": { - "shuttlepassengerochjl": { + "b1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", @@ -64,71 +64,7 @@ } ] }, - "buspassengerochjl": { - "medias": [ - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "1" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "fileType": 1, - "coverImageUrl": "", - "title": "2" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357557335/3.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "title": "3" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "4" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357834634/5.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "5" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676358660379/6.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "6" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360154589/7.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "7" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360185500/8.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "8" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "fileType": 1, - "coverImageUrl": "", - "title": "9" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360274126/10.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "title": "10" - } - ] - }, - "shuttlepassengerochm2": { + "b2passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681716116231/6923474a99a1983c9a0410ad3357888d.mov", @@ -144,7 +80,7 @@ } ] }, - "taxiunmannedpassengerochdfhq": { + "t1t2passengeroch": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -172,7 +108,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -202,7 +138,7 @@ } }, "dali": { - "shuttlepassengerochjl": { + "b1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", @@ -266,71 +202,7 @@ } ] }, - "buspassengerochjl": { - "medias": [ - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "1" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "fileType": 1, - "coverImageUrl": "", - "title": "2" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357557335/3.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "title": "3" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "4" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357834634/5.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "5" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676358660379/6.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "6" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360154589/7.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "7" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360185500/8.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "8" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "fileType": 1, - "coverImageUrl": "", - "title": "9" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360274126/10.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "title": "10" - } - ] - }, - "shuttlepassengerochm2": { + "b2passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681716116231/6923474a99a1983c9a0410ad3357888d.mov", @@ -346,7 +218,7 @@ } ] }, - "taxiunmannedpassengerochdfhq": { + "t1t2passengerochd": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -374,7 +246,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -404,7 +276,7 @@ } }, "yantai": { - "shuttlepassengerochjl": { + "b1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681210971943/yangmadou.mp4", @@ -420,23 +292,7 @@ } ] }, - "buspassengerochjl": { - "medias": [ - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681210971943/yangmadou.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1680774790614/yangmadao_photo.jpg", - "title": "1" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681210971943/yangmadou.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1680774790614/yangmadao_photo.jpg", - "title": "2" - } - ] - }, - "shuttlepassengerochm2": { + "b2passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681716116231/6923474a99a1983c9a0410ad3357888d.mov", @@ -452,7 +308,7 @@ } ] }, - "taxiunmannedpassengerochdfhq": { + "t1t2passengeroch": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -480,7 +336,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -510,7 +366,7 @@ } }, "saas": { - "shuttlepassengerochjl": { + "b1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", @@ -574,71 +430,7 @@ } ] }, - "buspassengerochjl": { - "medias": [ - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357256102/1.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "1" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "fileType": 1, - "coverImageUrl": "", - "title": "2" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357557335/3.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357382357/2.png", - "title": "3" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "4" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357834634/5.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "5" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676358660379/6.m4v", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676357598483/4.jpg", - "title": "6" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360154589/7.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "7" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360185500/8.jpg", - "fileType": 1, - "coverImageUrl": "", - "title": "8" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "fileType": 1, - "coverImageUrl": "", - "title": "9" - }, - { - "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360274126/10.mp4", - "fileType": 2, - "coverImageUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1676360224773/9.png", - "title": "10" - } - ] - }, - "shuttlepassengerochm2": { + "b2passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1681716116231/6923474a99a1983c9a0410ad3357888d.mov", @@ -654,7 +446,7 @@ } ] }, - "taxiunmannedpassengerochdfhq": { + "t1t2passengeroch": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", @@ -682,7 +474,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "medias": [ { "fileUrl": "https://img.zhidaohulian.com/fileServer/online_car_hailing/1655708499497/大运会合作解说版.m4v", diff --git a/app/config/MusicUrlConfig.json b/app/config/MusicUrlConfig.json index 1c109ba55f..7c5040283a 100644 --- a/app/config/MusicUrlConfig.json +++ b/app/config/MusicUrlConfig.json @@ -1,6 +1,6 @@ { "mogo": { - "taxipassengerochdfhq": { + "t1t2passengeroch": { "musics": [ { "id": "1", @@ -124,7 +124,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "musics": [ { "id": "1", @@ -250,7 +250,7 @@ } }, "dali": { - "charterpassengerochm1": { + "m1passenger": { "musics": [ { "id": "1", @@ -376,7 +376,7 @@ } }, "yantai": { - "charterpassengerochm1": { + "m1passenger": { "musics": [ { "id": "1", @@ -502,7 +502,7 @@ } }, "saas": { - "taxiunmannedpassengerochdfhq": { + "t1t2passengeroch": { "musics": [ { "id": "1", @@ -626,7 +626,7 @@ } ] }, - "charterpassengerochm1": { + "m1passenger": { "musics": [ { "id": "1", diff --git a/app/config/productWithVehicle.json b/app/config/productWithVehicle.json new file mode 100644 index 0000000000..e5d6c670b5 --- /dev/null +++ b/app/config/productWithVehicle.json @@ -0,0 +1,24 @@ +{ + "mogo": { + "B1":["shuttle","bus"], + "B2":["shuttle","bus"], + "T1T2":["taxi"], + "M1":["charter"] + }, + "dali": { + "B1":["shuttle"], + "B2":["shuttle"], + "M1":["charter"] + }, + "yantai": { + "B1":["shuttle"], + "B2":["shuttle"], + "M1":["charter"] + }, + "saas": { + "T1T2":["taxi"], + "B1":["shuttle","bus"], + "B2":["shuttle","bus"], + "M1":["charter"] + } +} diff --git a/app/regroup.gradle b/app/regroup.gradle index d537709675..9a5e6539e3 100644 --- a/app/regroup.gradle +++ b/app/regroup.gradle @@ -2,14 +2,11 @@ afterEvaluate { def launcher = [ - "ochFT", + "C1", "fOchTaxi", - "ochJL", - "ochJL", + "B1", "fOchBusPassengerM1", - "ochM2", - "ochJL", - "ochJL", + "B2", "fOchTaxiPassenger", "MultiDisplayOchBus", "MultiDisplayOchTaxi"] diff --git a/app/script/flavorfilter/flavors.json b/app/script/flavorfilter/flavors.json index d66e7df44f..6bf15c7855 100644 --- a/app/script/flavorfilter/flavors.json +++ b/app/script/flavorfilter/flavors.json @@ -1,67 +1,26 @@ { "mogo": { - "sweeperOperate" :{ - "driver": ["ochFT"] - }, - "sweeperCloud" :{ - "driver": ["ochFT"] - }, - "shuttle" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "taxi" :{ - "driver": ["ochDFHQ"], - "passenger": ["ochDFHQ"] - }, - "bus" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "charter" :{ - "driver": ["ochM1"], - "passenger": ["ochM1"] - } + "C1":["driver"], + "B1":["driver","passenger"], + "B2":["driver","passenger"], + "T1T2":["driver","passenger"], + "M1":["driver","passenger"] }, "dali": { - "shuttle" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "charter" :{ - "driver": ["ochM1"], - "passenger": ["ochM1"] - } + "B1":["driver","passenger"], + "M1":["driver","passenger"], + "B2":["driver","passenger"] }, "yantai": { - "sweeperOperate" :{ - "driver": ["ochFT"] - }, - "shuttle" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "charter" :{ - "driver": ["ochM1"], - "passenger": ["ochM1"] - } + "B1":["driver","passenger"], + "M1":["driver","passenger"], + "B2":["driver","passenger"], + "C1":["driver"] }, "saas": { - "taxiunmanned" :{ - "driver": ["ochDFHQ"], - "passenger": ["ochDFHQ"] - }, - "shuttle" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "bus" :{ - "driver": ["ochJL","ochM2"], - "passenger": ["ochJL","ochM2"] - }, - "charter" :{ - "driver": ["ochM1"], - "passenger": ["ochM1"] - } + "T1T2":["driver","passenger"], + "B1":["driver","passenger"], + "B2":["driver","passenger"], + "M1":["driver","passenger"] } } diff --git a/app/script/flavorfilter/flavorsFilterConfig.gradle b/app/script/flavorfilter/flavorsFilterConfig.gradle index 25c24d1d72..9722f98b76 100644 --- a/app/script/flavorfilter/flavorsFilterConfig.gradle +++ b/app/script/flavorfilter/flavorsFilterConfig.gradle @@ -14,24 +14,14 @@ project.android.variantFilter { variant -> config.each { projectKey,projectValue -> if(names.contains(projectKey)){ projectContain = false - def productContain = true - projectValue.each{productKey,productValue-> + def vehicleContain = true + projectValue.each{productKey,rolesValue-> if(names.contains(productKey)){ - productContain =false + vehicleContain =false def roleContain = true - productValue.each{roleKey,roleValue-> - if(names.contains(roleKey)){ + rolesValue.each{roleValue-> + if(names.contains(roleValue)){ roleContain =false - def vehicleContain = true - roleValue.each{vehicleValue-> - if (names.contains(vehicleValue)) { - //println "need $names" - vehicleContain = false - } - } - if(vehicleContain){ - setIgnore(true) - } } } if(roleContain){ @@ -39,7 +29,7 @@ project.android.variantFilter { variant -> } } } - if(productContain){ + if(vehicleContain){ setIgnore(true) } } diff --git a/app/script/functions/README.md b/app/script/functions/README.md deleted file mode 100644 index 27064aa5d3..0000000000 --- a/app/script/functions/README.md +++ /dev/null @@ -1 +0,0 @@ -# 不同渠道,依赖的实现不一样,需要各个渠道都去依赖各自需要的实现,渠道太多导致build.gradle 文件臃肿,可以通过分gradle文件方式减少臃肿 \ No newline at end of file diff --git a/app/script/productFlavors/bus.gradle b/app/script/productFlavors/bus.gradle deleted file mode 100644 index 0597162542..0000000000 --- a/app/script/productFlavors/bus.gradle +++ /dev/null @@ -1,34 +0,0 @@ -apply from: "./script/utils.gradle" - -project.android.productFlavors { - bus { - dimension "product" - - manifestPlaceholders = [ - // 标识 - CHANNEL_VALUE_HEAD: "Bus", - // 在启动的时候把Task给清空 -// ACTIVITY_ROOT : true, - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Bus\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" - - if (isCurrentDriver("bus")) { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - } else if (isCurrentPassenger("bus")) { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - } - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - } -} - diff --git a/app/script/productFlavors/charter.gradle b/app/script/productFlavors/charter.gradle deleted file mode 100644 index 1177dbf48f..0000000000 --- a/app/script/productFlavors/charter.gradle +++ /dev/null @@ -1,34 +0,0 @@ - - -project.android.productFlavors { - // 包车业务 - charter{ - dimension "product" - - manifestPlaceholders = [ - CHANNEL_VALUE_HEAD: "Charter", - // 在启动的时候把Task给清空 -// ACTIVITY_ROOT : true, - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Charter\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - if(isCurrentDriver("charter")){ - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - }else if(isCurrentPassenger("charter")){ - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - }else { - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - } - } -} \ No newline at end of file diff --git a/app/script/productFlavors/shuttle.gradle b/app/script/productFlavors/shuttle.gradle deleted file mode 100644 index dbe16ce151..0000000000 --- a/app/script/productFlavors/shuttle.gradle +++ /dev/null @@ -1,50 +0,0 @@ -apply from: "./script/utils.gradle" - -project.android.productFlavors { - // 接驳车业务 - shuttle { - dimension "product" - - manifestPlaceholders = [ - // 标识 - CHANNEL_VALUE_HEAD: "Shuttle", - // 在启动的时候把Task给清空 -// ACTIVITY_ROOT : true, - ] - - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Shuttle\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" - - if (isCurrentDriver("shuttle")) { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") - } else if (isCurrentPassenger("shuttle")) { - if (isM2()) { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - manifestPlaceholders.put("SCREEN_ORIENTATION", "portrait") - } - if (isJL()) { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true' - manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") - } - } else { - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true' - manifestPlaceholders.put("SCREEN_ORIENTATION", "landscape") - } - } -} \ No newline at end of file diff --git a/app/script/productFlavors/sweeperCloud.gradle b/app/script/productFlavors/sweeperCloud.gradle deleted file mode 100644 index 6016cb90e2..0000000000 --- a/app/script/productFlavors/sweeperCloud.gradle +++ /dev/null @@ -1,33 +0,0 @@ -project.android.productFlavors { - // 清扫车业务 - sweeperCloud { - dimension "product" - - manifestPlaceholders = [ - // 标识 - CHANNEL_VALUE_HEAD: "Sweeper", - // 在启动的时候把Task给清空 -// ACTIVITY_ROOT : true, - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" - - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - // ⑤清扫车 默认模式(运营/云控) - buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Cloud\"' - - // ⑥清扫车 是否能切换模式 - buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'true' - } -} \ No newline at end of file diff --git a/app/script/productFlavors/sweeperOperate.gradle b/app/script/productFlavors/sweeperOperate.gradle deleted file mode 100644 index 7391c3b2f5..0000000000 --- a/app/script/productFlavors/sweeperOperate.gradle +++ /dev/null @@ -1,33 +0,0 @@ -project.android.productFlavors { - // 清扫车业务 - sweeperOperate { - dimension "product" - - manifestPlaceholders = [ - // 标识 - CHANNEL_VALUE_HEAD: "Sweeper", - // 在启动的时候把Task给清空 -// ACTIVITY_ROOT : true, - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" - - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - // ⑤清扫车 默认模式(运营/云控) - buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Operate\"' - - // ⑥清扫车 是否能切换模式 - buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'false' - } -} \ No newline at end of file diff --git a/app/script/productFlavors/taxi.gradle b/app/script/productFlavors/taxi.gradle deleted file mode 100644 index 6564946ad4..0000000000 --- a/app/script/productFlavors/taxi.gradle +++ /dev/null @@ -1,36 +0,0 @@ -project.android.productFlavors { - // 出租车业务 - taxi { - dimension "product" - - manifestPlaceholders = [ - CHANNEL_VALUE_HEAD: "Taxi", - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Taxi\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\"" - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - if (isCurrentDriver("taxi")) { - // 在启动的时候把Task给清空 - manifestPlaceholders.put("ACTIVITY_ROOT", true) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - }else if (isCurrentPassenger("taxi")) { - // 在启动的时候把Task给清空 - manifestPlaceholders.put("ACTIVITY_ROOT", false) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - }else { - manifestPlaceholders.put("ACTIVITY_ROOT", false) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - } - } -} \ No newline at end of file diff --git a/app/script/productFlavors/taxiunmanned.gradle b/app/script/productFlavors/taxiunmanned.gradle deleted file mode 100644 index 84c7697b6a..0000000000 --- a/app/script/productFlavors/taxiunmanned.gradle +++ /dev/null @@ -1,36 +0,0 @@ -project.android.productFlavors { - // 出租车业务 - taxiunmanned { - - dimension "product" - manifestPlaceholders = [ - CHANNEL_VALUE_HEAD: "Taxi", - // Activity的朝向 -// SCREEN_ORIENTATION:"landscape", - ] - // ①标识 - buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Taxi\"" - - // ②连接的工控机IP地址 - buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\"" - - // ④构建 是否支持多屏异显异交互 - buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - - if (isCurrentDriver("taxi")) { - // 在启动的时候把Task给清空 - manifestPlaceholders.put("ACTIVITY_ROOT", true) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - }else if (isCurrentPassenger("taxi")) { - // 在启动的时候把Task给清空 - manifestPlaceholders.put("ACTIVITY_ROOT", false) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'true' - }else { - manifestPlaceholders.put("ACTIVITY_ROOT", false) - // ③是否需要重写状态栏 - buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false' - } - } -} \ No newline at end of file diff --git a/app/script/projectFlavors/project.gradle b/app/script/projectFlavors/project.gradle new file mode 100644 index 0000000000..93cd64c366 --- /dev/null +++ b/app/script/projectFlavors/project.gradle @@ -0,0 +1,52 @@ +apply from: "./script/utils.gradle" + + +project.android.productFlavors { + mogo { + dimension "project" + buildConfigField 'boolean', 'secure', "true" + buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("mogo").replace("\"", "\\\"")}\"" + } + yantai { + dimension "project" + buildConfigField 'boolean', 'secure', "false" + buildConfigField 'String', 'URLs', "\"${readFileToJson("yantai").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("yantai").replace("\"", "\\\"")}\"" + } + + dali { + dimension "project" + buildConfigField 'boolean', 'secure', "true" + buildConfigField 'String', 'URLs', "\"${readFileToJson("dali").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("dali").replace("\"", "\\\"")}\"" + } + saas { + dimension "project" + buildConfigField 'boolean', 'secure', "true" + buildConfigField 'String', 'URLs', "\"${readFileToJson("saas").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'mediaUrlConfig', "\"${readMediaUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'musicUrlConfig', "\"${readMusicUrlConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" + buildConfigField 'String', 'supportBusiness', "\"${readProductWithVehicleConfigFromJsonFile("saas").replace("\"", "\\\"")}\"" + } + + // 配置网络环境,QA、线上、演示 + qa { + dimension "env" + buildConfigField 'int', 'NET_ENV', '2' + } + online { + dimension "env" + buildConfigField 'int', 'NET_ENV', '3' + } + demo { + dimension "env" + buildConfigField 'int', 'NET_ENV', '4' + } +} \ No newline at end of file diff --git a/app/script/utils.gradle b/app/script/utils.gradle index 9db724526c..4a401cc85f 100644 --- a/app/script/utils.gradle +++ b/app/script/utils.gradle @@ -1,3 +1,110 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper + +/** + * 读取各车型宣传视频本地配置 + * @param env + * @return + */ +Object readMediaUrlConfigFromJsonFile(env){ + try { + // 加载config.json 文件 + File file = new File("${rootDir}/app/config/MediaUrlConfig.json") + def jsonSlurper = new JsonSlurper() + // 解析json + def config = jsonSlurper.parse(file) + def flavorNames = variantVehicleName() + def jsonOutput = new JsonOutput() + def getKey = flavorNames + config.get(env).each {key, value -> + // 匹配flavor对应的 json + if(flavorNames.toLowerCase().contains(key)){ + getKey = key + return true + } + } + return jsonOutput.toJson(config.get(env).get(getKey)) + } catch (IOException e) { + e.printStackTrace() + } + return null +} + +/** + * 读取各车型宣传视频本地配置 + * @param env + * @return + */ +Object readProductWithVehicleConfigFromJsonFile(env){ + try { + // 加载config.json 文件 + File file = new File("${rootDir}/app/config/productWithVehicle.json") + def jsonSlurper = new JsonSlurper() + // 解析json + def config = jsonSlurper.parse(file) + def flavorNames = variantVehicleName() + def jsonOutput = new JsonOutput() + def getKey = flavorNames + config.get(env).each {key, value -> + // 匹配flavor对应的 json + println "${env}____ 对比${flavorNames.toLowerCase()}---------${key}---${value}" + if(flavorNames.toLowerCase().contains("${env}${key.toLowerCase()}")){ + getKey = key + println "对比结果${flavorNames.toLowerCase()}---------${key}" + return true + } + } + + return jsonOutput.toJson(config.get(env).get(getKey)) + } catch (IOException e) { + e.printStackTrace() + } + return null +} + + + +/** + * 读取各车型宣传视频本地配置 + * @param env + * @return + */ +Object readMusicUrlConfigFromJsonFile(env){ + try { + // 加载config.json 文件 + File file = new File("${rootDir}/app/config/MusicUrlConfig.json") + def jsonSlurper = new JsonSlurper() + // 解析json + def config = jsonSlurper.parse(file) + def flavorNames = variantVehicleName() + def jsonOutput = new JsonOutput() + def getKey = flavorNames + config.get(env).each {key, value -> + // 匹配flavor对应的 json + if(flavorNames.toLowerCase().contains(key)){ + getKey = key + return true + } + } + return jsonOutput.toJson(config.get(env).get(getKey)) + } catch (IOException e) { + e.printStackTrace() + } + return null +} + +def variantVehicleName() { + if(gradle.startParameter.taskNames.size()>0) { + for (String taskName : gradle.startParameter.taskNames) { + if (taskName.contains("Debug") | taskName.contains("Release")) { + return taskName + } + } + } + return "buspassenger" +} + + boolean isCurrentDriver(String flavors) { if(isDriver() && isCurrentFlavors(flavors)){ return true @@ -23,6 +130,7 @@ boolean isDriver() { boolean isPassenger() { for (String s : gradle.startParameter.taskNames) { + println "----------isPassenger------${s}" if (s.contains("Passenger") | s.contains("passenger")) { return true } @@ -30,24 +138,6 @@ boolean isPassenger() { return false } -boolean isJL() { - for (String s : gradle.startParameter.taskNames) { - if (s.contains("OchJL") | s.contains("ochJL")) { - return true - } - } - return false -} - -boolean isM2() { - for (String s : gradle.startParameter.taskNames) { - if (s.contains("OchM2") | s.contains("ochM2")) { - return true - } - } - return false -} - boolean isCurrentFlavors(String flavors){ for (String s : gradle.startParameter.taskNames) { @@ -65,6 +155,7 @@ ext { isCurrentFlavors = this.&isCurrentFlavors isCurrentDriver = this.&isCurrentDriver isCurrentPassenger = this.&isCurrentPassenger - isJL = this.&isJL - isM2 = this.&isM2 + readMediaUrlConfigFromJsonFile = this.&readMediaUrlConfigFromJsonFile + readMusicUrlConfigFromJsonFile = this.&readMusicUrlConfigFromJsonFile + readProductWithVehicleConfigFromJsonFile = this.&readProductWithVehicleConfigFromJsonFile } \ No newline at end of file diff --git a/app/script/vehicleFlavors/ochJL.gradle b/app/script/vehicleFlavors/B1.gradle similarity index 84% rename from app/script/vehicleFlavors/ochJL.gradle rename to app/script/vehicleFlavors/B1.gradle index 5821f84474..f5403bf709 100644 --- a/app/script/vehicleFlavors/ochJL.gradle +++ b/app/script/vehicleFlavors/B1.gradle @@ -1,17 +1,17 @@ project.android.productFlavors { // 衡阳-联想Pad-网约车-小巴车 - ochJL { + B1 { dimension "vehicle" matchingFallbacks = ['jinlvvan'] - missingDimensionStrategy "vehicle", "jinlvvan", "m2", "jinlvvan" + missingDimensionStrategy "vehicle", "jinlvvan" // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ - CHANNEL_VALUE_TAIL : "JL", + CHANNEL_VALUE_TAIL : "B1", ] // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"JL\"" + buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"B1\"" // ②构建的是否要动态更换模型 buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' diff --git a/app/script/vehicleFlavors/ochM2.gradle b/app/script/vehicleFlavors/B2.gradle similarity index 68% rename from app/script/vehicleFlavors/ochM2.gradle rename to app/script/vehicleFlavors/B2.gradle index dd3e198dad..9eab0ec16c 100644 --- a/app/script/vehicleFlavors/ochM2.gradle +++ b/app/script/vehicleFlavors/B2.gradle @@ -1,17 +1,24 @@ +apply from: "./script/utils.gradle" + project.android.productFlavors { // 衡阳-联想Pad-网约车-小巴车-乘客端 - ochM2 { + B2 { dimension "vehicle" // 和 och/mogo-och-bus-passenger 的flavors的m2对应 - matchingFallbacks = ['m2'] - missingDimensionStrategy "vehicle", "m2", "jinlvvan" + if(isPassenger()){ + matchingFallbacks = ['m2'] + missingDimensionStrategy "vehicle", "m2", "jinlvvan" + }else { + matchingFallbacks = ['jinlvvan'] + missingDimensionStrategy "vehicle", "m21", "jinlvvan" + } //高德地图鉴权信息 manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "M2", + CHANNEL_VALUE_TAIL: "B2", ] // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"M2\"" + buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"B2\"" // ②构建的是否要动态更换模型 buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'false' diff --git a/app/script/vehicleFlavors/ochFT.gradle b/app/script/vehicleFlavors/C1.gradle similarity index 62% rename from app/script/vehicleFlavors/ochFT.gradle rename to app/script/vehicleFlavors/C1.gradle index 41f4b6cd7b..e83f026cb1 100644 --- a/app/script/vehicleFlavors/ochFT.gradle +++ b/app/script/vehicleFlavors/C1.gradle @@ -1,21 +1,27 @@ project.android.productFlavors { // 福田车 - ochFT { + C1 { dimension "vehicle" + missingDimensionStrategy "vehicle","ft","jinlvvan" // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "FT", + CHANNEL_VALUE_TAIL: "C1", ] // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"FT\"" + buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"C1\"" // ②构建的是否要动态更换模型 buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' // ③能启动自驾的档位 buildConfigField 'java.util.Set', 'LAUNCH_AUTOPILOT_GEAR', 'null' + // ⑤清扫车 默认模式(运营/云控) + buildConfigField 'String', 'SWEEPER_DEFAULT_MODE', '\"Cloud\"' + + // ⑥清扫车 是否能切换模式 + buildConfigField 'boolean', 'SWEEPER_CAN_SWITCH_MODE', 'true' } } \ No newline at end of file diff --git a/app/script/vehicleFlavors/ochM1.gradle b/app/script/vehicleFlavors/M1.gradle similarity index 91% rename from app/script/vehicleFlavors/ochM1.gradle rename to app/script/vehicleFlavors/M1.gradle index a00868473c..454f16c6f2 100644 --- a/app/script/vehicleFlavors/ochM1.gradle +++ b/app/script/vehicleFlavors/M1.gradle @@ -2,9 +2,9 @@ apply from: "./script/utils.gradle" project.android.productFlavors { // 金旅M1车 - ochM1 { + M1 { dimension "vehicle" - missingDimensionStrategy "vehicle","m2", "jinlvvan" + missingDimensionStrategy "vehicle", "jinlvvan" // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ diff --git a/app/script/vehicleFlavors/ochDFHQ.gradle b/app/script/vehicleFlavors/T1T2.gradle similarity index 86% rename from app/script/vehicleFlavors/ochDFHQ.gradle rename to app/script/vehicleFlavors/T1T2.gradle index 8ee3dea128..a653f6a7d1 100644 --- a/app/script/vehicleFlavors/ochDFHQ.gradle +++ b/app/script/vehicleFlavors/T1T2.gradle @@ -1,17 +1,18 @@ project.android.productFlavors { // 东风红旗 - ochDFHQ { + T1T2 { dimension "vehicle" + missingDimensionStrategy "vehicle","dfhq","jinlvvan" // 配置AndroidManifest.xml中用到的参数 manifestPlaceholders = [ - CHANNEL_VALUE_TAIL: "DFHQ", + CHANNEL_VALUE_TAIL: "T1T2", ] // ①标识构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则 - buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"DFHQ\"" + buildConfigField 'String', 'APP_IDENTITY_MODE_TAIL', "\"T1T2\"" // ②构建的是否要动态更换模型 buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true' diff --git a/app/src/f8xxLauncherOnlineRelease/AndroidManifest.xml b/app/src/f8xxLauncherOnlineRelease/AndroidManifest.xml deleted file mode 100644 index d755054676..0000000000 --- a/app/src/f8xxLauncherOnlineRelease/AndroidManifest.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java index 950f0e4a47..f76b47d647 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java +++ b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java @@ -481,69 +481,119 @@ public class ViewPressedStateLancet { text.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom); return true; } - ColorStateList textColor = text.getTextColors(); if (textColor != null) { - int current = text.getCurrentTextColor(); - int pressed = textColor.getColorForState(new int[]{ android.R.attr.state_pressed }, Integer.MIN_VALUE); - if (pressed != Integer.MIN_VALUE && pressed != current) { + int defaultColor = textColor.getDefaultColor(); + int pressedColor = Color.argb((int)(Color.alpha(defaultColor) * alpha), Color.red(defaultColor), Color.green(defaultColor), Color.blue(defaultColor)); + if (!textColor.isStateful()) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- isStateful() => false hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- isStateful() => false hit ---" + "["+text+"]"); + }*/ + int[][] states = new int[2][1]; + int[] colors = new int[2]; + states[0] = new int[] { android.R.attr.state_pressed, -android.R.attr.state_focused, -android.R.attr.state_active }; + colors[0] = pressedColor; + states[1] = StateSet.WILD_CARD; + colors[1] = defaultColor; + ColorStateList newColor = new ColorStateList(states, colors); + text.setTag(R.id.click_pressed_attr_replaced_color, textColor); + text.setTextColor(newColor); + return true; + } + int pressed = textColor.getColorForState(new int[] { android.R.attr.state_pressed }, Integer.MIN_VALUE); + if (pressed != Integer.MIN_VALUE && pressed != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- pressed hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- pressed hit ---" + "["+text+"]"); + }*/ return false; } - int enableColor = textColor.getColorForState(new int[] { android.R.attr.state_enabled }, Integer.MIN_VALUE); - int defaultColor = current; - if (enableColor == Integer.MIN_VALUE && enableColor != current) { - defaultColor = textColor.getDefaultColor(); - } - int pressedColor = Color.argb((int)(Color.alpha(defaultColor) * alpha), Color.red(defaultColor), Color.green(defaultColor), Color.blue(defaultColor)); - int disableColor = textColor.getColorForState(new int[] { -android.R.attr.state_enabled }, Integer.MIN_VALUE); - int size = 2; - if (disableColor != Integer.MIN_VALUE && disableColor != current) { - size += 1; - } - boolean hasChecked = false; + int disabledColor = textColor.getColorForState(new int[] { -android.R.attr.state_enabled }, Integer.MIN_VALUE); int checkedColor = textColor.getColorForState(new int[] { android.R.attr.state_checked }, Integer.MIN_VALUE); - if (checkedColor != Integer.MIN_VALUE && checkedColor != current) { - hasChecked = true; - size += 1; + int unCheckedColor = textColor.getColorForState(new int[] { -android.R.attr.state_checked }, Integer.MIN_VALUE); + int selectedColor = textColor.getColorForState(new int[] { android.R.attr.state_enabled }, Integer.MIN_VALUE); + int unSelectedColor = textColor.getColorForState(new int[] { -android.R.attr.state_selected }, Integer.MIN_VALUE); + int size = 2; + if (disabledColor != Integer.MIN_VALUE && disabledColor != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- disabled hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- disabled hit ---" + "["+text+"]"); + }*/ + size++; } - boolean hasUnChecked = false; - int unCheckedColor = textColor.getColorForState(new int[]{ -android.R.attr.state_checked }, Integer.MIN_VALUE); - if (unCheckedColor != Integer.MIN_VALUE && unCheckedColor != current) { - hasUnChecked = true; - size += 1; + if (checkedColor != Integer.MIN_VALUE && checkedColor != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- checked hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- checked hit ---" + "["+text+"]"); + }*/ + size++; + } + if (unCheckedColor != Integer.MIN_VALUE && unCheckedColor != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- unchecked hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- unchecked hit ---" + "["+text+"]"); + }*/ + size++; + } + if (selectedColor != Integer.MIN_VALUE && selectedColor != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- selected hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- selected hit ---" + "["+text+"]"); + }*/ + size++; + } + if (unSelectedColor != Integer.MIN_VALUE && unSelectedColor != defaultColor) { + /*if (text.getId() != View.NO_ID) { + Log.d("ViewPressedStateLancet", "---- unselected hit ---" + "["+text+"->"+text.getResources().getResourceName(text.getId())+"]"); + } else { + Log.d("ViewPressedStateLancet", "---- unselected hit ---" + "["+text+"]"); + }*/ + size++; } int[][] states = new int[size][1]; int[] colors = new int[size]; - states[0] = new int[] { android.R.attr.state_pressed, -android.R.attr.state_focused, -android.R.attr.state_active }; + states[0] = new int[] { android.R.attr.state_pressed }; colors[0] = pressedColor; - if (size > 2) { - states[1] = new int[] { -android.R.attr.state_enabled }; - colors[1] = disableColor; - states[2] = new int[] { android.R.attr.state_enabled }; - colors[2] = defaultColor; - if (hasChecked) { - states[3] = new int[] { android.R.attr.state_checked }; - colors[3] = checkedColor; - } - if (hasUnChecked) { - if (size > 4) { - states[4] = new int[] { -android.R.attr.state_checked }; - colors[4] = unCheckedColor; - } else { - states[3] = new int[] { -android.R.attr.state_checked }; - colors[3] = unCheckedColor; - } - } - } else { - states[1] = StateSet.WILD_CARD; - colors[1] = defaultColor; + int index = 1; + if (disabledColor != Integer.MIN_VALUE && disabledColor != defaultColor) { + states[index] = new int[] { -android.R.attr.state_enabled }; + colors[index] = disabledColor; + index++; } + if (checkedColor != Integer.MIN_VALUE && checkedColor != defaultColor) { + states[index] = new int[] { android.R.attr.state_checked }; + colors[index] = checkedColor; + index++; + } + if (unCheckedColor != Integer.MIN_VALUE && unCheckedColor != defaultColor) { + states[index] = new int[] { -android.R.attr.state_checked }; + colors[index] = unCheckedColor; + index++; + } + if (selectedColor != Integer.MIN_VALUE && selectedColor != defaultColor) { + states[index] = new int[] { android.R.attr.state_selected }; + colors[index] = selectedColor; + index++; + } + if (unSelectedColor != Integer.MIN_VALUE && unSelectedColor != defaultColor) { + states[index] = new int[] { -android.R.attr.state_selected }; + colors[index] = unSelectedColor; + index++; + } + states[index] = StateSet.WILD_CARD; + colors[index] = defaultColor; ColorStateList newColor = new ColorStateList(states, colors); text.setTag(R.id.click_pressed_attr_replaced_color, textColor); text.setTextColor(newColor); return true; } - return false; } if (view != null) { diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index ba8f154e2c..7de5eff93e 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -1,6 +1,7 @@ package com.mogo.launcher.startup import android.content.Context +import com.google.gson.reflect.TypeToken import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig @@ -10,6 +11,7 @@ import com.mogo.eagle.core.data.app.UrlConfig import com.mogo.eagle.core.data.config.JunkConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.launcher.BuildConfig import com.mogo.launcher.R import com.shuyu.gsyvideoplayer.player.IjkPlayerManager @@ -40,8 +42,12 @@ object ConfigStartUp { FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER // 演示模式,上一次勾选的数据 FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE -// // app安装的身份信息 - FunctionBuildConfig.appIdentityMode = "${BuildConfig.APP_IDENTITY_MODE_HEAD}_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}" + // app安装的身份信息 + FunctionBuildConfig.appIdentityMode = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}" + // 支持的业务类型 + if(!StringUtils.isEmpty(BuildConfig.supportBusiness)&&BuildConfig.supportBusiness!="null"){ + FunctionBuildConfig.supportBusiness = GsonUtils.fromJson(BuildConfig.supportBusiness, object : TypeToken>() {}.type) + } // 各个module需要的url FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java) //不能启动自动驾驶的档位 @@ -89,14 +95,12 @@ object ConfigStartUp { DebugConfig.setDebug(BuildConfig.DEBUG) DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER) DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE) - DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product) + // todo DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product) DebugConfig.setProjectFlavor(BuildConfig.FLAVOR_project) DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID) DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION) DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION) - DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY) DebugConfig.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE) - DebugConfig.setReplaceStatusview(BuildConfig.IS_REPLACE_STATUSVIEW) } private fun initOtherConfig(context: Context) { @@ -107,13 +111,13 @@ object ConfigStartUp { } else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) { HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei } - if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)){ + if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)){ HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaoba } if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)){ HdMapBuildConfig.currentCarVrIconRes = R.raw.m1 } - if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { HdMapBuildConfig.currentCarVrIconRes = R.raw.m2 } @@ -121,7 +125,7 @@ object ConfigStartUp { if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode) || AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) || - AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) { //是否显示 限速UI HmiBuildConfig.isShowLimitingVelocityView = false //白天模式 diff --git a/config.gradle b/config.gradle index 7ee8c77407..2e42f48ff5 100644 --- a/config.gradle +++ b/config.gradle @@ -225,7 +225,7 @@ ext { btrace : "com.bytedance.btrace:rhea-core:2.0.0", mofang_runtime : "com.mogo.eagle.core.mofang:runtime:2.0.11", - log_runtime : "com.mogo.eagle.core.log.record:runtime:1.0.50", + log_runtime : "com.mogo.eagle.core.log.record:runtime:1.0.80", // 安全证书 passport_secret : "com.zhidaoauto:sdk-java:1.0.6-SNAPSHOT", diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 0545c19350..ed05fd7aa4 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -40,6 +40,7 @@ import com.tencent.matrix.trace.config.TraceConfig import com.zhjt.mogo_core_function_devatools.apm.* import com.mogo.eagle.core.function.api.upgrade.* import com.mogo.weak.network.SdtManager +import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status import com.zhjt.mogo_core_function_devatools.adas.PowerOffManager import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig @@ -60,6 +61,8 @@ import com.zhjt.mogo_core_function_devatools.perf.MoGoCpuUsageProviderImpl import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.StatusManager +import com.zhjt.mogo_core_function_devatools.status.entity.RouteDownloadStatus +import com.zhjt.mogo_core_function_devatools.status.ui.AutoPilotLaunchBeforeView import com.zhjt.mogo_core_function_devatools.strict.* import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager @@ -67,6 +70,9 @@ import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.up import com.zhjt.mogo_core_function_devatools.weaknetwork.DetectResultImpl import com.zhjt.mogo_core_function_devatools.weaknetwork.WeakNetworkStrategy import com.zhjt.service.chain.ChainLog +import java.lang.ref.WeakReference +import java.util.concurrent.ConcurrentHashMap +import java.util.concurrent.CopyOnWriteArrayList @Route(path = MogoServicePaths.PATH_DEVA_TOOLS) class DevaToolsProvider : IDevaToolsProvider { @@ -81,7 +87,6 @@ class DevaToolsProvider : IDevaToolsProvider { private val strictModeProvider by lazy { StrictModeProviderImpl() } - private val lookAroundDataProvider by lazy { MoGoLookAroundProviderImpl() } private val mofangProvider by lazy { MoGoMoFangProviderImpl() } @@ -95,6 +100,22 @@ class DevaToolsProvider : IDevaToolsProvider { @Volatile private var mDockerVersion: String? = null + private var container: WeakReference? = null + + private val downloadCallbacks by lazy { ConcurrentHashMap Unit>>() } + + private val statusListener by lazy { + object : StatusManager.IStatusListener { + override fun onStatusChanged(data: List, hasException: Boolean) { + data.filterIsInstance(RouteDownloadStatus::class.java).forEach { s -> + downloadCallbacks.values.flatten().forEach { listener -> + listener.invoke(s.state.ordinal) + } + } + } + } + } + override fun init(context: Context) { mContext = context } @@ -135,6 +156,7 @@ class DevaToolsProvider : IDevaToolsProvider { block.init(it) block.start() } + StatusManager.addListener(TAG, statusListener) } override fun checkMonitorDb() { @@ -483,4 +505,29 @@ class DevaToolsProvider : IDevaToolsProvider { override fun setNetworkMode(isDebug: Boolean) { WeakNetworkStrategy.setDebug(isDebug) } + + override fun attachAutopilotStatusView(ctx: Context, group: ViewGroup) { + StatusManager.init(ctx) + if (group.childCount > 0) { + if (group.visibility != View.VISIBLE) { + group.visibility = View.VISIBLE + } + return + } + this.container = WeakReference(group) + val child = AutoPilotLaunchBeforeView(ctx) + group.addView(child, ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)) + } + + override fun getExceptionStatusBeforeLaunchAutopilot(): Int { + return StatusManager.getExceptionStatusBeforeLaunchAutopilot() + } + + override fun registerRouteDownloadListener(tag: String, block: (state: Int) -> Unit) { + downloadCallbacks.getOrPut(tag) { ArrayList() }.add(block) + } + + override fun unRegisterRouteDownloadListener(tag: String) { + downloadCallbacks.remove(tag) + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcat/MoGoLogRecordProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcat/MoGoLogRecordProviderImpl.kt index ecab17f24d..09ba62e173 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcat/MoGoLogRecordProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcat/MoGoLogRecordProviderImpl.kt @@ -4,6 +4,7 @@ import android.Manifest import android.content.* import android.content.pm.PackageManager.PERMISSION_GRANTED import android.os.Build +import android.os.Environment import android.os.Process import android.os.SystemClock import android.util.Log @@ -14,10 +15,13 @@ import com.mogo.commons.AbsMogoApplication import com.mogo.core.log.record.* import com.mogo.core.log.record.config.* import com.mogo.core.log.record.config.crash.CrashConfig +import com.mogo.core.log.record.config.extra.IExtraFileToUpload +import com.mogo.core.log.record.config.extra.ToUploadFile import com.mogo.core.log.record.config.state.IStateProvider import com.mogo.core.log.record.model.UploadError import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.function.api.devatools.logcat.* +import com.mogo.eagle.core.utilcode.download.DownloadUtils import com.zhidao.loglib.bean.RemoteLogPushContent import com.zhjt.mogo_core_function_devatools.BuildConfig import com.zhjt.mogo_core_function_devatools.logcat.checker.AnrLogChecker @@ -25,6 +29,7 @@ import com.zhjt.mogo_core_function_devatools.logcat.config.LogRecordConfig import com.zhjt.mogo_core_function_devatools.logcat.uploader.* import kotlinx.coroutines.* import java.io.* +import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit.MINUTES import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicLong @@ -45,13 +50,12 @@ internal class MoGoLogRecordProviderImpl: IMoGoLogRecordProvider, private val lastUploadTime by lazy { AtomicLong(0) } override fun init(context: Context) { - val zip = File(context.getExternalFilesDir(null), "logcat/zip") val builder = LogcatConfig.Builder().context(context) .recordPeriod(MINUTES.toMillis(5)) // 5分钟一个文件 .maxSizeInLogDir((512 * 1024 * 1024).toLong()) // 512M最大容量 .recordDir(File(context.getExternalFilesDir(null), "logcat")) .pid(Process.myPid()) - .generateZipDir(zip.absolutePath) + .generateZipDir(File(context.getExternalFilesDir(null), "logcat/zip").absolutePath) .stateProvider(object : IStateProvider { override fun provide(divider: String?): Map { return mutableMapOf().also { itx -> @@ -104,6 +108,18 @@ internal class MoGoLogRecordProviderImpl: IMoGoLogRecordProvider, itx["协议版本号"] = AppConfigInfo.protocolVersionNumber itx["${divider}-7"] = divider itx["角色"] = AppConfigInfo.role + val downloads = try { + DownloadUtils.getAllDownloadRecords() + } catch (t: Throwable) { + emptyList() + } + if (downloads.isNotEmpty()) { + itx["${divider}-8"] = divider + itx["下载汇总"] = "(${downloads.size})" + downloads.forEach { + itx[it.first] = "\n\r----------------------------------------------------------${it.second}\n\r" + } + } } } }) @@ -114,26 +130,26 @@ internal class MoGoLogRecordProviderImpl: IMoGoLogRecordProvider, .systemTags("ActivityManager") .checker(AnrLogChecker()) } - -// if (BuildConfig.DEBUG) { -// builder.crashConfig( -// CrashConfig.Builder() -// .enabled(true) -// .crashDir(File(context.getExternalFilesDir(null), "logcat/crash")) -// .nativeCrash(true) -// .anr(true) -// .javaCrash(true) -// .build() -// ) -// } - LogcatManager.init(builder) - scope.launch { - try { - zip.takeIf { it.exists() }?.deleteRecursively() - } catch (t: Throwable) { - t.printStackTrace() - } + if (BuildConfig.DEBUG) { + builder.crashConfig( + CrashConfig.Builder() + .enabled(true) + .crashDir(File(context.getExternalFilesDir(null), "crash")) + .expireDuration(TimeUnit.DAYS.toMillis(3)) + .javaCrash(true) + .nativeCrash(true) + .anr(true) + .build() + ) } + builder.extraFilesToUpload(object : IExtraFileToUpload { + override fun filesToUpload(): List { + return ArrayList().also { + it.add(ToUploadFile(File(Environment.getExternalStorageDirectory(), "MLog"))) + } + } + }) + LogcatManager.init(builder) } override fun target(): Class { @@ -195,8 +211,8 @@ internal class MoGoLogRecordProviderImpl: IMoGoLogRecordProvider, return LogcatManager.export() } - override fun upload(): Unit = runBlocking { - val state = LogcatManager.upload(0, System.currentTimeMillis()) + override fun upload(startTime: Long, endTime: Long): Unit = runBlocking { + val state = LogcatManager.upload(startTime, endTime) if (state is UploadError) { throw AssertionError(state.toString()) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 755b7a2012..53ad30dd23 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -19,10 +19,17 @@ import com.zhjt.mogo_core_function_devatools.status.entity.RTKStatus import com.zhjt.mogo_core_function_devatools.status.entity.Status import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus import com.zhjt.mogo_core_function_devatools.status.entity.* -//import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart //import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus import com.zhjt.mogo_core_function_devatools.status.model.StatusModel import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import com.zhjt.mogo_core_function_devatools.status.flow.OverViewImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.AcceleratorImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.BrakeImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.DoubleFlashImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.GearImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.RouteDownloadImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.SpeedImpl +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.SteerImpl import com.zhjt.mogo_core_function_devatools.status.flow.can.CanImpl import com.zhjt.mogo_core_function_devatools.status.flow.gps.GpsImpl import com.zhjt.mogo_core_function_devatools.status.flow.ipc.IpcImpl @@ -33,17 +40,24 @@ import kotlinx.coroutines.* import kotlinx.coroutines.flow.* import java.lang.ref.* import java.util.concurrent.* +import java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy +import java.util.concurrent.atomic.AtomicReference object StatusManager { - private const val TAG = "StatusManager" private lateinit var model: StatusModel private var hasInit = false - private val listeners by lazy { CopyOnWriteArrayList() } + private val listeners by lazy { ConcurrentHashMap() } private var container: WeakReference? = null + private val last by lazy { AtomicReference>() } + + private val dispatcher by lazy { + ThreadPoolExecutor(1, 2, 1, TimeUnit.MINUTES, LinkedBlockingQueue(128), Executors.defaultThreadFactory(), DiscardOldestPolicy()).asCoroutineDispatcher() + CoroutineName("stats-manager-impl") + } + private val flows: ArrayList> by lazy { ArrayList() } @@ -77,20 +91,54 @@ object StatusManager { is TracingStatus -> TracingImpl(ctx) is RTKStatus -> RTKImpl(ctx) is OverViewStatus -> OverViewImpl(ctx) + is SteerStatus -> SteerImpl(ctx) + is AcceleratorStatus -> AcceleratorImpl(ctx) + is BrakeStatus -> BrakeImpl(ctx) + is DoubleFlashStatus -> DoubleFlashImpl(ctx) + is GearStatus -> GearImpl(ctx) + is SpeedStatus -> SpeedImpl(ctx) + is RouteDownloadStatus -> RouteDownloadImpl(ctx) } }.also { flows += it } for (f in flows) { - ctx.lifeCycleScope.launch(Dispatchers.Default) { + ctx.lifeCycleScope.launch(dispatcher) { f.asFlow().collect { model.update(it) } } f.onCreate() } - - model.status.observe(ctx.lifeCycleOwner) { - listeners.forEach { itx -> - itx.onStatusChanged(it.second, it.first != null) + ctx.lifeCycleScope.launch(dispatcher) { + model.status.asFlow().collect { + listeners.values.forEach { itx -> + val current = it.second + val previous = last.get() + val changed = ArrayList() + if (previous == null) { + changed.addAll(current) + } else { + val l1 = current.size + val l2 = previous.size + var index = 0 + while (index < l1 && index < l2) { + val d1 = current[index] + val d2 = previous[index] + if (d1 != d2) { + changed += d1 + } + index++ + } + while (index < l1) { + changed += current[index++] + } + } + if (changed.isNotEmpty()) { + withContext(Dispatchers.Main) { + itx.onStatusChanged(changed, it.first != null) + } + } + last.set(current) + } } } } @@ -120,6 +168,39 @@ object StatusManager { flows.clear() } + fun addListener(tag: String, listener: IStatusListener) { + if (listeners.containsKey(tag)) { + return + } + listeners[tag] = listener + } + + fun removeListener(tag: String) { + listeners.remove(tag) + } + + fun getExceptionStatusBeforeLaunchAutopilot(): Int { + var ret = 0 + model.status.value?.second?.filter { + it is IAutopilotPreLaunchStatus + }?.forEachIndexed { index, status -> + val shl = 1 shl index + if (status.isException()) { + ret = if (status is RouteDownloadStatus) { + if (status.state == RouteStart) { + ret or shl + } else { + ret or (shl shl 1) + } + } else { + ret or shl + } + + } + } + return ret + } + interface IStatusListener { fun onStatusChanged(data: List, hasException: Boolean) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt index 1cff920d33..9029fbfd80 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt @@ -1,8 +1,8 @@ package com.zhjt.mogo_core_function_devatools.status.entity -import com.mogo.eagle.core.data.status.StatusSummaryEntity -import com.mogo.eagle.core.function.api.autopilot.* -import com.mogo.eagle.core.function.call.autopilot.* +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteFailed +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteNone +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.* @@ -250,7 +250,7 @@ class OverViewStatus(var hasException: Boolean = false): Status() { fun String.toState(msg: String?): Tracing? { val ss = msg?.split("|") var extra: Map? = null - if (ss != null && ss.isNotEmpty()) { + if (!ss.isNullOrEmpty()) { val sb = StringBuilder() for (element in ss) { sb.append(element) @@ -290,3 +290,199 @@ fun String.toState(msg: String?): Tracing? { else -> null } } + +interface IAutopilotPreLaunchStatus + +/** + * 速度 + */ +data class SpeedStatus(val speed: Float): Status(), IAutopilotPreLaunchStatus { + + + override fun isException(): Boolean { + return false + } +} + +/** + * 方向盘转角 + */ +data class SteerStatus(val angle: Float, var isError: Boolean = false): Status(), IAutopilotPreLaunchStatus { + + + override fun isException(): Boolean { + return isError + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as SteerStatus + + if (angle != other.angle) return false + if (isError != other.isError) return false + + return true + } + + override fun hashCode(): Int { + var result = angle.hashCode() + result = 31 * result + isError.hashCode() + return result + } +} + +/** + * 油门 + */ +data class AcceleratorStatus(val angle: Float, var isError: Boolean = false): Status(), IAutopilotPreLaunchStatus { + + override fun isException(): Boolean { + return isError + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as AcceleratorStatus + + if (angle != other.angle) return false + if (isError != other.isError) return false + + return true + } + + override fun hashCode(): Int { + var result = angle.hashCode() + result = 31 * result + isError.hashCode() + return result + } + + +} + +/** + * 刹车 + */ +data class BrakeStatus(val angle: Float, var isError: Boolean = false): Status(), IAutopilotPreLaunchStatus { + + override fun isException(): Boolean { + return isError + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as BrakeStatus + + if (angle != other.angle) return false + if (isError != other.isError) return false + + return true + } + + override fun hashCode(): Int { + var result = angle.hashCode() + result = 31 * result + isError.hashCode() + return result + } +} + + +/** + * 双闪 + */ +data class DoubleFlashStatus(val type: Int, var isError: Boolean = false): Status(), IAutopilotPreLaunchStatus { + + override fun isException(): Boolean { + return isError + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as DoubleFlashStatus + + if (type != other.type) return false + if (isError != other.isError) return false + + return true + } + + override fun hashCode(): Int { + var result = type + result = 31 * result + isError.hashCode() + return result + } +} + +/** + * 挡位 + */ +data class GearStatus(val value: Int, var isError: Boolean = false): Status(), IAutopilotPreLaunchStatus { + + override fun isException(): Boolean { + return isError + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as GearStatus + + if (value != other.value) return false + if (isError != other.isError) return false + + return true + } + + override fun hashCode(): Int { + var result = value + result = 31 * result + isError.hashCode() + return result + } +} + +enum class RouteState { + RouteNone, + RouteStart, + RouteComplete, + RouteFailed +} + + +/** + * 轨迹下载状态 + */ +data class RouteDownloadStatus(val lineId: Long = -1, val state: RouteState = RouteNone): Status(), IAutopilotPreLaunchStatus { + + override fun isException(): Boolean { + return state == RouteStart || state == RouteFailed + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as RouteDownloadStatus + + if (lineId != other.lineId) return false + if (state != other.state) return false + + return true + } + + override fun hashCode(): Int { + var result = lineId.hashCode() + result = 31 * result + state.hashCode() + return result + } +} + + + diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt new file mode 100644 index 0000000000..5a9d99b29d --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt @@ -0,0 +1,57 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisThrottleStateListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisThrottleStateListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_THROTTLE +import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow + +internal class AcceleratorImpl(ctx: Context): IFlow(ctx), IMoGoChassisThrottleStateListener, IMoGoAutopilotActionsListener { + + + companion object { + private const val TAG = "AcceleratorImpl" + } + + @Volatile + private var last: Float? = null + + @Volatile + private var isError: Boolean = false + + override fun onCreate() { + CallerChassisThrottleStateListenerManager.addListener(TAG, this) + CallerAutopilotActionsListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisThrottleStateListenerManager.removeListener(TAG) + CallerAutopilotActionsListenerManager.removeListener(TAG) + } + + override fun onAutopilotThrottle(throttle: Float) { + super.onAutopilotThrottle(throttle) + if (last != throttle) { + send(AcceleratorStatus(throttle, isError)) + last = throttle + } + } + + override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { + Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") + if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_THROTTLE } != null) { + isError = true + send(AcceleratorStatus(last ?: 0.0f, true)) + } else { + isError = false + send(AcceleratorStatus(last ?: 0.0f, false)) + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt new file mode 100644 index 0000000000..4843878981 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt @@ -0,0 +1,60 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisBrakeStateListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisBrakeStateListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_BRAKE +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_THROTTLE +import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus +import com.zhjt.mogo_core_function_devatools.status.entity.BrakeStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow +import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.AcceleratorImpl.Companion + +internal class BrakeImpl(ctx: Context): IFlow(ctx), IMoGoChassisBrakeStateListener, IMoGoAutopilotActionsListener { + + companion object { + private const val TAG = "BrakeImpl" + } + + @Volatile + private var last: Float = 0.0f + + @Volatile + private var isError: Boolean = false + + override fun onCreate() { + CallerChassisBrakeStateListenerManager.addListener(TAG, this) + CallerAutopilotActionsListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisBrakeStateListenerManager.removeListener(TAG) + CallerAutopilotActionsListenerManager.removeListener(TAG) + } + + override fun onAutopilotBrake(brake: Float) { + super.onAutopilotBrake(brake) + + if (last != brake) { + send(BrakeStatus(brake, isError)) + last = brake + } + } + + override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { + Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") + if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_BRAKE } != null) { + isError = true + send(BrakeStatus(last, true)) + } else { + isError = false + send(BrakeStatus(last, false)) + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt new file mode 100644 index 0000000000..ef573ff078 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt @@ -0,0 +1,58 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import chassis.Chassis.LightSwitch +import chassis.Chassis.LightSwitch.LIGHT_FLASH +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLamplightListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_THROTTLE +import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus +import com.zhjt.mogo_core_function_devatools.status.entity.DoubleFlashStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow + +internal class DoubleFlashImpl(ctx: Context): IFlow(ctx), IMoGoChassisLamplightListener, IMoGoAutopilotActionsListener { + + companion object { + private const val TAG = "DoubleFlashImpl" + } + + @Volatile + private var isError: Boolean = false + + override fun onCreate() { + CallerChassisLamplightListenerManager.addListener(TAG, this) + CallerAutopilotActionsListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisLamplightListenerManager.removeListener(TAG) + CallerAutopilotActionsListenerManager.removeListener(TAG) + } + + override fun onAutopilotLightSwitchData(lightSwitch: LightSwitch?) { + super.onAutopilotLightSwitchData(lightSwitch) + Logger.d(TAG, "-- onAutopilotLightSwitchData --: $lightSwitch") + if (lightSwitch == LIGHT_FLASH) { + send(DoubleFlashStatus(lightSwitch.number, isError)) + } + + } + + override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { + Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") + if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_HAZARD_LIGHTS } != null) { + isError = true + send(DoubleFlashStatus(LIGHT_FLASH.number, true)) + } else { + isError = false + send(DoubleFlashStatus(LIGHT_FLASH.number, false)) + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt new file mode 100644 index 0000000000..75edfd15a1 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt @@ -0,0 +1,57 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import chassis.Chassis.GearPosition +import chassis.Chassis.GearPosition.GEAR_NONE +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisGearStateListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisGearStateListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_GEAR +import com.zhjt.mogo_core_function_devatools.status.entity.GearStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow + +internal class GearImpl(ctx: Context): IFlow(ctx), IMoGoChassisGearStateListener, IMoGoAutopilotActionsListener { + + companion object { + private const val TAG = "GeerImpl" + } + + @Volatile + private var last: GearPosition = GEAR_NONE + + @Volatile + private var isError: Boolean = false + + override fun onCreate() { + CallerChassisGearStateListenerManager.addListener(TAG, this) + CallerAutopilotActionsListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisGearStateListenerManager.removeListener(TAG) + CallerAutopilotActionsListenerManager.removeListener(TAG) + } + + override fun onAutopilotGearData(gear: GearPosition) { + if (last != gear) { + send(GearStatus(gear.number, isError)) + last = gear + } + } + + override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { + Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") + if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_GEAR } != null) { + isError = true + send(GearStatus(last.number, true)) + } else { + isError = false + send(GearStatus(last.number, false)) + } + } +} diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt new file mode 100644 index 0000000000..d99aecb0c7 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt @@ -0,0 +1,90 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.zhjt.mogo.adas.data.bean.MogoReport +import com.zhjt.mogo_core_function_devatools.status.entity.RouteDownloadStatus +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteComplete +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteFailed +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow +import mogo_msg.MogoReportMsg.MogoReportMessage +import java.lang.Exception + + +internal class RouteDownloadImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatusListener { + + companion object { + private const val TAG = "RouteDownloadImpl" + } + + @Volatile + private var toDownloadLineId: Long = Long.MIN_VALUE + + override fun onCreate() { + CallerAutoPilotStatusListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerAutoPilotStatusListenerManager.removeListener(TAG) + } + + override fun onAutopilotTrajectoryDownloadReq(autoPilotLine: AutoPilotLine, downloadType: Int) { + super.onAutopilotTrajectoryDownloadReq(autoPilotLine, downloadType) + if (downloadType == 0) { + toDownloadLineId = autoPilotLine.lineId + } + } + + override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + var lineId = -1L + if (MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START == guardianInfo?.code || + MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS == guardianInfo?.code || + MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE == guardianInfo?.code || + MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING == guardianInfo?.code || + MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT == guardianInfo?.code + ) { + val msg = guardianInfo.msg + try { + val regex = Regex("lineid:(\\d+)") + val matchResult = regex.find(msg) + if (matchResult != null) { + lineId = matchResult.groupValues[1].toLong() + } + } catch (ignore: Exception) { } + if (lineId == -1L) { + try { + val regex = Regex("lineID=(\\d+)") + val matchResult = regex.find(msg) + if (matchResult != null) { + lineId = matchResult.groupValues[1].toLong() + } + } catch (ignore: Exception) { } + } + } + + if (toDownloadLineId != lineId) { + return + } + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters() + if (guardianInfo == null || !guardianInfo.hasCode()) + return + when (guardianInfo.code) { + "ISYS_INIT_TRAJECTORY_START" -> { // 1. 轨迹管理_轨迹开始下载(本地已有对应轨迹也触发) + send(RouteDownloadStatus(lineId, RouteStart)) + } + "ISYS_INIT_TRAJECTORY_SUCCESS" -> { // 2. 轨迹管理_轨迹下载成功(本地已有对应轨迹也触发) + send(RouteDownloadStatus(lineId, RouteComplete)) + toDownloadLineId = Long.MIN_VALUE + } + "ISYS_INIT_TRAJECTORY_FAILURE" -> { // 3. 轨迹管理_轨迹下载失败,本地无对应轨迹 + send(RouteDownloadStatus(lineId, RouteFailed)) + toDownloadLineId = Long.MIN_VALUE + } + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SpeedImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SpeedImpl.kt new file mode 100644 index 0000000000..23448af35f --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SpeedImpl.kt @@ -0,0 +1,45 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisThrottleStateListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisThrottleStateListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_THROTTLE +import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus +import com.zhjt.mogo_core_function_devatools.status.entity.SpeedStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow + +internal class SpeedImpl(ctx: Context): IFlow(ctx), IMoGoChassisLocationGCJ02Listener { + + + companion object { + private const val TAG = "SpeedImpl" + } + + @Volatile + private var last: Float? = null + + override fun onCreate() { + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 5, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) + } + + override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { + if (last != mogoLocation?.gnssSpeed) { + send(SpeedStatus(mogoLocation?.gnssSpeed ?: 0f)) + last = mogoLocation?.gnssSpeed + } + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt new file mode 100644 index 0000000000..d82f7d1e72 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt @@ -0,0 +1,50 @@ +package com.zhjt.mogo_core_function_devatools.status.flow.autopilot + +import android.content.Context +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisSteeringStateListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisSteeringStateListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo.adas.data.bean.UnableLaunchData +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason +import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_STEERING +import com.zhjt.mogo_core_function_devatools.status.entity.SteerStatus +import com.zhjt.mogo_core_function_devatools.status.flow.IFlow + +internal class SteerImpl(ctx: Context): IFlow(ctx), IMoGoChassisSteeringStateListener, IMoGoAutopilotActionsListener { + + companion object { + private const val TAG = "SteerImpl" + } + + @Volatile + private var last: Float = 0f + + override fun onCreate() { + CallerChassisSteeringStateListenerManager.addListener(TAG, this) + CallerAutopilotActionsListenerManager.addListener(TAG, this) + } + + override fun onDestroy() { + super.onDestroy() + CallerChassisSteeringStateListenerManager.removeListener(TAG) + CallerAutopilotActionsListenerManager.removeListener(TAG) + } + + override fun onAutopilotSteeringData(steering: Float) { + if (last != steering) { + send(SteerStatus(steering)) + last = steering + } + } + + override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { + Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") + if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_STEERING } != null) { + send(SteerStatus(last, true)) + } else { + send(SteerStatus(last, false)) + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt index b0376af234..64b1e24b93 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt @@ -4,7 +4,6 @@ import androidx.lifecycle.* import com.mogo.eagle.core.function.call.autopilot.* import com.zhjt.mogo_core_function_devatools.status.entity.* //import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus -import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.UNKNOWN import java.util.concurrent.atomic.* import kotlin.Pair @@ -21,6 +20,13 @@ internal class StatusModel : ViewModel() { it += RTKStatus("", -1) // it += NetStatus(false) // it += GpsStatus(enabled = false, isGranted = false) + it += SteerStatus(0.0f) + it += AcceleratorStatus(0.0f) + it += BrakeStatus(0.0f) + it += DoubleFlashStatus(0) + it += GearStatus(0) + it += RouteDownloadStatus() + it += SpeedStatus(0f) }) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt new file mode 100644 index 0000000000..1d8e9f59ca --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt @@ -0,0 +1,114 @@ +package com.zhjt.mogo_core_function_devatools.status.ui + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.widget.LinearLayout +import androidx.core.content.ContextCompat +import chassis.Chassis.GearPosition +import chassis.Chassis.GearPosition.GEAR_D +import chassis.Chassis.GearPosition.GEAR_N +import chassis.Chassis.GearPosition.GEAR_NONE +import chassis.Chassis.GearPosition.GEAR_P +import chassis.Chassis.GearPosition.GEAR_R +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhjt.mogo_core_function_devatools.R +import com.zhjt.mogo_core_function_devatools.status.StatusManager +import com.zhjt.mogo_core_function_devatools.status.StatusManager.IStatusListener +import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus +import com.zhjt.mogo_core_function_devatools.status.entity.BrakeStatus +import com.zhjt.mogo_core_function_devatools.status.entity.DoubleFlashStatus +import com.zhjt.mogo_core_function_devatools.status.entity.GearStatus +import com.zhjt.mogo_core_function_devatools.status.entity.IAutopilotPreLaunchStatus +import com.zhjt.mogo_core_function_devatools.status.entity.SpeedStatus +import com.zhjt.mogo_core_function_devatools.status.entity.Status +import com.zhjt.mogo_core_function_devatools.status.entity.SteerStatus +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.gear_d +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.gear_n +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.gear_p +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.gear_r +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.iv_brake_or_accelerator +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.iv_double_flash +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.iv_steer +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.speed +import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.tv_brake_or_accelerator +import me.jessyan.autosize.utils.AutoSizeUtils +import kotlin.math.abs + +class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener { + + companion object { + private const val TAG = "AutoPilotLaunchBeforeView" + } + + constructor(context: Context) : this(context, null) + constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0) + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { + LayoutInflater.from(context).inflate(R.layout.layout_autopilot_launch_before, this, true) + background = ContextCompat.getDrawable(context, R.drawable.icon_bg_autopilot_status) + setPadding(AutoSizeUtils.dp2px(context, 27f), AutoSizeUtils.dp2px(context, 33f), AutoSizeUtils.dp2px(context, 30f), AutoSizeUtils.dp2px(context, 30f)) + } + + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + StatusManager.addListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + StatusManager.removeListener(TAG) + } + + override fun onStatusChanged(data: List, hasException: Boolean) { + data.filter { it is IAutopilotPreLaunchStatus }.forEach { status -> + val isError = status.isException() && CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING + when(status) { + is GearStatus -> { + val position = try { GearPosition.valueOf(status.value) } catch (ignore: Throwable) { GEAR_NONE } + gear_n?.isEnabled = false + gear_n?.isSelected = false + gear_p?.isEnabled = false + gear_p?.isSelected =false + gear_r?.isEnabled = false + gear_r?.isSelected = false + gear_d?.isEnabled = false + gear_d?.isSelected = false + if (position != GEAR_NONE) { + when(position) { + GEAR_N -> if (isError) gear_n?.isEnabled = true else gear_n?.isSelected = true + GEAR_R -> if (isError) gear_r?.isEnabled = true else gear_r?.isSelected = true + GEAR_P -> if (isError) gear_p?.isEnabled = true else gear_p?.isSelected = true + GEAR_D -> if (isError) gear_d?.isEnabled = true else gear_d?.isSelected = true + else -> {} + } + } + } + is AcceleratorStatus -> { + val angle = status.angle + iv_brake_or_accelerator?.isSelected = isError + tv_brake_or_accelerator?.text = "a:${angle.toInt()}" + } + is BrakeStatus -> { + val angle = status.angle + iv_brake_or_accelerator?.isSelected = isError + tv_brake_or_accelerator?.text = "a:-${angle.toInt()}" + } + is DoubleFlashStatus -> { + iv_double_flash?.isSelected = isError + } + is SteerStatus -> { + iv_steer?.isSelected = isError + } + is SpeedStatus -> { + speed?.text = "${(abs(status.speed) * 3.6f).toInt()}" + } + else -> { + Logger.d(TAG, "other state: $status") + } + } + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt index b7c6924d50..235c2631e4 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt @@ -9,6 +9,7 @@ import androidx.recyclerview.widget.* import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.rv.divider.* import com.zhjt.mogo_core_function_devatools.R +import com.zhjt.mogo_core_function_devatools.status.entity.IAutopilotPreLaunchStatus import com.zhjt.mogo_core_function_devatools.status.entity.Status import com.zhjt.mogo_core_function_devatools.status.model.StatusModel import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter @@ -47,12 +48,13 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra .horizontalInnerSpace(10.PX) .build() ) - val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second) }?.also { adapter -> itx.adapter = adapter } + val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second.filter { it !is IAutopilotPreLaunchStatus }) }?.also { adapter -> itx.adapter = adapter } adapter?.let { _ -> model.status.observeForever(Observer>> { data -> val old = adapter.data - val result = DiffUtil.calculateDiff(StatusDiffCallback(old, data.second)) - adapter.data = data.second + val update = data.second.filter { it !is IAutopilotPreLaunchStatus } + val result = DiffUtil.calculateDiff(StatusDiffCallback(old, update)) + adapter.data = update result.dispatchUpdatesTo(adapter) }.also { observer = it }) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt index acf16bed1f..a1c611de11 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt @@ -18,7 +18,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter.StatusViewHolder import me.jessyan.autosize.AutoSizeCompat -internal class StatusAdapter(val ctx: Context, var data: ArrayList): RecyclerView.Adapter() { +internal class StatusAdapter(val ctx: Context, var data: List): RecyclerView.Adapter() { companion object { const val TAG = "StatusAdapter" @@ -169,6 +169,9 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec is OverViewStatus -> { "" } + else -> { + throw AssertionError() + } } } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kt index 71d80bfa97..039f7a2731 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kt @@ -3,7 +3,7 @@ package com.zhjt.mogo_core_function_devatools.status.ui.diff import androidx.recyclerview.widget.* import com.zhjt.mogo_core_function_devatools.status.entity.Status -internal class StatusDiffCallback(private val old: ArrayList, private val update: ArrayList): DiffUtil.Callback() { +internal class StatusDiffCallback(private val old: List, private val update: List): DiffUtil.Callback() { override fun getOldListSize(): Int = old.size diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/color/color_geer_position_selector.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/color/color_geer_position_selector.xml new file mode 100644 index 0000000000..a8c717371f --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/color/color_geer_position_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_autopilot_status.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_autopilot_status.png new file mode 100644 index 0000000000..f769d83037 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_autopilot_status.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_speed.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_speed.png new file mode 100644 index 0000000000..abd202be48 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bg_speed.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_blue.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_blue.png new file mode 100644 index 0000000000..ace5bc5a7e Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_blue.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_red.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_red.png new file mode 100644 index 0000000000..c643c96d8c Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_brake_or_accelerator_red.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_blue.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_blue.png new file mode 100644 index 0000000000..f86a5ef72c Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_blue.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_red.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_red.png new file mode 100644 index 0000000000..47940a6365 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_double_flash_red.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_blue.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_blue.png new file mode 100644 index 0000000000..8e897b5737 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_blue.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_red.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_red.png new file mode 100644 index 0000000000..fec957cf3f Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_steer_red.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_brake_or_accelerator.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_brake_or_accelerator.xml new file mode 100644 index 0000000000..5c257bcbeb --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_brake_or_accelerator.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_double_flash.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_double_flash.xml new file mode 100644 index 0000000000..ac3f9c4786 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_double_flash.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_steer.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_steer.xml new file mode 100644 index 0000000000..7d4447bef5 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_autopilot_steer.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_geer_position.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_geer_position.xml new file mode 100644 index 0000000000..57a7b0ed33 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_geer_position.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/speed_chart_stroke.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/speed_chart_stroke.xml new file mode 100644 index 0000000000..49b75e52c0 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/speed_chart_stroke.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml new file mode 100644 index 0000000000..aae31ba69e --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index aa86877049..6bae51e4fa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -1582,26 +1582,48 @@ internal class DebugSettingView @JvmOverloads constructor( //上传全量日志 exportAllLogs?.onClick { v -> - v.visibility = View.INVISIBLE - logLoadingView?.visibility = View.VISIBLE - v.scope.launch(Dispatchers.IO) { - var isUploadSuccess = false - try { - CallerDevaToolsManager.logcat()?.upload() - isUploadSuccess = true - } catch (t: Throwable) { - t.printStackTrace() - } - withContext(Dispatchers.Main) { - if (isUploadSuccess) { - ToastUtils.showShort("上传成功") - } else { - ToastUtils.showShort("上传失败") + ListPopupWindow(v.context).also { p -> + val items = LogcatUploadDuration.values() + p.setAdapter(LogcatUploadAdapter(v.context, items)) + p.anchorView = v + p.isModal = true + p.setBackgroundDrawable(ColorDrawable(Color.WHITE)) + p.setOnItemClickListener { _, _, position, _ -> + val item = items[position] + v.visibility = View.INVISIBLE + logLoadingView?.visibility = View.VISIBLE + p.dismiss() + v.scope.launch(Dispatchers.IO) { + val endTime = System.currentTimeMillis() + val startTime = when(item) { + LogcatUploadDuration.IN_15M -> endTime - TimeUnit.MINUTES.toMillis(15) + LogcatUploadDuration.IN_45M -> endTime - TimeUnit.MINUTES.toMillis(45) + LogcatUploadDuration.IN_1H -> endTime - TimeUnit.HOURS.toMillis(1) + LogcatUploadDuration.IN_2H -> endTime - TimeUnit.HOURS.toMillis(2) + LogcatUploadDuration.IN_3H -> endTime - TimeUnit.HOURS.toMillis(3) + LogcatUploadDuration.IN_6H -> endTime - TimeUnit.HOURS.toMillis(6) + LogcatUploadDuration.IN_1D -> endTime - TimeUnit.DAYS.toMillis(1) + LogcatUploadDuration.ALL -> 0 + } + var isUploadSuccess = false + try { + CallerDevaToolsManager.logcat()?.upload(startTime, endTime) + isUploadSuccess = true + } catch (t: Throwable) { + t.printStackTrace() + } + withContext(Dispatchers.Main) { + if (isUploadSuccess) { + ToastUtils.showShort("上传成功") + } else { + ToastUtils.showShort("上传失败") + } + logLoadingView?.visibility = View.INVISIBLE + exportAllLogs?.visibility = View.VISIBLE + } } - logLoadingView?.visibility = View.INVISIBLE - exportAllLogs?.visibility = View.VISIBLE } - } + }.show() } if (JunkConfig.isSupportJunkDetect) { @@ -1737,6 +1759,54 @@ internal class DebugSettingView @JvmOverloads constructor( } } + private enum class LogcatUploadDuration(val text: String) { + IN_15M("15分钟内"), + IN_45M("45分钟内"), + IN_1H("1小时内"), + IN_2H("2小时内"), + IN_3H("3小时内"), + IN_6H("6小时内"), + IN_1D("一天内"), + ALL("上传所有") + } + + private class LogcatUploadAdapter(private val ctx: Context, private val items: Array): BaseAdapter() { + override fun getCount(): Int { + return items.size + } + + override fun getItem(position: Int): Any { + return items[position] + } + + override fun getItemId(position: Int): Long { + return items[position].ordinal.toLong() + } + + override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { + var result = convertView + val duration = items[position] + if (result == null) { + val temp = View.inflate(ctx, android.R.layout.simple_list_item_1, null) + temp.tag = Holder(temp.findViewById(android.R.id.text1)) + result = temp + } + val holder = result?.tag as? Holder + if (holder != null) { + holder.text?.setTextColor(Color.BLACK) + holder.text?.text = duration.text + } else { + val text = result?.findViewById(android.R.id.text1) + text?.setTextColor(Color.BLACK) + text?.text = duration.text + result?.tag = Holder(text) + } + return result!! + } + + private inner class Holder(val text: TextView? = null) + } + private enum class ApmVLogUploadDuration(val text: String) { IN_15M("15分钟内"), IN_45M("45分钟内"), diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt index 894d3306fd..77f8c65a59 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt @@ -19,12 +19,14 @@ import java.lang.ref.WeakReference class BatteryGroupView : LinearLayout, IMoGoSkinModeChangeListener { - constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 - ) : super(context, attrs, defStyleAttr) { - } + constructor(context: Context?) : super(context) + + constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + private var batteryHandler: BatteryHandler = BatteryHandler(this) private var view: View = diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt index 3f261ace4a..557c9007bc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt @@ -4,8 +4,10 @@ import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import android.widget.LinearLayout +import androidx.core.content.ContextCompat import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO @@ -15,10 +17,13 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.kotlin.scope import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import kotlinx.android.synthetic.main.view_status_bar.view.* +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import java.util.concurrent.CopyOnWriteArrayList class StatusBarView @JvmOverloads constructor( @@ -46,7 +51,6 @@ class StatusBarView @JvmOverloads constructor( params.height = BarUtils.getStatusBarHeight() layoutParams = params } - viewStatusBarRight.addView(BatteryGroupView(this.context)) //添加view控制 CallerHmiViewControlListenerManager.addListener(TAG,this) @@ -58,6 +62,28 @@ class StatusBarView @JvmOverloads constructor( if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ updateStatusBarLeftView(true, FUNC_MODE_DEMO, DemoModeView(this.context)) updateStatusBarLeftView(true, FUNC_MODE_RAIN, RainModeView(this.context)) + CallerDevaToolsManager.registerRouteDownloadListener(TAG) { state -> + routeDownloadStatusRoot?.visibility = View.VISIBLE + when(state) { + 1 -> { + routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_start) + routeDownloadFailMark?.visibility = View.GONE + } + 2 -> { + routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_success) + routeDownloadFailMark?.visibility = View.GONE + scope.launch { + delay(3000) + routeDownloadStatusRoot?.visibility = View.GONE + } + } + 3 -> { + routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_failed) + routeDownloadFailMark?.visibility = View.VISIBLE + } + } + + } } } @@ -119,7 +145,6 @@ class StatusBarView @JvmOverloads constructor( private fun setTextColor(color: Int) { viewTextClock.setTextColor(color) - viewStatusBarTag.setTextColor(color) } override fun onDetachedFromWindow() { @@ -127,6 +152,7 @@ class StatusBarView @JvmOverloads constructor( CallerHmiViewControlListenerManager.removeListener(TAG) CallerSkinModeListenerManager.removeListener(TAG) CallerDevaToolsManager.hideStatusBar() + CallerDevaToolsManager.unRegisterRouteDownloadListener(TAG) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/WifiStateView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/WifiStateView.kt index 369e99fc18..a283bcd0fd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/WifiStateView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/WifiStateView.kt @@ -8,19 +8,27 @@ import android.net.wifi.WifiManager import android.os.Handler import android.os.Message import android.util.AttributeSet -import androidx.appcompat.widget.AppCompatImageView +import android.util.Log +import android.util.TypedValue +import android.view.LayoutInflater +import android.widget.ImageView +import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import kotlinx.android.synthetic.main.view_wifi_state.view.viewStatusBarTag +import kotlinx.android.synthetic.main.view_wifi_state.view.viewWifiStateBg +import me.jessyan.autosize.utils.AutoSizeUtils import java.lang.ref.WeakReference +import kotlin.properties.Delegates class WifiStateView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : AppCompatImageView(context, attrs, defStyleAttr), IMoGoSkinModeChangeListener { + context: Context, attrs: AttributeSet? = null,defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs), IMoGoSkinModeChangeListener { companion object { const val TAG = "WifiStateView" @@ -37,20 +45,46 @@ class WifiStateView @JvmOverloads constructor( override fun handleMessage(msg: Message) { super.handleMessage(msg) val view = stateViewWeakReference?.get() - view?.updateView(msg.what) { - view.setImageResource(it) + view?.updateLevel(msg.what) + } + } + } + private var wifiManager: WifiManager? = null + private var wifiHandler: WifiHandler? = null + + private var level: Int by Delegates.observable(0) { _, o, n -> + if (o != n) { + UiThreadHandler.post { + updateView(n){ + viewWifiStateBg.setImageResource(it) } } } } - private var wifiManager: WifiManager? = null - private var wifiHandler: WifiHandler? = null + private var wifiName: String by Delegates.observable("") { _, o, n -> + if (o != n) { + UiThreadHandler.post { + if(n.contains("unknow")){ + viewStatusBarTag.text = "" + }else{ + viewStatusBarTag.text = n + } + } + } + } - @Volatile - private var level: Int = 0 + private val txtSize: Float init { + LayoutInflater.from(context).inflate(R.layout.view_wifi_state, this, true) + val a = context.obtainStyledAttributes(attrs, R.styleable.WifiStateView, defStyleAttr, 0) + txtSize = a.getDimension( + R.styleable.WifiStateView_wifi_size, + resources.getDimension(R.dimen.dp_35) + ) + a.recycle() + viewStatusBarTag.setTextSize(TypedValue.COMPLEX_UNIT_PX,AutoSizeUtils.dp2px(context,txtSize).toFloat()) wifiManager = context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager? wifiHandler = WifiHandler(this) @@ -67,6 +101,8 @@ class WifiStateView @JvmOverloads constructor( return } val wifiInfo = wifiManager!!.connectionInfo + wifiName = wifiInfo.ssid.replace("\"","") + Log.i("emArrow", "wifiName: $wifiName") level = WifiManager.calculateSignalLevel(wifiInfo.rssi, 5) wifiHandler?.sendEmptyMessage(level) } @@ -95,9 +131,25 @@ class WifiStateView @JvmOverloads constructor( override fun onSkinModeChange(skinMode: Int) { wifiHandler?.sendEmptyMessage(level) + UiThreadHandler.post { + when (skinMode) { + 0 -> setStatusBarDarkOrLight(false) + 1 -> setStatusBarDarkOrLight(true) + } + } } - fun updateView(wifiState: Int, resId: ((Int) -> Unit)) { + private fun setStatusBarDarkOrLight(light: Boolean) = if (light) { + viewStatusBarTag.setTextColor(resources.getColor(R.color.color_2C2E30)) + } else { + viewStatusBarTag.setTextColor(resources.getColor(R.color.color_FFFFFF)) + } + + fun updateLevel(wifiState: Int){ + level = wifiState + } + + private fun updateView(wifiState: Int, resId: ((Int) -> Unit)) { when (FunctionBuildConfig.skinMode) { 0 -> { when (wifiState) { @@ -109,6 +161,7 @@ class WifiStateView @JvmOverloads constructor( 4 -> resId.invoke(R.drawable.wifi_light_state_five) } } + 1 -> { when (wifiState) { -1 -> resId.invoke(R.drawable.wifi_dark_state_one) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt index 5552719668..7f62b9b2e0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt @@ -82,7 +82,6 @@ open class MainActivity : MvpActivity(), MainView, override fun initViews() { injectFloatView() - injectStatusBar() window.setBackgroundDrawable(null) initConnectInfoRV() CallerHmiManager.init(this) @@ -95,28 +94,6 @@ open class MainActivity : MvpActivity(), MainView, PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG) } - private fun injectStatusBar() { - val decorView = this.window.decorView as? FrameLayout ?: return - val contentView = - (decorView.findViewById(android.R.id.content) as? ViewGroup)?.getChildAt(0) - ?: return - contentView.fitsSystemWindows = false - decorView.clipToPadding = false - var statusBarView = decorView.findViewWithTag("status_bar") - if (statusBarView == null) { - val statusBar = CallerHmiFloatViewManager.getView(this) - statusBarView = statusBar ?: StatusBarView(this) - statusBarView.tag = "status_bar" - } - val statusBarLP = FrameLayout.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.WRAP_CONTENT, - ) - statusBarLP.topMargin = 0 - statusBarLP.gravity = Gravity.TOP - decorView.addView(statusBarView, statusBarLP) - } - // todo 优化 车聊聊 private fun injectFloatView() { val decorView = this.window.decorView as? FrameLayout ?: return @@ -201,23 +178,22 @@ open class MainActivity : MvpActivity(), MainView, MogoStatusManager.getInstance().setVrMode(TAG, true) MogoModulesManager.getInstance().init(this) loadOthersModules() - mogoMapListenerHandler.registerHostMapListener(TAG, object : IMogoMapListener { - override fun onMapLoaded() { - // 延时加载其他模块 - window.decorView.post { - MogoStatusManager.getInstance().setScreenCoverMode(TAG, true) - HdMapBuildConfig.isMapLoaded = true - mPresenter!!.delayOperations() - loadFunctionFragment() - // 设置地图样式 - mogoMapListenerHandler.onMapModeChanged(EnumMapUI.MAP_STYLE_DAY_VR) - } - i( - SceneConstant.M_HMI + TAG, - "App launch timer cost " + (System.currentTimeMillis() - start) + "ms" - ) - } - }) + mPresenter!!.delayOperations() +// mogoMapListenerHandler.registerHostMapListener(TAG, object : IMogoMapListener { +// override fun onMapLoaded() { +// // 延时加载其他模块 +// window.decorView.post { +// MogoStatusManager.getInstance().setScreenCoverMode(TAG, true) +// HdMapBuildConfig.isMapLoaded = true +// // 设置地图样式 +// mogoMapListenerHandler.onMapModeChanged(EnumMapUI.MAP_STYLE_DAY_VR) +// } +// i( +// SceneConstant.M_HMI + TAG, +// "App launch timer cost " + (System.currentTimeMillis() - start) + "ms" +// ) +// } +// }) } /** @@ -349,7 +325,7 @@ open class MainActivity : MvpActivity(), MainView, super.onDestroy() CallerAutoPilotStatusListenerManager.removeListener(TAG) CallerRequestActivityHandleManager.removeListener(TAG) - mogoMapListenerHandler.unregisterHostMapListener(TAG) + //mogoMapListenerHandler.unregisterHostMapListener(TAG) MogoStatusManager.getInstance().setMainPageIsBackgroundStatus(TAG, false) d(SceneConstant.M_HMI + TAG, "destroy.") ContextHolderUtil.releaseContext() diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 95c1f2e217..bed1854d3a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -111,31 +111,18 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private void loadOCHModule() { IMoGoFunctionProvider ochProvider; // 兼容处理之前联想PAD及小巴车多个设备部署不同APP方案 - if (!DebugConfig.isMultiDisplay()) { - if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/driver/api") - .navigation(getContext()); - } else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){ - ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/passenger/api") - .navigation(getContext()); - } else { - ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/noop/api") - .navigation(getContext()); - } + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() + .build("/driver/api") + .navigation(getContext()); + } else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){ + ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() + .build("/passenger/api") + .navigation(getContext()); } else { - // 目前只有金旅星辰乘客屏是连接的双屏 - if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { - ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/passenger/api") - .navigation(getContext()); - } else { - ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() - .build("/noop/api") - .navigation(getContext()); - } + ochProvider = (IMoGoFunctionProvider) ARouter.getInstance() + .build("/noop/api") + .navigation(getContext()); } if (ochProvider != null) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_failed.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_failed.xml new file mode 100644 index 0000000000..a9b930eaf1 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_failed.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_start.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_start.xml new file mode 100644 index 0000000000..9394926e99 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_start.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_success.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_success.xml new file mode 100644 index 0000000000..63e9d0b483 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_autopilot_route_download_success.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/common_loading_map_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/common_loading_map_bg.xml new file mode 100644 index 0000000000..5a94edcfa2 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/common_loading_map_bg.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml index c4847f676a..dceb83a185 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml @@ -18,20 +18,9 @@ android:textSize="@dimen/dp_45" android:textStyle="bold" /> - - @@ -67,6 +56,37 @@ android:textColor="@color/background_debug" android:textSize="@dimen/dp_20" /> + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml new file mode 100644 index 0000000000..f7fe62dd7c --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml @@ -0,0 +1,28 @@ + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml index b3f04dc3f8..751928af40 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml @@ -89,6 +89,10 @@ + + + +