diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java index 4ddc0f947f..b73ec21bc6 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java @@ -26,7 +26,7 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { manager.registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, this ); } - public void unregister(IMogoIntentManager manager ) { + public void unregister( IMogoIntentManager manager ) { mCallback = null; manager.unregisterIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, this ); } @@ -68,6 +68,9 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { } } } else if ( keyType == 10048 ) { + if ( !intent.getBooleanExtra( "callback", true ) ) { + return; + } //0:自动; 1:白天; 2:黑夜; int dayNightMode = intent.getIntExtra( "EXTRA_DAY_NIGHT_MODE", -1 ); if ( dayNightMode == 0 ) { diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java index e8a38b4c45..e0cf880ea1 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java @@ -1,5 +1,9 @@ package com.mogo.module.map; +import android.content.Context; +import android.content.Intent; + +import com.mogo.commons.AbsMogoApplication; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.utils.logger.Logger; @@ -52,6 +56,7 @@ class MapControlCommandHandler { case VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_DAY_TIME_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_Light ); + notifyAMap(EnumMapUI.Type_Light); break; case VoiceConstants.CMD_MAP_HISTORY_UN_WAKEUP: case VoiceConstants.CMD_MAP_HISTORY: @@ -63,10 +68,12 @@ class MapControlCommandHandler { case VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_NIGHT_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_Night ); + notifyAMap(EnumMapUI.Type_Night); break; case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_AUTO_LIGHT_Night ); + notifyAMap(EnumMapUI.Type_AUTO_LIGHT_Night); break; case VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE: mCallback.onDisplayOverview(); @@ -91,4 +98,32 @@ class MapControlCommandHandler { } } + + private void notifyAMap( EnumMapUI ui ) { + if ( ui == null ) { + return; + } + + int KEY_TYPE = 10048; + int state = 0;//2黑夜;1白天 ;0自动 + switch ( ui ) { + case Type_Light: + state = 1; + break; + case Type_Night: + state = 2; + break; + case Type_AUTO_LIGHT_Night: + state = 0; + break; + } + Intent intent = new Intent(); + intent.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); + intent.putExtra( "KEY_TYPE", KEY_TYPE ); + intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES ); + // 避免在内部再次调用 + intent.putExtra( "callback", false ); + intent.putExtra( "EXTRA_DAY_NIGHT_MODE", state ); + AbsMogoApplication.getApp().sendBroadcast( intent ); + } } 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 3c5903b22f..fce6dc1503 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 @@ -190,7 +190,6 @@ class LauncherCardRefresher { } mHandler.sendEmptyMessageDelayed( MSG_LOAD_NET_CONFIG, delay ); startInduceStrategy(); - SharedPrefsMgr.getInstance( mContext ).putLong( KEY_LauncherCardTipLastTipTime, System.currentTimeMillis() ); } /**