删除旧版本导航相关

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2021-12-22 17:07:30 +08:00
parent e7919d9e6d
commit 6b244f66e3
10 changed files with 13 additions and 993 deletions

View File

@@ -44,7 +44,7 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/
USERNAME=xintai
PASSWORD=xintai2018
# 编译模式: false - 依赖本地版本, true - 依赖 maven 版本
USE_MAVEN_PACKAGE=true
USE_MAVEN_PACKAGE=false
##plugin 插件
android.enableR8.libraries=false
android.enableR8=false

View File

@@ -15,7 +15,6 @@ import static com.mogo.module.share.constant.ShareConstants.VOICE_ALERT_COUNT;
import android.content.Intent;
import android.graphics.Rect;
import android.location.Location;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
@@ -48,7 +47,6 @@ import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.listener.MogoMapListenerHandler;
import com.mogo.map.navi.IMogoAimlessModeListener;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
@@ -65,10 +63,7 @@ import com.mogo.module.common.map.Scene;
import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.navi.AnimNavInfoView;
import com.mogo.module.extensions.navi.BaseNaviInfoView;
import com.mogo.module.extensions.navi.VrModeNavInfoView;
import com.mogo.module.extensions.userinfo.UserInfo;
import com.mogo.module.extensions.utils.AdasNoticeHelper;
import com.mogo.module.extensions.utils.CameraLiveNoticeHelper;
import com.mogo.module.extensions.utils.EntranceViewHolder;
import com.mogo.module.extensions.utils.NoMapTopViewShaderHelper;
@@ -108,8 +103,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
IMogoMapListener,
IMogoAimlessModeListener,
IMogoStatusChangedListener,
IMogoIntentListener,
IMogoCarLocationChangedListener2 {
IMogoIntentListener {
private static final String TAG = "EntranceFragment";
@@ -119,10 +113,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private ImageButton mMove2CurrentLocation;
private BaseNaviInfoView mNaviInfo;
private TextView mExitNavi;
private AnimNavInfoView animNavInfoView;
private VrModeNavInfoView vrModeNavInfoView;
private View mDisplayOverview;
private TextView mDisplayOverviewText;
@@ -194,7 +185,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private TextView seekHelpNum;
private final AdasNoticeHelper adasNoticeHelper = new AdasNoticeHelper();
private final CameraLiveNoticeHelper mCameraLiveNoticeHelper = new CameraLiveNoticeHelper();
@Override
@@ -211,7 +201,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
protected void initViews() {
mApis = MogoApisHandler.getInstance().getApis();
adasNoticeHelper.init(getContext());
mCameraLiveNoticeHelper.init(getContext());
mEntrancePresenter = new EntrancePresenter(getContext(), this);
@@ -257,10 +246,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
R.dimen.module_map_display_overview_bottom_margin)
);
animNavInfoView = findViewById(R.id.module_ext_id_anim_nav_info);
vrModeNavInfoView = findViewById(R.id.module_ext_id_vr_nav_info);
mNaviInfo = animNavInfoView;
adasNoticeHelper.initView(vrModeNavInfoView);
mWeatherContainer = findViewById(R.id.module_ext_id_weather_container);
mWeatherIcon = findViewById(R.id.module_ext_id_weather_icon);
mWeatherTemp = findViewById(R.id.module_ext_id_weather_temp);
@@ -333,13 +318,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
// tvExitVrMode.setVisibility(View.VISIBLE);
TopViewAnimHelper.getInstance().enterVrMode();
TopViewNoLinkageAnimHelper.getInstance().enterVrMode();
mNaviInfo = vrModeNavInfoView;
adasNoticeHelper.enterVrMode();
mCameraLiveNoticeHelper.enterVrMode();
MogoApisHandler.getInstance().getApis().getRegisterCenterApi()
.registerCarLocationChangedListener(TAG, this);
localIsVrMode = true;
}
@@ -354,8 +333,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
TopViewAnimHelper.getInstance().exitVrMode();
TopViewNoLinkageAnimHelper.getInstance().exitVrMode();
mNaviInfo = animNavInfoView;
adasNoticeHelper.exitVrMode();
mCameraLiveNoticeHelper.exitVrMode();
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().unregisterMogoLocationListener(TAG);
@@ -613,9 +590,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
NoMapTopViewShaderHelper.getInstance().release();
EntranceViewHolder.getInstance().release();
mCameraLiveNoticeHelper.release();
MogoApisHandler.getInstance().getApis().getRegisterCenterApi()
.unregisterCarLocationChangedListener(TAG, this);
}
@Override
@@ -645,13 +619,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
if (naviinfo == null) {
return;
}
if (mNaviInfo != null) {
if (!mNaviInfo.isVisible()) {
// 避免导航先开启再开启app的情况
onStartNavi();
}
mNaviInfo.notifyChanged(naviinfo);
}
}
@Override
@@ -1083,14 +1050,4 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
};
@Override
public void onCarLocationChanged2(Location location) {
vrModeNavInfoView.refreshCurrentSpeed((int) (location.getSpeed() * 3.6F));
}
@Override
public void onCarLocationChanged(MogoLatLng latLng) {
}
}

