bugfix: FX-451、D80XCD-1586

This commit is contained in:
wangcongtao
2020-11-09 10:38:06 +08:00
parent 7cac43ad49
commit 9a89e95ec1
3 changed files with 39 additions and 2 deletions

View File

@@ -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 ) {

View File

@@ -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 );
}
}