diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 0472822c92..51e3721352 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -47,6 +47,7 @@ import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.extensions.R; import com.mogo.module.extensions.navi.NaviInfoView; import com.mogo.module.extensions.userinfo.UserInfo; +import com.mogo.module.extensions.utils.AdasNoticeHelper; import com.mogo.module.extensions.utils.EntranceViewHolder; import com.mogo.module.extensions.utils.TopViewAnimHelper; import com.mogo.module.share.manager.ServiceApisManager; @@ -189,6 +190,8 @@ public class EntranceFragment extends MvpFragment preAddView = new ArrayList<>(); + + private View preAddLeftNoticeView = null; + private EntranceViewHolder(){} private volatile static EntranceViewHolder instance = null; public static EntranceViewHolder getInstance(){ @@ -32,11 +36,15 @@ public class EntranceViewHolder { return instance; } private ViewGroup rootViewGroup = 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); if (!preAddView.isEmpty()) { Logger.d(TAG, "initRootViewGroup 增加底层view: " + preAddView.size()); Iterator iterator = preAddView.iterator(); @@ -46,6 +54,9 @@ public class EntranceViewHolder { iterator.remove(); } } + if (preAddLeftNoticeView != null) { + realShowLeftNoticeView(preAddLeftNoticeView); + } } } @@ -107,6 +118,33 @@ public class EntranceViewHolder { } } + public void showLeftNoticeView(View view) { + if (leftNoticeContainer != null) { + realShowLeftNoticeView(view); + }else{ + preAddLeftNoticeView = view; + } + } + + public void hideLeftNoticeView(View view) { + if (preAddLeftNoticeView != null && preAddLeftNoticeView == view) { + preAddLeftNoticeView = null; + } + if (leftNoticeContainer != null) { + realHideLeftNoticeView(view); + } + } + + private void realShowLeftNoticeView(View view){ + leftNoticeContainer.removeAllViews(); + leftNoticeContainer.addView(view); + preAddLeftNoticeView = null; + } + + private void realHideLeftNoticeView(View view) { + leftNoticeContainer.removeView(view); + } + public void release(){ rootViewGroup = null; } diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_accident_warn.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_accident_warn.png new file mode 100644 index 0000000000..f28134a5ff Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_accident_warn.png differ diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_illegal_overtake.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_illegal_overtake.png new file mode 100644 index 0000000000..05d5853b91 Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_illegal_overtake.png differ diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_people_warn.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_people_warn.png new file mode 100644 index 0000000000..147e16a28b Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_people_warn.png differ diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_suddenly_break.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_suddenly_break.png new file mode 100644 index 0000000000..fc413a6bd0 Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_suddenly_break.png differ diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_vip.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_vip.png new file mode 100644 index 0000000000..3d0eb6e1cc Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_vip.png differ diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_content_bg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_content_bg.xml new file mode 100644 index 0000000000..2ac3e00cf5 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_content_bg.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_icon_red_bg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_icon_red_bg.xml new file mode 100644 index 0000000000..3d7b109e99 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_left_notice_icon_red_bg.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/item_vr_left_notice.xml b/modules/mogo-module-extensions/src/main/res/layout/item_vr_left_notice.xml new file mode 100644 index 0000000000..61ad51fab4 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/layout/item_vr_left_notice.xml @@ -0,0 +1,22 @@ + + + + + + + + \ 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 4baeb97ccd..30d7774864 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 @@ -218,6 +218,12 @@ android:visibility="gone" tools:visibility="visible" /> + + diff --git a/modules/mogo-module-extensions/src/main/res/values/colors.xml b/modules/mogo-module-extensions/src/main/res/values/colors.xml index 615814606a..090cf78c05 100644 --- a/modules/mogo-module-extensions/src/main/res/values/colors.xml +++ b/modules/mogo-module-extensions/src/main/res/values/colors.xml @@ -3,4 +3,6 @@ #FFFFFF #BF30334C #fff + #f1f1f1 + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml index 795e8fb1ef..2992eaad58 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -167,4 +167,12 @@ 30px 120px 170px + + 460px + 120px + 120px + + 40px + 32px + 40px \ No newline at end of file diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/entrance/IMogoEntranceButtonController.java b/services/mogo-service-api/src/main/java/com/mogo/service/entrance/IMogoEntranceButtonController.java index e57e039459..087108862d 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/entrance/IMogoEntranceButtonController.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/entrance/IMogoEntranceButtonController.java @@ -41,4 +41,16 @@ public interface IMogoEntranceButtonController extends IProvider { * @param view 待移除view */ void removeBottomLayerView(View view); + + /** + * 设置vr模式下,左下角提示view + * @param view 目前是adas提示和求助 + */ + void showLeftNoticeView(View view); + + /** + * 隐藏vr模式下,左下角提示view + * @param view 待隐藏view + */ + void hideLeftNoticeView(View view); }