View File

@@ -1,181 +0,0 @@
package com.mogo.module.extensions.navi;
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.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.constraintlayout.widget.Group;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.view.VerticalTrafficLightView;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import static com.mogo.module.common.constants.TrafficLightConst.TRAFFIC_LIGHT_COLOR_GRAY;
/**
* vr模式下导航信息封装
*
* @author tongchenfei
*/
public class VrModeNavInfoView extends BaseNaviInfoView implements Handler.Callback {
private final Group speedGroup, navGroup;
private final TextView tvLimitSpeed;
private final VerticalTrafficLightView turnAroundLight, turnLeftLight, straightLight, turnRightLight;
private final ImageView ivTurnIcon;
private final TextView tvDistance, tvDistanceUnit, tvNextRoad;
private final TextView tvCurrentSpeed;
private final Handler handler = new Handler(this);
public VrModeNavInfoView(Context context) {
this(context, null);
}
public VrModeNavInfoView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public VrModeNavInfoView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
LayoutInflater.from(context).inflate(R.layout.include_navi_in_vr, this);
speedGroup = findViewById(R.id.module_ext_id_group_navi_in_vr_speed);
navGroup = findViewById(R.id.module_ext_id_group_navi_in_vr_nav_info);
tvLimitSpeed = findViewById(R.id.module_ext_id_tv_limit_speed);
turnAroundLight = findViewById(R.id.module_ext_id_traffic_light_turn_around);
turnLeftLight = findViewById(R.id.module_ext_id_traffic_light_turn_left);
straightLight = findViewById(R.id.module_ext_id_traffic_light_straight);
turnRightLight = findViewById(R.id.module_ext_id_traffic_light_turn_right);
tvCurrentSpeed = findViewById(R.id.module_ext_id_tv_speed);
ivTurnIcon = findViewById(R.id.module_map_id_navi_next_info_road_turn_icon_in_vr_mode);
tvDistance = findViewById(R.id.module_map_id_navi_next_info_distance_in_vr_mode);
tvDistanceUnit = findViewById(R.id.module_map_id_navi_next_info_distance_unit_in_vr_mode);
tvNextRoad = findViewById(R.id.module_map_id_navi_next_info_road_in_vr_mode);
tvCurrentSpeed.setOnLongClickListener(v -> {
DebugConfig.setUseAdasRecognize(!DebugConfig.isUseAdasRecognize());
TipToast.shortTip(DebugConfig.isUseAdasRecognize()?"Adas识别--打开":"Adas识别--关闭");
return false;
});
}
public void startNav() {
navGroup.setVisibility(View.VISIBLE);
speedGroup.setVisibility(View.GONE);
}
public void stopNav() {
speedGroup.setVisibility(View.VISIBLE);
navGroup.setVisibility(View.GONE);
}
public void refreshLimitSpeed(int limitSpeed) {
if (getVisibility() != View.VISIBLE) {
return;
}
handler.removeMessages(MSG_HIDE_LIMIT_SPEED);
tvLimitSpeed.setVisibility(View.VISIBLE);
tvLimitSpeed.setText(String.valueOf(limitSpeed));
handler.sendEmptyMessageDelayed(MSG_HIDE_LIMIT_SPEED, HIDE_LIMIT_SPEED_DELAY);
}
@SuppressLint("SetTextI18n")
public void refreshCurrentSpeed(int speed) {
if (speedGroup.getVisibility() == View.VISIBLE) {
tvCurrentSpeed.setText(Integer.toString(speed));
}
}
private int[] lightArray = new int[4];
private String[] surplusTimeArray = new String[4];
/**
* 将红绿灯状态全部置灰,相当于隐藏红绿灯状态
*/
public void hideTrafficLightStatus() {
handler.removeMessages(MSG_HIDE_TRAFFIC_LIGHT);
refreshTrafficLightStatus(new int[]{TRAFFIC_LIGHT_COLOR_GRAY, TRAFFIC_LIGHT_COLOR_GRAY, TRAFFIC_LIGHT_COLOR_GRAY, TRAFFIC_LIGHT_COLOR_GRAY}, new String[]{"", "", "", ""});
}
/**
* 刷新红绿灯显示状态
*
* @param laneLight 固定数组长度为4的车道类型灯从0-3依次代表 掉头,左转,执行,右转
* @param surplusTime 固定数组长度为4的剩余时长数组从0-3依次代表 掉头,左转,执行,右转
*/
public void refreshTrafficLightStatus(int[] laneLight, String[] surplusTime) {
lightArray = laneLight;
surplusTimeArray = surplusTime;
turnAroundLight.setTrafficLightStatus(laneLight[0], surplusTime[0]);
turnLeftLight.setTrafficLightStatus(laneLight[1], surplusTime[1]);
straightLight.setTrafficLightStatus(laneLight[2], surplusTime[2]);
turnRightLight.setTrafficLightStatus(laneLight[3], surplusTime[3]);
// todo 再根据当前所在车道,置灰不需关注的灯
handler.removeMessages(MSG_HIDE_TRAFFIC_LIGHT);
handler.sendEmptyMessageDelayed(MSG_HIDE_TRAFFIC_LIGHT, HIDE_TRAFFIC_LIGHT_DELAY);
}
/**
* 根据所在车道,控制红绿灯展示
*/
public void refreshLaneStatus() {
}
@Override
public void notifyChanged(MogoNaviInfo naviInfo) {
if (naviInfo == null) {
return;
}
fillNextCrossDistance(tvDistance, tvDistanceUnit, naviInfo.getCurStepRetainDistance());
fillNextCrossIconType(ivTurnIcon, naviInfo.getIconResId());
tvNextRoad.setText(naviInfo.getNextRoadName());
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
handler.removeMessages(MSG_HIDE_LIMIT_SPEED);
}
@Override
public boolean isVisible() {
return navGroup.getVisibility() == View.VISIBLE;
}
private static final int MSG_HIDE_LIMIT_SPEED = 1001;
private static final long HIDE_LIMIT_SPEED_DELAY = 5000;
private static final int MSG_HIDE_TRAFFIC_LIGHT = 1002;
private static final long HIDE_TRAFFIC_LIGHT_DELAY = 1000;
@Override
public boolean handleMessage(Message msg) {
if (!isAttachedToWindow() || getVisibility() != View.VISIBLE) {
return false;
}
if (msg.what == MSG_HIDE_LIMIT_SPEED) {
tvLimitSpeed.setVisibility(View.GONE);
return true;
} else if (msg.what == MSG_HIDE_TRAFFIC_LIGHT) {
hideTrafficLightStatus();
return true;
}
return false;
}
}

