implements Weathe
if (userInfo != null) {
mView.renderUserInfo(userInfo);
}
- if(ExtensionsConfig.needRequestUserInfo()){
+ if( DebugConfig.isNeedRequestUserInfo()){
// 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改
requestUserInfo();
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java
index b3bbc3bed7..ef10d199d4 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java
@@ -12,7 +12,7 @@ import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.navi.IMogoNaviListener;
-import com.mogo.module.extensions.ExtensionsModuleConst;
+import com.mogo.module.common.MogoModulePaths;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.module.ModuleType;
@@ -23,7 +23,7 @@ import com.mogo.service.module.ModuleType;
*
* 描述
*/
-@Route( path = ExtensionsModuleConst.PATH_ENTRANCE )
+@Route( path = MogoModulePaths.PATH_ENTRANCE )
public class EntranceProvider implements IMogoModuleProvider {
EntranceFragment mFragment;
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/ExtensionsConfig.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/ExtensionsConfig.java
deleted file mode 100644
index 5a30481123..0000000000
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/ExtensionsConfig.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mogo.module.extensions.utils;
-
-/**
- * 个性化config
- *
- * @author tongchenfei
- */
-public class ExtensionsConfig {
- public static final String NEED_REQUEST_USER_INFO = "NEED_REQUEST_USER_INFO";
-
- private static boolean needRequestUserInfo = false;
-
- public static boolean needRequestUserInfo() {
- return needRequestUserInfo;
- }
-
- public static void setNeedRequestUserInfo(boolean needRequestUserInfo) {
- ExtensionsConfig.needRequestUserInfo = needRequestUserInfo;
- }
-}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/NoMapTopViewShaderHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/NoMapTopViewShaderHelper.java
new file mode 100644
index 0000000000..cc07fa5fae
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/NoMapTopViewShaderHelper.java
@@ -0,0 +1,62 @@
+package com.mogo.module.extensions.utils;
+
+import android.view.View;
+
+import com.mogo.commons.debug.DebugConfig;
+import com.mogo.utils.logger.Logger;
+
+/**
+ *
+ */
+public class NoMapTopViewShaderHelper {
+ private static final String TAG = "NoMapTopViewShaderHelper";
+ private static final NoMapTopViewShaderHelper ourInstance = new NoMapTopViewShaderHelper();
+
+ public static NoMapTopViewShaderHelper getInstance() {
+ return ourInstance;
+ }
+
+ private NoMapTopViewShaderHelper() {
+ }
+
+ private View shader;
+ private int showCount = 0;
+
+ public void initShaderView(View shader) {
+ this.shader = shader;
+ }
+
+ public void showShader(){
+ if (this.shader == null) {
+ Logger.e(TAG, "shader view is null!");
+ return;
+ }
+ if (DebugConfig.isMapBased()) {
+ Logger.d(TAG, "基于地图版本不加shader");
+ return;
+ }
+ if (showCount == 0) {
+ shader.setVisibility(View.VISIBLE);
+ }
+ showCount++;
+ }
+
+ public void hideShader(){
+ if (this.shader == null) {
+ Logger.e(TAG, "shader view is null!");
+ return;
+ }
+ if (DebugConfig.isMapBased()) {
+ Logger.d(TAG, "基于地图版本不加shader");
+ return;
+ }
+ if (showCount == 1) {
+ shader.setVisibility(View.GONE);
+ }
+ showCount--;
+ }
+
+ public void release(){
+ shader = null;
+ }
+}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
index 69768084e3..98c10fe03c 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
@@ -17,6 +17,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
+import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
@@ -51,6 +52,8 @@ public class TopViewAnimHelper {
private TextView tvTurnInfo;
private TopView topContainer;
+ private TextView tvDestinationOnlineCar;
+
private ConstraintSet constraintSet;
private Transition transition;
private TextView cameraMode;
@@ -98,6 +101,7 @@ public class TopViewAnimHelper {
topContainer = rootView.findViewById(R.id.module_entrance_id_top_container);
tvNextDistanceUnit = rootView.findViewById(R.id.module_map_id_navi_next_info_distance_unit);
tvTurnInfo = rootView.findViewById(R.id.module_map_id_navi_next_info_turn_info);
+ tvDestinationOnlineCar = rootView.findViewById(R.id.module_ext_id_destination_online_car);
topContainer.setSlideListener(this::startLatestTopOutAnim);
@@ -374,6 +378,8 @@ public class TopViewAnimHelper {
arriveTimeGroup.setVisibility(View.GONE);
}
+ NoMapTopViewShaderHelper.getInstance().showShader();
+
constraintSet.clone(topMotionLayout);
constraintSet.clear(R.id.module_entrance_id_top_container,
@@ -417,6 +423,16 @@ public class TopViewAnimHelper {
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
+ // 改变目的地车友的约束
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.LEFT);
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.TOP);
+ constraintSet.connect(tvDestinationOnlineCar.getId(),
+ ConstraintSet.BOTTOM, naviBg.getId(), ConstraintSet.BOTTOM,
+ (int) getDimen(R.dimen.module_ext_navi_small_margin_bottom));
+
+ constraintSet.connect(tvDestinationOnlineCar.getId(),
+ ConstraintSet.RIGHT, naviBg.getId(), ConstraintSet.RIGHT,
+ (int) getDimen(R.dimen.module_ext_navi_small_margin_right));
}
constraintSet.applyTo(topMotionLayout);
ivTurnIcon.getLayoutParams().height =
@@ -425,6 +441,10 @@ public class TopViewAnimHelper {
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_width);
naviBg.getLayoutParams().height =
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.module_ext_navi_info_panel_small_height);
+
+ tvDestinationOnlineCar.getLayoutParams().height =
+ (int) getDimen(R.dimen.module_ext_button_height_small);
+ tvDestinationOnlineCar.setBackgroundResource(R.drawable.module_ext_dw_navi_info_panel_small_bkg);
int scene = 0;
if (naviBg.getVisibility() == View.VISIBLE) {
scene = Scene.NAVI_WITH_ROAD_EVENT;
@@ -473,8 +493,10 @@ public class TopViewAnimHelper {
arriveTimeGroup.setVisibility(View.VISIBLE);
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
-
}
+
+ NoMapTopViewShaderHelper.getInstance().hideShader();
+
constraintSet.clone(topMotionLayout);
constraintSet.clear(R.id.module_entrance_id_top_container, ConstraintSet.TOP);
@@ -504,6 +526,14 @@ public class TopViewAnimHelper {
ConstraintSet.TOP, 0);
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.BOTTOM,
naviBg.getId(), ConstraintSet.BOTTOM, 0);
+
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.RIGHT);
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.BOTTOM);
+ constraintSet.connect(tvDestinationOnlineCar.getId(), ConstraintSet.LEFT,
+ naviBg.getId(), ConstraintSet.LEFT);
+ constraintSet.connect(tvDestinationOnlineCar.getId(), ConstraintSet.TOP,
+ naviBg.getId(), ConstraintSet.BOTTOM,
+ (int) getDimen(R.dimen.module_ext_camera_button_marginTop));
}
constraintSet.applyTo(topMotionLayout);
@@ -513,6 +543,10 @@ public class TopViewAnimHelper {
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_width);
naviBg.getLayoutParams().height =
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.module_ext_navi_info_panel_height);
+
+ tvDestinationOnlineCar.getLayoutParams().height =
+ (int) getDimen(R.dimen.module_ext_button_height);
+ tvDestinationOnlineCar.setBackgroundResource(R.drawable.module_ext_dw_navi_info_panel_bkg);
int scene = 0;
if (naviBg.getVisibility() == View.VISIBLE) {
scene = Scene.NAVI;
@@ -541,6 +575,10 @@ public class TopViewAnimHelper {
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize));
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize));
+ tvDestinationOnlineCar.getLayoutParams().height =
+ (int) getDimen(R.dimen.module_ext_button_height);
+ tvDestinationOnlineCar.setBackgroundResource(R.drawable.module_ext_dw_navi_info_panel_bkg);
+
// 调整约束
constraintSet.clone(topMotionLayout);
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
@@ -567,6 +605,16 @@ public class TopViewAnimHelper {
ConstraintSet.TOP, 0);
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.BOTTOM,
naviBg.getId(), ConstraintSet.BOTTOM, 0);
+
+ // 目的地车友
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.RIGHT);
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.BOTTOM);
+ constraintSet.connect(tvDestinationOnlineCar.getId(), ConstraintSet.LEFT,
+ naviBg.getId(), ConstraintSet.LEFT);
+ constraintSet.connect(tvDestinationOnlineCar.getId(), ConstraintSet.TOP,
+ naviBg.getId(), ConstraintSet.BOTTOM,
+ (int) getDimen(R.dimen.module_ext_camera_button_marginTop));
+
constraintSet.applyTo(topMotionLayout);
scene = Scene.NAVI_WITH_ROAD_EVENT;
} else {
@@ -575,6 +623,10 @@ public class TopViewAnimHelper {
arriveTimeGroup.setVisibility(View.GONE);
tvNextDistance.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_textSize_small));
tvNextDistanceUnit.setTextSize(TypedValue.COMPLEX_UNIT_PX,getDimen(R.dimen.module_ext_navi_info_panel_next_info_distance_unit_textSize_small));
+
+ tvDestinationOnlineCar.getLayoutParams().height =
+ (int) getDimen(R.dimen.module_ext_button_height_small);
+ tvDestinationOnlineCar.setBackgroundResource(R.drawable.module_ext_dw_navi_info_panel_small_bkg);
// 调整约束
constraintSet.clone(topMotionLayout);
constraintSet.connect(tvNextDistance.getId(), ConstraintSet.BOTTOM,
@@ -596,6 +648,17 @@ public class TopViewAnimHelper {
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.BOTTOM,
naviBg.getId(), ConstraintSet.BOTTOM,
(int) getDimen(R.dimen.module_ext_navi_info_turn_icon_margin_bottom));
+
+ // 目的地车友
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.LEFT);
+ constraintSet.clear(tvDestinationOnlineCar.getId(),ConstraintSet.TOP);
+ constraintSet.connect(tvDestinationOnlineCar.getId(),
+ ConstraintSet.BOTTOM, naviBg.getId(), ConstraintSet.BOTTOM,
+ (int) getDimen(R.dimen.module_ext_navi_small_margin_bottom));
+ constraintSet.connect(tvDestinationOnlineCar.getId(),
+ ConstraintSet.RIGHT, naviBg.getId(), ConstraintSet.RIGHT,
+ (int) getDimen(R.dimen.module_ext_navi_small_margin_right));
+
constraintSet.applyTo(topMotionLayout);
scene = Scene.NAVI;
}
@@ -680,6 +743,9 @@ public class TopViewAnimHelper {
naviBg.setVisibility(visibility);
tvNextDistanceUnit.setVisibility(visibility);
tvTurnInfo.setVisibility(visibility);
+ if(DebugConfig.isSupportedSearchDestinationOnlineCarList()) {
+ tvDestinationOnlineCar.setVisibility(visibility);
+ }
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewNoLinkageAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewNoLinkageAnimHelper.java
index ce48c7d1e7..8ab39f0e00 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewNoLinkageAnimHelper.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewNoLinkageAnimHelper.java
@@ -15,6 +15,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
+import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
@@ -362,6 +363,9 @@ public class TopViewNoLinkageAnimHelper {
}
topContainerNoLinkage.setChildAddedListener(child -> {
topContainerNoLinkage.setChildAddedListener(null);
+
+ NoMapTopViewShaderHelper.getInstance().showShader();
+
constraintSet.clone(topMotionLayout);
constraintSet.clear(R.id.module_entrance_id_top_container_no_linkage,
@@ -370,7 +374,6 @@ public class TopViewNoLinkageAnimHelper {
R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP);
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
checkCameraModePosition(false);
-
constraintSet.applyTo(topMotionLayout);
int scene = Scene.AIMLESS_WITH_ROAD_EVENT;
@@ -405,6 +408,7 @@ public class TopViewNoLinkageAnimHelper {
statusListenerMap.get(view).beforeViewRemoveAnim(view);
}
isTopViewOut = true;
+ NoMapTopViewShaderHelper.getInstance().hideShader();
constraintSet.clone(topMotionLayout);
constraintSet.clear(R.id.module_entrance_id_top_container_no_linkage, ConstraintSet.TOP);
diff --git a/modules/mogo-module-v2x/src/main/res/drawable-ldpi/module_v2x_shadow_bkg.9.png b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/v2x_cancel_help.9.png
similarity index 100%
rename from modules/mogo-module-v2x/src/main/res/drawable-ldpi/module_v2x_shadow_bkg.9.png
rename to modules/mogo-module-extensions/src/main/res/drawable-mdpi/v2x_cancel_help.9.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/v2x_cancel_help.9.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/v2x_cancel_help.9.png
new file mode 100644
index 0000000000..afdc5519bf
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/v2x_cancel_help.9.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_small_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_small_bkg.xml
new file mode 100644
index 0000000000..a438f2fa4f
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_small_bkg.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_frame_anim_voice.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_frame_anim_voice.xml
deleted file mode 100644
index f4844fcff0..0000000000
--- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_frame_anim_voice.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
index 434ab6b7c4..9ae44711a1 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
@@ -9,18 +9,120 @@
+ android:layout_height="wrap_content" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_height="wrap_content" />
-
-
@@ -119,99 +219,6 @@
android:textStyle="bold" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+