From ff7389fe5c571559758294e541d645591e8efa3e Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Sun, 27 Sep 2020 11:02:16 +0800 Subject: [PATCH 01/11] opt --- .idea/misc.xml | 2 +- .../extensions/entrance/EntranceFragment.java | 36 +++++++++++++++---- .../entrance/EntrancePresenter.java | 1 - .../extensions/net/GetConfigApiServices.java | 3 -- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 21e99e2dc0..cd77a1f062 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file 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 c9de4dc5cb..49392a87a6 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 @@ -147,6 +147,8 @@ public class EntranceFragment extends MvpFragment ONE_DAY_TIME) { SharedPrefsMgr.getInstance(getContext()).putLong(KEY_CLICK_SHARE_TIME, time); SharedPrefsMgr.getInstance(getContext()).putInt(KEY_CLICK_SHARE_BUTTON, ++shareItemSum); - AIAssist.getInstance(getContext()).speakTTSVoice(mClickShareVoiceStrings[1]); + if (shareItemSum == 1) { + AIAssist.getInstance(getContext()).speakTTSVoice(mClickShareVoiceStrings[1]); + } else { + AIAssist.getInstance(getContext()).speakTTSVoice(mClickShareVoiceStrings[0]); + } } else { Logger.e(TAG, " playShareGuideVoice else < ONE_DAY_TIME "); } @@ -507,9 +526,12 @@ public class EntranceFragment extends MvpFragment 200) { - showSlideMapVoiceGuide(); + if (isShowGuide && isGreaterThanOneDay()) { + if (motionEvent.getX() > 200) { + showSlideMapVoiceGuide(); + } } + break; case MotionEvent.ACTION_MOVE: 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 0e9057feed..ab25f3a2ba 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 @@ -39,7 +39,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -import static com.mogo.module.share.constant.ShareConstants.KEY_CLICK_SHARE_BUTTON; import static com.mogo.module.share.constant.ShareConstants.KEY_SERVER_SHOW_DAY_COUNT; /** diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/GetConfigApiServices.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/GetConfigApiServices.java index f0c8bca6c4..ab3b78a18b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/GetConfigApiServices.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/GetConfigApiServices.java @@ -1,12 +1,9 @@ package com.mogo.module.extensions.net; -import com.mogo.module.extensions.bean.CommonConfig; import com.mogo.module.extensions.bean.CommonConfigResponse; -import com.mogo.module.extensions.userinfo.UserInfoResponse; import java.util.Map; -import io.reactivex.Observable; import io.reactivex.Single; import retrofit2.http.GET; import retrofit2.http.QueryMap; From e0da05cb8317edc17f0b1161bb64bade251bbc2f Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 27 Sep 2020 11:52:46 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=BC=B9=E6=A1=86UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/window_road_event_detail.xml | 1 + modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml | 1 + modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml | 1 + modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml | 1 + 4 files changed, 4 insertions(+) diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml index 380e53446b..cb599e80c8 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml @@ -12,6 +12,7 @@ android:minHeight="@dimen/module_v2x_event_window_height" android:orientation="horizontal" android:overScrollMode="never" + android:padding="@dimen/module_v2x_widow_top_gaps" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml index c99bf31c73..c87bb64112 100644 --- a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml @@ -79,4 +79,5 @@ 16px 20px + 8px diff --git a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml index c99bf31c73..c87bb64112 100644 --- a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml @@ -79,4 +79,5 @@ 16px 20px + 8px diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index 53a5cae3b8..477387d351 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -78,5 +78,6 @@ 26px 25px + 0px From ca3fea43ec3bf0cd133b7862985b543fe35ebff7 Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 27 Sep 2020 12:03:37 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=BC=B9=E6=A1=86UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo-module-v2x/src/main/res/layout/window_fault_help.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_fault_help.xml b/modules/mogo-module-v2x/src/main/res/layout/window_fault_help.xml index e96d3e9056..04ffc5cd62 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_fault_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_fault_help.xml @@ -7,6 +7,7 @@ android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground" android:orientation="vertical" android:overScrollMode="never" + android:padding="@dimen/module_v2x_widow_top_gaps" tools:itemCount="1" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:listitem="@layout/item_v2x_fault_help" /> From 7869a7a19c3965a0299c30140ae8b1cc7c720618 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sun, 27 Sep 2020 14:07:34 +0800 Subject: [PATCH 04/11] =?UTF-8?q?1.=20=E5=90=8E=E5=8F=B0=E9=87=8D=E5=90=AF?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=9C=B0=E8=BD=A6=E5=8F=8B=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/intent/MockIntentHandler.java | 7 ++++ .../module/widgets/AutoNaviIntentHandler.java | 33 +++++++++++++++---- .../mogo/module/widgets/MogoWidgetManger.java | 5 ++- .../module/widgets/MogoWidgetsProvider.java | 2 +- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java index 6339b4f7f8..89a0c1fb74 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java @@ -338,6 +338,13 @@ public class MockIntentHandler implements IntentHandler { case 30: MarkerServiceHandler.getMapService().getMapUIController().forceRender(); break; + case 31: + Intent intent3 = new Intent(); + intent3.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); + intent3.putExtra( "KEY_TYPE", 12404 ); + intent3.putExtra( "EXTRA_REQUEST_AUTO_STATE", 0 ); + context.sendBroadcast( intent3 ); + break; } } diff --git a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/AutoNaviIntentHandler.java b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/AutoNaviIntentHandler.java index 120e4e90ed..d0c1562a48 100644 --- a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/AutoNaviIntentHandler.java +++ b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/AutoNaviIntentHandler.java @@ -23,6 +23,7 @@ import com.mogo.utils.CommonUtils; import com.mogo.utils.LaunchUtils; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.TipToast; +import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; import java.util.HashMap; @@ -40,6 +41,9 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { private static final String TAG = "AutoNaviIntentHandler"; public static final String OPEN = "OPEN_APP"; + // 显示浮窗时,同步状态时间间隔 + public static final long SYNC_INTERVAL = 60_000L; + private static volatile AutoNaviIntentHandler sInstance; private AutoNaviIntentHandler() { @@ -70,27 +74,33 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { sInstance = null; } + private Runnable mAutoNaviSyncRunnable = () -> { + if ( mWindowManagerView != null && mWindowManagerView.isShowing() ) { + syncAutoNaviForgroundStatus( AbsMogoApplication.getApp() ); + } + }; + public void handle( Context context, Intent intent ) { int keyType = intent.getIntExtra( "KEY_TYPE", 0 ); + Logger.d( TAG, "KEY_TYPE = " + keyType ); switch ( keyType ) { case 10021: closeEntrance(); break; case 10019: int extraState = intent.getIntExtra( "EXTRA_STATE", -1 ); + Logger.d( TAG, "EXTRA_STATE = " + extraState ); switch ( extraState ) { - case 3: + case 3: // 前台 syncAutoNaviNavingStatus( context ); break; - case 4: + case 4: // 后台 + case 9: // 非导航 closeEntrance(); break; - case 8: + case 8: // 导航 showEntrance( context ); break; - case 9: - closeEntrance(); - break; } break; } @@ -106,6 +116,7 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { } private void showEntrance( Context context ) { + if ( mWindowManagerView == null ) { mWindowManagerView = new WindowManagerView.Builder( AbsMogoApplication.getApp() ) .contentView( R.layout.module_widgets_app_entrance ) @@ -125,9 +136,16 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { if ( mWindowManagerView.isShowing() ) { return; } + if ( MogoApisHandler.getInstance() + .getApis() + .getStatusManagerApi() + .isMainPageOnResume() ) { + return; + } mWindowManagerView.show(); MogoWidgetManger.getInstance().getApis().getAnalyticsApi().track( "NAVI_button_show", null ); AIAssist.getInstance( context ).registerUnWakeupCommand( OPEN, new String[]{"切换到辅助驾驶模式"}, this ); + UiThreadHandler.postDelayed( mAutoNaviSyncRunnable, SYNC_INTERVAL ); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } @@ -221,6 +239,7 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { } public void closeEntrance() { + UiThreadHandler.removeCallbacks( mAutoNaviSyncRunnable ); if ( mWindowManagerView == null ) { return; } @@ -233,6 +252,7 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { } public void syncAutoNaviForgroundStatus( Context context ) { + Logger.d( TAG, "查询高德前后台状态" ); Intent intent = new Intent(); intent.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); intent.putExtra( "KEY_TYPE", 12404 ); @@ -241,6 +261,7 @@ class AutoNaviIntentHandler implements IMogoVoiceCmdCallBack { } public void syncAutoNaviNavingStatus( Context context ) { + Logger.d( TAG, "查询高德导航状态" ); Intent intent = new Intent(); intent.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); intent.putExtra( "KEY_TYPE", 12404 ); diff --git a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java index 0032be1ef0..8d1e7d41bc 100644 --- a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java +++ b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java @@ -10,6 +10,7 @@ import com.mogo.service.IMogoServiceApis; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; +import com.mogo.utils.UiThreadHandler; public /** @@ -65,7 +66,9 @@ class MogoWidgetManger implements IMogoNaviListener2, IMogoIntentListener, IMogo initMapStatusListener(); initStatusListener(); initIntentListener(); - AutoNaviIntentHandler.getInstance().syncAutoNaviForgroundStatus( mContext ); + UiThreadHandler.postDelayed( ()->{ + AutoNaviIntentHandler.getInstance().syncAutoNaviForgroundStatus( mContext ); + }, 1_000L ); } private void initMapStatusListener() { diff --git a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetsProvider.java b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetsProvider.java index 6cc91544a3..a4985601b7 100644 --- a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetsProvider.java +++ b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetsProvider.java @@ -94,6 +94,6 @@ class MogoWidgetsProvider implements IMogoModuleProvider { Logger.d( TAG, "init." ); UiThreadHandler.postDelayed( () -> { MogoWidgetManger.getInstance().init( context ); - }, 5500 ); + }, 6_000L ); } } From dcc8cc9892d6b7097138aa829e76accba38cb64f Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 27 Sep 2020 14:09:29 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=BC=B9=E6=A1=86UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml | 2 +- modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml index 94c233e74a..ad3974ab91 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground" + android:layout_height="wrap_content" android:background="@drawable/v2x_alert_window_bg" android:padding="@dimen/dp_25"> diff --git a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml index c87bb64112..e0a9f57de8 100644 --- a/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-ldpi/dimens.xml @@ -79,5 +79,5 @@ 16px 20px - 8px + 6px From ab53eb0cd47d62db4231ffd0c4079e8d6ab2708b Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 27 Sep 2020 15:03:41 +0800 Subject: [PATCH 06/11] ui-m4 --- modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml index c87bb64112..a3d322e698 100644 --- a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml @@ -79,5 +79,5 @@ 16px 20px - 8px + 3px From bff1bb9c78f2e5efce34dae5dc816e8b34a0d57f Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 27 Sep 2020 15:11:23 +0800 Subject: [PATCH 07/11] ui-F --- modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index 477387d351..16f90b3823 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -77,7 +77,6 @@ 158px 26px 25px - - 0px + 2px From 842a2406e07164243412c44cf4c1010d6662b4b1 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Sun, 27 Sep 2020 17:15:46 +0800 Subject: [PATCH 08/11] opt --- .../extensions/entrance/EntranceFragment.java | 14 ++++++++------ .../mogo/module/share/constant/ShareConstants.java | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) 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 49392a87a6..d2cdb92a15 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 @@ -431,8 +431,6 @@ public class EntranceFragment extends MvpFragment Date: Sun, 27 Sep 2020 17:18:16 +0800 Subject: [PATCH 09/11] opt --- .../java/com/mogo/module/share/constant/ShareConstants.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java index bfbb2fe379..28ed0f468e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java @@ -115,8 +115,8 @@ public class ShareConstants { public static final int VOICE_ALERT_COUNT = 3; //1天的毫秒 TODO -// public static final long ONE_DAY_TIME = 86400000; - public static final long ONE_DAY_TIME = 60000; + public static final long ONE_DAY_TIME = 86400000; +// public static final long ONE_DAY_TIME = 60000; //7天的毫秒 public static final long SEVEN_DAY_TIME = 604800000; From a531ec529ad8dbab3ed52a98680d9454c5c0d49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Sun, 27 Sep 2020 17:48:46 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=86=85=E5=AD=98?= =?UTF-8?q?=E6=B3=84=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/v2x/fragment/V2XEventPanelFragment.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index fd51aa6146..c0deed1c08 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -53,9 +53,16 @@ class V2XEventPanelFragment : MvpFragment Date: Sun, 27 Sep 2020 19:16:54 +0800 Subject: [PATCH 11/11] =?UTF-8?q?1.=20=E7=8B=AC=E7=AB=8Bapp=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=B3=84=E6=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- .../java/com/mogo/map/MogoBaseMapView.java | 1 + .../src/main/java/com/mogo/map/MogoMap.java | 5 +++ .../extensions/entrance/EntranceFragment.java | 1 + .../extensions/utils/TopViewAnimHelper.java | 16 ++++++++++ .../com/mogo/module/main/MainActivity.java | 4 +++ .../com/mogo/module/main/SchemeIntent.java | 31 ++++++++++++------- .../main/windowview/FloatingViewHandler.java | 4 +++ .../launchercard/LauncherCardRefresher.java | 4 +-- .../com/mogo/module/share/ShareControl.java | 5 +++ .../module/share/manager/SeekHelpManager.kt | 2 +- .../mogo/service/share/IMogoShareManager.java | 2 ++ .../impl/fragmentmanager/FragmentStack.java | 2 -- 13 files changed, 62 insertions(+), 17 deletions(-) diff --git a/gradle.properties b/gradle.properties index d79c93cac5..04c6e86b72 100644 --- a/gradle.properties +++ b/gradle.properties @@ -101,7 +101,7 @@ CRASHREPORT_NOOP_VERSION=2.0.0 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=1.8.6 +CARCHATTING_VERSION=1.8.7 # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.4.1 # loglib diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java index e51e933608..9137677d96 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java @@ -86,6 +86,7 @@ public abstract class MogoBaseMapView extends FrameLayout implements ILifeCycle if ( mMapView != null ) { mMapView.onDestroy(); } + MogoMap.getInstance().clear(); } @Override diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoMap.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoMap.java index b2c5986293..3aae71ad09 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoMap.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoMap.java @@ -46,4 +46,9 @@ public class MogoMap { public IMogoMap getMogoMap() { return mMap; } + + public void clear(){ + mContext = null; + mMap = null; + } } 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 49392a87a6..dfe43337ff 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 @@ -604,6 +604,7 @@ public class EntranceFragment extends MvpFragment impleme @Override protected void onDestroy() { super.onDestroy(); + mMogoMapService.getHostListenerRegister().unregisterMarkerClickListener(); mMogoStatusManager.setMainPageLaunchedStatus( TAG, false ); mMogoMapService = null; mMogoMapUIController = null; @@ -359,5 +360,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mServiceApis.getOnlineCarPanelApi().clear(); ContextHolderUtil.releaseContext(); MogoModulesManager.getInstance().onDestroy(); + SchemeIntent.getInstance().clear(); + FloatingViewHandler.clear(); + mServiceApis.getShareManager().releaseContext(); } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java index 10f1d86738..4280feba01 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java @@ -55,16 +55,23 @@ public class SchemeIntent implements IMogoStatusChangedListener { } } - private SchemeIntent() { - // private constructor + private static volatile SchemeIntent sInstance; + + private SchemeIntent(){} + + public static SchemeIntent getInstance(){ + if( sInstance == null ){ + synchronized( SchemeIntent.class ) { + if( sInstance == null ){ + sInstance = new SchemeIntent(); + } + } + } + return sInstance; } - private static final class InstanceHolder { - private static final SchemeIntent INSTANCE = new SchemeIntent(); - } - - public static SchemeIntent getInstance() { - return InstanceHolder.INSTANCE; + public synchronized void release(){ + sInstance = null; } public void init( Context context, IMogoServiceApis apis ) { @@ -73,9 +80,11 @@ public class SchemeIntent implements IMogoStatusChangedListener { mApis.getStatusManagerApi().registerStatusChangedListener( TAG, StatusDescriptor.MAIN_PAGE_RESUME, this ); } - private Object readResolve() { - // 阻止反序列化,必须实现 Serializable 接口 - return InstanceHolder.INSTANCE; + public void clear(){ + mApis.getStatusManagerApi().unregisterStatusChangedListener( TAG, StatusDescriptor.MAIN_PAGE_RESUME, this ); + mContext = null; + mApis = null; + } public void handle( Intent intent ) { diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/FloatingViewHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/FloatingViewHandler.java index 5485f4778d..a1c8afd276 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/FloatingViewHandler.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/FloatingViewHandler.java @@ -41,6 +41,10 @@ public class FloatingViewHandler { sFloatingLayout = frameLayout; } + public static void clear(){ + sFloatingLayout = null; + } + /** * 添加任意view到布局,不考虑优先级 * diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java index 786ef46225..42614860ee 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java @@ -67,7 +67,7 @@ class LauncherCardRefresher { public static final long ONE_MINUTE = 60 * 1000L; public static final long ONE_DAY = 24 * 60 * ONE_MINUTE; private String mLaunchTTSText; - private long mDefaultTTSPlayInterval = 2 * ONE_MINUTE; + private long mDefaultTTSPlayInterval = 60 * ONE_MINUTE; private LauncherCardAdvertisementData.LauncherCardAdvertisement mDefaultLauncherCardConfig; private List< LauncherCardAdvertisementData.LauncherCardAdvertisement > mAdvertisements; @@ -156,7 +156,7 @@ class LauncherCardRefresher { private ZhidaoRefreshModel mZhidaoRefreshModel; private LauncherCardRefreshStrategy mExplorerWayOrOnlineCarDataStrategy = new LauncherCardRefreshStrategy( - 1 * ONE_MINUTE, null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA + 40 * ONE_MINUTE, null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ); private LauncherCardRefreshStrategy mInduceStrategy = new LauncherCardRefreshStrategy( 3 * ONE_MINUTE, mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 5b524654c0..a8f411f093 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -131,6 +131,11 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, mContext = context; } + @Override + public void releaseContext() { + mContext = mContext.getApplicationContext(); + } + private void realShowDialog() { if (mShareDialog == null) { Logger.d(TAG, "realShowDialog context : " + mContext); diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt index 83282b97f4..e55988e46c 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt @@ -82,7 +82,7 @@ object SeekHelpManager { if(!isSeeking) { isSeeking = true if (this.context == null) { - this.context = context + this.context = context.applicationContext } aiAssist = AIAssist.getInstance(context) diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java index 17a29d3455..ca0285449c 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java @@ -25,4 +25,6 @@ public interface IMogoShareManager extends IProvider { * @param context 待重置的上下文 */ void resetContext(Context context); + + void releaseContext(); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/fragmentmanager/FragmentStack.java b/services/mogo-service/src/main/java/com/mogo/service/impl/fragmentmanager/FragmentStack.java index 083ea0ddd8..41eeb123b8 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/fragmentmanager/FragmentStack.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/fragmentmanager/FragmentStack.java @@ -30,7 +30,6 @@ public class FragmentStack { private FragmentManager mFragmentManager; //private FragmentTransaction mFragmentTransaction; private int mContainerId; - private Activity mActivity; private FragmentDescriptor mCurrentFragment; private FragmentStackTransactionListener mFragmentStackTransactionListener; @@ -56,7 +55,6 @@ public class FragmentStack { } public void init( AppCompatActivity activity, int containerId ) { - mActivity = activity; mFragmentManager = activity.getSupportFragmentManager(); mContainerId = containerId; }