View File

@@ -1,209 +0,0 @@
package com.mogo.module.extensions.utils;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.Message;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.eagle.core.data.map.MogoLocation;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.extensions.navi.VrModeNavInfoView;
import com.mogo.realtime.socket.IMogoCloudOnMsgListener;
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
import com.mogo.eagle.core.data.autopilot.MogoADASWarnType;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.utils.logger.Logger;
import org.json.JSONArray;
import org.json.JSONObject;
/**
* vr模式下adas左侧提示框帮助类
*
* @author tongchenfei
*/
public class AdasNoticeHelper implements IMogoAdasWarnMessageCallback, IMogoLocationListener,
Handler.Callback, IMogoCloudOnMsgListener {
private static final String TAG = "AdasNoticeHelper";
private static final int MSG_HIDE_TRAFFIC_LIGHT_BY_OBU = 1001;
// private static final int MSG_HIDE_TRAFFIC_LIGHT_BY_CLOUD = 1002; 先去掉云端下发红绿灯信息
private static final int MSG_HIDE_LIMIT_SPEED = 1003;
// private static final int MSG_REFRESH_CAR_STRATEGY = 1004;
private static final long HIDE_TRAFFIC_LIGHT_DELAY = 2_000L;
private static final long HIDE_LIMIT_SPEED_DELAY = 10_000L;
private static final long STRATEGY_DELAY = 1000L;
private Context context;
private final AdasNoticeReceiver adasReceiver = new AdasNoticeReceiver();
private volatile boolean isVrMode = false;
private int limitSpeed = -1;
private int currentSpeed = 0;
private String lightStatus = "G";
private String surplusTime;
private VrModeNavInfoView vrModeNavInfoView;
private final Handler handler = new Handler(this);
public void init(Context context) {
this.context = context;
Logger.d(TAG, "init====");
}
public void initView(VrModeNavInfoView vrModeNavInfoView) {
this.vrModeNavInfoView = vrModeNavInfoView;
}
public void enterVrMode() {
Logger.d(TAG, "enterVrMode===" + isVrMode);
if (!isVrMode) {
isVrMode = true;
MogoApisHandler.getInstance().getApis().getAdasControllerApi().closeADAS();
IntentFilter filter = new IntentFilter("com.mogo.launcher.adas.app.biz");
filter.addAction("com.mogo.launcher.adas");
context.registerReceiver(adasReceiver, filter);
MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasWarnMessageCallback(this);
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().registerMogoLocationListener(TAG, this);
// 先不监听服务端下发消息
// MoGoAiCloudRealTime.registerOnMsgListener(this);
}
}
public void exitVrMode() {
Logger.d(TAG, "退出vr模式===" + isVrMode);
if (isVrMode) {
isVrMode = false;
MogoApisHandler.getInstance().getApis().getAdasControllerApi().showADAS();
MogoApisHandler.getInstance().getApis().getAdasControllerApi().removeAdasWarnMessageCallback(this);
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().unregisterMogoLocationListener(TAG);
// 先不监听服务端下发消息
// MoGoAiCloudRealTime.unRegisterOnMsgListener(this);
context.unregisterReceiver(adasReceiver);
}
}
@Override
public void onReceiveData(AutopilotWarnMessage msg) {
Logger.d(TAG, "收到adas warn message, isVrMode: " + isVrMode + " msg: " + msg);
if (!isVrMode) {
return;
}
if (msg.type == MogoADASWarnType.ADAS_WARNING_LIMIT_SPEED) {
// 收到限速信息,更新界面
limitSpeed = Integer.parseInt(msg.value);
drawLimitSpeed();
}
}
private void drawLimitSpeed() {
vrModeNavInfoView.refreshLimitSpeed(limitSpeed);
}
@Override
public void onLocationChanged(MogoLocation location) {
if (!isVrMode) {
return;
}
currentSpeed = (int) (location.getSpeed() * 3.6F);
}
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case MSG_HIDE_LIMIT_SPEED:
limitSpeed = -1;
return true;
case MSG_HIDE_TRAFFIC_LIGHT_BY_OBU:
return true;
default:
return false;
}
}
/**
* 接收智慧驾驶发给adas的展示信息代替adas做界面展示
*
* @author tongchenfei
*/
private class AdasNoticeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (!isVrMode) {
return;
}
String action = intent.getAction();
if ("com.mogo.launcher.adas".equals(action)) {
// 收到限速信息
int limit = intent.getIntExtra("adas_speed_limit", -1);
if (limit > 0) {
limitSpeed = limit;
drawLimitSpeed();
}
} else {
int type = intent.getIntExtra("type", -1);
if (type == 2) {
String obuLightAction = intent.getStringExtra("action");
if ("1".equals(obuLightAction)) {
// 隐藏红绿灯
vrModeNavInfoView.hideTrafficLightStatus();
// handler.removeMessages(MSG_HIDE_TRAFFIC_LIGHT_BY_OBU);
// handler.sendEmptyMessage(MSG_HIDE_TRAFFIC_LIGHT_BY_OBU);
} else {
// 红绿灯处理
String data = intent.getStringExtra("data");
if (data != null && !data.isEmpty()) {
try {
JSONObject jsonObject = new JSONObject(data);
String lightStatus = jsonObject.optString("lightStatus");
String surplusTime = jsonObject.optString("surplusTime");
if (!lightStatus.isEmpty() && !surplusTime.isEmpty()) {
// String strArray = jsonObject.getString("lightArray");
// Logger.d(TAG, "strArray: " + strArray);
JSONArray lightJsonArray = jsonObject.getJSONArray("lightArray");
JSONArray timeJsonArray = jsonObject.getJSONArray("surplusTimeArray");
int[] lightArray = new int[4];
String[] surplusTimeArray = new String[4];
for (int i = 0; i < 4; i++) {
lightArray[i] = lightJsonArray.getInt(i);
surplusTimeArray[i] = timeJsonArray.getString(i);
}
handleObuTrafficLightInfo(lightArray, surplusTimeArray);
} else {
Logger.d(TAG, "红绿灯必要信息都为空,不做展示");
}
} catch (Exception e) {
Logger.e(TAG, e, "解析adas数据异常");
e.printStackTrace();
}
}
}
}
}
}
}
private void handleObuTrafficLightInfo(int[] lightArray,String[] surplusTimeArray) {
vrModeNavInfoView.refreshTrafficLightStatus(lightArray, surplusTimeArray);
}
@Override
public void onMsgSend(long id) {
}
@Override
public void onMsgReceived(SocketDownData.LauncherSnapshotProto mogoSnapshotSetData) {
}
}

