移除废弃的功能集合

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-01-18 20:21:53 +08:00
parent 2513a56bec
commit 2d5daf757f
17 changed files with 9 additions and 862 deletions

View File

@@ -50,21 +50,18 @@ import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.dialog.WMDialog;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.module.common.map.MapCenterPointStrategy;
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.utils.CameraLiveNoticeHelper;
import com.mogo.module.extensions.utils.EntranceViewHolder;
import com.mogo.module.extensions.utils.NoMapTopViewShaderHelper;
import com.mogo.module.extensions.utils.TopViewAnimHelper;
import com.mogo.module.extensions.utils.TopViewNoLinkageAnimHelper;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.service.entrance.ButtonIndex;
import com.mogo.service.fragmentmanager.IFragmentProvider;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.intent.IMogoIntentListener;
@@ -93,14 +90,8 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private static final String TAG = "EntranceFragment";
private View mUploadRoadCondition;
private TextView mUpload;
private ImageView mUploading;
private ImageButton mMove2CurrentLocation;
private TextView mExitNavi;
private View mDisplayOverview;
private TextView mDisplayOverviewText;
@@ -139,7 +130,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private Rect mDisplayOverviewBounds;
private TextView tvEnterVrMode;
private TextView tvExitVrMode;
@@ -187,7 +177,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mEntrancePresenter = new EntrancePresenter(getContext(), this);
mMogoFragmentManager = mApis.getFragmentManagerApi();
EntranceViewHolder.getInstance().initRootViewGroup(mRootView);
mStatusManager = mApis.getStatusManagerApi();
@@ -196,10 +185,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
NoMapTopViewShaderHelper.getInstance().initShaderView(findViewById(R.id.module_ext_id_top_container_shader));
mUploadRoadCondition = findViewById(R.id.module_entrance_id_upload_road_condition);
mUpload = findViewById(R.id.module_entrance_id_upload);
mUploading = findViewById(R.id.module_entrance_id_uploading);
mUploadRoadCondition.setOnClickListener(clickListener);
mDisplayOverview = findViewById(R.id.module_ext_id_display_overview);
mDisplayOverviewText = findViewById(R.id.module_ext_id_display_overview_text);
mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location);
@@ -211,11 +196,8 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
TopViewNoLinkageAnimHelper.getInstance().init(rootView);
}
mExitNavi = findViewById(R.id.module_entrance_id_exit_navi);
mCameraMode = findViewById(R.id.module_ext_id_north);
mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, this);
MogoEntranceButtons.save(ButtonIndex.BUTTON1, findViewById(R.id.module_entrance_id_button1));
MogoEntranceButtons.save(ButtonIndex.BUTTON2, findViewById(R.id.module_entrance_id_button2));
mDisplayOverviewBounds = new Rect(
ResourcesHelper.getDimensionPixelSize(getContext(),
R.dimen.module_map_display_overview_left_margin),
@@ -232,17 +214,12 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mWeatherTemp = findViewById(R.id.module_ext_id_weather_temp);
mMsgContainer = findViewById(R.id.module_ext_id_msg);
mMsgCounter = findViewById(R.id.module_ext_id_msg_counter);
mUploadButtonAnimatorController = new UploadButtonAnimatorController(mUploading, mUpload,
mStatusManager);
tvEnterVrMode = findViewById(R.id.module_ext_enter_vr_mode);
tvExitVrMode = findViewById(R.id.module_ext_exit_vr_mode);
tvEnterVrMode.setOnClickListener(clickListener);
tvExitVrMode.setOnClickListener(clickListener);
mMsgContainer.setOnClickListener(clickListener);
mMove2CurrentLocation.setOnClickListener(clickListener);
mDisplayOverview.setOnClickListener(clickListener);
mExitNavi.setOnClickListener(clickListener);
mCameraMode.setOnClickListener(clickListener);
@@ -269,9 +246,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private Group groupFix;
private void enterVrMode() {
tvEnterVrMode.setVisibility(View.GONE);
mMove2CurrentLocation.setVisibility(View.GONE);
mUploadRoadCondition.setVisibility(View.GONE);
mWeatherContainer.setVisibility(View.GONE);
mMsgContainer.setVisibility(View.GONE);
// tvExitVrMode.setVisibility(View.VISIBLE);
@@ -282,10 +257,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
private void exitVrMode() {
EntranceViewHolder.getInstance().forceHideNoticeView();
tvEnterVrMode.setVisibility(View.VISIBLE);
mMove2CurrentLocation.setVisibility(View.VISIBLE);
mUploadRoadCondition.setVisibility(View.VISIBLE);
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isSeekHelping()) {
seekHelpGroup.setVisibility(View.VISIBLE);
}
@@ -298,12 +270,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
private void debugCrashWarn() {
mUploadRoadCondition.setOnLongClickListener(v -> {
mApis.getAdasControllerApi().closeADAS();
return true;
});
if (!DebugConfig.isMapBased()) {
// 不基于地图的版本需要隐藏一些按钮
mMove2CurrentLocation.setVisibility(View.GONE);
@@ -386,13 +352,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
}
public void showShareDialog() {
isClickShare = true;
mApis.getShareManager().showShareDialog();
traceData("1");
}
private static final String AUTONAVI_STANDARD_BROADCAST_RECV =
"AUTONAVI_STANDARD_BROADCAST_RECV";
@@ -453,7 +412,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
TopViewNoLinkageAnimHelper.getInstance().removeAllView();
TopViewNoLinkageAnimHelper.getInstance().clear();
NoMapTopViewShaderHelper.getInstance().release();
EntranceViewHolder.getInstance().release();
mCameraLiveNoticeHelper.release();
}
@@ -499,9 +457,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
if (CustomNaviInterrupter.getInstance().interrupt()) {
mDisplayOverview.setVisibility(View.GONE);
mCameraMode.setVisibility(View.GONE);
mExitNavi.setVisibility(View.GONE);
} else {
mExitNavi.setVisibility(View.VISIBLE);
mDisplayOverview.setVisibility(View.VISIBLE);
mCameraMode.setVisibility(View.VISIBLE);
}
@@ -514,7 +470,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
return;
}
TopViewAnimHelper.getInstance().hideNaviView();
mExitNavi.setVisibility(View.GONE);
mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
mDisplayOverview.setVisibility(View.GONE);
mCameraMode.setVisibility(View.GONE);
@@ -529,22 +484,11 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
public void onLockMap(boolean isLock) {
mIsLock = isLock;
if (isLock) {
mExitNavi.setText(R.string.module_ext_str_exit_navi);
if (mStatusManager.isDisplayOverview()) {
mStatusManager.setDisplayOverview(TAG, false);
}
} else {
mExitNavi.setText(R.string.module_ext_str_continue_navi);
}
// if ( isLock ) {
// if ( mMApUIController.getCurrentUiMode() == EnumMapUI.CarUp_2D ) {
// mMove2CurrentLocation.setImageResource( R.drawable.icon_north_up );
// } else {
// mMove2CurrentLocation.setImageResource( R.drawable.icon_car_up );
// }
// } else {
// mMove2CurrentLocation.setImageResource( R.drawable.module_map_ic_move2_current_location );
// }
}
private void traceData(String from) {
@@ -556,19 +500,11 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
Logger.d(TAG, "descriptor=" + descriptor + " isTrue=" + isTrue);
if (mUploadRoadCondition == null) {
return;
}
if (descriptor == StatusDescriptor.UPLOADING && DebugConfig.isLauncher()) {
if (isTrue) {
mUploading.setVisibility(View.VISIBLE);
mUpload.setVisibility(View.GONE);
mUploadButtonAnimatorController.doFrameAnimOnUploadButton();
} else {
mUploadButtonAnimatorController.stopAnimation();
mUploading.setVisibility(View.GONE);
mUpload.setVisibility(View.VISIBLE);
}
} else if (descriptor == StatusDescriptor.DISPLAY_OVERVIEW) {
if (!mMogoNavi.isNaviing()) {
@@ -707,8 +643,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
mApis.getSocketManagerApi(getContext()).unregisterOnMessageListener(SEEK_HELP_NOTICE_NUM_MSG_TYPE, seekHelpNoticeListener);
}
MogoEntranceButtons.clear();
}
private Group debugPanelGroup;
@@ -775,11 +709,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private final OnPreventFastClickListener clickListener = new OnPreventFastClickListener() {
@Override
public void onClickImpl(View v) {
if (v.getId() == R.id.module_entrance_id_upload_road_condition) {
// 分享按钮点击
showShareDialog();
playShareGuideVoice();
} else if (v.getId() == R.id.module_ext_id_display_overview) {
if (v.getId() == R.id.module_ext_id_display_overview) {
// 全览按钮点击
if (getContext() != null) {
// 加此判断是解决下面setDisplayOverview后本Fragment回调中出现not attached to a context问题
@@ -807,27 +737,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
} else {
mMApUIController.recoverLockMode();
}
} else if (v.getId() == R.id.module_entrance_id_exit_navi) {
// 退出导航
if (mMogoNavi != null) {
if (mIsLock) {
new WMDialog.Builder(getContext())
.setOkButton(R.string.module_commons_button_ok, (dlg, which) -> {
dlg.dismiss();
mMogoNavi.stopNavi();
})
.setCancelButton(R.string.module_commons_button_cancel,
(dlg, which) -> {
dlg.dismiss();
})
.setContent(R.string.module_commons_exit_navi_content)
.build()
.show();
} else {
MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.NAVI);
mMApUIController.recoverLockMode();
}
}
} else if (v.getId() == R.id.module_ext_id_north) {
// 车头朝上 正北朝上
if (mCameraMode.isSelected()) {
@@ -845,9 +754,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
} catch (Exception e) {
e.printStackTrace();
}
} else if (v.getId() == R.id.module_ext_enter_vr_mode) {
// 进入vr模式
mMApUIController.changeMapMode(EnumMapUI.Type_VR);
} else if (v.getId() == R.id.module_ext_exit_vr_mode) {
// 退出vr模式
mMApUIController.changeMapMode(EnumMapUI.CarUp_2D);

View File

@@ -1,62 +0,0 @@
package com.mogo.module.extensions.entrance;
import android.content.Context;
import android.view.View;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.module.extensions.utils.EntranceViewHolder;
import com.mogo.service.entrance.ButtonIndex;
import com.mogo.service.entrance.IMogoEntranceButtonController;
/**
* @author congtaowang
* @since 2020-04-16
* <p>
* 描述
*/
@Route(path = MogoServicePaths.PATH_ENTRANCE_BUTTON_API)
public class MogoEntranceButtonControllerImpl implements IMogoEntranceButtonController {
@Override
public TextView getButton(ButtonIndex index) {
return MogoEntranceButtons.getButton(index);
}
@Override
public void addBottomLayerView(View view, int x, int y) {
EntranceViewHolder.getInstance().addBottomLayerView(view, x, y);
}
@Override
public void removeBottomLayerView(View view) {
EntranceViewHolder.getInstance().removeBottomLayerView(view);
}
@Override
public void showLeftNoticeByType(int noticeType, int iconRes, String content) {
EntranceViewHolder.getInstance().showLeftNoticeByType(noticeType, iconRes, content);
}
@Override
public void hideLeftNoticeByType(int noticeType) {
EntranceViewHolder.getInstance().hideLeftNoticeByType(noticeType);
}
@Override
public void init(Context context) {
}
@Override
public void addLeftFeatureView(View view) {
EntranceViewHolder.getInstance().addLeftFeatureView(view);
}
@Override
public void removeLeftFeatureView(View view) {
EntranceViewHolder.getInstance().removeLeftFeatureView(view);
}
}

View File

@@ -1,31 +0,0 @@
package com.mogo.module.extensions.entrance;
import android.widget.TextView;
import com.mogo.service.entrance.ButtonIndex;
import java.util.HashMap;
import java.util.Map;
/**
* @author congtaowang
* @since 2020-04-16
* <p>
* 描述
*/
public class MogoEntranceButtons {
private static final Map< ButtonIndex, TextView > sButtons = new HashMap<>();
public static void save( ButtonIndex index, TextView btn ) {
sButtons.put( index, btn );
}
public static TextView getButton( ButtonIndex index ) {
return sButtons.get( index );
}
public static void clear() {
sButtons.clear();
}
}

View File

@@ -1,287 +0,0 @@
package com.mogo.module.extensions.utils;
import static com.mogo.service.entrance.IMogoEntranceButtonController.NOTICE_TYPE_SEEK_HELP;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.bean.BottomLayerViewWrapper;
import com.mogo.service.windowview.IMogoEntranceViewListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 入口页view管理
*
* @author tongchenfei
*/
public class EntranceViewHolder {
private static final String TAG = "EntranceViewHolder";
private EntranceViewHolder() {
}
private volatile static EntranceViewHolder instance = null;
public static EntranceViewHolder getInstance() {
if (instance == null) {
synchronized (EntranceViewHolder.class) {
if (instance == null) {
instance = new EntranceViewHolder();
}
}
}
return instance;
}
private final List<BottomLayerViewWrapper> preAddView = new ArrayList<>();
private final List<View> leftFeaturePreAddView = new ArrayList<>();
private View preAddLeftNoticeView = null;
private ViewGroup rootViewGroup = null;
private ViewGroup featureViewGroup = null;
private ViewGroup leftNoticeContainer = null;
public void initRootViewGroup(View rootView) {
Logger.i(TAG, "initRootViewGroup==");
if (rootView instanceof ViewGroup) {
Logger.d(TAG, "initRootViewGroup 赋值");
rootViewGroup = (ViewGroup) rootView.getParent();
leftNoticeContainer =
rootView.findViewById(R.id.module_ext_vr_mode_left_notice_container);
featureViewGroup = rootView.findViewById(R.id.module_entrance_id_buttons_container);
if (!preAddView.isEmpty()) {
Logger.d(TAG, "initRootViewGroup 增加底层view: " + preAddView.size());
Iterator<BottomLayerViewWrapper> iterator = preAddView.iterator();
while (iterator.hasNext()) {
BottomLayerViewWrapper wrapper = iterator.next();
realAddView(wrapper);
iterator.remove();
}
}
if (!leftFeaturePreAddView.isEmpty()) {
Logger.d(TAG, "initRootViewGroup 增加左下角FeatureView " + leftFeaturePreAddView.size());
for (View view : leftFeaturePreAddView) {
featureViewGroup.addView(view);
}
}
if (preAddLeftNoticeView != null) {
realShowLeftNoticeView(preAddLeftNoticeView);
}
}
}
public void addBottomLayerView(View view) {
Logger.d(TAG, "addBottomLayerView, rootViewGroup is null: " + (rootViewGroup == null));
addBottomLayerView(view, 0, 0);
}
public void addBottomLayerView(View view, int x, int y) {
Logger.d(TAG, "addBottomLayerView, rootViewGroup is null: " + (rootViewGroup == null) +
"\n x: " + x + ", y: " + y);
BottomLayerViewWrapper wrapper = new BottomLayerViewWrapper(view, x, y);
if (rootViewGroup == null) {
if (!preAddView.contains(wrapper)) {
preAddView.add(wrapper);
}
} else {
if (!containView(view)) {
realAddView(wrapper);
}
}
}
private boolean containView(View view) {
int count = rootViewGroup.getChildCount();
for (int i = 0; i < count; i++) {
if (rootViewGroup.getChildAt(i).equals(view)) {
return true;
}
}
return false;
}
private boolean containFeatureView(View view) {
int count = featureViewGroup.getChildCount();
for (int i = 0; i < count; i++) {
if (featureViewGroup.getChildAt(i).equals(view)) {
return true;
}
}
return false;
}
/**
* 使用的时候需要预先判断rootViewGroup是否为空本方法默认rootViewGroup不为空
*/
private void realAddView(BottomLayerViewWrapper wrapper) {
FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
params.topMargin = wrapper.getY();
params.leftMargin = wrapper.getX();
View v = wrapper.getView();
v.setLayoutParams(params);
rootViewGroup.addView(v, 0);
// rootViewGroup.setBackgroundColor(Color.WHITE);
}
public void removeBottomLayerView(View view) {
if (rootViewGroup != null) {
rootViewGroup.removeView(view);
}
Iterator<BottomLayerViewWrapper> iterator = preAddView.iterator();
while (iterator.hasNext()) {
BottomLayerViewWrapper wrapper = iterator.next();
if (wrapper.getView().equals(view)) {
iterator.remove();
}
}
}
public void addLeftFeatureView(View view) {
Logger.d(TAG, "addLeftFeatureView==" + view);
if (featureViewGroup == null) {
// 先缓存起来,等待时机加载
if (!leftFeaturePreAddView.contains(view)) {
leftFeaturePreAddView.add(view);
}
} else {
// 直接加载
if (!containFeatureView(view)) {
featureViewGroup.addView(view);
}
}
}
public void removeLeftFeatureView(View view) {
if (featureViewGroup != null) {
featureViewGroup.removeView(view);
}
Iterator<View> iterator = leftFeaturePreAddView.iterator();
while (iterator.hasNext()) {
View wrapper = iterator.next();
if (wrapper.equals(view)) {
iterator.remove();
}
}
}
public void showLeftNoticeView(View view) {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
if (leftNoticeContainer != null) {
realShowLeftNoticeView(view);
} else {
preAddLeftNoticeView = view;
}
}
}
public void hideLeftNoticeView(View view) {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
if (preAddLeftNoticeView != null && preAddLeftNoticeView == view) {
preAddLeftNoticeView = null;
}
if (leftNoticeContainer != null) {
realHideLeftNoticeView(view);
}
}
}
public void forceHideNoticeView() {
for (IMogoEntranceViewListener listener : listeners) {
listener.onViewRemoved(currentShowNoticeType);
}
preAddLeftNoticeView = null;
currentShowNoticeType = 0;
if (leftNoticeContainer != null) {
leftNoticeContainer.removeAllViews();
}
}
private int currentShowNoticeType = 0;
public void showLeftNoticeByType(int noticeType, int iconRes, String content) {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
if (currentShowNoticeType != noticeType && currentShowNoticeType != 0) {
for (IMogoEntranceViewListener listener : listeners) {
listener.onViewRemoved(currentShowNoticeType);
}
}
currentShowNoticeType = noticeType;
if (leftNoticeContainer != null) {
realShowLeftNoticeView(generateNoticeViewByType(noticeType, iconRes, content));
} else {
preAddLeftNoticeView = generateNoticeViewByType(noticeType, iconRes, content);
}
}
}
public void hideLeftNoticeByType(int noticeType) {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
if (currentShowNoticeType == noticeType) {
forceHideNoticeView();
}
}
}
private View generateNoticeViewByType(int noticeType, int iconRes, String content) {
View view =
LayoutInflater.from(leftNoticeContainer.getContext()).inflate(R.layout.item_vr_left_notice, leftNoticeContainer, false);
ImageView icon = view.findViewById(R.id.module_ext_iv_left_notice_icon);
if (noticeType == NOTICE_TYPE_SEEK_HELP) {
// 自车求助,是橘色的背景
icon.setBackgroundResource(R.drawable.module_ext_left_notice_icon_orange_bg);
} else {
// 其他是红色背景
icon.setBackgroundResource(R.drawable.module_ext_left_notice_icon_red_bg);
}
icon.setImageResource(iconRes);
TextView tvContent = view.findViewById(R.id.module_ext_tv_left_notice_content);
tvContent.setText(content);
return view;
}
private void realShowLeftNoticeView(View view) {
leftNoticeContainer.setVisibility(View.VISIBLE);
leftNoticeContainer.removeAllViews();
leftNoticeContainer.addView(view);
preAddLeftNoticeView = null;
for (IMogoEntranceViewListener listener : listeners) {
listener.onViewAdded(currentShowNoticeType);
}
}
private void realHideLeftNoticeView(View view) {
leftNoticeContainer.removeView(view);
leftNoticeContainer.setVisibility(View.GONE);
}
private final List<IMogoEntranceViewListener> listeners = new ArrayList<>();
public void addEntranceViewListener(IMogoEntranceViewListener listener) {
listeners.add(listener);
}
public void removeEntranceViewListener(IMogoEntranceViewListener listener) {
listeners.remove(listener);
}
public void release() {
rootViewGroup = null;
featureViewGroup = null;
leftNoticeContainer = null;
}
}