diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_ai_assist_bkg.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_ai_assist_bkg.png new file mode 100755 index 0000000000..c340cb9785 Binary files /dev/null and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_ai_assist_bkg.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_applist.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_applist.png old mode 100644 new mode 100755 index f884758d3d..74d147a76d Binary files a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_applist.png and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_applist.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_im.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_im.png old mode 100644 new mode 100755 index 7a959f1ca1..e15c5811c7 Binary files a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_im.png and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_im.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_media.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_media.png old mode 100644 new mode 100755 index d9f6df313d..d84c66fd70 Binary files a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_media.png and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_media.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi.png old mode 100644 new mode 100755 index 2401ce7c2a..0a756a1ecc Binary files a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi.png and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi_disable.png b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi_disable.png old mode 100644 new mode 100755 index 3df9f14026..d4765dae41 Binary files a/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi_disable.png and b/modules/mogo-module-apps/src/main/res/drawable-mdpi/module_apps_ic_navigator_navi_disable.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist_bkg.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist_bkg.png old mode 100644 new mode 100755 index e86c3454df..79761a6c19 Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist_bkg.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist_bkg.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_apps.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_apps.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_chat_icon.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_chat_icon.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_chat_unchecked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_chat_unchecked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_equlizer.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_equlizer.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_fm.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_fm.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_fota.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_fota.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_icon_map.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_icon_map.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_interest.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_interest.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_interest_unchecked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_interest_unchecked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_lrts.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_lrts.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_media_center.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_media_center.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_media_center_checked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_media_center_checked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_music.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_music.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigation.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigation.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_applist.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_applist.png index b95bc4576f..5bf7356145 100755 Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_applist.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_applist.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png old mode 100755 new mode 100644 index 3ee3703675..0b47d2f33c Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_im.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_media.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_media.png index bcfdb9cfa9..a27975f9fb 100755 Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_media.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_media.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi.png index deee86ed15..930b016a25 100755 Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi_disable.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi_disable.png old mode 100644 new mode 100755 index 6a00c94c9d..0cfd3f47cb Binary files a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi_disable.png and b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi_disable.png differ diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_news.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_news.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_news_unchecked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_news_unchecked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_online_car.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_online_car.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_online_car_unchecked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_online_car_unchecked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_qiyi.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_qiyi.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_qq_music.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_qq_music.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_retract.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_retract.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_stee_product.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_stee_product.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_tanlu.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_tanlu.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_tanlu_unchecked.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_tanlu_unchecked.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_welfare.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_welfare.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ximalaya.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ximalaya.png old mode 100755 new mode 100644 diff --git a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml index a9ba5a2fef..c335dd18d9 100644 --- a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml @@ -21,8 +21,8 @@ 94px 94px - 140px - 140px + 160px + 160px 30px 100px 100px 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 032ba4ee85..15431256aa 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 @@ -45,6 +45,7 @@ import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.entrance.ButtonIndex; +import com.mogo.service.fragmentmanager.IFragmentProvider; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.map.IMogoMapService; @@ -292,7 +293,12 @@ public class EntranceFragment extends MvpFragment { - ARouter.getInstance().build("/push/ui/message").navigation(getContext()); + try { + IFragmentProvider provider = (IFragmentProvider)ARouter.getInstance().build("/push/ui/message").navigation(getContext()); + provider.createFragment( getActivity(), mMogoFragmentManager.getMessageHistoryContainerId(), null ); + } catch( Exception e ){ + + } }); mMsgCounter = findViewById(R.id.module_ext_id_msg_counter); mUserHeadImg.setOnClickListener(view -> { diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 1870c90b65..d19c0f9d04 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -61,6 +61,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme protected View mApps; protected View mEntrance; protected View mEventPanel; + protected View mHistoryMessagePanel; protected FrameLayout mFloatingLayout; protected View mCoverUpLayout; protected FrameLayout mLeftPanelLayout; @@ -84,6 +85,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame ); mCoverUpLayout = findViewById( R.id.module_main_id_cover_up ); mLeftPanelLayout = findViewById( R.id.module_main_id_left_panel_fragment_container ); + mHistoryMessagePanel = findViewById( R.id.module_main_id_message_history_fragment_container ); // 避免事件穿透导致地图被滑动 mLeftShadowFrame.setOnClickListener( view -> { @@ -166,6 +168,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoFragmentManager = mServiceApis.getFragmentManagerApi(); mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment ); + mMogoFragmentManager.initMessageHistoryContainerId( R.id.module_main_id_message_history_fragment_container ); mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> { if ( size == 0 ) { showLayout(); diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index ce44459946..5f69da7e64 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -55,6 +55,12 @@ android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft" android:padding="@dimen/module_main_entrance_fragment_container_padding" /> + + 599px 200px - 30px + 20px 30px 830px 590px diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml index 9f6dd8ba91..89b96d6620 100644 --- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml @@ -16,7 +16,7 @@ 599px 200px - 30px + 20px 30px 830px 800px diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 2085349e18..f0316ac8e9 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -277,6 +277,9 @@ public class MapPresenter extends Presenter< MapView > implements for ( String cmd : VoiceConstants.sUnUnRegisterCmds ) { mMogoIntentManager.registerIntentListener( cmd, this ); } + for ( Map.Entry< String, String[] > entry : VoiceConstants.sUnRegisterVoiceCmds.entrySet() ) { + AIAssist.getInstance( getContext() ).registerUnWakeupCommand( entry.getKey(), entry.getValue(), this ); + } initBroadcast(); mCustomVoiceCommandHandler = new MapControlCommandHandler(); @@ -313,6 +316,13 @@ public class MapPresenter extends Presenter< MapView > implements } mRegisterCenter.unregisterMogoNaviListener( TAG ); mRegisterCenter.unregisterADASControlStatusChangedListener( TAG ); + + for ( String cmd : VoiceConstants.sUnUnRegisterCmds ) { + mMogoIntentManager.unregisterIntentListener( cmd, this ); + } + for ( Map.Entry< String, String[] > entry : VoiceConstants.sUnRegisterVoiceCmds.entrySet() ) { + AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( entry.getKey(), this ); + } } private void registerVoiceCmd() { @@ -365,4 +375,5 @@ public class MapPresenter extends Presenter< MapView > implements public void onStopNavi() { MapBroadCastHelper.getInstance( getContext() ).stopNavi(); } + } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/VoiceConstants.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/VoiceConstants.java index aff22c0b1c..1cf7743744 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/VoiceConstants.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/VoiceConstants.java @@ -158,8 +158,13 @@ public class VoiceConstants { public static final String CMD_MAP_SPEAK_REMAIN_UN_WAKEUP = "CMD_MAP_SPEAK_REMAIN_UN_WAKEUP"; public static final String[] CMD_MAP_SPEAK_REMAIN_TRIGGER_WORDS = {"还有多久", "多久到", "还有多远"}; + // 免唤醒 public static final Map< String, String[] > sVoiceCmds = new HashMap<>(); + // 不注销的免唤醒 + public static final Map< String, String[] > sUnRegisterVoiceCmds = new HashMap<>(); + // 唤醒 public static final List< String > sCmds = new ArrayList<>(); + // 不注销的唤醒 public static final List< String > sUnUnRegisterCmds = new ArrayList<>(); static { @@ -168,9 +173,6 @@ public class VoiceConstants { sVoiceCmds.put( VoiceConstants.CMD_MAP_ZOOM_OUT_UN_WAKEUP, VoiceConstants.CMD_MAP_ZOOM_OUT_TRIGGER_WORDS ); //sVoiceCmds.put( VoiceConstants.CMD_MAP_2D_UN_WAKEUP, VoiceConstants.CMD_MAP_2D_TRIGGER_WORDS ); //sVoiceCmds.put( VoiceConstants.CMD_MAP_3D_UN_WAKEUP, VoiceConstants.CMD_MAP_3D_TRIGGER_WORDS ); - sVoiceCmds.put( VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_DAY_TIME_MODE_TRIGGER_WORDS ); - sVoiceCmds.put( VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_NIGHT_MODE_TRIGGER_WORDS ); - sVoiceCmds.put( VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_TRIGGER_WORDS ); sVoiceCmds.put( VoiceConstants.CMD_MAP_TRAFFIC_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_TRAFFIC_MODE_TRIGGER_WORDS ); sVoiceCmds.put( VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE_TRIGGER_WORDS ); //sVoiceCmds.put( VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE_TRIGGER_WORDS ); @@ -185,16 +187,18 @@ public class VoiceConstants { sVoiceCmds.put( VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_SPEAK_DETAIL_MODE_TRIGGER_WORDS ); sVoiceCmds.put( VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_SPEAK_DRAFT_MODE_TRIGGER_WORDS ); //sVoiceCmds.put( VoiceConstants.CMD_MAP_SPEAK_REMAIN_UN_WAKEUP, VoiceConstants.CMD_MAP_SPEAK_REMAIN_TRIGGER_WORDS ); + + sUnRegisterVoiceCmds.put( VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_DAY_TIME_MODE_TRIGGER_WORDS ); + sUnRegisterVoiceCmds.put( VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_NIGHT_MODE_TRIGGER_WORDS ); + sUnRegisterVoiceCmds.put( VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP, VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_TRIGGER_WORDS ); + // 唤醒 sCmds.add( VoiceConstants.CMD_MAP_ZOOM_IN ); sCmds.add( VoiceConstants.CMD_MAP_ZOOM_OUT ); sCmds.add( VoiceConstants.CMD_MAP_2D ); sCmds.add( VoiceConstants.CMD_MAP_3D ); - sCmds.add( VoiceConstants.CMD_MAP_DAY_TIME_MODE ); - sCmds.add( VoiceConstants.CMD_MAP_NIGHT_MODE ); sCmds.add( VoiceConstants.CMD_MAP_TRAFFIC_MODE ); sCmds.add( VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE ); - sCmds.add( VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE ); sCmds.add( VoiceConstants.CMD_MAP_CAR_UP_MODE ); sCmds.add( VoiceConstants.CMD_MAP_NORTH_UP_MODE ); sCmds.add( VoiceConstants.CMD_MAP_STOP_NAVI_MODE ); @@ -206,5 +210,8 @@ public class VoiceConstants { sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_CONTINUE_NAVI_MODE ); sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE ); sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_HISTORY ); + sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_DAY_TIME_MODE ); + sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_NIGHT_MODE ); + sUnUnRegisterCmds.add( VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE ); } } diff --git a/modules/mogo-module-push-noop/build.gradle b/modules/mogo-module-push-noop/build.gradle index 369d2a1a49..c8d6872f33 100644 --- a/modules/mogo-module-push-noop/build.gradle +++ b/modules/mogo-module-push-noop/build.gradle @@ -43,14 +43,14 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // 小智语音,免唤醒词等服务 - compileOnly rootProject.ext.dependencies.mogoserviceapi - compileOnly rootProject.ext.dependencies.arouter + implementation rootProject.ext.dependencies.arouter kapt rootProject.ext.dependencies.aroutercompiler - if( Boolean.valueOf(RELEASE) ){ implementation rootProject.ext.dependencies.modulepushbase + implementation rootProject.ext.dependencies.mogoserviceapi } else { implementation project(":modules:mogo-module-push-base") + implementation project(':services:mogo-service-api') } } diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/PushHistoryUiProvider.java b/modules/mogo-module-push/src/main/java/com/mogo/module/push/PushHistoryUiProvider.java new file mode 100644 index 0000000000..dd389a6bdb --- /dev/null +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/PushHistoryUiProvider.java @@ -0,0 +1,39 @@ +package com.mogo.module.push; + +import android.content.Context; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.module.push.base.PushUIConstants; +import com.mogo.module.push.fragment.MessageHistoryFragment; +import com.mogo.service.fragmentmanager.IFragmentProvider; + +public +/** + * @author congtaowang + * @since 2020/9/1 + * + * 描述 + */ +@Route( path = PushUIConstants.Push_MESSAGE_ACTIVITY_PATH ) +class PushHistoryUiProvider implements IFragmentProvider { + + @Override + public Fragment createFragment( FragmentActivity activity, int containerId, Bundle date ) { + Fragment fragment = new MessageHistoryFragment(); + activity.getSupportFragmentManager() + .beginTransaction() + .add( containerId, fragment, PushUIConstants.Push_MESSAGE_ACTIVITY_PATH ) + .show( fragment ) + .commitNowAllowingStateLoss(); + return fragment; + } + + @Override + public void init( Context context ) { + + } +} diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt index 195aa828ab..0f1a486053 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt @@ -5,11 +5,9 @@ import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager -import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.module.push.Config import com.mogo.module.push.R import com.mogo.module.push.adapter.PushMessageAdapter -import com.mogo.module.push.base.PushUIConstants import com.mogo.module.push.model.PushBean import com.mogo.module.push.repository.PushRepository import com.mogo.module.push.utils.AnalyticsUtils @@ -24,7 +22,6 @@ import com.mogo.utils.UiThreadHandler import com.mogo.utils.logger.Logger import kotlinx.android.synthetic.main.module_push_message_activity.* -@Route(path = PushUIConstants.Push_MESSAGE_ACTIVITY_PATH) class PushMessageActivity : AppCompatActivity(), IMogoIntentListener { private lateinit var viewModel: MessageViewModel private var adapter = PushMessageAdapter() diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/adapter/PushMessageAdapter.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/adapter/PushMessageAdapter.kt index 868a609d29..da8aa2bc98 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/adapter/PushMessageAdapter.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/adapter/PushMessageAdapter.kt @@ -45,7 +45,7 @@ class PushMessageAdapter : RecyclerView.Adapter= 0) { it.removeAt(position) - notifyItemRemoved(position) + notifyDataSetChanged() } if (itemCount == 0) { deletePushBean.lastItemShow(false) diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java new file mode 100644 index 0000000000..94b2c4d7d6 --- /dev/null +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryFragment.java @@ -0,0 +1,187 @@ +package com.mogo.module.push.fragment; + +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.analytics.AnalyticsUtils; +import com.mogo.commons.mvp.MvpFragment; +import com.mogo.module.push.Config; +import com.mogo.module.push.R; +import com.mogo.module.push.adapter.PushMessageAdapter; +import com.mogo.module.push.model.PushBean; +import com.mogo.module.push.repository.PushRepository; +import com.mogo.module.push.utils.AnimatorUtilsKt; +import com.mogo.module.push.utils.HandlerUtils; +import com.mogo.module.push.view.GlobalToolsKt; +import com.mogo.module.push.view.PushItemAnimator; +import com.mogo.module.push.view.SwipeItemLayout; +import com.mogo.module.push.viewmodel.MessageViewModel; +import com.mogo.service.statusmanager.IMogoMsgCenterListener; +import com.mogo.utils.UiThreadHandler; + +import org.jetbrains.annotations.NotNull; + +import java.util.HashMap; +import java.util.Map; + +public +/** + * @author congtaowang + * @since 2020/9/1 + * + * 描述 + */ +class MessageHistoryFragment extends MvpFragment< MessageHistoryView, MessageHistoryPresenter > implements MessageHistoryView, IMogoMsgCenterListener { + + private View mClear; + private RecyclerView mHistoryList; + private TextView mTitle; + private View mEmptyPlaceHolder; + private View mClose; + + private boolean mClearing = false; + private PushMessageAdapter mAdapter = new PushMessageAdapter(); + private MessageViewModel mViewModel; + + @Override + protected int getLayoutId() { + return R.layout.module_push_message_hisotry_fragment; + } + + @Override + protected void initViews() { + mClear = findViewById( R.id.module_push_activity_clear ); + mHistoryList = findViewById( R.id.module_push_activity_recycler_view ); + mTitle = findViewById( R.id.module_push_activity_title ); + mEmptyPlaceHolder = findViewById( R.id.module_push_activity_not_data ); + mClose = findViewById( R.id.module_push_activity_close ); + + AnalyticsUtils.track( Config.NEWS_HISTORY_OPEN, null ); + mClose.setOnClickListener( view -> { + exitSelf(); + } ); + mClear.setOnClickListener( view -> { + AnalyticsUtils.track( Config.NEWS_HISTORY_ALL_CLEAR, null ); + if ( !mClearing ) { + mClearing = true; + AnimatorUtilsKt.startClearAnimator( + mHistoryList, + () -> { + mViewModel.deleteAll(); + mClearing = false; + return null; + } + ); + } + } ); + mAdapter.deletePushBean = new PushMessageAdapter.PushAdapterListener() { + @Override + public void deleteBean( @NotNull PushBean bean, boolean action ) { + if ( mClearing ) { + return; + } + mViewModel.delete( bean ); + if ( action ) { + Map< String, Object > prop = new HashMap<>(); + prop.put( "title", bean.getTitle() ); + AnalyticsUtils.track( Config.NEWS_HISTORY_ONE_CLICK, prop ); + exitSelf(); + } else { + AnalyticsUtils.track( Config.NEWS_HISTORY_ONE_CLEAR, null ); + mAdapter.removeItem( bean ); + if ( mAdapter.getItemCount() == 0 ) { + mEmptyPlaceHolder.setVisibility( View.VISIBLE ); + } + updateHistoryMessageCount(); + } + } + + @Override + public void lastItemShow( boolean show ) { + if ( !show && !mClearing ) { + int size = mViewModel.getList().size(); + if ( size > 0 && size < mHistoryList.getChildCount() ) { + return; + } + mClear.setVisibility( show ? View.VISIBLE : View.GONE ); + } + } + }; + mViewModel = new MessageViewModel( list -> { + UiThreadHandler.post( () -> { + int size = list == null ? 0 : list.size(); + mAdapter.setDatas( list ); + mEmptyPlaceHolder.setVisibility( size > 0 ? View.GONE : View.VISIBLE ); + updateHistoryMessageCount(); + } ); + } ); + + mHistoryList.setLayoutManager( new LinearLayoutManager( AbsMogoApplication.getApp() ) ); + mHistoryList.setAdapter( mAdapter ); + mHistoryList.setItemAnimator( new PushItemAnimator() ); + mHistoryList.addOnItemTouchListener( new SwipeItemLayout.OnSwipeItemTouchListener( getContext() ) ); + + GlobalToolsKt.getApis( getContext() ).getMsgCenterApi().registerMsgCenterListener( this ); + } + + private void exitSelf() { + try { + getActivity().getSupportFragmentManager().beginTransaction() + .remove( this ) + .commitNowAllowingStateLoss(); + } catch ( Exception e ) { + e.printStackTrace(); + } + } + + private void updateHistoryMessageCount() { + HandlerUtils.INSTANCE.getMBgHandler().post( () -> { + int count = 0; + try { + count = PushRepository.Companion.getPushRepository().getPushBeanDao().getAllCount(); + } catch ( Exception e ) { + count = 0; + } + renderHistoryMessageCount( count ); + } ); + } + + private void renderHistoryMessageCount( int count ) { + UiThreadHandler.post( () -> { + try { + mTitle.setText( count > 0 ? "历史消息(" + count + ")" : "历史消息" ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } ); + } + + @Override + public void onMsgChanged( boolean hasMsg, int amount ) { + HandlerUtils.INSTANCE.getMBgHandler().post( () -> { + mViewModel.setList( PushRepository.Companion.getPushRepository().getAll() ); + } ); + } + + @Override + public void onResume() { + super.onResume(); + } + + @NonNull + @Override + protected MessageHistoryPresenter createPresenter() { + return new MessageHistoryPresenter( this ); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + GlobalToolsKt.getApis( getContext() ).getMsgCenterApi().unregisterMsgCenterListener( this ); + } +} diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryPresenter.java b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryPresenter.java new file mode 100644 index 0000000000..836da23c93 --- /dev/null +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryPresenter.java @@ -0,0 +1,17 @@ +package com.mogo.module.push.fragment; + +import com.mogo.commons.mvp.Presenter; + +public +/** + * @author congtaowang + * @since 2020/9/1 + * + * 描述 + */ +class MessageHistoryPresenter extends Presenter< MessageHistoryView > { + + public MessageHistoryPresenter( MessageHistoryView view ) { + super( view ); + } +} diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryView.java b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryView.java new file mode 100644 index 0000000000..4ad76d5b6b --- /dev/null +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/fragment/MessageHistoryView.java @@ -0,0 +1,13 @@ +package com.mogo.module.push.fragment; + +import com.mogo.commons.mvp.IView; + +public +/** + * @author congtaowang + * @since 2020/9/1 + * + * 描述 + */ +interface MessageHistoryView extends IView { +} diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/repository/PushRepository.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/repository/PushRepository.kt index c48ae6ea08..9c50449846 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/repository/PushRepository.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/repository/PushRepository.kt @@ -85,6 +85,12 @@ class PushRepository(mContext: Context) { } pushBeanQueue.offer(bean) } + if ( bean != null) { + HandlerUtils.mBgHandler.post { + pushBeanDao.insertAll(bean) + updateMsgNum() + } + } startIterate() } }) @@ -158,13 +164,6 @@ class PushRepository(mContext: Context) { } fun iterateNext(needSave: Boolean = false) { - if (needSave && pushViewModel.pushBean != null) { - val bean = pushViewModel.pushBean!! - HandlerUtils.mBgHandler.post { - pushBeanDao.insertAll(bean) - updateMsgNum() - } - } try { val nextBean = pushBeanQueue.peek() if (nextBean == null) { diff --git a/modules/mogo-module-push/src/main/res/drawable-ldpi/module_push_close.png b/modules/mogo-module-push/src/main/res/drawable-ldpi/module_push_close.png old mode 100644 new mode 100755 index 73e64634fd..c1381dc44c Binary files a/modules/mogo-module-push/src/main/res/drawable-ldpi/module_push_close.png and b/modules/mogo-module-push/src/main/res/drawable-ldpi/module_push_close.png differ diff --git a/modules/mogo-module-push/src/main/res/drawable-xhdpi/module_push_close.png b/modules/mogo-module-push/src/main/res/drawable-xhdpi/module_push_close.png old mode 100644 new mode 100755 index 71a46c2cc2..bb3e2b1195 Binary files a/modules/mogo-module-push/src/main/res/drawable-xhdpi/module_push_close.png and b/modules/mogo-module-push/src/main/res/drawable-xhdpi/module_push_close.png differ diff --git a/modules/mogo-module-push/src/main/res/drawable/module_push_close.png b/modules/mogo-module-push/src/main/res/drawable/module_push_close.png old mode 100644 new mode 100755 index 71a46c2cc2..c1381dc44c Binary files a/modules/mogo-module-push/src/main/res/drawable/module_push_close.png and b/modules/mogo-module-push/src/main/res/drawable/module_push_close.png differ diff --git a/modules/mogo-module-push/src/main/res/drawable/module_push_message_activity_background.xml b/modules/mogo-module-push/src/main/res/drawable/module_push_message_activity_background.xml index 0c3a036b3e..80b95aaa85 100644 --- a/modules/mogo-module-push/src/main/res/drawable/module_push_message_activity_background.xml +++ b/modules/mogo-module-push/src/main/res/drawable/module_push_message_activity_background.xml @@ -2,4 +2,5 @@ + diff --git a/modules/mogo-module-push/src/main/res/drawable/module_push_recycler_item_background.xml b/modules/mogo-module-push/src/main/res/drawable/module_push_recycler_item_background.xml index d755aba46d..2c16e3f684 100644 --- a/modules/mogo-module-push/src/main/res/drawable/module_push_recycler_item_background.xml +++ b/modules/mogo-module-push/src/main/res/drawable/module_push_recycler_item_background.xml @@ -2,8 +2,8 @@ - - + + + diff --git a/skin/mogo-skin-light/src/main/module-push-res/values-ldpi/dimens.xml b/skin/mogo-skin-light/src/main/module-push-res/values-ldpi/dimens.xml new file mode 100644 index 0000000000..1ebc40fcc0 --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-push-res/values-ldpi/dimens.xml @@ -0,0 +1,5 @@ + + + 16px + 12px + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-push-res/values-mdpi/dimens.xml b/skin/mogo-skin-light/src/main/module-push-res/values-mdpi/dimens.xml new file mode 100644 index 0000000000..1ebc40fcc0 --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-push-res/values-mdpi/dimens.xml @@ -0,0 +1,5 @@ + + + 16px + 12px + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-push-res/values-xhdpi/dimens.xml b/skin/mogo-skin-light/src/main/module-push-res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..d28982bd82 --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-push-res/values-xhdpi/dimens.xml @@ -0,0 +1,5 @@ + + + 29px + 22px + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-push-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-push-res/values/colors.xml index 045e125f3d..86bf425d17 100644 --- a/skin/mogo-skin-light/src/main/module-push-res/values/colors.xml +++ b/skin/mogo-skin-light/src/main/module-push-res/values/colors.xml @@ -1,3 +1,6 @@ + #333333 + #666666 + #666666 diff --git a/skin/mogo-skin-light/src/main/module-push-res/values/dimens.xml b/skin/mogo-skin-light/src/main/module-push-res/values/dimens.xml new file mode 100644 index 0000000000..1ebc40fcc0 --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-push-res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16px + 12px + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_marker_bkg_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_marker_bkg_light.png new file mode 100755 index 0000000000..d43d74c08c Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_marker_bkg_light.png differ