From a5b3ce58319ae1b8006e17130a44940895e6634e Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 20 May 2020 09:46:45 +0800 Subject: [PATCH] opt --- config.gradle | 2 +- .../poisearch/query/MogoPoiSearchQuery.java | 2 +- .../module/apps/AppNavigatorFragment.java | 55 ++++- .../module/apps/AppNavigatorPresenter.java | 36 ++- .../mogo/module/apps/AppNavigatorView.java | 4 + .../java/com/mogo/module/apps}/anim/Anim.java | 2 +- .../com/mogo/module/apps}/anim/AnimRes.java | 5 +- .../mogo/module/apps}/anim/AnimWrapper.java | 4 +- .../mogo/module/apps}/anim/JSurfaceView.java | 3 +- .../mogo/module/apps}/anim/KitkatAnim.java | 2 +- .../mogo/module/apps}/anim/OthersAnim.java | 2 +- .../mogo/module/apps/model/NavigatorApps.java | 24 +- .../res/drawable-ldpi/mogo_tts_icon_00000.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00001.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00002.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00003.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00004.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00005.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00006.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00007.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00008.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00009.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00010.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00011.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00012.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00013.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00014.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00015.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00016.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00017.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00018.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00019.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00020.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00021.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00022.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00023.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00024.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00025.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00026.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00027.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00028.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00029.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00030.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00031.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00032.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00033.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00034.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00035.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00036.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00037.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00038.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00039.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00040.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00041.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00042.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00043.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00044.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00045.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00046.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00047.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00048.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00049.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00050.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00051.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00052.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00053.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00054.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00055.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00056.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00057.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00058.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00059.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00060.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00061.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00062.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00063.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00064.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00065.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00066.png | Bin .../res/drawable-ldpi/mogo_tts_icon_00067.png | Bin .../module_apps_ic_ai_assist.png | Bin 0 -> 32785 bytes .../module_apps_ic_ai_assist_bkg.png | Bin 0 -> 4091 bytes .../module_apps_ic_navigator_applist.png | Bin 0 -> 13351 bytes .../module_apps_ic_navigator_media.png | Bin 0 -> 10330 bytes .../module_apps_ic_navigator_navi.png | Bin 0 -> 11384 bytes .../module_apps_ic_navigator_personcenter.png | Bin 0 -> 10390 bytes .../drawable-xhdpi/mogo_tts_icon_00000.png | Bin .../drawable-xhdpi/mogo_tts_icon_00001.png | Bin .../drawable-xhdpi/mogo_tts_icon_00002.png | Bin .../drawable-xhdpi/mogo_tts_icon_00003.png | Bin .../drawable-xhdpi/mogo_tts_icon_00004.png | Bin .../drawable-xhdpi/mogo_tts_icon_00005.png | Bin .../drawable-xhdpi/mogo_tts_icon_00006.png | Bin .../drawable-xhdpi/mogo_tts_icon_00007.png | Bin .../drawable-xhdpi/mogo_tts_icon_00008.png | Bin .../drawable-xhdpi/mogo_tts_icon_00009.png | Bin .../drawable-xhdpi/mogo_tts_icon_00010.png | Bin .../drawable-xhdpi/mogo_tts_icon_00011.png | Bin .../drawable-xhdpi/mogo_tts_icon_00012.png | Bin .../drawable-xhdpi/mogo_tts_icon_00013.png | Bin .../drawable-xhdpi/mogo_tts_icon_00014.png | Bin .../drawable-xhdpi/mogo_tts_icon_00015.png | Bin .../drawable-xhdpi/mogo_tts_icon_00016.png | Bin .../drawable-xhdpi/mogo_tts_icon_00017.png | Bin .../drawable-xhdpi/mogo_tts_icon_00018.png | Bin .../drawable-xhdpi/mogo_tts_icon_00019.png | Bin .../drawable-xhdpi/mogo_tts_icon_00020.png | Bin .../drawable-xhdpi/mogo_tts_icon_00021.png | Bin .../drawable-xhdpi/mogo_tts_icon_00022.png | Bin .../drawable-xhdpi/mogo_tts_icon_00023.png | Bin .../drawable-xhdpi/mogo_tts_icon_00024.png | Bin .../drawable-xhdpi/mogo_tts_icon_00025.png | Bin .../drawable-xhdpi/mogo_tts_icon_00026.png | Bin .../drawable-xhdpi/mogo_tts_icon_00027.png | Bin .../drawable-xhdpi/mogo_tts_icon_00028.png | Bin .../drawable-xhdpi/mogo_tts_icon_00029.png | Bin .../drawable-xhdpi/mogo_tts_icon_00030.png | Bin .../drawable-xhdpi/mogo_tts_icon_00031.png | Bin .../drawable-xhdpi/mogo_tts_icon_00032.png | Bin .../drawable-xhdpi/mogo_tts_icon_00033.png | Bin .../drawable-xhdpi/mogo_tts_icon_00034.png | Bin .../drawable-xhdpi/mogo_tts_icon_00035.png | Bin .../drawable-xhdpi/mogo_tts_icon_00036.png | Bin .../drawable-xhdpi/mogo_tts_icon_00037.png | Bin .../drawable-xhdpi/mogo_tts_icon_00038.png | Bin .../drawable-xhdpi/mogo_tts_icon_00039.png | Bin .../drawable-xhdpi/mogo_tts_icon_00040.png | Bin .../drawable-xhdpi/mogo_tts_icon_00041.png | Bin .../drawable-xhdpi/mogo_tts_icon_00042.png | Bin .../drawable-xhdpi/mogo_tts_icon_00043.png | Bin .../drawable-xhdpi/mogo_tts_icon_00044.png | Bin .../drawable-xhdpi/mogo_tts_icon_00045.png | Bin .../drawable-xhdpi/mogo_tts_icon_00046.png | Bin .../drawable-xhdpi/mogo_tts_icon_00047.png | Bin .../drawable-xhdpi/mogo_tts_icon_00048.png | Bin .../drawable-xhdpi/mogo_tts_icon_00049.png | Bin .../drawable-xhdpi/mogo_tts_icon_00050.png | Bin .../drawable-xhdpi/mogo_tts_icon_00051.png | Bin .../drawable-xhdpi/mogo_tts_icon_00052.png | Bin .../drawable-xhdpi/mogo_tts_icon_00053.png | Bin .../drawable-xhdpi/mogo_tts_icon_00054.png | Bin .../drawable-xhdpi/mogo_tts_icon_00055.png | Bin .../drawable-xhdpi/mogo_tts_icon_00056.png | Bin .../drawable-xhdpi/mogo_tts_icon_00057.png | Bin .../drawable-xhdpi/mogo_tts_icon_00058.png | Bin .../drawable-xhdpi/mogo_tts_icon_00059.png | Bin .../drawable-xhdpi/mogo_tts_icon_00060.png | Bin .../drawable-xhdpi/mogo_tts_icon_00061.png | Bin .../drawable-xhdpi/mogo_tts_icon_00062.png | Bin .../drawable-xhdpi/mogo_tts_icon_00063.png | Bin .../drawable-xhdpi/mogo_tts_icon_00064.png | Bin .../drawable-xhdpi/mogo_tts_icon_00065.png | Bin .../drawable-xhdpi/mogo_tts_icon_00066.png | Bin .../drawable-xhdpi/mogo_tts_icon_00067.png | Bin .../module_apps_fragment_apps_navigator.xml | 21 +- .../layout/module_apps_item_app_indicator.xml | 13 +- .../src/main/res/values-ldpi/dimens.xml | 6 + .../src/main/res/values-xhdpi/dimens.xml | 6 + .../src/main/res/values/dimens.xml | 6 + .../module/back/BackToMainHomeManager.java | 11 +- .../module/extensions/ExtensionsFragment.java | 58 ----- .../extensions/ExtensionsPresenter.java | 167 +------------ .../module/extensions/ExtensionsView.java | 15 -- .../extensions/entrance/EntranceFragment.java | 98 ++++---- .../entrance/EntrancePresenter.java | 26 +- .../extensions/entrance/EntranceView.java | 3 - .../extensions/navi/BaseNaviInfoView.java | 68 +++++- .../module/extensions/navi/NaviInfoView.java | 58 ++--- .../drawable-ldpi/module_ext_ic_message.png | Bin 467 -> 0 bytes .../module_ext_ic_display_overview.png | Bin 0 -> 1484 bytes .../drawable-xhdpi/module_ext_ic_message.png | Bin 834 -> 0 bytes .../drawable-xhdpi/module_ext_ic_message2.png | Bin 0 -> 1152 bytes .../module_ext_ic_navi_info1.png | Bin 0 -> 1986 bytes .../module_ext_ic_navi_info2.png | Bin 0 -> 2003 bytes .../module_ext_ic_navi_info3.png | Bin 0 -> 2127 bytes .../drawable/module_ext_drawable_msg_bkg.xml | 5 +- .../module_ext_drawable_msg_container_bkg.xml | 8 + .../module_ext_drawable_weather_bkg.xml | 9 + .../module_ext_dw_common_corner_bkg.xml | 12 +- .../module_ext_dw_navi_info_panel_bkg.xml | 4 +- ...odule_ext_dw_upload_road_condition_bkg.xml | 14 +- .../res/drawable/shape_react_gray_round.xml | 5 +- .../res/layout/module_ext_layout_entrance.xml | 106 +++------ .../layout/module_ext_layout_extensions.xml | 117 ++------- .../module_map_layout_navi_info_panel.xml | 224 ++++++++++++++---- .../src/main/res/values-ldpi/dimens.xml | 25 +- .../src/main/res/values-xhdpi/dimens.xml | 36 ++- .../src/main/res/values/dimens.xml | 47 +++- .../com/mogo/module/main/MainActivity.java | 18 -- .../module/main/cards/MogoModulesManager.java | 1 - .../module_main_dw_left_frame_bkg.xml | 8 +- .../res/layout/module_main_activity_main.xml | 46 ++-- .../src/main/res/values-ldpi/dimens.xml | 9 +- .../src/main/res/values-xhdpi/dimens.xml | 9 +- .../src/main/res/values/dimens.xml | 11 +- .../navi/ui/search/CategoryPresenter.java | 27 ++- .../navi/ui/search/CategorySearchFragment.kt | 32 +-- .../module/navi/ui/search/CategoryView.java | 2 - 198 files changed, 703 insertions(+), 769 deletions(-) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/Anim.java (76%) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/AnimRes.java (97%) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/AnimWrapper.java (95%) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/JSurfaceView.java (98%) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/KitkatAnim.java (83%) rename modules/{mogo-module-extensions/src/main/java/com/mogo/module/extensions => mogo-module-apps/src/main/java/com/mogo/module/apps}/anim/OthersAnim.java (93%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00000.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00001.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00002.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00003.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00004.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00005.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00006.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00007.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00008.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00009.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00010.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00011.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00012.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00013.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00014.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00015.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00016.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00017.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00018.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00019.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00020.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00021.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00022.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00023.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00024.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00025.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00026.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00027.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00028.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00029.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00030.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00031.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00032.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00033.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00034.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00035.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00036.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00037.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00038.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00039.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00040.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00041.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00042.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00043.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00044.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00045.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00046.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00047.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00048.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00049.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00050.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00051.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00052.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00053.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00054.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00055.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00056.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00057.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00058.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00059.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00060.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00061.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00062.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00063.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00064.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00065.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00066.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-ldpi/mogo_tts_icon_00067.png (100%) create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist.png create mode 100644 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist_bkg.png create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_applist.png create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_media.png create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_navi.png create mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00000.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00001.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00002.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00003.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00004.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00005.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00006.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00007.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00008.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00009.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00010.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00011.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00012.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00013.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00014.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00015.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00016.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00017.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00018.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00019.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00020.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00021.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00022.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00023.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00024.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00025.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00026.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00027.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00028.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00029.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00030.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00031.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00032.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00033.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00034.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00035.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00036.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00037.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00038.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00039.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00040.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00041.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00042.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00043.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00044.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00045.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00046.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00047.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00048.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00049.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00050.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00051.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00052.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00053.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00054.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00055.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00056.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00057.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00058.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00059.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00060.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00061.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00062.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00063.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00064.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00065.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00066.png (100%) rename modules/{mogo-module-extensions => mogo-module-apps}/src/main/res/drawable-xhdpi/mogo_tts_icon_00067.png (100%) delete mode 100755 modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_display_overview.png delete mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message2.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_navi_info1.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_navi_info2.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_navi_info3.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_container_bkg.xml create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_weather_bkg.xml diff --git a/config.gradle b/config.gradle index 60aa4d1cf8..eaf710f48d 100644 --- a/config.gradle +++ b/config.gradle @@ -13,7 +13,7 @@ ext { // androidx androidxappcompat : "androidx.appcompat:appcompat:1.0.2", androidxccorektx : "androidx.core:core-ktx:1.2.0", - androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:1.1.3", + androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:2.0.0-alpha5", androidxmultidex : "androidx.multidex:multidex:2.0.1", androidxviewpager2 : "androidx.viewpager2:viewpager2:1.0.0", androidxrecyclerview : "androidx.recyclerview:recyclerview:1.1.0", diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/poisearch/query/MogoPoiSearchQuery.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/poisearch/query/MogoPoiSearchQuery.java index 27076edba2..b3b539fca3 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/search/poisearch/query/MogoPoiSearchQuery.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/search/poisearch/query/MogoPoiSearchQuery.java @@ -21,7 +21,7 @@ public class MogoPoiSearchQuery implements Parcelable { private int pageSize; private boolean isCityLimit; private boolean isSubPois; - private boolean isDistanceSort; + private boolean isDistanceSort = true; private MogoLatLng location; /** diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java index a1c65890ef..f3d240be7b 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java @@ -1,6 +1,8 @@ package com.mogo.module.apps; import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -8,7 +10,9 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.mogo.commons.mvp.MvpFragment; +import com.mogo.commons.voice.AIAssist; import com.mogo.module.apps.adapter.AppIndicatorAdapter; +import com.mogo.module.apps.anim.AnimWrapper; import com.mogo.module.apps.applaunch.AppLauncher; import com.mogo.module.apps.applaunch.BaseAppLauncher; import com.mogo.module.apps.applaunch.InternalFunctionLauncher; @@ -30,6 +34,10 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi private RecyclerView mNavigatorAppsList; private AppIndicatorAdapter mAppIndicatorAdapter; + private ImageView mAIAssist; + private View mAIAssistContainer; + private AnimWrapper mAnim = new AnimWrapper(); + private BaseAppLauncher mLauncher; @Override @@ -39,10 +47,7 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi @Override protected void initViews() { -// mApps.setOnClickListener( view -> { -// openAppsPanel(); -// trackNavigatorClickEvent( 4 ); -// } ); + mLauncher = new InternalFunctionLauncher( getActivity() ); mLauncher.setNext( new AppLauncher() ); @@ -53,6 +58,48 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi mLauncher.launch( getContext(), data ); } ); mNavigatorAppsList.setAdapter( mAppIndicatorAdapter ); + + mAIAssistContainer = findViewById( R.id.module_apps_id_ai_assist_container ); + mAIAssist = findViewById( R.id.module_apps_id_ai_assist ); + mAnim.initAnim( mAIAssist ); + mAIAssist.setOnClickListener( view -> { + AIAssist.startAssistant( getContext() ); + AppServiceHandler.getApis().getAnalyticsApi().track( "Launcher_xiaozhi_Click", null ); + } ); + mAIAssistContainer.setOnClickListener( view -> { + mAIAssist.performClick(); + } ); + + AppServiceHandler.getApis().getFragmentManagerApi().addMainFragmentStackTransactionListener( size -> { + // 主页 fragment 栈变化的时候,改变动画状态 + if ( size == 0 ) { + mAnim.start(); + } else { + mAnim.stop(); + } + } ); + } + + @Override + public void hideNavigationEntrance() { + mAppIndicatorAdapter.setDatas( NavigatorApps.getAppsWithoutNavigation() ); + } + + @Override + public void showNavigationEntrance() { + mAppIndicatorAdapter.setDatas( NavigatorApps.getApps() ); + } + + @Override + public void onResume() { + super.onResume(); + mAnim.start(); + } + + @Override + public void onPause() { + super.onPause(); + mAnim.stop(); } @NonNull diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java index 6dbdc52ac9..1abbfd47cc 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java @@ -9,6 +9,7 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; +import com.mogo.map.navi.IMogoNaviListener2; import com.mogo.module.apps.model.AppsModel; import com.mogo.module.apps.utils.LaunchUtils; import com.mogo.service.MogoServicePaths; @@ -26,7 +27,9 @@ import org.json.JSONObject; *

* 描述 */ -public class AppNavigatorPresenter extends Presenter< AppNavigatorView > implements IMogoIntentListener, IMogoVoiceCmdCallBack { +public class AppNavigatorPresenter extends Presenter< AppNavigatorView > implements IMogoIntentListener, + IMogoVoiceCmdCallBack, + IMogoNaviListener2 { private static final String TAG = "AppNavigatorPresenter"; @@ -42,6 +45,7 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme super.onCreate( owner ); mIntentManager = AppServiceHandler.getApis().getIntentManagerApi(); mMogoStatusManager = AppServiceHandler.getApis().getStatusManagerApi(); + AppServiceHandler.getApis().getRegisterCenterApi().registerMogoNaviListener( TAG, this ); // 预加载应用列表,空间换时间 AppsModel.getInstance( getContext() ).load( null ); } @@ -106,26 +110,6 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme } } - @Override - public void onCmdAction( String speakText ) { - - } - - @Override - public void onCmdCancel( String speakText ) { - - } - - @Override - public void onSpeakEnd( String speakText ) { - - } - - @Override - public void onSpeakSelectTimeOut( String speakText ) { - - } - @Override public void onDestroy( @NonNull LifecycleOwner owner ) { if ( mIntentManager != null ) { @@ -133,4 +117,14 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme } super.onDestroy( owner ); } + + @Override + public void onStartNavi() { + mView.hideNavigationEntrance(); + } + + @Override + public void onStopNavi() { + mView.showNavigationEntrance(); + } } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorView.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorView.java index 00e75e1009..f67673cb2c 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorView.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorView.java @@ -15,4 +15,8 @@ public interface AppNavigatorView extends IView { * 打开全部应用 */ void openAppsPanel(); + + void hideNavigationEntrance(); + + void showNavigationEntrance(); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/Anim.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/Anim.java similarity index 76% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/Anim.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/Anim.java index 85717028df..e98e07ee8a 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/Anim.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/Anim.java @@ -1,4 +1,4 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; /** * @author congtaowang diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimRes.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimRes.java similarity index 97% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimRes.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimRes.java index 13628228da..e579d0658a 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimRes.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimRes.java @@ -1,6 +1,7 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; -import com.mogo.module.extensions.R; + +import com.mogo.module.apps.R; /** * @author congtaowang diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimWrapper.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java similarity index 95% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimWrapper.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java index 3ff87e8e4e..bf38719907 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/AnimWrapper.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java @@ -1,10 +1,10 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; import android.graphics.drawable.AnimationDrawable; import android.widget.ImageView; +import com.mogo.module.apps.R; import com.mogo.module.common.utils.CarSeries; -import com.mogo.module.extensions.R; import com.mogo.utils.ThreadPoolService; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/JSurfaceView.java similarity index 98% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/JSurfaceView.java index 5d89ecdddc..b70218743b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/JSurfaceView.java @@ -1,4 +1,4 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; import android.content.Context; import android.graphics.Bitmap; @@ -13,7 +13,6 @@ import android.util.AttributeSet; import android.view.SurfaceHolder; import android.view.SurfaceView; -import com.mogo.utils.ThreadPoolService; import com.mogo.utils.logger.Logger; import java.lang.ref.WeakReference; diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/KitkatAnim.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/KitkatAnim.java similarity index 83% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/KitkatAnim.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/KitkatAnim.java index 9043265a2f..2f3f864367 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/KitkatAnim.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/KitkatAnim.java @@ -1,4 +1,4 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; /** * @author congtaowang diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/OthersAnim.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java similarity index 93% rename from modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/OthersAnim.java rename to modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java index 57adffda3a..13156b1e7c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/OthersAnim.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java @@ -1,4 +1,4 @@ -package com.mogo.module.extensions.anim; +package com.mogo.module.apps.anim; import android.graphics.drawable.AnimationDrawable; diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java index 9e5a98be45..1bb4271c82 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java @@ -13,15 +13,25 @@ import java.util.List; */ public class NavigatorApps { - private static List< AppInfo > sApps = new ArrayList<>(); + private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi ); + private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media ); + private static AppInfo app3 = new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_navigator_personcenter ); + private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist ); public static List< AppInfo > getApps() { - if ( sApps.isEmpty() ) { - sApps.add( new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_apps ) ); - sApps.add( new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_apps ) ); - sApps.add( new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_apps ) ); - sApps.add( new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_apps ) ); - } + List< AppInfo > sApps = new ArrayList<>(); + sApps.add( app ); + sApps.add( app2 ); + sApps.add( app3 ); + sApps.add( app4 ); + return sApps; + } + + public static List< AppInfo > getAppsWithoutNavigation() { + List< AppInfo > sApps = new ArrayList<>(); + sApps.add( app2 ); + sApps.add( app3 ); + sApps.add( app4 ); return sApps; } } diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00000.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00000.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00000.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00000.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00001.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00001.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00001.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00001.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00002.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00002.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00002.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00002.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00003.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00003.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00003.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00003.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00004.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00004.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00004.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00004.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00005.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00005.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00005.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00005.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00006.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00006.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00006.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00006.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00007.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00007.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00007.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00007.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00008.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00008.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00008.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00008.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00009.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00009.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00009.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00009.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00010.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00010.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00010.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00010.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00011.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00011.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00011.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00011.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00012.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00012.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00012.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00012.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00013.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00013.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00013.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00013.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00014.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00014.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00014.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00014.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00015.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00015.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00015.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00015.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00016.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00016.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00016.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00016.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00017.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00017.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00017.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00017.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00018.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00018.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00018.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00018.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00019.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00019.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00019.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00019.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00020.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00020.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00020.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00020.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00021.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00021.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00021.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00021.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00022.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00022.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00022.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00022.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00023.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00023.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00023.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00023.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00024.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00024.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00024.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00024.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00025.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00025.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00025.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00025.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00026.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00026.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00026.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00026.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00027.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00027.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00027.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00027.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00028.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00028.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00028.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00028.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00029.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00029.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00029.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00029.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00030.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00030.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00030.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00030.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00031.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00031.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00031.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00031.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00032.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00032.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00032.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00032.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00033.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00033.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00033.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00033.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00034.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00034.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00034.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00034.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00035.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00035.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00035.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00035.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00036.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00036.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00036.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00036.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00037.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00037.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00037.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00037.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00038.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00038.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00038.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00038.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00039.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00039.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00039.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00039.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00040.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00040.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00040.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00040.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00041.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00041.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00041.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00041.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00042.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00042.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00042.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00042.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00043.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00043.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00043.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00043.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00044.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00044.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00044.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00044.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00045.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00045.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00045.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00045.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00046.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00046.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00046.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00046.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00047.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00047.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00047.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00047.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00048.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00048.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00048.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00048.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00049.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00049.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00049.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00049.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00050.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00050.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00050.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00050.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00051.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00051.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00051.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00051.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00052.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00052.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00052.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00052.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00053.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00053.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00053.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00053.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00054.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00054.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00054.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00054.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00055.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00055.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00055.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00055.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00056.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00056.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00056.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00056.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00057.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00057.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00057.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00057.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00058.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00058.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00058.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00058.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00059.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00059.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00059.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00059.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00060.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00060.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00060.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00060.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00061.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00061.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00061.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00061.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00062.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00062.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00062.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00062.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00063.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00063.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00063.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00063.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00064.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00064.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00064.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00064.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00065.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00065.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00065.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00065.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00066.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00066.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00066.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00066.png diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00067.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00067.png similarity index 100% rename from modules/mogo-module-extensions/src/main/res/drawable-ldpi/mogo_tts_icon_00067.png rename to modules/mogo-module-apps/src/main/res/drawable-ldpi/mogo_tts_icon_00067.png diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_ai_assist.png new file mode 100755 index 0000000000000000000000000000000000000000..45e7c7fc5e2f19b8fffdd094eff6145e8380546b GIT binary patch literal 32785 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 M07*qoM6N<$f2><{9 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..e86c3454df79fb5ff10cf7c1be387e86e46f319e GIT binary patch literal 4091 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 literal 0 HcmV?d00001 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 new file mode 100755 index 0000000000000000000000000000000000000000..b95bc4576fff6adf812f78067a30a765de103db3 GIT binary patch literal 13351 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 literal 0 HcmV?d00001 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 new file mode 100755 index 0000000000000000000000000000000000000000..bcfdb9cfa94ed7502335c6b6b48ee19e5f1cfed0 GIT binary patch literal 10330 zcmZv?cRba9^f>-fLPomeUMty3T$}89?LEr4Mi<%AMT$aYUuEW&oh_@2=$eszZL&vk zuVh9>_V?xe`Fwwm?;pQE?s&W&uQQ%!pXWKz#)evS)U4D10MO}ZYnTE68T0vviUNER z`Q~>l0Nmu#(NHyiGPRyT>1Sav)_DU{s*%W4Wy~0+$_#n&(+r{}M@=0OA0|Fjwr}&)<-6#D`o3r~Hjhi*Rd1sr}&2JBQ zQ#NOOgFQBV_a?`kK3+6>q7mk}AFo>WtbS*GXi~uEQ(Q=ww*A@QEv4WV6FVhUT;|-1 z%b9jBiZdGQdQj}-*{t0;cx~UrCH_8>;POgYJzwmSXrFWH2)}~GnGgFo=beAEDN3h} zc3X5*EYp($H#UV{Eppfp6NJ@B{@&21&zc@@#_VS2Tz<3eskvlj1_{bJT$kVP@*1C$uX_4d+Rgj*tQk8yJEQ0$ zRoj?VcUrCX9rswMWtxrK!jaR9Q;#xo8 zjXbh*DnESI_NessTzE_qlJZ`nyy4Z*>8<8ceuEoE{(gQh%>jo&>uf1ikK7AG`s`(W zQ^=9|uQJ&K@+9HKhbK;*w6J@%y!tnR(GQ?}^Bcw?uCG(wrxD!3V! zj9nkj$gt&t0zJUFq)9qiu4TiiWlZR&8~9HJYl(L~tTw(GMBvA%s>jFD&e`h6Zgk_lUHM0Zfn?I@)o^s5 zO|_2tb86tN`NNS<_Z7-;m3ao$5pKfcpSt*Zu_v9*tZ~+LPW5%th8?^>_Vx!*zU8z- z`ut_TSsC%k2zd3Pfko_-Ex`PG^-|B1sbs751X_}Z<_I_S$nqM82wUjNtFi2%09|5zB6TtBfOd z$M?gcNII0vILHVa%YHwJW}^gIM3a)hPUjB?Mo;Bfcsx#;{5x`$GBu}=rf)gzt^%KL z@GvzK!;Xd*$KzQ2*zSm_9Vi3-zpP&*B=NcP+Hv6re_h$BJ2UH#z+iyUMw-OBBe7mO zrbFHsti5q^X8W?-9Xl$(pWb@<@WvCG7(pzuuCk()#SI!B43ZoQ7WedGbF=>bS;0PD za$EMEU(UsBZ*`BEE*E#gW1&8!Os~91xE%oa-{4UU?q-R&w7AG7e(#|p>>e3Vqes%&

u8(sF;% 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 literal 0 HcmV?d00001 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 new file mode 100755 index 0000000000000000000000000000000000000000..deee86ed158d9f8a824b944e713919ad0a9d6c81 GIT binary patch literal 11384 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png new file mode 100755 index 0000000000000000000000000000000000000000..f6ad6f732ad52df0393b2bcaf76f45725d2103d8 GIT binary patch literal 10390 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 + android:layout_height="match_parent"> + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml index 63bacfaa26..faac054011 100644 --- a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml @@ -20,4 +20,10 @@ 18px 50px 50px + + 140px + 140px + 30px + 64px + 64px \ No newline at end of file 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 2d59d27b6e..993c7c44b2 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 @@ -20,4 +20,10 @@ 35px 94px 94px + + 140px + 140px + 30px + 120px + 120px \ No newline at end of file diff --git a/modules/mogo-module-apps/src/main/res/values/dimens.xml b/modules/mogo-module-apps/src/main/res/values/dimens.xml index c534a52e39..b31ac60e8f 100644 --- a/modules/mogo-module-apps/src/main/res/values/dimens.xml +++ b/modules/mogo-module-apps/src/main/res/values/dimens.xml @@ -20,4 +20,10 @@ 37px 120px 120px + + 140px + 140px + 30px + 120px + 120px \ No newline at end of file diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java index feba1d3563..b356e030de 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java @@ -35,14 +35,11 @@ public class BackToMainHomeManager { public static void backToLauncher() { - if ( !mStatusManager.isSearchUIShow() ) { - mFragmentManager.clearAll(); - } - - if ( mStatusManager != null ) { - if ( mStatusManager.isMainPageOnResume() ) { - return; + if ( mStatusManager.isMainPageOnResume() ) { + if ( mStatusManager.isSearchUIShow() ) { + mFragmentManager.clearAll(); } + return; } Logger.d( TAG, "返回桌面" ); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java index eb6788ead6..41dffb39d1 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java @@ -11,11 +11,6 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.commons.voice.AIAssist; -import com.mogo.module.extensions.anim.AnimWrapper; -import com.mogo.service.MogoServicePaths; -import com.mogo.service.analytics.IMogoAnalytics; -import com.mogo.service.fragmentmanager.IMogoFragmentManager; /** * @author congtaowang @@ -29,24 +24,13 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP public static final int MAX_DISPLAY_MSG_AMOUNT = 99; - private ImageView mVoiceIcon; - private AnimWrapper mAnim = new AnimWrapper(); - private TextView mVoiceMsg; - - private TextView mTime; - private TextView mDate; - private View mWeatherContainer; private ImageView mWeatherIcon; private TextView mWeatherTemp; - private TextView mWeatherDesc; private View mMsgContainer; private TextView mMsgCounter; - private IMogoAnalytics mAnalytics; - private IMogoFragmentManager mMogoFragmentManager; - @Override protected int getLayoutId() { return R.layout.module_ext_layout_extensions; @@ -54,25 +38,10 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP @Override protected void initViews() { - mVoiceIcon = findViewById( R.id.module_ext_id_voice ); - mAnim.initAnim( mVoiceIcon ); - mVoiceMsg = findViewById( R.id.module_ext_id_voice_msg ); - - mVoiceIcon.setOnClickListener( view -> { - mVoiceMsg.performClick(); - } ); - mVoiceMsg.setOnClickListener( view -> { - AIAssist.startAssistant( getContext() ); - mAnalytics.track( "Launcher_xiaozhi_Click", null ); - } ); - - mTime = findViewById( R.id.module_ext_id_time ); - mDate = findViewById( R.id.module_ext_id_date ); 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 ); - mWeatherDesc = findViewById( R.id.module_ext_id_weather_desc ); mMsgContainer = findViewById( R.id.module_ext_id_msg ); mMsgContainer.setOnClickListener( view -> { @@ -90,35 +59,16 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP @Override public void onActivityCreated( @Nullable Bundle savedInstanceState ) { super.onActivityCreated( savedInstanceState ); - mAnalytics = ( IMogoAnalytics ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_ANALYTICS ).navigation( getContext() ); - mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation( getContext() ); - - mMogoFragmentManager.addMainFragmentStackTransactionListener( size -> { - // 主页 fragment 栈变化的时候,改变动画状态 - if ( size == 0 ) { - mAnim.start(); - } else { - mAnim.stop(); - } - } ); } @Override public void onResume() { super.onResume(); - mAnim.start(); } @Override public void onStop() { super.onStop(); - mAnim.stop(); - } - - @Override - public void renderTime( String date, String time ) { - mDate.setText( date ); - mTime.setText( time ); } @Override @@ -134,7 +84,6 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP hidden |= TextUtils.isEmpty( temp ); hidden |= TextUtils.isEmpty( desc ); mWeatherTemp.setText( temp ); - mWeatherDesc.setText( desc ); mWeatherContainer.setVisibility( hidden ? View.GONE : View.VISIBLE ); } @@ -143,11 +92,4 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP mMsgContainer.setVisibility( hasMsg ? View.VISIBLE : View.GONE ); mMsgCounter.setText( amount > MAX_DISPLAY_MSG_AMOUNT ? getString( R.string.module_ext_str_dots ) : String.valueOf( amount ) ); } - - @Override - public void renderAITipWords( String word ) { - if ( !TextUtils.isEmpty( word ) ) { - mVoiceMsg.setText( word ); - } - } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java index 6621be43bd..f779f76aec 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java @@ -1,13 +1,5 @@ package com.mogo.module.extensions; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; - import androidx.annotation.NonNull; import androidx.lifecycle.LifecycleOwner; @@ -20,23 +12,6 @@ import com.mogo.module.extensions.weather.WeatherModel; import com.mogo.service.MogoServicePaths; import com.mogo.service.statusmanager.IMogoMsgCenter; import com.mogo.service.statusmanager.IMogoMsgCenterListener; -import com.mogo.service.statusmanager.IMogoStatusChangedListener; -import com.mogo.service.statusmanager.IMogoStatusManager; -import com.mogo.service.statusmanager.StatusDescriptor; -import com.mogo.utils.UiThreadHandler; -import com.mogo.utils.WorkThreadHandler; -import com.mogo.utils.logger.Logger; - -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.Random; -import java.util.Set; /** @@ -46,136 +21,26 @@ import java.util.Set; * 描述 */ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback, - IMogoMsgCenterListener, - IMogoStatusChangedListener { + IMogoMsgCenterListener { private static final String TAG = "ExtensionsPresenter"; - private String[] mWeeks; - private WeatherModel mWeatherModel; - public static final int MSG_SWITCH_AI_TIP_WORDS = 4000; - public static final long INTERVAL_TIME = 8_000L; - private String[] mAITipWords; - private int mCurrentIndex = 0; - private Handler mHandler = new Handler( Looper.getMainLooper() ) { - @Override - public void handleMessage( Message msg ) { - super.handleMessage( msg ); - if ( msg.what == MSG_SWITCH_AI_TIP_WORDS ) { - if ( mView != null ) { - if ( mCurrentIndex < mAITipWords.length ) { - mView.renderAITipWords( mAITipWords[mCurrentIndex++] ); - } else { - mCurrentIndex = 0; - mHasTipWords = generateTipWordsSequence(); - } - } - if ( mHasTipWords ) { - mHandler.sendEmptyMessageDelayed( MSG_SWITCH_AI_TIP_WORDS, INTERVAL_TIME ); - } - } - } - }; - private boolean mHasTipWords = false; - - private boolean mHasStarted = false; - - /** - * 接收时间变化的广播 - */ - private BroadcastReceiver mReceiver = new BroadcastReceiver() { - @Override - public void onReceive( Context context, Intent intent ) { - try { - WorkThreadHandler.getInstance().post( () -> { - refreshTimeAndDate(); - } ); - } catch ( Exception e ) { - Logger.e( TAG, e, "error. " ); - } - } - }; - private IMogoMsgCenter mMsgCenter; - private IMogoStatusManager mStatusManager; - - private boolean generateTipWordsSequence() { - if ( mAITipWords != null && mAITipWords.length > 0 ) { - Random random = new Random( System.currentTimeMillis() ); - int loop = mAITipWords.length / 2; - int bound = mAITipWords.length; - for ( int i = 0; i < loop; i++ ) { - int target = random.nextInt( bound ); - int sweepTarget = random.nextInt( bound ); - if ( target != sweepTarget ) { - String targetStr = mAITipWords[target]; - mAITipWords[target] = mAITipWords[sweepTarget]; - mAITipWords[sweepTarget] = targetStr; - } - } - Logger.d( TAG, "next generate sequence: " + mAITipWords ); - return true; - } - return false; - } - public ExtensionsPresenter( ExtensionsView view ) { super( view ); - mWeeks = getContext().getResources().getStringArray( R.array.module_ext_str_arr_week ); - mAITipWords = getContext().getResources().getStringArray( R.array.module_ext_str_arr_ai_tips ); mWeatherModel = new WeatherModel( getContext() ); } @Override public void onCreate( @NonNull LifecycleOwner owner ) { super.onCreate( owner ); - registerTimerReceiver(); mWeatherModel.init( this ); mWeatherModel.queryWeatherInformation(); - refreshTimeAndDate(); mMsgCenter = ( IMogoMsgCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_MSG_CENTER ).navigation(); mMsgCenter.registerMsgCenterListener( this ); - mHasTipWords = generateTipWordsSequence(); - - mStatusManager = ( IMogoStatusManager ) ARouter.getInstance().build( MogoServicePaths.PATH_STATUS_MANAGER ).navigation(); - mStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.APP_LIST_UI, this ); - mStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.SEARCH_UI, this ); - } - - /** - * 注册时间变化监听 - */ - private void registerTimerReceiver() { - IntentFilter filter = new IntentFilter(); - filter.addAction( Intent.ACTION_TIME_TICK ); - filter.addAction( Intent.ACTION_TIME_CHANGED ); - filter.addAction( Intent.ACTION_TIMEZONE_CHANGED ); - filter.addAction( Intent.ACTION_CONFIGURATION_CHANGED ); - getContext().registerReceiver( mReceiver, filter ); - } - - private void refreshTimeAndDate() { - Calendar calendar = Calendar.getInstance(); - int hour = calendar.get( Calendar.HOUR_OF_DAY ); - int minute = calendar.get( Calendar.MINUTE ); - - int month = calendar.get( Calendar.MONTH ); - int day = calendar.get( Calendar.DAY_OF_MONTH ); - int week = calendar.get( Calendar.DAY_OF_WEEK ); - - String timeStr = getContext().getResources().getString( R.string.module_ext_str_time_format, hour, minute > 9 ? String.valueOf( minute ) : "0" + minute ); - String dateStr = getContext().getResources().getString( R.string.module_ext_str_date_format, month + 1, day, mWeeks[week - 1] ); - - UiThreadHandler.post( () -> { - try { - mView.renderTime( dateStr, timeStr ); - } catch ( Exception e ) { - e.printStackTrace(); - } - } ); } @Override @@ -197,43 +62,14 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements } } - @Override - public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { - switch ( descriptor ) { - case APP_LIST_UI: - case SEARCH_UI: -// changeAutoSwitchVoiceTipsWordsStatus( !isTrue ); - break; - } - } - @Override public void onResume( @NonNull LifecycleOwner owner ) { super.onResume( owner ); -// changeAutoSwitchVoiceTipsWordsStatus( true ); } @Override public void onPause( @NonNull LifecycleOwner owner ) { super.onPause( owner ); -// changeAutoSwitchVoiceTipsWordsStatus( true ); - } - - private void changeAutoSwitchVoiceTipsWordsStatus( boolean autoChange ) { - if ( !mHasTipWords ) { - return; - } - if ( mHasStarted ) { - return; - } - mHasStarted = true; - if ( autoChange ) { - mHandler.sendEmptyMessageDelayed( MSG_SWITCH_AI_TIP_WORDS, INTERVAL_TIME ); - Logger.d( TAG, "auto switch" ); - } else { - mHandler.removeMessages( MSG_SWITCH_AI_TIP_WORDS ); - Logger.d( TAG, "stop auto switch" ); - } } @Override @@ -242,7 +78,6 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements if ( mWeatherModel != null ) { mWeatherModel.destroy(); } - getContext().unregisterReceiver( mReceiver ); if ( mMsgCenter != null ) { mMsgCenter.unregisterMsgCenterListener( this ); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java index 91f3d5e19c..fa1ef5e128 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java @@ -11,14 +11,6 @@ import com.mogo.module.extensions.weather.WeatherInfo; */ public interface ExtensionsView extends IView { - /** - * 刷新日期、时间 - * - * @param date 日期 - * @param time 时间 - */ - void renderTime( String date, String time ); - /** * 天气信息 * @@ -35,11 +27,4 @@ public interface ExtensionsView extends IView { * @param amount 消息数量 */ void renderMsgInfo( boolean hasMsg, int amount ); - - /** - * 更换小智语音提示词 - * - * @param word - */ - void renderAITipWords( String word ); } 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 41275ad0cc..bc82a3cdc3 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 @@ -1,12 +1,12 @@ package com.mogo.module.extensions.entrance; import android.content.Intent; +import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; -import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -17,16 +17,13 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.map.MogoLatLng; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.location.MogoLocation; import com.mogo.map.marker.IMogoMarkerManager; -import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoAimlessModeListener; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.navi.IMogoNaviListener; -import com.mogo.map.navi.MogoCongestionInfo; import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; @@ -39,7 +36,6 @@ 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.dialog.NaviNoticeDialog; import com.mogo.module.extensions.navi.NaviInfoView; import com.mogo.module.share.ShareControl; import com.mogo.service.IMogoServiceApis; @@ -49,12 +45,11 @@ import com.mogo.service.entrance.ButtonIndex; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.map.IMogoMapService; -import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; -import com.mogo.utils.UiThreadHandler; +import com.mogo.utils.ResourcesHelper; import com.mogo.utils.logger.Logger; import java.util.HashMap; @@ -82,15 +77,15 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private TextView mUpload; private ImageView mUploading; - private View mVRMode; private View mMove2CurrentLocation; private NaviInfoView mNaviInfo; private TextView mExitNavi; - private View mSpeedLimit; - private TextView mSpeedLimitValue; - private View mSpeedLimitUnit; + + private View mDisplayOverview; + private ImageView mDisplayOverviewIcon; + private TextView mDisplayOverviewText; private IMogoServiceApis mApis; private IMogoMapService mService; @@ -165,6 +160,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent public static final int MSG_STOP_ANIM = 308; public static final long TIME_FRAME_INTERVAL_TIME = 80; + private Rect mDisplayOverviewBounds; + @Override protected int getLayoutId() { return R.layout.module_ext_layout_entrance; @@ -193,15 +190,24 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent traceData( "1" ); } } ); - mVRMode = findViewById( R.id.module_entrance_id_vr_mode ); - mVRMode.setOnClickListener( view -> { + + mDisplayOverview = findViewById( R.id.module_ext_id_display_overview ); + mDisplayOverviewText = findViewById( R.id.module_ext_id_display_overview_text ); + mDisplayOverviewIcon = findViewById( R.id.module_ext_id_display_overview_icon ); + mDisplayOverview.setOnClickListener( view -> { + if ( !mStatusManager.isDisplayOverview() ) { + mMApUIController.displayOverview( mDisplayOverviewBounds ); + } else { + mMApUIController.recoverLockMode(); + } + mStatusManager.setDisplayOverview( TAG, !mStatusManager.isDisplayOverview() ); } ); mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location ); mMove2CurrentLocation.setOnClickListener( view -> { final MogoLocation location = mMogoLocationClient.getLastKnowLocation(); if ( location != null ) { - if ( !mMogoStatusManager.isADASShow() ) { + if ( !mMogoStatusManager.isV2XShow() ) { mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); mMApUIController.setLockZoom( 16 ); mMApUIController.changeZoom( 16.0f ); @@ -218,6 +224,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent 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 ) -> { @@ -244,10 +251,6 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mCameraMode.setText( getString( mCameraMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) ); } ); - mSpeedLimit = findViewById( R.id.module_entrance_id_speed_limit_container ); - mSpeedLimitValue = findViewById( R.id.module_entrance_id_speed_limit_value ); - mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit ); - mApis.getIntentManagerApi().registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() { @Override @@ -268,6 +271,12 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent 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 ), + ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_top_margin ), + ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_right_margin ), + ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_bottom_margin ) + ); } private static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV"; @@ -296,6 +305,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mMogoMarkerManager = mService.getMarkerManager( getContext() ); mMogoStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.UPLOADING, this ); + mMogoStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.DISPLAY_OVERVIEW, this ); } @Override @@ -343,22 +353,21 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent @Override public void onStartNavi() { mNaviInfo.setVisibility( View.VISIBLE ); - mCameraMode.setVisibility( View.VISIBLE ); mExitNavi.setVisibility( View.VISIBLE ); mMApUIController.changeMapMode( mCameraMode.isSelected() ? EnumMapUI.NorthUP_2D : EnumMapUI.CarUp_2D ); MapCenterPointStrategy.setMapCenterPointBySceneAndDelay( mMApUIController, Scene.NAVI, 500, () -> { return !mMogoNavi.isNaviing(); } ); + mDisplayOverview.setVisibility( View.VISIBLE ); mApis.getAnalyticsApi().track( "Navigation_begin", new HashMap<>() ); } @Override public void onStopNavi() { mNaviInfo.setVisibility( View.GONE ); - mCameraMode.setVisibility( View.GONE ); mExitNavi.setVisibility( View.GONE ); - mSpeedLimit.setVisibility( View.GONE ); mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D ); + mDisplayOverview.setVisibility( View.GONE ); MapCenterPointStrategy.setMapCenterPointByScene( mMApUIController, Scene.AIMLESS ); } @@ -367,14 +376,6 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent if ( traffic == null ) { return; } - if ( traffic.getSpeedLimit() <= 0 ) { - mSpeedLimit.setVisibility( View.INVISIBLE ); - mSpeedLimitValue.setText( "--" ); - } else { - // 暂时不显示限速,等有好的显示方案在放开 - mSpeedLimit.setVisibility( View.INVISIBLE ); - mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) ); - } } @Override @@ -396,34 +397,6 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mAnalytics.track( "Launcher_Share_Click", properties ); } - @Override - public void showNaviPanelWidgets() { - if ( !mMogoNavi.isNaviing() ) { - return; - } - mNaviInfo.setVisibility( View.VISIBLE ); - mCameraMode.setVisibility( View.VISIBLE ); - try { - mApis.getWindowManagerApi().showAll(); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); - } - } - - @Override - public void hideNaviPanelWidgets() { - if ( !mMogoNavi.isNaviing() ) { - return; - } - mNaviInfo.setVisibility( View.GONE ); - mCameraMode.setVisibility( View.GONE ); - try { - mApis.getWindowManagerApi().hideAll(); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); - } - } - @Override public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { if ( mUploadRoadCondition == null ) { @@ -446,6 +419,17 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mUploading.setVisibility( View.GONE ); mUpload.setVisibility( View.VISIBLE ); } + } else if ( descriptor == StatusDescriptor.DISPLAY_OVERVIEW ) { + if ( !mMogoNavi.isNaviing() ) { + return; + } + if ( isTrue ) { + mDisplayOverviewText.setText( "退出全览" ); + mCameraMode.setVisibility( View.GONE ); + } else { + mDisplayOverviewText.setText( "全览" ); + mCameraMode.setVisibility( View.VISIBLE ); + } } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index 2f1d174767..41e6ccc4fa 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -2,7 +2,6 @@ package com.mogo.module.extensions.entrance; import android.content.Context; import android.content.Intent; -import android.net.Uri; import android.text.TextUtils; import android.util.Log; @@ -13,7 +12,6 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; -import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.share.ShareControl; @@ -22,9 +20,7 @@ import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; -import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; -import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; import org.json.JSONObject; @@ -40,7 +36,7 @@ import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerCons *

* 描述 */ -public class EntrancePresenter extends Presenter< EntranceView > implements IMogoStatusChangedListener { +public class EntrancePresenter extends Presenter< EntranceView > { private Context mContext; private IMogoAnalytics mAnalytics; @@ -82,7 +78,7 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog Log.d( TAG, "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) + " >>>cmd = " + cmd ); mVoiceCmdType = cmd; if ( cmd.equals( ExtensionsModuleConst.CANCLE_SHARE ) - /*|| cmd.equals( ExtensionsModuleConst.CLOSE ) */) { //取消分享,关闭页面 + /*|| cmd.equals( ExtensionsModuleConst.CLOSE ) */ ) { //取消分享,关闭页面 if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) { mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE ); } else { @@ -129,7 +125,6 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog @Override public void onCreate( @NonNull LifecycleOwner owner ) { super.onCreate( owner ); - mStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.DISPLAY_OVERVIEW, this ); } /** @@ -276,7 +271,7 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog } private void uploadRoadCondition() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); + mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true ); traceTanluData( "2" ); sendShareReceiver( "1" ); @@ -286,7 +281,7 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog } private void uploadTrfficCheck() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); + mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true ); sendShareReceiver( "2" ); Logger.d( "EntrancePresenter", "mogoIntentListener 分享交通检查 ----> " ); traceTypeData( "3" ); @@ -294,7 +289,7 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog } private void uploadRoadClosed() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); + mStatusManager.setUploadingStatus( "CARD_TYPE_ROAD_CONDITION", true ); sendShareReceiver( "3" ); Logger.d( "EntrancePresenter", "mogoIntentListener 分享封路 ----> " ); traceTypeData( "4" ); @@ -364,15 +359,4 @@ public class EntrancePresenter extends Presenter< EntranceView > implements IMog AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK ); AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE ); } - - @Override - public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { - if ( descriptor == StatusDescriptor.DISPLAY_OVERVIEW ) { - if ( isTrue ) { - mView.hideNaviPanelWidgets(); - } else { - mView.showNaviPanelWidgets(); - } - } - } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceView.java index 6309e1b02c..55f070eb71 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceView.java @@ -10,7 +10,4 @@ import com.mogo.commons.mvp.IView; */ public interface EntranceView extends IView { - void showNaviPanelWidgets(); - - void hideNaviPanelWidgets(); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java index a0c76b7dad..700c23d406 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView.java @@ -51,21 +51,58 @@ public abstract class BaseNaviInfoView extends RelativeLayout { protected void fillNextCrossDistance( TextView target, TextView unit, int distance ) { if ( distance >= 1000 ) { target.setText( String.format( "%.1f", distance / 1000f ) ); - unit.setText( "公里" ); + unit.setText( "km" ); } else { target.setText( distance + "" ); - unit.setText( "米" ); + unit.setText( "m" ); } } protected void fillFormatSurplusDistance( int m, StringBuilder builder ) { if ( m >= 1000 ) { - builder.append( String.format( "%.1f公里", m / 1000f ) ); + builder.append( String.format( "%.1fkm", m / 1000f ) ); } else { - builder.append( m ).append( "米" ); + builder.append( m ).append( "m" ); } } + protected String getFormatSurplusDistance( int m ) { + if ( m >= 1000 ) { + mFormatSurplusDistanceUnit = "km"; + return String.format( "%.1f", m / 1000f ); + } else { + mFormatSurplusDistanceUnit = "m"; + return String.format( "%d", m ); + } + } + + private String mFormatSurplusDistanceUnit = ""; + + protected String getFormatSurplusDistanceUnit() { + return mFormatSurplusDistanceUnit; + } + + protected String getFormatSurplusTime( int seconds ) { + if ( seconds > 60 * 60 ) { + mFormatSurplusDistanceUnit = "h"; + return String.format( "%.1f", ( ( float ) seconds ) / 60 * 60 ); + } + + if ( seconds > 60 ) { + mFormatSurplusTimeUnit = "min"; + return String.format( "%.1f", ( ( float ) seconds ) / 60 ); + } + + mFormatSurplusTimeUnit = "s"; + return String.format( "%d", seconds ); + } + + private String mFormatSurplusTimeUnit = ""; + + protected String getFormatSurplusTimeUnit() { + return mFormatSurplusTimeUnit; + } + protected void fillFormatTime( int seconds, StringBuilder builder ) { int days = seconds / ( 24 * 60 * 60 ); if ( days > 0 ) { @@ -81,6 +118,29 @@ public abstract class BaseNaviInfoView extends RelativeLayout { builder.append( min > 1 ? min : 1 ).append( "分钟" ); } + protected String getArriveTime( int seconds ) { + int days = seconds / ( 24 * 60 * 60 ); + if ( days > 0 ) { + return String.format( "%d天后", days ); + } else { + seconds -= days * 24 * 60 * 60; + int hours = seconds / ( 60 * 60 ); + seconds -= hours * 60 * 60; + int min = seconds / 60; + Calendar calendar = Calendar.getInstance(); + int curHour = calendar.get( Calendar.HOUR_OF_DAY ); + int curMin = calendar.get( Calendar.MINUTE ); + if ( curHour + hours + ( curMin + min ) / 60 > 24 ) { + return "一天后"; + } else { + calendar.add( Calendar.HOUR_OF_DAY, hours ); + calendar.add( Calendar.MINUTE, min ); + SimpleDateFormat dateFormat = new SimpleDateFormat( "HH:mm" ); + return dateFormat.format( calendar.getTime() ); + } + } + } + protected void fillArriveTime( int seconds, StringBuilder builder ) { int days = seconds / ( 24 * 60 * 60 ); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView.java index 8c34869f9c..c15abd7991 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView.java @@ -23,9 +23,12 @@ public class NaviInfoView extends BaseNaviInfoView { private TextView distance; private TextView distanceUnit; private TextView nextRoad; - private TextView estimateInfo; - private StringBuilder mBuilder = new StringBuilder(); + private TextView remainingDistance; + private TextView remainingDistanceUnit; + private TextView remainingTime; + private TextView remainingTimeUnit; + private TextView arriveTime; public NaviInfoView( Context context ) { this( context, null ); @@ -42,7 +45,12 @@ public class NaviInfoView extends BaseNaviInfoView { distance = findViewById( R.id.module_map_id_navi_next_info_distance ); distanceUnit = findViewById( R.id.module_map_id_navi_next_info_distance_unit ); nextRoad = findViewById( R.id.module_map_id_navi_next_info_road ); - estimateInfo = findViewById( R.id.module_map_id_navi_arrive_destination_estimate_info ); + + remainingDistance = findViewById( R.id.module_map_id_remaining_distance ); + remainingDistanceUnit = findViewById( R.id.module_map_id_remaining_distance_unit ); + remainingTime = findViewById( R.id.module_map_id_remaining_time ); + remainingTimeUnit = findViewById( R.id.module_map_id_remaining_time_unit ); + arriveTime = findViewById( R.id.module_map_id_arrive_time ); } @Override @@ -55,46 +63,12 @@ public class NaviInfoView extends BaseNaviInfoView { fillNextCrossIconType( turnIcon, naviInfo.getIconResId() ); nextRoad.setText( naviInfo.getNextRoadName() ); - try { - mBuilder.delete( 0, mBuilder.length() ); - } catch ( Exception e ) { - e.printStackTrace(); - } - mBuilder.append( "剩余" ); - fillFormatSurplusDistance( naviInfo.getPathRetainDistance(), mBuilder ); - mBuilder.append( " " ); - fillFormatTime( naviInfo.getPathRetainTime(), mBuilder ); - mBuilder.append( "\n" ); - fillArriveTime( naviInfo.getPathRetainTime(), mBuilder ); + remainingDistance.setText( getFormatSurplusDistance( naviInfo.getPathRetainDistance() ) ); + remainingDistanceUnit.setText( getFormatSurplusDistanceUnit() ); - final String text = mBuilder.toString(); - estimateInfo.setText( text ); - } + remainingTime.setText( getFormatSurplusTime( naviInfo.getPathRetainTime() ) ); + remainingTimeUnit.setText( getFormatSurplusTimeUnit() ); - /** - * 获取当行信息 - * - * @return - */ - public String getGuideInfo() { - StringBuilder builder = new StringBuilder(); - if ( getVisibility() == VISIBLE ) { - builder.append( distance.getText() ); - builder.append( nextRoad.getText() ); - } - return builder.toString(); - } - - /** - * 获取剩余里程 - * - * @return - */ - public String getPathRetainDistance() { - StringBuilder builder = new StringBuilder(); - if ( getVisibility() == VISIBLE ) { - builder.append( estimateInfo.getText() ); - } - return builder.toString(); + arriveTime.setText( getArriveTime( naviInfo.getPathRetainTime() ) ); } } diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png deleted file mode 100755 index 09af5d28bdfed0c4782c8d08e9861b13f956df2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmV;^0WAKBP)Px$jY&j7R7ef&mAy&>K@^2|5-mi*!auYS323KS=o8pl8t@SW8^t%U(O!ES1q(Y# zXQ_>qMFc^Jg@pzb6;Tl}<9EXjZk90KT_Xh910TDybLO7SFnbdOnX(=DZ#!VLKge1u z-bomRHz*rps$Bn0gcji%qN*_{fxJj-MbS>!2hk;LfV{*K?7%xbL9wOD6kG?<7Iejn z^K1&v;T6W?^Qp!ZnuZT3`3f*U0TO)d^Qq@3v<;%dPmAzu)}7YM;ZrH+am_Gy!^y39 zJZ|bFypc63`GWhYaG|R5?Hf?~17EOwx1Y*F&Zq7RzF=i$I$L`Mb3$dydcZ1wkMnga z{mpFz&xfDKT60I^Q@lBl&UOX)#@PfT79YVg^lF#kT?WyDW=%)j#KIAt%|RKYCyQqY z9^nO|8e~v|J8;`9!3U5`1m)oj(rPtXV#H0NfiWnAoN|?Zycmw9KktHQ1)Og{4n9uDc_dt5VRJJ4P`@C6ofZG?@V6Dj}z002ov JPDHLkV1nXo$E^SW diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_display_overview.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_display_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..9adb3bbe3003382d0bd079da49f72be12d5b6886 GIT binary patch literal 1484 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 FV1nt!5@P@W literal 0 HcmV?d00001 diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_bkg.xml index 58d86caa09..670765d49a 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_bkg.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_bkg.xml @@ -1,9 +1,8 @@ - - - + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_container_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_container_bkg.xml new file mode 100644 index 0000000000..12a3b15758 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_msg_container_bkg.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_weather_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_weather_bkg.xml new file mode 100644 index 0000000000..700b8df8e0 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_drawable_weather_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_dw_common_corner_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_common_corner_bkg.xml index e90fdc8ce3..9c3715fa3a 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_common_corner_bkg.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_common_corner_bkg.xml @@ -1,15 +1,9 @@ - + - - - - - - - - + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_bkg.xml index f21cba570e..c364a86f0c 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_bkg.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_navi_info_panel_bkg.xml @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_upload_road_condition_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_upload_road_condition_bkg.xml index 375afdd8f9..16e096724d 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_upload_road_condition_bkg.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_upload_road_condition_bkg.xml @@ -1,15 +1,9 @@ - - - - - - - - - - + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml index bb02f81c07..c2e7581ff4 100644 --- a/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml +++ b/modules/mogo-module-extensions/src/main/res/drawable/shape_react_gray_round.xml @@ -1,11 +1,12 @@ - + - + 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 6e91ac92d1..77d36f91e1 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 @@ -5,99 +5,70 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - - - + + + + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toBottomOf="@+id/module_entrance_id_navi_info_panel" + tools:visibility="visible"> + + + + + + - - - - - - - + app:layout_goneMarginBottom="@dimen/module_ext_operation_panel_share_goneMarginBottom"> @@ -149,8 +117,6 @@ android:id="@+id/module_entrance_id_buttons_container" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="@dimen/module_ext_button_container_marginLeft" - android:layout_marginBottom="@dimen/module_ext_button_container_marginBottom" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent"> diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml index 1e6cd901f3..87b42bda50 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml @@ -4,85 +4,21 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="@dimen/module_ext_height" - android:orientation="vertical" - android:paddingLeft="@dimen/module_ext_paddingLeft" - android:paddingRight="@dimen/module_ext_paddingRight"> - - - - - - - - - - - - - - + android:orientation="vertical"> + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible"> - - - - - + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible"> + android:layout_gravity="center" + android:scaleType="fitXY" + android:src="@drawable/module_ext_ic_message2" /> + android:background="@drawable/module_ext_dw_navi_info_panel_bkg"> - + android:orientation="vertical"> - + + + + + + + + + + + + + + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:orientation="horizontal"> - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml index 57dca9bae6..b1ced3e457 100644 --- a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml @@ -59,8 +59,7 @@ 64px 32px 32px - 64px - 64px + 22px 28px 22px @@ -78,8 +77,8 @@ 11.73px - 244px - 170px + 1058px + 210px 85px 85px 13px @@ -87,8 +86,8 @@ 20px 32px 7px - 8px - 16px + 5px + 40px 15px 24px @@ -99,4 +98,18 @@ 18px 18px -1px + + 30px + 40px + 40px + 15px + 15px + 5px + + + 534px + 100px + 68px + 32px + 240px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index c4c5d9e9a2..b062b26c4a 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -29,18 +29,18 @@ 32px 2px - 90px + 120px 32px 60px 92px 24px 48px 2px - 90px - 90px - 90px + 120px + 120px + 120px 40px - 24px + 30px 32px 32px @@ -57,8 +57,6 @@ 120px 60px 60px - 120px - 120px 32px 48px 80px @@ -70,14 +68,14 @@ 34px 26px 28px - 28px + 30px 30px 30px 20px - 458px - 318px + 1058px + 210px 159px 159px 24px @@ -85,8 +83,8 @@ 40px 60px 12px - 16px - 28px + 10px + 40px 28px 24px 28px @@ -97,4 +95,18 @@ 36px -2px + 30px + 40px + 40px + 15px + 15px + 5px + + + 952px + 170px + 122px + 61px + 240px + \ 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 027c19d25e..65fd20b2ac 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -29,18 +29,18 @@ 32px 2px - 90px + 120px 32px 60px 92px 24px 48px 2px - 90px - 90px - 90px + 120px + 120px + 120px 40px - 24px + 30px 32px 32px @@ -57,8 +57,7 @@ 120px 60px 60px - 120px - 120px + 32px 48px 80px @@ -70,14 +69,14 @@ 34px 26px 28px - 28px + 30px 30px 30px 20px - 458px - 318px + 1058px + 210px 159px 159px 24px @@ -85,8 +84,8 @@ 10px 60px 12px - 16px - 28px + 10px + 40px 28px 24px 28px @@ -97,4 +96,28 @@ 36px -2px + 30px + 40px + 40px + 15px + 15px + 5px + 37px + 26px + 37px + 26px + 37px + 26px + 50px + 15px + 15px + + + 952px + 170px + 122px + 61px + 30px + 240px + \ No newline at end of file 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 b46e8c7656..f4b8d04f5a 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 @@ -23,7 +23,6 @@ import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.module.common.map.MapCenterPointStrategy; import com.mogo.module.common.map.Scene; -import com.mogo.module.main.cards.CardIntroduceConfigs; import com.mogo.module.main.cards.MogoModulesHandler; import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.module.main.windowview.FloatingViewHandler; @@ -63,24 +62,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme private FrameLayout mFloatingLayout; private FrameLayout mCoverUpLayout; private View mLeftShadowFrame; - private View mTopShadowFrame; /** * 主模块管控定位,可以向各个模块发送统一定位信息 */ private IMogoLocationClient mLocationClient; - private int mCurrentPosition = 0; - - private ViewPager.OnPageChangeListener mOnPageChangeListener; - - /** - * 手势切换卡片必须为true - *

- * 业务切换则由业务控制 - */ - private boolean mLockCarStatus = true; - @Override protected int getLayoutId() { return R.layout.module_main_activity_main; @@ -96,7 +83,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container ); mFloatingLayout = findViewById( R.id.module_main_id_floating_view ); mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame ); - mTopShadowFrame = findViewById( R.id.module_main_id_map_top_shadow_frame ); mCoverUpLayout = findViewById( R.id.module_main_id_cover_up ); // 避免事件穿透导致地图被滑动 @@ -112,7 +98,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mEntrance.setVisibility( View.GONE ); mFloatingLayout.setVisibility( View.GONE ); mLeftShadowFrame.setVisibility( View.GONE ); - mTopShadowFrame.setVisibility( View.GONE ); } // 显示布局 @@ -122,7 +107,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mEntrance.setVisibility( View.VISIBLE ); mFloatingLayout.setVisibility( View.VISIBLE ); mLeftShadowFrame.setVisibility( View.VISIBLE ); - mTopShadowFrame.setVisibility( View.VISIBLE ); } @Override @@ -166,7 +150,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme // 显示左边遮罩 mLeftShadowFrame.setVisibility( View.VISIBLE ); - mTopShadowFrame.setVisibility( View.VISIBLE ); // 右移地图中心点 mMogoMapUIController = mMogoMapService.getMapUIController(); @@ -255,7 +238,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme protected void onPause() { super.onPause(); mMogoStatusManager.setMainPageResumeStatus( TAG, false ); - CardIntroduceConfigs.flush( getApplicationContext() ); mServiceApis.getAdasControllerApi().closeADAS(); } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index bc4f9ae071..5834ab346d 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -42,7 +42,6 @@ public class MogoModulesManager implements MogoModulesHandler { } this.mActivity = activity; EventDispatchCenter.getInstance().registerReceiver( apis.getIntentManagerApi() ); - CardIntroduceConfigs.init( getContext(), apis ); } private Context getContext() { diff --git a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml index b9d160ac66..08a1055bcc 100644 --- a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml +++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml @@ -2,7 +2,13 @@ - + \ No newline at end of file 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 9ba1c6ea16..9965a54479 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 @@ -1,5 +1,6 @@ @@ -10,51 +11,36 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> - - + android:visibility="gone" + tools:visibility="visible" /> + + android:layout_height="@dimen/module_ext_height" + android:layout_marginLeft="@dimen/module_main_header_fragment_container_marginLeft" + android:layout_marginTop="@dimen/module_main_header_fragment_container_marginTop" /> + - - - - - - - + android:padding="@dimen/module_main_apps_fragment_container_padding" /> + android:padding="@dimen/module_main_entrance_fragment_container_padding" + android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft" /> + android:background="@drawable/module_main_launcher_bg" + android:visibility="visible" + tools:visibility="gone" /> \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml index f94f83a779..410eaa7f32 100644 --- a/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values-ldpi/dimens.xml @@ -1,7 +1,7 @@ - 384px + 200px 8px 352px 370px @@ -16,4 +16,11 @@ 320px 319px + 200px + 30px + 30px + 830px + 800px + 30px + \ No newline at end of file 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 05f521641d..4d1f9fdb5b 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 @@ -1,7 +1,7 @@ - 720px + 200px 10px 660px 690px @@ -15,4 +15,11 @@ 600px 599px + 200px + 30px + 30px + 830px + 800px + 30px + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml index 9b62f05a55..3589fe1e5d 100644 --- a/modules/mogo-module-main/src/main/res/values/dimens.xml +++ b/modules/mogo-module-main/src/main/res/values/dimens.xml @@ -1,7 +1,7 @@ - - 720px + + 200px 10px 660px 690px @@ -12,4 +12,11 @@ 15px 270px 352px + + 200px + 30px + 30px + 830px + 800px + 30px \ No newline at end of file diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryPresenter.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryPresenter.java index 13ca942301..3e4c2924e5 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryPresenter.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryPresenter.java @@ -1,9 +1,14 @@ package com.mogo.module.navi.ui.search; +import android.location.Location; + import androidx.annotation.NonNull; import androidx.lifecycle.LifecycleOwner; +import com.amap.api.maps.model.LatLng; import com.mogo.commons.mvp.Presenter; +import com.mogo.map.MogoLatLng; +import com.mogo.map.location.MogoLocation; import com.mogo.map.search.geo.MogoPoiItem; import com.mogo.map.search.poisearch.IMogoPoiSearch; import com.mogo.map.search.poisearch.IMogoPoiSearchListener; @@ -37,7 +42,7 @@ public class CategoryPresenter extends Presenter< CategoryView > { MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery( keyword, keyword ); poiSearchQuery.setPageSize( 10 ); - poiSearchQuery.setLocation( SearchApisHolder.getUiControllerApis().getWindowCenterLocation() ); + poiSearchQuery.setLocation( getCurrentLatLon() ); IMogoPoiSearch poiSearch = SearchApisHolder.getMapServiceApis().getPoiSearch( getContext(), poiSearchQuery ); poiSearch.setPoiSearchListener( new IMogoPoiSearchListener() { @@ -56,6 +61,26 @@ public class CategoryPresenter extends Presenter< CategoryView > { poiSearch.searchPOIAsyn(); } + private MogoLatLng getCurrentLatLon() { + MogoLatLng latLon = SearchApisHolder.getNaviApis().getCarLocation(); + if ( latLon == null ) { + Location location = SearchApisHolder.getNaviApis().getCarLocation2(); + if ( location != null ) { + latLon = new MogoLatLng( location.getLatitude(), location.getLongitude() ); + } + } + if ( latLon == null ) { + MogoLocation location = SearchApisHolder.getLocationClientApis().getLastKnowLocation(); + if ( location != null ) { + latLon = new MogoLatLng( location.getLatitude(), location.getLongitude() ); + } + } + if ( latLon == null ) { + latLon = SearchApisHolder.getUiControllerApis().getWindowCenterLocation(); + } + return latLon; + } + @Override public void onDestroy( @NonNull LifecycleOwner owner ) { diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index 1d5fc1d0af..4dccdb5b3f 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -16,6 +16,7 @@ import com.mogo.map.marker.MogoMarkerOptions import com.mogo.map.search.geo.MogoPoiItem import com.mogo.module.common.map.MapCenterPointStrategy import com.mogo.module.common.map.Scene +import com.mogo.module.common.utils.CarSeries import com.mogo.module.navi.R import com.mogo.module.navi.constants.SearchApisHolder import com.mogo.module.navi.manager.AddressManager @@ -30,10 +31,6 @@ import kotlinx.android.synthetic.main.fragment_search_category.* * 2020-01-09. */ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBack, IMogoMarkerClickListener { -// override fun onMarkerClicked(marker: IMogoMarker?): Boolean { -// -// return true -// } override fun onCmdSelected(cmd: String?) { if (cmd?.startsWith("position") == true) { @@ -44,24 +41,13 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa } } - override fun onCmdAction(speakText: String?) { - } - - override fun onCmdCancel(speakText: String?) { - } - - override fun onSpeakEnd(speakText: String?) { - } - - override fun onSpeakSelectTimeOut(speakText: String?) { - } - private val TAG: String = "CategorySearchFragment" private var addMarkers: ArrayList = ArrayList() var arrayList = ArrayList() var locationList = ArrayList() private lateinit var cmds: ArrayList + override fun renderSearchPoiResult(datums: List?) { mAdapter.setDatas(datums) cv_search_result.visibility = View.VISIBLE @@ -88,7 +74,9 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa // .anchor(0.5f, 1f) .longitude(datums[index].point?.lng ?: 0.0) arrayList.add(options) - locationList.add(datums[index].point) + if( locationList.size < 3 ){ + locationList.add(datums[index].point) + } var int2String = StringUtils.int2String(index + 1) AIAssist.getInstance(context).registerUnWakeupCommand("position${index}", arrayOf("第${int2String}个", "第${int2String}条"), this) @@ -102,10 +90,10 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa addMarkers.clear() var marginBounder = resources.getDimensionPixelSize(R.dimen.dp_60) * 2 SearchApisHolder.getUiControllerApis().showBounds(TAG, - null, + locationList[0], locationList, Rect(cv_search_result.width + marginBounder, marginBounder, marginBounder, marginBounder), - false + true ) for (options in arrayList) { @@ -200,7 +188,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa arrayList.get(mAdapter.current).icon(getMarkerIcon(mAdapter.current)) if (moveToCenter) { SearchApisHolder.getStatusManager().setUserInteractionStatus(TAG, true, false) - SearchApisHolder.getUiControllerApis().moveToCenter(current.position, true) + SearchApisHolder.getUiControllerApis().moveToCenter(current.position, CarSeries.CAR_SERIES_F80X == CarSeries.getSeries()) } } @@ -236,10 +224,6 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa } } - override fun onDestroy() { - super.onDestroy() - } - companion object { fun newInstance(category: String): Fragment { MapCenterPointStrategy.setMapCenterPointByScene(SearchApisHolder.getUiControllerApis(), Scene.CATEGORY_SEARCH) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryView.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryView.java index fad125dcb7..d18de66647 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryView.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategoryView.java @@ -19,6 +19,4 @@ public interface CategoryView extends IView { * @param datums */ void renderSearchPoiResult(List datums); - - }