From 8be7443b8651e3747e63b692c6c5d74e7d04e5b9 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 11 Mar 2024 16:33:58 +0800 Subject: [PATCH] =?UTF-8?q?[6.3.0]=20[shuttle=20driver=20=E5=9B=A0=20?= =?UTF-8?q?=E6=A0=B8=E9=94=80=E4=BA=BA=E6=95=B0=E5=8F=98=E6=9B=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/bus/BusProvider.java | 17 +- ...gment.java => BaseShuttleTabFragment.java} | 9 +- ...{BusFragment.java => ShuttleFragment.java} | 2 +- .../mogo/och/bus/presenter/BusPresenter.java | 6 +- .../och/bus/ui/ShuttleTapPositionView.java | 87 +++++++++ .../och/bus/ui/ShuttleTrafficDataView.java | 170 ++++++++++++++++++ .../shuttle_traffic_data_speed.png | Bin 0 -> 42493 bytes .../src/main/res/layout/fragment_och_bus.xml | 7 +- ...fragment.xml => shuttle_base_fragment.xml} | 29 +-- .../main/res/layout/shuttle_tap_position.xml | 68 +++++++ .../main/res/layout/shuttle_traffic_data.xml | 97 ++++++++++ .../res/layout/shuttle_wirte_off_view.xml | 2 +- 12 files changed, 459 insertions(+), 35 deletions(-) rename OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/{BaseBusTabFragment.java => BaseShuttleTabFragment.java} (98%) rename OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/{BusFragment.java => ShuttleFragment.java} (99%) create mode 100644 OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTapPositionView.java create mode 100644 OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTrafficDataView.java create mode 100644 OCH/shuttle/driver/src/main/res/drawable-xhdpi/shuttle_traffic_data_speed.png rename OCH/shuttle/driver/src/main/res/layout/{bus_base_fragment.xml => shuttle_base_fragment.xml} (96%) create mode 100644 OCH/shuttle/driver/src/main/res/layout/shuttle_tap_position.xml create mode 100644 OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml 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 index 6b5f576a24..5d4584dd99 100644 --- 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 @@ -1,8 +1,6 @@ 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; @@ -11,10 +9,9 @@ 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.function.call.setting.CallerMoGoUiSettingManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.fragment.BusFragment; +import com.mogo.och.bus.fragment.ShuttleFragment; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -29,7 +26,7 @@ public class BusProvider implements IMoGoFunctionProvider { private static final String TAG = "BusProvider"; - private BusFragment busFragment; + private ShuttleFragment busFragment; private int containerId; private FragmentActivity activity; @@ -41,14 +38,14 @@ public class BusProvider implements IMoGoFunctionProvider { 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; + Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(ShuttleFragment.TAG); + if (fragmentByTag instanceof ShuttleFragment) { + busFragment = (ShuttleFragment) fragmentByTag; } else { - busFragment = new BusFragment(); + busFragment = new ShuttleFragment(); } if(!busFragment.isAdded()) { - supportFragmentManager.beginTransaction().add(containerId, busFragment, BusFragment.TAG).commitAllowingStateLoss(); + supportFragmentManager.beginTransaction().add(containerId, busFragment, ShuttleFragment.TAG).commitAllowingStateLoss(); } return; } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java similarity index 98% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java index b6d22ccdf0..5f69222cbd 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BaseShuttleTabFragment.java @@ -43,6 +43,7 @@ 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.data.bean.BusRoutesResult; import com.mogo.och.bus.model.OrderModel; @@ -57,7 +58,7 @@ import org.greenrobot.eventbus.EventBus; * * @author tongchenfei */ -public abstract class BaseBusTabFragment> extends MvpFragment implements IMogoMapListener { +public abstract class BaseShuttleTabFragment> extends MvpFragment implements IMogoMapListener { private static final String TAG = "BaseBusTabFragment"; @@ -72,7 +73,7 @@ public abstract class BaseBusTabFragment private FrameLayout flStationPanelContainer; private BizMapView mapBizView; private Group groupTestPanel; - private TrafficDataView mTrafficDataView; + private ShuttleTrafficDataView mTrafficDataView; // private BusTrafficLightView mTrafficLightView; //远景和中景的切换 @@ -102,7 +103,7 @@ public abstract class BaseBusTabFragment @Override protected int getLayoutId() { - return R.layout.bus_base_fragment; + return R.layout.shuttle_base_fragment; } @Override @@ -121,7 +122,7 @@ 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 = (ShuttleTrafficDataView) findViewById(R.id.bus_arc); LayoutInflater.from(getContext()).inflate(getStationPanelViewId(), flStationPanelContainer); slidePanelView.setOnSlidePanelMoveToEndListener(onSlideToEndListener); diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/ShuttleFragment.java similarity index 99% rename from OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java rename to OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/ShuttleFragment.java index 147795d085..8bd2980b4e 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/fragment/ShuttleFragment.java @@ -60,7 +60,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils; * * @author tongchenfei */ -public class BusFragment extends BaseBusTabFragment +public class ShuttleFragment extends BaseShuttleTabFragment implements SlidePanelView.OnSlidePanelMoveToEndListener, View.OnClickListener { public static final String TAG = "BusFragment"; 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/bus/presenter/BusPresenter.java index 155f370780..c30bb7af1e 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/bus/presenter/BusPresenter.java @@ -21,7 +21,7 @@ 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.BusFragment; +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; @@ -44,7 +44,7 @@ import system_master.SystemStatusInfo; * * @author tongchenfei */ -public class BusPresenter extends Presenter +public class BusPresenter extends Presenter implements IRefreshBusStationsCallback, ISlidePannelHideCallback , IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IBusADASStatusCallback { @@ -53,7 +53,7 @@ public class BusPresenter extends Presenter private final List mStationList = new ArrayList<>(); private int mCurrentStation = 0; - public BusPresenter(BusFragment view) { + public BusPresenter(ShuttleFragment view) { super(view); //2021.11.1 鹰眼架构整合,由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口 CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); 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/bus/ui/ShuttleTapPositionView.java new file mode 100644 index 0000000000..12ba52cda7 --- /dev/null +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTapPositionView.java @@ -0,0 +1,87 @@ +package com.mogo.och.bus.ui; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.Nullable; +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 org.jetbrains.annotations.NotNull; + +import chassis.Chassis; + +/** + * @author Jing + * @description 方向盘下方的档位 + * @since: 4/7/22 + */ +public class ShuttleTapPositionView extends ConstraintLayout { + private static final String TAG = "TapPositionView"; + private TextView tabP; + private TextView tabR; + private TextView tabN; + private TextView tabD; + private TypedArray typedArray; + + public ShuttleTapPositionView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + LayoutInflater.from(context).inflate(R.layout.shuttle_tap_position, this); + tabP = findViewById(R.id.tap_p); + tabR = findViewById(R.id.tap_r); + tabN = findViewById(R.id.tap_n); + tabD = findViewById(R.id.tap_d); + typedArray = context.obtainStyledAttributes(attrs, R.styleable.TapPositionView); + if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)||AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)){ + tabP.setVisibility(View.GONE); + } + } + + public void updateWithGear(@NotNull Chassis.GearPosition gear) { + if (tabP != null && tabR != null && tabN != null && tabD != null) { + int defaultColor = typedArray.getColor(R.styleable.TapPositionView_defaultColor, -1); + int selectColor = typedArray.getColor(R.styleable.TapPositionView_selectColor, -1); + switch (gear) { + case GEAR_NONE: + tabP.setTextColor(defaultColor); + tabR.setTextColor(defaultColor); + tabN.setTextColor(defaultColor); + tabD.setTextColor(defaultColor); + break; + case GEAR_P: + tabP.setTextColor(selectColor); + tabR.setTextColor(defaultColor); + tabN.setTextColor(defaultColor); + tabD.setTextColor(defaultColor); + break; + case GEAR_R: + tabR.setTextColor(selectColor); + tabP.setTextColor(defaultColor); + tabN.setTextColor(defaultColor); + tabD.setTextColor(defaultColor); + break; + case GEAR_N: + tabN.setTextColor(selectColor); + tabR.setTextColor(defaultColor); + tabP.setTextColor(defaultColor); + tabD.setTextColor(defaultColor); + break; + case GEAR_D: + tabD.setTextColor(selectColor); + tabN.setTextColor(defaultColor); + tabR.setTextColor(defaultColor); + tabP.setTextColor(defaultColor); + break; + default: + break; + } + } + } +} 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/bus/ui/ShuttleTrafficDataView.java new file mode 100644 index 0000000000..56c48321b4 --- /dev/null +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/ShuttleTrafficDataView.java @@ -0,0 +1,170 @@ +package com.mogo.och.bus.ui; + +import static com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; + +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisBrakeStateListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisGearStateListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisThrottleStateListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisBrakeStateListenerManager; +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 org.jetbrains.annotations.NotNull; + +import chassis.Chassis; +import mogo.telematics.pad.MessagePad; + +/** + * @author Jing + * @description 速度 加速度 档位 刹车 油门状态值 + * @since: 6/24/22 + */ +public class ShuttleTrafficDataView extends ConstraintLayout implements + IMoGoChassisGearStateListener , + IMoGoChassisBrakeStateListener, + IMoGoChassisThrottleStateListener, + IMoGoAutopilotPlanningActionsListener { + private static final String TAG = "TrafficDataView"; + private ShuttleTapPositionView tapPositionView; + private TextView speedTextView; + private TextView accTextView; + private ImageView speedImage; + private ImageView brakeStatus; + + private static final int MSG_SEND_UPDATE = 1; + private volatile double acceleration; + private volatile float mBrake; + private volatile float mThrottle; + + @SuppressLint("HandlerLeak") + private final Handler handler = new Handler() { + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + if (msg.what == MSG_SEND_UPDATE) { + java.text.DecimalFormat mFormat = new java.text.DecimalFormat("0.0"); + String accStr = mFormat.format(Math.abs(acceleration)); + if (acceleration > 0f) { + accTextView.setText(accStr); + } else { + accTextView.setText("- " + accStr); + } + int state = CallerAutoPilotStatusListenerManager.INSTANCE.getState(); + if (state < STATUS_AUTOPILOT_RUNNING) { + if (mBrake > 0) { + brakeStatus.setImageResource(R.drawable.traffic_data_brake); + } else if (mThrottle >= 0 && mBrake == 0) { + brakeStatus.setImageResource(R.drawable.traffic_data_accelerator); + } else { + brakeStatus.setImageResource(R.drawable.traffic_data_empty); + } + } + if (state == 2) { + brakeStatus.setImageResource(R.drawable.traffic_data_empty); + } + } + handler.sendEmptyMessageDelayed(MSG_SEND_UPDATE, 1000L); + } + }; + + public ShuttleTrafficDataView(@NonNull Context context) { + super(context); + } + + public ShuttleTrafficDataView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + initView(context); + } + + public ShuttleTrafficDataView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public ShuttleTrafficDataView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + handler.sendEmptyMessageDelayed(MSG_SEND_UPDATE, 1000L); + CallerChassisGearStateListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisBrakeStateListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisThrottleStateListenerManager.INSTANCE.addListener(TAG, this); + CallerPlanningActionsListenerManager.INSTANCE.addListener(TAG, this); + } + + private void initView(@NonNull Context context) { + LayoutInflater.from(context).inflate(R.layout.shuttle_traffic_data, this); + tapPositionView = findViewById(R.id.traffic_position); + speedImage = findViewById(R.id.speedImage); + speedTextView = findViewById(R.id.speedTextView); + accTextView = findViewById(R.id.speedAccTextView); + brakeStatus = findViewById(R.id.brakeStatus); + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + CallerChassisGearStateListenerManager.INSTANCE.removeListener(TAG); + CallerChassisBrakeStateListenerManager.INSTANCE.removeListener(TAG); + CallerChassisThrottleStateListenerManager.INSTANCE.removeListener(TAG); + CallerPlanningActionsListenerManager.INSTANCE.removeListener(TAG); + } + + @Override + public void pncActions(@NonNull MessagePad.PlanningActionMsg planningActionMsg) { + acceleration = planningActionMsg.getDestinationAcc(); + } + + /** + * 档位 + */ + @Override + public void onAutopilotGearData(@NotNull Chassis.GearPosition gear) { + ThreadUtils.runOnUiThread(() -> { + if (tapPositionView != null) { + tapPositionView.updateWithGear(gear); + } + }); + } + + @Override + public void onAutopilotBrake(float brake) { + mBrake = brake; + } + + @Override + public void onAutopilotThrottle(float throttle) { + mThrottle = throttle; + } + + /** + * value呈现 + */ + public void updateSpeedWithValue(int newSpeed) { + if (speedTextView != null) { + speedTextView.setText(String.valueOf(newSpeed)); + } + } + +} diff --git a/OCH/shuttle/driver/src/main/res/drawable-xhdpi/shuttle_traffic_data_speed.png b/OCH/shuttle/driver/src/main/res/drawable-xhdpi/shuttle_traffic_data_speed.png new file mode 100644 index 0000000000000000000000000000000000000000..029cf64b2a4bf63139367b3c6c25f0f7dde35460 GIT binary patch literal 42493 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 - @@ -163,9 +163,10 @@ @@ -211,15 +213,16 @@ app:layout_constraintLeft_toLeftOf="@id/module_mogo_och_station_panel_container" app:layout_constraintTop_toBottomOf="@id/module_mogo_och_station_panel_container" tools:visibility="visible" /> - + + + android:layout_width="@dimen/dp_585" + android:layout_height="@dimen/dp_176"/> + + + + + + + + + + + \ No newline at end of file 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 new file mode 100644 index 0000000000..abbad9395d --- /dev/null +++ b/OCH/shuttle/driver/src/main/res/layout/shuttle_traffic_data.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/driver/src/main/res/layout/shuttle_wirte_off_view.xml b/OCH/shuttle/driver/src/main/res/layout/shuttle_wirte_off_view.xml index d549ca9937..60f94aace3 100644 --- a/OCH/shuttle/driver/src/main/res/layout/shuttle_wirte_off_view.xml +++ b/OCH/shuttle/driver/src/main/res/layout/shuttle_wirte_off_view.xml @@ -12,7 +12,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/shuttle_driver_cad6ff" - android:textSize="32dp" + android:textSize="30dp" android:layout_marginStart="@dimen/dp_68" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"