View File

@@ -8,6 +8,7 @@ import android.util.Log;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.MogoMarkerOptions;
@@ -18,12 +19,11 @@ import com.mogo.module.extensions.live.CameraWindow3DAdapter;
import com.mogo.module.extensions.live.PushDataType;
import com.mogo.realtime.api.MoGoAiCloudRealTime;
import com.mogo.realtime.socket.IMogoCloudOnMsgListener;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.utils.logger.Logger;
/**
* vr模式下摄像头消息 AdasNoticeHelper
* vr模式下摄像头消息 CameraLiveNoticeHelper
*/
public class CameraLiveNoticeHelper implements IMogoCloudOnMsgListener {
private static final String TAG = "CameraLiveNoticeHelper";
@@ -54,7 +54,6 @@ public class CameraLiveNoticeHelper implements IMogoCloudOnMsgListener {
}
});
// loadMarker(false);
}
public void release() {
@@ -136,7 +135,7 @@ public class CameraLiveNoticeHelper implements IMogoCloudOnMsgListener {
}
}
private void renderMarker(SocketDownData.LauncherSnapshotProto obj) {
private void renderMarker(SocketDownData.LauncherSnapshotProto obj) {
if (obj != null) {
if (obj.getCamera() != null && !TextUtils.isEmpty(obj.getCamera().getRtmpUrl())) {
mCloudRoadData = obj.getCamera();
@@ -158,7 +157,8 @@ public class CameraLiveNoticeHelper implements IMogoCloudOnMsgListener {
}
} else {
mCurrentUuid = mCloudRoadData.getUuid();
if (isVrMode) { // 是否需要延迟
// 是否需要延迟
if (isVrMode) {
Log.d(TAG, "-------------4------------");
addVrCameraMarker(mCloudRoadData);
isVrModeMarker = true;

View File

@@ -16,9 +16,7 @@ import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.navi.AnimNavInfoView;
import com.mogo.module.extensions.navi.TopView;
import com.mogo.module.extensions.navi.VrModeNavInfoView;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
@@ -38,14 +36,8 @@ public class TopViewAnimHelper {
private ConstraintLayout topMotionLayout;
private TopView topContainer;
private TextView cameraMode;
private AnimNavInfoView animNavInfoView;
private VrModeNavInfoView vrModeNavInfoView;
private float topHeight = 0f;
private Handler handler = new Handler();
private TopViewAnimHelper() {
}
@@ -76,17 +68,10 @@ public class TopViewAnimHelper {
topMotionLayout = rootView;
topContainer = rootView.findViewById(R.id.module_entrance_id_top_container);
topContainer.getLayoutParams().width = (int) getDimen(R.dimen.module_ext_top_view_width);
animNavInfoView = rootView.findViewById(R.id.module_ext_id_anim_nav_info);
vrModeNavInfoView = rootView.findViewById(R.id.module_ext_id_vr_nav_info);
topContainer.setSlideListener(this::startLatestTopOutAnim);
cameraMode = rootView.findViewById(R.id.module_ext_id_north);
// 初始化默认隐藏导航
hideNaviView();
showStickView();
}
private volatile boolean isTopViewOut = true;
@@ -282,9 +267,6 @@ public class TopViewAnimHelper {
if (statusListenerMap.get(view) != null) {
statusListenerMap.get(view).beforeViewAddAnim(view);
}
if (animNavInfoView.isVisible()) {
animNavInfoView.animate().translationY(computeNaviMarginTop(params.height)).start();
}
view.animate().translationY(0).setDuration(500).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
@@ -329,13 +311,7 @@ public class TopViewAnimHelper {
NoMapTopViewShaderHelper.getInstance().showShader();
checkCameraModePosition(false);
int scene = 0;
if (animNavInfoView.isVisible()) {
scene = Scene.NAVI_WITH_ROAD_EVENT;
animNavInfoView.animate().translationY(computeNaviMarginTop(params.height)).start();
animNavInfoView.exchangeToSmall(true);
} else {
scene = Scene.AIMLESS_WITH_ROAD_EVENT;
}
scene = Scene.AIMLESS_WITH_ROAD_EVENT;
topContainer.animate().translationY(params.height).setListener(mainAnimListener).start();
Logger.d(TAG, "show top setMapCenterPointByScene: " + scene);
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
@@ -386,13 +362,7 @@ public class TopViewAnimHelper {
checkCameraModePosition(false);
int scene = 0;
if (animNavInfoView.isVisible()) {
animNavInfoView.animate().translationY(0).start();
animNavInfoView.exchangeToBig(true);
scene = Scene.NAVI;
} else {
scene = Scene.AIMLESS;
}
scene = Scene.AIMLESS;
Logger.d(TAG, "hide top setMapCenterPointByScene: " + scene);
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
MogoApisHandler.getInstance().getApis().getStatusManagerApi().setTopViewShow(ExtensionsModuleConst.TYPE_ENTRANCE, false);
@@ -405,18 +375,12 @@ public class TopViewAnimHelper {
}
Logger.d("TopViewAnimHelper", "showNaviView=====");
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
vrModeNavInfoView.startNav();
} else {
animNavInfoView.setVisibility(View.VISIBLE);
}
int scene = 0;
if (isTopViewOut) {
scene = Scene.NAVI_WITH_ROAD_EVENT;
animNavInfoView.exchangeToBig(false);
} else {
scene = Scene.NAVI;
animNavInfoView.exchangeToSmall(false);
}
Logger.d(TAG, "navi show setMapCenterPointByScene: " + scene);
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
@@ -429,9 +393,6 @@ public class TopViewAnimHelper {
}
Logger.d("TopViewAnimHelper", "hideNaviView=====");
animNavInfoView.setTranslationY(0);
animNavInfoView.setVisibility(View.GONE);
vrModeNavInfoView.stopNav();
int scene = 0;
if (isTopViewOut) {
scene = Scene.AIMLESS;
@@ -468,7 +429,7 @@ public class TopViewAnimHelper {
/**
* 用于和{@link TopViewNoLinkageAnimHelper}互斥显示
*
* <p>
* 网约车新增与网约车界面互斥
*/
public void removeAllViewExceptVrNav() {
@@ -494,30 +455,21 @@ public class TopViewAnimHelper {
public void removeAllView() {
Logger.d(TAG, "remove all view");
removeAllViewExceptVrNav();
vrModeNavInfoView.setVisibility(View.GONE);
}
public void clear() {
topMotionLayout = null;
topContainer = null;
cameraMode = null;
animNavInfoView = null;
vrModeNavInfoView = null;
}
public void enterVrMode() {
removeAllView();
topContainer.getLayoutParams().width = (int) getDimen(R.dimen.module_ext_top_view_width_in_vr_mode);
// vrModeNavInfoView.setVisibility(View.VISIBLE);
// topContainer.requestLayout();
// topMotionLayout.requestLayout();
}
public void exitVrMode() {
removeAllView();
topContainer.getLayoutParams().width = (int) getDimen(R.dimen.module_ext_top_view_width);
// topContainer.requestLayout();
// topMotionLayout.requestLayout();
}
private final Animator.AnimatorListener mainAnimListener = new Animator.AnimatorListener() {
@@ -543,10 +495,6 @@ public class TopViewAnimHelper {
topContainer.removeAllViews();
currentAnimatingView = null;
isOuting = false;
// if (motionViewCache != null) {
// startTopInAnim(motionViewCache.view, motionViewCache.params, motionViewCache.statusListener);
// motionViewCache = null;
// }
} else {
listener = statusListenerMap.get(currentAnimatingView);
if (listener != null) {

View File

@@ -1,236 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<View
android:id="@+id/module_map_id_navi_bg"
android:layout_width="match_parent"
android:layout_height="@dimen/module_ext_navi_info_panel_height"
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
android:clickable="true"
android:focusable="true"
app:layout_constraintHorizontal_bias="0.501"
app:layout_constraintLeft_toLeftOf="@id/module_entrance_id_top_container"
app:layout_constraintRight_toRightOf="@id/module_entrance_id_top_container"
app:layout_constraintTop_toTopOf="@id/module_entrance_id_top_motion_layout" />
<ImageView
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_width"
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg" />
<TextView
android:id="@+id/module_map_id_navi_next_info_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_map_id_navi_next_info_distance_marginStart"
android:layout_marginTop="@dimen/module_map_id_navi_next_info_distance_marginTop"
android:text="53"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon" />
<TextView
android:id="@+id/module_map_id_navi_next_info_distance_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
android:text="米"
android:textColor="#FFFFFF"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance" />
<TextView
android:id="@+id/module_map_id_navi_next_info_turn_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
android:textColor="#7FF1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_next_step_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit" />
<TextView
android:id="@+id/module_map_id_navi_next_info_road"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
android:layout_marginBottom="@dimen/module_map_id_navi_next_info_road_marginBottom"
android:ellipsize="end"
android:maxLines="1"
android:text="北三环东路辅路"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_next_info_distance" />
<androidx.constraintlayout.widget.Group
android:id="@+id/remainDistanceGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_remaining_distance_icon,module_map_id_remaining_distance,module_map_id_remaining_distance_unit,module_map_id_remaining_distance_notice" />
<!--remain distance-->
<TextView
android:id="@+id/module_map_id_remaining_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_627"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_distance_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_bg"
app:layout_constraintRight_toLeftOf="@+id/module_map_id_remaining_time"
app:layout_constraintTop_toTopOf="@id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/module_map_id_remaining_distance_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="km"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance" />
<ImageView
android:id="@+id/module_map_id_remaining_distance_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/module_ext_ic_navi_info1"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_remaining_distance_notice"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
app:layout_constraintRight_toLeftOf="@+id/module_map_id_remaining_distance_notice"
app:layout_constraintTop_toTopOf="@+id/module_map_id_remaining_distance_notice" />
<TextView
android:id="@+id/module_map_id_remaining_distance_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剩余"
android:textColor="#7FFFFFFF"
android:layout_marginBottom="10px"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance_icon"
app:layout_constraintRight_toRightOf="@+id/module_map_id_remaining_distance_unit"
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
<androidx.constraintlayout.widget.Group
android:id="@+id/remainTimeGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_remaining_time_icon,module_map_id_remaining_time,module_map_id_remaining_time_unit,module_map_id_remaining_time_notice" />
<!--remain time-->
<TextView
android:id="@+id/module_map_id_remaining_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_time_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
app:layout_constraintLeft_toRightOf="@+id/module_map_id_remaining_distance"
app:layout_constraintRight_toLeftOf="@+id/module_map_id_arrive_time"
app:layout_constraintTop_toTopOf="@id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/module_map_id_remaining_time_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="km"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time" />
<ImageView
android:id="@+id/module_map_id_remaining_time_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/module_ext_ic_navi_info2"
app:layout_constraintBottom_toBottomOf="@id/module_map_id_remaining_time_notice"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_notice"
app:layout_constraintTop_toTopOf="@id/module_map_id_remaining_time_notice" />
<TextView
android:id="@+id/module_map_id_remaining_time_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="时间"
android:layout_marginBottom="10px"
android:textColor="#7FFFFFFF"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time_icon"
app:layout_constraintRight_toRightOf="@id/module_map_id_remaining_time_unit"
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
<androidx.constraintlayout.widget.Group
android:id="@+id/arriveTimeGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_arrive_time_icon,module_map_id_arrive_time,module_map_id_arrive_time_notice" />
<!--arrive time-->
<TextView
android:id="@+id/module_map_id_arrive_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_76"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_arrive_time_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
app:layout_constraintLeft_toRightOf="@+id/module_map_id_remaining_time"
app:layout_constraintRight_toRightOf="@id/module_map_id_navi_bg"
app:layout_constraintTop_toTopOf="@id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<ImageView
android:id="@+id/module_map_id_arrive_time_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/module_ext_ic_navi_info3"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_arrive_time_notice"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
app:layout_constraintRight_toLeftOf="@+id/module_map_id_arrive_time_notice"
app:layout_constraintTop_toTopOf="@+id/module_map_id_arrive_time_notice" />
<TextView
android:id="@+id/module_map_id_arrive_time_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="到达"
android:textColor="#7FFFFFFF"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
android:layout_marginBottom="10px"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toRightOf="@id/module_map_id_arrive_time_icon"
app:layout_constraintRight_toRightOf="@id/module_map_id_arrive_time"
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
</merge>

View File

@@ -1,242 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
>
<View
android:id="@+id/module_map_id_navi_bg"
style="@style/NaviViewStyle"
android:layout_height="@dimen/module_ext_navi_info_panel_height"
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
android:focusable="true"
android:clickable="true"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
android:layout_marginRight="@dimen/module_common_shadow_width_pos"
android:layout_marginTop="@dimen/module_common_shadow_width_pos"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_width"
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg" />
<TextView
android:id="@+id/module_map_id_navi_next_info_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_map_id_navi_next_info_distance_marginStart"
android:layout_marginTop="@dimen/module_map_id_navi_next_info_distance_marginTop"
android:text="53"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon" />
<TextView
android:id="@+id/module_map_id_navi_next_info_distance_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
android:text="米"
android:textColor="#FFFFFF"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance" />
<TextView
android:id="@+id/module_map_id_navi_next_info_turn_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
android:textColor="#7FF1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_next_step_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit" />
<TextView
android:id="@+id/module_map_id_navi_next_info_road"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
android:layout_marginBottom="@dimen/module_map_id_navi_next_info_road_marginBottom"
android:ellipsize="end"
android:maxLines="1"
android:text="北三环东路辅路"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_next_info_distance" />
<androidx.constraintlayout.widget.Group
android:id="@+id/remainDistanceGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_remaining_distance_icon,module_map_id_remaining_distance,module_map_id_remaining_distance_unit,module_map_id_remaining_distance_notice" />
<!--remain distance-->
<ImageView
android:id="@+id/module_map_id_remaining_distance_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_117"
android:src="@drawable/module_ext_ic_navi_info1"
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_distance"
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_icon"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/module_map_id_remaining_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_distance_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance_icon"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_remaining_distance_icon" />
<TextView
android:id="@+id/module_map_id_remaining_distance_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="km"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance" />
<TextView
android:id="@+id/module_map_id_remaining_distance_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剩余"
android:textColor="#7FFFFFFF"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
<androidx.constraintlayout.widget.Group
android:id="@+id/remainTimeGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_remaining_time_icon,module_map_id_remaining_time,module_map_id_remaining_time_unit,module_map_id_remaining_time_notice" />
<!--remain time-->
<ImageView
android:id="@+id/module_map_id_remaining_time_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_117"
android:src="@drawable/module_ext_ic_navi_info2"
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time"
app:layout_constraintRight_toLeftOf="@id/module_map_id_arrive_time_icon"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/module_map_id_remaining_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_time_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time_icon"
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time_icon" />
<TextView
android:id="@+id/module_map_id_remaining_time_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="km"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time" />
<TextView
android:id="@+id/module_map_id_remaining_time_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="时间"
android:textColor="#7FFFFFFF"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
<androidx.constraintlayout.widget.Group
android:id="@+id/arriveTimeGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="module_map_id_arrive_time_icon,module_map_id_arrive_time,module_map_id_arrive_time_notice" />
<!--arrive time-->
<ImageView
android:id="@+id/module_map_id_arrive_time_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/module_ext_navi_extra_info_margin_right"
android:src="@drawable/module_ext_ic_navi_info3"
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time"
app:layout_constraintRight_toRightOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/module_map_id_arrive_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3599"
android:textColor="#F1F1F1"
android:textSize="@dimen/module_ext_arrive_time_textSize"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time_icon"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_arrive_time_icon" />
<TextView
android:id="@+id/module_map_id_arrive_time_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="到达"
android:textColor="#7FFFFFFF"
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
<TextView
android:id="@+id/module_ext_id_destination_online_car"
android:layout_width="wrap_content"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
android:drawableLeft="@drawable/module_ext_destination_online_car_dw"
android:drawablePadding="@dimen/module_ext_destination_online_car_drawablePadding"
android:gravity="center_vertical"
android:paddingLeft="@dimen/module_ext_destination_online_car_paddingLeft"
android:paddingRight="@dimen/module_ext_destination_online_car_paddingRight"
android:text="@string/module_ext_destination_online_car_text"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
tools:visibility="visible" />
</merge>

View File

@@ -23,7 +23,6 @@
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
android:scaleType="fitCenter"
android:src="@drawable/ic_11"
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg" />

View File

@@ -16,15 +16,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.mogo.module.extensions.navi.VrModeNavInfoView
android:id="@+id/module_ext_id_vr_nav_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/module_entrance_id_move2_current_location"
android:layout_width="@dimen/module_ext_operation_panel_width"
@@ -33,7 +24,8 @@
android:scaleType="centerInside"
android:src="@drawable/module_map_ic_move2_current_location"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintRight_toRightOf="parent"
tools:ignore="SpeakableTextPresentCheck" />
<LinearLayout
android:id="@+id/module_entrance_id_buttons_container"
@@ -131,14 +123,6 @@
android:background="#7f000000"
android:visibility="gone" />
<com.mogo.module.extensions.navi.AnimNavInfoView
android:id="@+id/module_ext_id_anim_nav_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/module_ext_id_north"
android:layout_width="@dimen/module_ext_button_width"