diff --git a/OCH/mogo-och-bus-passenger/build.gradle b/OCH/mogo-och-bus-passenger/build.gradle index 62581602ae..9a9371477c 100644 --- a/OCH/mogo-och-bus-passenger/build.gradle +++ b/OCH/mogo-och-bus-passenger/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java index d90ec06928..e056aa6215 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java @@ -1,6 +1,6 @@ package com.mogo.och.bus.passenger; -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; import android.content.Context; @@ -69,7 +69,7 @@ public class MogoOCHBusPassenger implements IMogoOCH { * 进入鹰眼模式,设置手势缩放地图失效 */ private void stepIntoVrMode() { - CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "进入vr模式" ); + CallerLogger.INSTANCE.d( M_BUS_P + TAG, "进入vr模式" ); CallerMoGoUiSettingManager.INSTANCE.stepInDayMode();//白天模式 状态栏字体颜色变黑 } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/bean/BusPassengerRoutesResult.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/bean/BusPassengerRoutesResult.java index 602c549f85..fa4a2ae0be 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/bean/BusPassengerRoutesResult.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/bean/BusPassengerRoutesResult.java @@ -46,6 +46,18 @@ public class BusPassengerRoutesResult { return runningDur; } + public String csvFileUrl = ""; //轨迹文件下载的cos url,默认“” + public String csvFileMd5 = ""; //轨迹文件md5,默认“” + public String txtFileUrl = ""; //打点文件下载的cos url,默认“” + public String txtFileMd5 = ""; //轨迹文件md5,默认“” + public long contrailSaveTime; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + public String carModel = ""; //[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题 + public String csvFileUrlDPQP = ""; //轨迹文件下载的cos url,默认“” + public String csvFileMd5DPQP = ""; //轨迹文件md5,默认“” + public String txtFileUrlDPQP = ""; //打点文件下载的cos url,默认“” + public String txtFileMd5DPQP = ""; //轨迹文件md5,默认“” + public long contrailSaveTimeDPQP; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + @Override public String toString() { return "BusPassengerRoutesResult{" + @@ -56,6 +68,18 @@ public class BusPassengerRoutesResult { ", description='" + description + '\'' + ", status=" + status + ", runningDur='" + runningDur + '\'' + + ", taskTime=" + taskTime + + ", csvFileUrl='" + csvFileUrl + '\'' + + ", csvFileMd5='" + csvFileMd5 + '\'' + + ", txtFileUrl='" + txtFileUrl + '\'' + + ", txtFileMd5='" + txtFileMd5 + '\'' + + ", contrailSaveTime=" + contrailSaveTime + + ", carModel='" + carModel + '\'' + + ", csvFileUrlDPQP='" + csvFileUrlDPQP + '\'' + + ", csvFileMd5DPQP='" + csvFileMd5DPQP + '\'' + + ", txtFileUrlDPQP='" + txtFileUrlDPQP + '\'' + + ", txtFileMd5DPQP='" + txtFileMd5DPQP + '\'' + + ", contrailSaveTimeDPQP=" + contrailSaveTimeDPQP + '}'; } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index 5eee23fd2e..421ded905e 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -21,6 +21,7 @@ import com.mogo.commons.module.intent.IntentManager; import com.mogo.commons.module.status.IMogoStatusChangedListener; import com.mogo.commons.module.status.MogoStatusManager; import com.mogo.commons.module.status.StatusDescriptor; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; @@ -64,6 +65,7 @@ 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; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; +import com.mogo.och.common.module.utils.PinYinUtil; import com.mogo.och.common.module.utils.DateTimeUtil; import org.jetbrains.annotations.NotNull; @@ -107,7 +109,7 @@ public class BusPassengerModel { List mStations = new ArrayList<>(); private int mNextStationIndex = 0;// 要到达站的index - private List mTwoStationsRouts = new ArrayList<>(); + private final List mTwoStationsRouts = new ArrayList<>(); private int mPreRouteIndex = 0; private int mWipePreIndex = 0; @@ -233,21 +235,24 @@ public class BusPassengerModel { mStations.addAll(stations); for (int i = 0; i< stations.size(); i++){ BusPassengerStation station = stations.get(i); - if (station.getDrivingStatus() == STATION_STATUS_STOPPED && station.isLeaving() && i+1 < stations.size()){ + if (station.getDrivingStatus() == STATION_STATUS_STOPPED && station.isLeaving() && i+1 < stations.size()){ //离站 mRouteLineInfoCallback.updateStationsInfo(stations,i+1,false); if(mNextStationIndex != i+1){ mTwoStationsRouts.clear(); startRemainRouteInfo(); } mNextStationIndex = i+1; + + updateAutopilotControlParameters(result,i); return; - }else if (station.getDrivingStatus() == STATION_STATUS_STOPPED && !station.isLeaving()){ + }else if (station.getDrivingStatus() == STATION_STATUS_STOPPED && !station.isLeaving()){ //到站 if (i == 0){ startOrStopRouteAndWipe(false); } mPreRouteIndex = 0; startOrStopCalculateRouteInfo(false); mRouteLineInfoCallback.updateStationsInfo(stations,i,true); + clearAutopilotControlParameters(); return; } } @@ -256,6 +261,58 @@ public class BusPassengerModel { } + private void updateAutopilotControlParameters(BusPassengerRoutesResult busRoutesResult, + int leaveIndex) { + + AutopilotControlParameters parameters = initAutopilotControlParameters(busRoutesResult,leaveIndex); + if (null == parameters) { + CallerLogger.INSTANCE.e(M_BUS_P + TAG, "AutopilotControlParameters is empty."); + return; + } + CallerLogger.INSTANCE.d(M_BUS_P + TAG, "AutopilotControlParameters is update."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters); + } + + private void clearAutopilotControlParameters() { + CallerLogger.INSTANCE.d(M_BUS_P + TAG, "AutopilotControlParameters is clear."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(null); + } + + private AutopilotControlParameters initAutopilotControlParameters(BusPassengerRoutesResult busRoutesResult, + int leaveIndex) { + if (busRoutesResult.getSites() == null){ return null ;} + List stations = busRoutesResult.getSites(); + if (leaveIndex + 1 > stations.size() - 1) { + CallerLogger.INSTANCE.e(M_BUS_P + TAG, "行程日志-mismatch condition1."); + return null; + } + BusPassengerStation currentStation = stations.get(leaveIndex); + BusPassengerStation nextStation = stations.get(leaveIndex + 1); + + AutopilotControlParameters parameters = new AutopilotControlParameters(); + parameters.routeID = busRoutesResult.getLineId(); + parameters.routeName = busRoutesResult.getName(); + parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.getName()); + parameters.endName = PinYinUtil.getPinYinHeadChar(nextStation.getName()); + parameters.startLatLon = new AutopilotControlParameters + .AutoPilotLonLat(currentStation.getLat(), currentStation.getLon()); + parameters.endLatLon = new AutopilotControlParameters + .AutoPilotLonLat(nextStation.getLat(), nextStation.getLon()); + parameters.vehicleType = 10; + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = new AutopilotControlParameters.AutoPilotLine( + busRoutesResult.getLineId(), + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP); + } + + return parameters; + } + public void release() { releaseListeners(); startOrStopCalculateRouteInfo(false); diff --git a/OCH/mogo-och-bus/build.gradle b/OCH/mogo-och-bus/build.gradle index 1f758461a3..7717cce9f4 100644 --- a/OCH/mogo-och-bus/build.gradle +++ b/OCH/mogo-och-bus/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index 59820ddffe..7b70977f1b 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -21,7 +21,6 @@ import androidx.constraintlayout.widget.Group; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; 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; @@ -29,17 +28,14 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; -import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager; 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.function.view.MapBizView; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.map.MogoMapUIController; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.listener.MogoMapListenerHandler; import com.mogo.map.uicontroller.IMogoMapUIController; @@ -77,7 +73,6 @@ public abstract class BaseBusTabFragment protected TextView tvArrived; protected RelativeLayout mSettingBtn; protected RelativeLayout mBadcaseBtn; - protected RelativeLayout mAICollectBtn; private FrameLayout flStationPanelContainer; private MapBizView mapBizView; private Group groupTestPanel; @@ -147,18 +142,12 @@ public abstract class BaseBusTabFragment if (controller != null) { //切换地图的远近视图 if (controller.getCurrentMapVisualAngle().isLongSight()) { - CallerVisualAngleManager.INSTANCE.updateLongSightLevel(false); Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(true); controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_medium); } else if (controller.getCurrentMapVisualAngle().isMediumSight()) { - CallerVisualAngleManager.INSTANCE.updateLongSightLevel(true); - if (FunctionBuildConfig.isRomaMode) { - controller.setRomaMode(1); - } else { - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); - controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null); - } + Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); + controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_long); } else { controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null); @@ -222,21 +211,17 @@ public abstract class BaseBusTabFragment CallerAutopilotRecordListenerManager.INSTANCE.addListener(TAG, this); } - mAICollectBtn = findViewById(R.id.module_mogo_och_ai_collet_rl); - if (mAICollectBtn != null) { - CallerDevaToolsManager.INSTANCE.initAiCollect(mAICollectBtn); - } //消息盒子 viewDriverMsgBoxButton = findViewById(R.id.viewDriverMsgBoxButton); viewDriverMsgBoxList = findViewById(R.id.viewDriverMsgBoxList); viewDriverMsgBoxBubble = findViewById(R.id.viewDriverMsgBoxBubble); viewDriverMsgBoxButton.setClickListener(show -> { - if(show){ + if (show) { viewDriverMsgBoxList.setVisibility(View.VISIBLE); viewDriverMsgBoxList.notifyData(); viewDriverMsgBoxBubble.setVisibility(View.GONE); viewDriverMsgBoxBubble.isShowData(false); - }else{ + } else { viewDriverMsgBoxList.setVisibility(View.GONE); viewDriverMsgBoxBubble.setVisibility(View.VISIBLE); viewDriverMsgBoxBubble.isShowData(true); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 3e97df4a91..a2d0ae8d4a 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -169,7 +169,6 @@ public class BusPresenter extends Presenter @Override public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) { - if (autopilotStatusInfo == null) return; int state = autopilotStatusInfo.getState(); // CallerLogger.INSTANCE.d(M_BUS + TAG, "onStateChange: " + state + "currentAutopilotStatus = " + currentAutopilotStatus); switch (state) { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt index 706272381a..6038793be4 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt @@ -12,6 +12,7 @@ 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 java.lang.Exception import kotlin.text.StringBuilder /** diff --git a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml index 04f8739e01..dc022f717d 100644 --- a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml @@ -9,7 +9,7 @@ + android:layout_height="match_parent" /> + android:layout_height="match_parent" /> + + + app:layout_constraintEnd_toEndOf="parent" /> \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/build.gradle b/OCH/mogo-och-charter-passenger/build.gradle index c0e8c71d13..6567d5ad7e 100644 --- a/OCH/mogo-och-charter-passenger/build.gradle +++ b/OCH/mogo-och-charter-passenger/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' diff --git a/OCH/mogo-och-charter/build.gradle b/OCH/mogo-och-charter/build.gradle index ad6daeea4b..550170a67d 100644 --- a/OCH/mogo-och-charter/build.gradle +++ b/OCH/mogo-och-charter/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' diff --git a/OCH/mogo-och-common-module/build.gradle b/OCH/mogo-och-common-module/build.gradle index 0b9856e476..458241bc09 100644 --- a/OCH/mogo-och-common-module/build.gradle +++ b/OCH/mogo-och-common-module/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' -apply plugin: 'com.alibaba.arouter' android { compileSdkVersion rootProject.ext.android.compileSdkVersion diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHBorderShadowLayout.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHBorderShadowLayout.java index 22702e5ee9..a69aeadc7d 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHBorderShadowLayout.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHBorderShadowLayout.java @@ -85,7 +85,7 @@ public class OCHBorderShadowLayout extends LinearLayout { public OCHBorderShadowLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - this.setLayerType(LAYER_TYPE_SOFTWARE, null);//取消硬件加速 +// this.setLayerType(LAYER_TYPE_SOFTWARE, null);//取消硬件加速 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ShadowLayout); shadowColor = typedArray.getColor(R.styleable.ShadowLayout_shadowColor, Color.BLUE); blurRadius = typedArray.getDimension(R.styleable.ShadowLayout_blurRadius, SHADOW_DEFAULT_BLUR_RADIUS); diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt index 200ebaea1c..ce09411a42 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/video/VideoPlayerView.kt @@ -214,7 +214,7 @@ class AdvanceVideoView @JvmOverloads constructor( Logger.d(ImageVideoRotationView.TAG, "download-onProgress== $length") } - override fun onFinished(url: String?, threadBean: ThreadBean?) { + override fun onFinished(url: String?, threadBean: ThreadBean?, localPath: String?) { Logger.d(ImageVideoRotationView.TAG, "download-onFinished = $url") if (url.equals(fileNetPath)) { //发现下载工具在断网又连网后,已完成的任务又都下载,跳转播放出现问题 //下载完成 diff --git a/OCH/mogo-och-noop/build.gradle b/OCH/mogo-och-noop/build.gradle index 79d34406b0..b387a1dd5b 100644 --- a/OCH/mogo-och-noop/build.gradle +++ b/OCH/mogo-och-noop/build.gradle @@ -3,7 +3,6 @@ plugins { id 'kotlin-android' id 'kotlin-android-extensions' id 'kotlin-kapt' - id 'com.alibaba.arouter' } android { diff --git a/OCH/mogo-och-shuttle-passenger/build.gradle b/OCH/mogo-och-shuttle-passenger/build.gradle index 3bdddf460d..86598b429e 100644 --- a/OCH/mogo-och-shuttle-passenger/build.gradle +++ b/OCH/mogo-och-shuttle-passenger/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java index f222ef0ed3..0f60060f28 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java @@ -9,19 +9,25 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.core.widget.ContentLoadingProgressBar; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; +import com.mogo.eagle.core.data.multidisplay.TelematicConstant; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener; +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager; +import com.mogo.eagle.core.function.hmi.ui.widget.DriverMonitorView; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.passenger.R; import com.mogo.och.bus.passenger.constant.BusPassengerConst; import com.mogo.och.common.module.utils.NumberFormatUtil; +import com.mogo.och.common.module.wigets.OCHBorderShadowLayout; /** * Created on 2022/3/31 @@ -33,6 +39,22 @@ public abstract class BusPassengerBaseFragment { + mLiveShadow.setVisibility(View.GONE); + } + ); + + mLiveBtn.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + mLiveShadow.setVisibility(mLiveShadow.getVisibility() == View.GONE ? View.VISIBLE : View.GONE); + return true; + } + }); + CallerTelematicListenerManager.INSTANCE.addListener(TAG, new IReceivedMsgListener() { + @Override + public void onReceivedServerSn(@Nullable String sn) { + + } + + @Override + public void onReceivedMsg(int type, @NonNull byte[] byteArray) { + if (type == TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR) { + switch (new String(byteArray)) { + // 乘客端开启漫游 + case "0": { + mLiveShadow.setVisibility(View.GONE); + break; + } + // 乘客端关闭漫游 + case "1": { + mLiveShadow.setVisibility(View.VISIBLE); + break; + } + } + } + } + }); + showRouteFragment(); + +// mCurrentArriveStation.setOnLongClickListener(new View.OnLongClickListener() { +// @Override +// public boolean onLongClick(View v) { +// showOverviewFragment(); +// return false; +// } +// }); } @Override diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index 193f6e6ced..16c8c72223 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -219,7 +219,7 @@ public class BusPassengerMapDirectionView addRouteColorList(); CallerLogger.INSTANCE.d(M_BUS_P + TAG, "mLinePointsLatLng.size() = " +mLineStationLatLng.size() +" mCoordinatesLatLng.size()= " + mCoordinatesLatLng.size()); - if (mLineStationLatLng.size() >= 2 && mCoordinatesLatLng.size() > 2) { + if (mLineStationLatLng.size() >= 2 && mCoordinatesLatLng.size() >= 2) { //设置线段纹理 PolylineOptions polylineOptions = new PolylineOptions(); polylineOptions.addAll(mCoordinatesLatLng); diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_bg.png new file mode 100644 index 0000000000..405d2cddaa Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_press_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_press_bg.png new file mode 100644 index 0000000000..a0b2ab93d9 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/iv_roma_bus_passenger_press_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/roma_bus_p_bg_selector.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/roma_bus_p_bg_selector.xml new file mode 100644 index 0000000000..191ec2e51f --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/roma_bus_p_bg_selector.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml index 28fe696c1c..a15c7f5b90 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml @@ -1,6 +1,7 @@ @@ -8,9 +9,9 @@ android:id="@+id/mapBizView" android:layout_width="match_parent" android:layout_height="match_parent" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent"/> + app:layout_constraintTop_toTopOf="parent" /> - - + app:layout_constraintRight_toRightOf="parent" + app:roma_close="@drawable/roma_bus_p_bg_selector" + app:roma_open="@drawable/iv_roma_bus_passenger_press_bg" /> + + + + android:layout_marginRight="@dimen/dp_40" + app:layout_constraintRight_toLeftOf="@+id/bus_p_route_panel" + app:layout_constraintTop_toTopOf="parent" /> + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml index ce540144cd..13371d398f 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml @@ -94,6 +94,14 @@ app:layout_constraintLeft_toLeftOf="@+id/bus_p_speed_tv" app:layout_constraintTop_toBottomOf="@+id/bus_p_speed_tv"/> + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml index 5d1346c20b..68aca264ee 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml @@ -56,6 +56,9 @@ 55dp 40dp + 495dp + 309dp + 584dp 550dp \ No newline at end of file diff --git a/OCH/mogo-och-shuttle/build.gradle b/OCH/mogo-och-shuttle/build.gradle index 9b8e2e5d59..07d4756de7 100644 --- a/OCH/mogo-och-shuttle/build.gradle +++ b/OCH/mogo-och-shuttle/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' diff --git a/OCH/mogo-och-sweeper/build.gradle b/OCH/mogo-och-sweeper/build.gradle index 30fb36674e..bee9092d59 100644 --- a/OCH/mogo-och-sweeper/build.gradle +++ b/OCH/mogo-och-sweeper/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' diff --git a/OCH/mogo-och-taxi-passenger/build.gradle b/OCH/mogo-och-taxi-passenger/build.gradle index 2fde4de3f2..ec58e06826 100644 --- a/OCH/mogo-och-taxi-passenger/build.gradle +++ b/OCH/mogo-och-taxi-passenger/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index d74028ff9d..d61feb6cc9 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -11,6 +11,7 @@ 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.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.manager.OCHAdasAbilityManager; @@ -162,6 +163,7 @@ public class BaseTaxiPassengerPresenter extends Presenter { mView.showOrHideServingOrderFragment(false,true); + mView.showOrHideOverMapViewFragment(false); mView.showOrHideStartAutopilotView(false,false); mView.showOrHidePressengerCheckPager(false, "", "", "", "", ""); @@ -208,6 +210,9 @@ public class BaseTaxiPassengerPresenter extends Presenter { mView.showOrHideServingOrderFragment(false,true); mView.showOrHideArrivedEndLayout(true, order.endSiteAddr,order.orderNo); + CallerOrderListenerManager.INSTANCE.invokeOrderStatus(false); }); clearV2XMarkers(); return; diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt index ee3174b8ee..7229e39206 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt @@ -1,16 +1,33 @@ package com.mogo.och.taxi.passenger.ui +import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.mogo.commons.mvp.BaseFragment +import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager import com.mogo.eagle.core.function.view.OverMapView +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.UiThreadHandler +import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum +import com.mogo.och.taxi.passenger.model.TaxiPassengerModel +import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils +import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.disposables.Disposable +import java.util.concurrent.TimeUnit class OverviewFragment : BaseFragment() { private var overmapview: OverMapView?=null + private var lifeVisable2User = false + private var finalVisable2User = false + + private var subscribe: Disposable?=null + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -23,24 +40,83 @@ class OverviewFragment : BaseFragment() { viewGroup.removeView(overmapview) } overmapview?.onCreateView(savedInstanceState) + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onCreateView") + statusChange(TaxiPassengerModel.getInstance().curOrderStatus) return overmapview!! } override fun onResume() { super.onResume() overmapview?.onResume() + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onResume") + lifeVisable2User = true + checkVisable() } override fun onPause() { super.onPause() overmapview?.onPause() + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onPause") + lifeVisable2User = false + checkVisable() + } + + private fun checkVisable() { + + subscribe?.let { + if (!it.isDisposed) { + it.dispose() + } + } + subscribe = Observable.timer(500, TimeUnit.MILLISECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + if(lifeVisable2User){//展示 + if(!finalVisable2User){ + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"正在展示") + finalVisable2User = true + statusChange(TaxiPassengerModel.getInstance().curOrderStatus) + } + + }else{//没有展示 + if(finalVisable2User){ + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"已经隐藏") + finalVisable2User = false + stopAndClear() + } + } + } } override fun onDestroy() { super.onDestroy() overmapview?.onDestroy() + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onDestroy") } + private fun statusChange(currentStatusEnum: TaxiPassengerOrderStatusEnum){ + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"状态变更最新状态:$currentStatusEnum") + when (currentStatusEnum) { + TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + CallerFuncBizManager.bizProvider.getAllV2XEvents() + } + TaxiPassengerOrderStatusEnum.ArriveAtEnd,TaxiPassengerOrderStatusEnum.JourneyCompleted, + TaxiPassengerOrderStatusEnum.Cancel -> { + // stop clear + stopAndClear() + } + else -> {} + } + } + + private fun stopAndClear(){ + CallerFuncBizManager.bizProvider.stopQueryV2XEvents() + UiThreadHandler.post({ + overmapview?.clearV2XMarkers() + }, UiThreadHandler.MODE.QUEUE) + } + + override fun getLayoutId(): Int { return 0 } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java index 1a15d6abc4..3254104ca0 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java @@ -11,14 +11,13 @@ import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentTransaction; +import androidx.lifecycle.Lifecycle; import com.mogo.commons.module.status.MogoStatusManager; import com.mogo.commons.mvp.MvpFragment; -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; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; -import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager; import com.mogo.eagle.core.function.hmi.ui.msgbox.PassengerMsgBoxBubbleView; import com.mogo.eagle.core.function.hmi.ui.msgbox.PassengerMsgBoxButtonView; import com.mogo.eagle.core.function.hmi.ui.msgbox.PassengerMsgBoxListView; @@ -52,7 +51,7 @@ import java.util.Objects; * @author tongchenfei */ public class TaxiPassengerBaseFragment extends MvpFragment - implements IMogoMapListener, TaxiPassengerTaxiView, ITPClickStartAutopilotCallback{ + implements IMogoMapListener, TaxiPassengerTaxiView, ITPClickStartAutopilotCallback { public static final String TAG = "TaxiPassengerBaseFragment"; @@ -109,11 +108,11 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - if(show){ + if (show) { viewPassengerMsgBoxList.setVisibility(View.VISIBLE); viewPassengerMsgBoxBubble.setVisibility(View.GONE); viewPassengerMsgBoxBubble.isShowData(false); - }else{ + } else { viewPassengerMsgBoxList.setVisibility(View.GONE); viewPassengerMsgBoxBubble.setVisibility(View.VISIBLE); viewPassengerMsgBoxBubble.isShowData(true); @@ -146,18 +145,12 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity(),0,true,-1,true); + OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity(), 0, true, -1, true); //showOrHideArrivedEndLayout(true, "北京北京北京", "1527481606997577728"); //showOrHidePressengerCheckPager(true, "开始站点开", "开始站点开始站点开始", "2", "京A888888", "18811539480"); //OCHFloatWindowManager.getInstance().ShowFloatWindow(getContext()); @@ -364,21 +357,25 @@ public class TaxiPassengerBaseFragment extends MvpFragment 2) { + if (mCoordinatesLatLng.size() >= 2) { // 设置开始结束Marker位置 LatLng startLatLng = mCoordinatesLatLng.get(0); LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); @@ -241,7 +241,7 @@ public class TaxiPassengerMapDirectionView addRouteColorList(); - if (mCoordinatesLatLng.size() > 2) { + if (mCoordinatesLatLng.size() >= 2) { //设置线段纹理 PolylineOptions polylineOptions = new PolylineOptions(); polylineOptions.addAll(mCoordinatesLatLng); diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_passenger_bg.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_passenger_bg.png new file mode 100644 index 0000000000..41378d1b41 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_passenger_bg.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_taxi_passenger_press_bg.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_taxi_passenger_press_bg.png new file mode 100644 index 0000000000..59c45b7c18 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/iv_roma_taxi_passenger_press_bg.png differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/roma_taxi_p_bg_selector.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/roma_taxi_p_bg_selector.xml new file mode 100644 index 0000000000..05c96dc351 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/roma_taxi_p_bg_selector.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml index 5473f300af..2f500e2afb 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -54,6 +54,17 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + - + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi/build.gradle b/OCH/mogo-och-taxi/build.gradle index f4e3a975d6..3d5e7a6590 100644 --- a/OCH/mogo-och-taxi/build.gradle +++ b/OCH/mogo-och-taxi/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index d0d6536505..f2fe9e088c 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -129,7 +129,7 @@ public class TaxiModel { private volatile boolean isRestartAutopilot = false; - private List mRoutePoints = new ArrayList<>(); + private final List mRoutePoints = new ArrayList<>(); private int mPreRouteIndex = 0; private double mLongitude, mLatitude; @@ -1160,7 +1160,6 @@ public class TaxiModel { @Override public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) { - if (autopilotStatusInfo == null) return; int state = autopilotStatusInfo.getState(); if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { if (state != mPrevAPStatus && mADASStatusCallback != null){ @@ -1400,7 +1399,9 @@ public class TaxiModel { , "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime + " thread = "+ Thread.currentThread().getName()); - mCurrentOCHOrder.decreaseTravelDistance(lastSumLength); + if (mCurrentOCHOrder != null){ + mCurrentOCHOrder.decreaseTravelDistance(lastSumLength); + } if (mOrderStatusCallback != null) { mOrderStatusCallback.onCurrentOrderDistToEndChanged((long) lastSumLength, (long) lastTime); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index d43dddc681..72c76408eb 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -13,6 +13,7 @@ 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.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; @@ -243,7 +244,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){ TaxiModel.getInstance().startDynamicCalculateRouteInfo(); - runOnUIThread(() -> mView.updateCtvAutopilotStatusTag(true)); + runOnUIThread(() -> { + mView.updateCtvAutopilotStatusTag(true); + CallerOrderListenerManager.INSTANCE.invokeOrderStatus(true); + }); + } if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus || @@ -251,6 +256,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus){ TaxiModel.getInstance().startOrStopCalculateRouteInfo(false); TaxiModel.getInstance().setRouteLineMarker(null); + runOnUIThread(() -> { + if(TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){ + CallerOrderListenerManager.INSTANCE.invokeOrderStatus(false); + } + }); } runOnUIThread(() -> mView.updateCurrentOrderStatusChanged(order)); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 8b408dc38d..2bd1fc7c0d 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -25,7 +25,6 @@ import androidx.fragment.app.FragmentTransaction; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; 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; @@ -33,7 +32,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; -import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager; 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; @@ -43,7 +41,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.map.MogoMapUIController; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; @@ -84,7 +81,6 @@ public abstract class BaseTaxiTabFragment { - if(show){ + if (show) { viewDriverMsgBoxList.setVisibility(View.VISIBLE); viewDriverMsgBoxList.notifyData(); viewDriverMsgBoxBubble.setVisibility(View.GONE); viewDriverMsgBoxBubble.isShowData(false); - }else{ + } else { viewDriverMsgBoxList.setVisibility(View.GONE); viewDriverMsgBoxBubble.setVisibility(View.VISIBLE); viewDriverMsgBoxBubble.isShowData(true); diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml index 0b41b947f6..26b5abef3a 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml @@ -9,7 +9,7 @@ + android:layout_height="match_parent" /> + android:textColor="#FFFFFF" + android:textSize="74dp" /> + android:textSize="32dp" /> @@ -58,8 +56,8 @@ android:id="@+id/module_mogo_och_autopilot_status" android:layout_width="@dimen/taxi_tab_autoaploit_width" android:layout_height="@dimen/taxi_tab_autoaploit_height" - android:layout_marginTop="20dp" android:layout_marginLeft="220dp" + android:layout_marginTop="20dp" android:background="@drawable/taxi_autopilot_bg_selector" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -71,24 +69,24 @@ + android:layout_gravity="center_horizontal" + android:layout_marginTop="@dimen/dp_56" + android:src="@drawable/taxi_ic_autopilot" /> + @@ -96,7 +94,7 @@ + android:layout_height="match_parent" /> + app:layout_constraintTop_toTopOf="parent" /> + tools:visibility="visible" /> + app:layout_constraintTop_toBottomOf="@+id/ivCameraIcon" /> @@ -254,16 +251,17 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" /> + + android:textColor="@color/taxi_role_text_color" + android:textSize="@dimen/taxi_diver_role_size" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" /> + + + +