This commit is contained in:
zhongchao
2022-03-11 19:41:19 +08:00
parent 9275ed5ff2
commit 180bdfd50a
35 changed files with 1260 additions and 834 deletions

View File

@@ -3,6 +3,7 @@ package com.mogo.och.bus.fragment;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -13,6 +14,8 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.Group;
import com.mogo.commons.AbsMogoApplication;
@@ -21,8 +24,15 @@ import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.autopilot.AutoPilotRecordResult;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.eagle.core.data.config.HmiBuildConfig;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener;
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.autopilot.CallerAutopilotIdentifyListenerManager;
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
@@ -35,6 +45,8 @@ import com.mogo.och.bus.R;
import com.mogo.och.bus.view.BusArcView;
import com.mogo.och.bus.view.SlidePanelView;
import java.util.ArrayList;
/**
* 网约车基础Fragment主要负责布局通用界面处理站点面板和通话面板互斥情况
* <p>
@@ -42,7 +54,7 @@ import com.mogo.och.bus.view.SlidePanelView;
*
* @author tongchenfei
*/
public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter<V>> extends MvpFragment<V, P> implements IMogoMapListener {
public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter<V>> extends MvpFragment<V, P> implements IMogoMapListener, IMoGoAutopilotIdentifyListener {
private static final String TAG = "BaseOchFragment";
@@ -200,17 +212,45 @@ public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter
// mBadcaseBtn的visible显示逻辑在showBadcaseEntrance内处理
mBadcaseBtn = findViewById(R.id.module_mogo_och_badcase_iv);
CallerHmiManager.INSTANCE.registerBadCaseCallback(
() -> { // onShow()
return mBadcaseBtn; },
() -> { // onHide()
return null; });
// CallerHmiManager.INSTANCE.registerBadCaseCallback(
// () -> { // onShow()
// return mBadcaseBtn; },
// () -> { // onHide()
// return null; });
if (mBadcaseBtn != null) {
CallerDevaToolsManager.INSTANCE.initBadCase(mBadcaseBtn, null, null);
if (!HmiBuildConfig.isShowBadCaseView) {
CallerAutopilotIdentifyListenerManager.INSTANCE.addListener(TAG, this);
}
}
//设置升级小红点提示 默认隐藏
mUpgradeTipIv = findViewById(R.id.module_och_bus_upgrade_red_tip);
CallerHmiManager.INSTANCE.registerUpgradeTipsCallback(() -> mUpgradeTipIv);
}
@Override
public void onDestroyView() {
super.onDestroyView();
if (!HmiBuildConfig.isShowBadCaseView) {
CallerAutopilotIdentifyListenerManager.INSTANCE.removeListener(TAG);
}
}
@Override
public void onAutopilotRecordResult(@Nullable AutoPilotRecordResult record) {
if (!HmiBuildConfig.isShowBadCaseView && record != null && record.getType() == 1 && record.getStat() == 100) {
CallerDevaToolsManager.INSTANCE.onReceiveBadCaseRecord(record);
}
}
@Override
public void onAutopilotIdentifyDataUpdate(@Nullable ArrayList<TrafficData> trafficData) { }
@Override
public void onAutopilotWarnMessage(@Nullable AutopilotWarnMessage autopilotWarnMessage) { }
/**
* 测试到站
*/
@@ -367,11 +407,6 @@ public abstract class BaseOchBusTabFragment<V extends IView, P extends Presenter
return null;
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
/**
* 获取站点面板view在{@link #initViews()}时候添加到container中
*

View File

@@ -3,6 +3,7 @@ package com.mogo.och.taxi.ui;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
@@ -15,6 +16,8 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.Group;
import androidx.fragment.app.FragmentTransaction;
@@ -24,10 +27,17 @@ import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.autopilot.AutoPilotRecordResult;
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.eagle.core.data.config.HmiBuildConfig;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager;
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.CallerSmpManager;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
@@ -38,6 +48,8 @@ import com.mogo.module.common.constants.DataTypes;
import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.och.taxi.R;
import java.util.ArrayList;
/**
* 网约车基础Fragment主要负责布局通用界面处理站点面板和通话面板互斥情况
@@ -46,7 +58,7 @@ import com.mogo.och.taxi.R;
*
* @author tongchenfei
*/
public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presenter<V>> extends MvpFragment<V, P> implements IMogoMapListener {
public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presenter<V>> extends MvpFragment<V, P> implements IMogoMapListener, IMoGoAutopilotIdentifyListener {
private static final String TAG = "BaseOchFragment";
private LinearLayout ctvAutopilotStatus;
@@ -133,12 +145,18 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
// mBadcaseBtn的visible显示逻辑在showBadcaseEntrance内处理
mBadcaseBtn = findViewById(R.id.module_och_taxi_badcase_iv);
CallerHmiManager.INSTANCE.registerBadCaseCallback(
() -> { // onShow()
return mBadcaseBtn; },
() -> { // onHide()
return null; });
// CallerHmiManager.INSTANCE.registerBadCaseCallback(
// () -> { // onShow()
// return mBadcaseBtn; },
// () -> { // onHide()
// return null; });
if (mBadcaseBtn != null) {
CallerDevaToolsManager.INSTANCE.initBadCase(mBadcaseBtn, null, null);
if (!HmiBuildConfig.isShowBadCaseView) {
CallerAutopilotIdentifyListenerManager.INSTANCE.addListener(TAG, this);
}
}
//设置升级小红点提示 默认隐藏
mUpgradeTipIv = findViewById(R.id.module_och_taxi_upgrade_red_tip);
CallerHmiManager.INSTANCE.registerUpgradeTipsCallback(() -> mUpgradeTipIv);
@@ -240,6 +258,29 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
protected void onGoToTaxiOrders(){
}
@Override
public void onDestroyView() {
super.onDestroyView();
if (!HmiBuildConfig.isShowBadCaseView) {
CallerAutopilotIdentifyListenerManager.INSTANCE.removeListener(TAG);
}
}
@Override
public void onAutopilotIdentifyDataUpdate(@Nullable ArrayList<TrafficData> trafficData) { }
@Override
public void onAutopilotRecordResult(@Nullable AutoPilotRecordResult record) {
if (!HmiBuildConfig.isShowBadCaseView && record != null && record.getType() == 1 && record.getStat() == 100) {
CallerDevaToolsManager.INSTANCE.onReceiveBadCaseRecord(record);
}
}
@Override
public void onAutopilotWarnMessage(@Nullable AutopilotWarnMessage autopilotWarnMessage) { }
public void showNotice(String notice) {
getActivity().runOnUiThread(() -> {
AIAssist.getInstance(getContext()).speakTTSVoice(notice);
@@ -409,11 +450,6 @@ public abstract class BaseOchTaxiTabFragment<V extends IView, P extends Presente
return panelView;
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
/**
* 获取站点面板view在{@link #initViews()}时候添加到container中
*