Merge branch 'feature/v1.0.2' into feature/v1.0.3
This commit is contained in:
@@ -52,7 +52,7 @@ public class MarkerCarInfo implements Serializable {
|
||||
this.carLiveInfo = carLiveInfo;
|
||||
}
|
||||
|
||||
class CarLiveInfo implements Serializable {
|
||||
public static class CarLiveInfo implements Serializable {
|
||||
//rtmp视频直播地址rtmp://
|
||||
private String videoUrl;
|
||||
//直播频道【直播心跳接口参数】C_1
|
||||
|
||||
@@ -23,6 +23,8 @@ 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;
|
||||
@@ -87,7 +89,9 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
@Override
|
||||
public void onReceive( Context context, Intent intent ) {
|
||||
try {
|
||||
refreshTimeAndDate();
|
||||
WorkThreadHandler.getInstance().post( () -> {
|
||||
refreshTimeAndDate();
|
||||
} );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error. " );
|
||||
}
|
||||
@@ -164,7 +168,14 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
|
||||
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] );
|
||||
mView.renderTime( dateStr, timeStr );
|
||||
|
||||
UiThreadHandler.post( () -> {
|
||||
try {
|
||||
mView.renderTime( dateStr, timeStr );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -208,7 +219,7 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
changeAutoSwitchVoiceTipsWordsStatus( true );
|
||||
}
|
||||
|
||||
private void changeAutoSwitchVoiceTipsWordsStatus(boolean autoChange){
|
||||
private void changeAutoSwitchVoiceTipsWordsStatus( boolean autoChange ) {
|
||||
if ( !mHasTipWords ) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -195,6 +195,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
mCoverUpLayout = findViewById( R.id.module_main_id_cover_up );
|
||||
mCardCoverUpBottomLayout = findViewById( R.id.module_main_id_card_cover_up_bottom );
|
||||
|
||||
// 避免事件穿透导致地图被滑动
|
||||
mLeftShadowFrame.setOnClickListener( view -> {} );
|
||||
WindowViewHandler.init( mFloatingLayout );
|
||||
}
|
||||
|
||||
@@ -281,12 +283,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
if ( size == 0 ) {
|
||||
showLayout();
|
||||
} else if ( size == 1 ) {
|
||||
UiThreadHandler.postDelayed( new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mMogoMapUIController.setPointToCenter( 0.5, 0.5 );
|
||||
}
|
||||
}, 1000 );
|
||||
hideLayout();
|
||||
}
|
||||
} );
|
||||
|
||||
@@ -56,8 +56,8 @@ public class HorizentalStackTransformer extends HorizentalBaseTransformer {
|
||||
page.setTranslationX( -page.getHeight() * position + ( page.getHeight() * 0.5f ) * ( 1 - scale ) + spaceBetweenFirAndSecHeight * position );
|
||||
}else{
|
||||
float currentPage;
|
||||
if(offsetScroll > 0.2f){
|
||||
currentPage = 0.2f;
|
||||
if(offsetScroll > 0.1f){
|
||||
currentPage = 0.1f;
|
||||
}else{
|
||||
currentPage = offsetScroll;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape>
|
||||
<gradient android:angle="270" android:endColor="#00222222" android:startColor="#99000000" />
|
||||
<gradient android:angle="270" android:endColor="#00222222" android:startColor="#79000000" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -64,7 +64,7 @@
|
||||
android:id="@+id/module_main_id_card_cover_up_bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_26"
|
||||
android:layout_marginTop="@dimen/cards_container_dp_600"
|
||||
android:layout_marginTop="@dimen/cards_container_shadow_dp_margin_top"
|
||||
android:layout_marginLeft="@dimen/dp_64"
|
||||
android:layout_marginRight="@dimen/dp_64"
|
||||
android:visibility="invisible"
|
||||
|
||||
@@ -14,5 +14,6 @@
|
||||
<dimen name="module_main_card_cover_up_margin">352px</dimen>
|
||||
|
||||
<dimen name="cards_container_dp_600">320px</dimen>
|
||||
<dimen name="cards_container_shadow_dp_margin_top">319px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -13,5 +13,6 @@
|
||||
<dimen name="module_main_top_shadow_height">270px</dimen>
|
||||
<dimen name="module_main_card_cover_up_margin">660px</dimen>
|
||||
<dimen name="cards_container_dp_600">600px</dimen>
|
||||
<dimen name="cards_container_shadow_dp_margin_top">599px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -17,6 +17,7 @@ import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.intent.IMogoIntentListener;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
@@ -82,12 +83,11 @@ public class MapPresenter extends Presenter<MapView> implements
|
||||
mView.getUIController().changeMapMode(EnumMapUI.CarUp_2D);
|
||||
} else if (opera_type == 1) {
|
||||
mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D);
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
|
||||
} else if (opera_type == 2) {
|
||||
mView.getUIController().changeMapMode(EnumMapUI.CarUp_3D);
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
|
||||
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -156,24 +156,18 @@ public class MapPresenter extends Presenter<MapView> implements
|
||||
@Override
|
||||
public void onCreate(@NonNull LifecycleOwner owner) {
|
||||
super.onCreate(owner);
|
||||
mMogoMapService = (IMogoMapService) ARouter.getInstance()
|
||||
.build(MogoServicePaths.PATH_SERVICES_MAP)
|
||||
.navigation(getContext());
|
||||
mMogoIntentManager = (IMogoIntentManager) ARouter.getInstance()
|
||||
.build(MogoServicePaths.PATH_INTENT_MANAGER)
|
||||
.navigation(getContext());
|
||||
mSearchManager = (IMogoSearchManager) ARouter.getInstance()
|
||||
.build(MogoServicePaths.PATH_SEARCH_MANAGER)
|
||||
.navigation(getContext());
|
||||
|
||||
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() );
|
||||
mMogoMapService = apis.getMapServiceApi();
|
||||
mMogoIntentManager = apis.getIntentManagerApi();
|
||||
mSearchManager = apis.getSearchManagerApi();
|
||||
|
||||
IMogoNavi mogoNavi = mMogoMapService.getNavi(getContext());
|
||||
mogoNavi.setCalculatePathDisplayBounds(new Rect(
|
||||
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_730)
|
||||
+ WindowUtils.dip2px(getContext(), 80),
|
||||
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_120)
|
||||
+ WindowUtils.dip2px(getContext(), 80),
|
||||
WindowUtils.dip2px(getContext(), 80),
|
||||
WindowUtils.dip2px(getContext(), 80)
|
||||
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)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -252,7 +246,7 @@ public class MapPresenter extends Presenter<MapView> implements
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
case VoiceConstants.CMD_MAP_NORTH_UP_MODE:
|
||||
mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D);
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
|
||||
|
||||
break;
|
||||
case VoiceConstants.CMD_MAP_3D_UN_WAKEUP:
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="module_map_display_overview_left_margin">558px</dimen>
|
||||
<dimen name="module_map_display_overview_top_margin">174px</dimen>
|
||||
<dimen name="module_map_display_overview_bottom_margin">32px</dimen>
|
||||
<dimen name="module_map_display_overview_right_margin">80px</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="module_map_display_overview_left_margin">977px</dimen>
|
||||
<dimen name="module_map_display_overview_top_margin">249px</dimen>
|
||||
<dimen name="module_map_display_overview_bottom_margin">61px</dimen>
|
||||
<dimen name="module_map_display_overview_right_margin">80px</dimen>
|
||||
</resources>
|
||||
7
modules/mogo-module-map/src/main/res/values/dimens.xml
Normal file
7
modules/mogo-module-map/src/main/res/values/dimens.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="module_map_display_overview_left_margin">977px</dimen>
|
||||
<dimen name="module_map_display_overview_top_margin">249px</dimen>
|
||||
<dimen name="module_map_display_overview_bottom_margin">61px</dimen>
|
||||
<dimen name="module_map_display_overview_right_margin">80px</dimen>
|
||||
</resources>
|
||||
@@ -45,7 +45,6 @@ dependencies {
|
||||
annotationProcessor rootProject.ext.dependencies.aroutercompiler
|
||||
implementation rootProject.ext.dependencies.rxjava
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
// implementation rootProject.ext.dependencies.moduleonlinecar
|
||||
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
api rootProject.ext.dependencies.mogomap
|
||||
|
||||
@@ -12,10 +12,15 @@ import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.service.marker.MapMarkerManager;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.adas.IMogoADASController;
|
||||
import com.mogo.service.analytics.IMogoAnalytics;
|
||||
import com.mogo.service.cardmanager.IMogoCardManager;
|
||||
import com.mogo.service.connection.IMogoSocketManager;
|
||||
import com.mogo.service.datamanager.IMogoDataManager;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
import com.mogo.service.launcher.IMogoLauncher;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoActionManager;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
@@ -45,6 +50,11 @@ public class MarkerServiceHandler {
|
||||
private static IMogoAnalytics mMogoAnalytics;
|
||||
private static IMogoRegisterCenter mRegisterCenter;
|
||||
private static IMogoActionManager mActionManager;
|
||||
private static IMogoDataManager mDataManager;
|
||||
private static IMogoIntentManager mIntentManager;
|
||||
private static IMogoADASController mADASController;
|
||||
private static IMogoLauncher mLauncher;
|
||||
private static IMogoFragmentManager mFragmentManager;
|
||||
|
||||
private static MapMarkerManager mMapMarkerManager;
|
||||
|
||||
@@ -62,6 +72,11 @@ public class MarkerServiceHandler {
|
||||
mLocationClient = mMapService.getSingletonLocationClient( context );
|
||||
mRegisterCenter = mApis.getRegisterCenterApi();
|
||||
mActionManager = mApis.getActionManagerApi();
|
||||
mDataManager = mApis.getDataManagerApi();
|
||||
mIntentManager = mApis.getIntentManagerApi();
|
||||
mADASController = mApis.getAdasControllerApi();
|
||||
mLauncher = mApis.getLauncherApi();
|
||||
mFragmentManager = mApis.getFragmentManagerApi();
|
||||
|
||||
mMapMarkerManager = MapMarkerManager.getInstance();
|
||||
mMapMarkerManager.init( context );
|
||||
@@ -119,6 +134,26 @@ public class MarkerServiceHandler {
|
||||
return mActionManager;
|
||||
}
|
||||
|
||||
public static IMogoIntentManager getIntentManager() {
|
||||
return mIntentManager;
|
||||
}
|
||||
|
||||
public static IMogoADASController getADASController() {
|
||||
return mADASController;
|
||||
}
|
||||
|
||||
public static IMogoLauncher getLauncher() {
|
||||
return mLauncher;
|
||||
}
|
||||
|
||||
public static IMogoFragmentManager getFragmentManager() {
|
||||
return mFragmentManager;
|
||||
}
|
||||
|
||||
public static IMogoDataManager getDataManager() {
|
||||
return mDataManager;
|
||||
}
|
||||
|
||||
//TODO -------------以下方法是临时过度使用的,后面统一使用,getMapMarkerManager进行调用
|
||||
|
||||
/**
|
||||
|
||||
@@ -152,6 +152,8 @@ public class MogoServices implements IMogoMapListener,
|
||||
private IMogoFragmentManager mFragmentManager;
|
||||
private IMogoNavi mNavi;
|
||||
|
||||
private IMogoRegisterCenter mRegisterCenter;
|
||||
|
||||
/**
|
||||
* 地图视图初始化
|
||||
*/
|
||||
@@ -272,30 +274,30 @@ public class MogoServices implements IMogoMapListener,
|
||||
|
||||
public void init( Context context ) {
|
||||
mContext = context;
|
||||
|
||||
MarkerServiceHandler.init( mContext );
|
||||
mRefreshModel = new RefreshModel( context );
|
||||
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
|
||||
mMogoMapService = apis.getMapServiceApi();
|
||||
mMogoMapService = MarkerServiceHandler.getMapService();
|
||||
mUiController = mMogoMapService.getMapUIController();
|
||||
mNavi = mMogoMapService.getNavi( context );
|
||||
mStatusManager = apis.getStatusManagerApi();
|
||||
mStatusManager = MarkerServiceHandler.getMogoStatusManager();
|
||||
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, this );
|
||||
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, this );
|
||||
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ADAS_UI, this );
|
||||
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.MAIN_PAGE_RESUME, this );
|
||||
|
||||
MarkerServiceHandler.init( mContext );
|
||||
registerMogoReceiver( context );
|
||||
registerInternalUnWakeupWords();
|
||||
|
||||
IMogoRegisterCenter registerCenter = apis.getRegisterCenterApi();
|
||||
registerCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
|
||||
registerCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
|
||||
registerCenter.registerMogoMapListener( ServiceConst.TYPE, this );
|
||||
registerCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
|
||||
mRegisterCenter = MarkerServiceHandler.getRegisterCenter();
|
||||
mRegisterCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
|
||||
mRegisterCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
|
||||
mRegisterCenter.registerMogoMapListener( ServiceConst.TYPE, this );
|
||||
mRegisterCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
|
||||
|
||||
mActionManager = apis.getActionManagerApi();
|
||||
mActionManager = MarkerServiceHandler.getActionManager();
|
||||
|
||||
mIntentManager = apis.getIntentManagerApi();
|
||||
mIntentManager = MarkerServiceHandler.getIntentManager();
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this );
|
||||
mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
|
||||
mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
|
||||
@@ -308,11 +310,12 @@ public class MogoServices implements IMogoMapListener,
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTION_ADAS_STATUS, this );
|
||||
mIntentManager.registerIntentListener( ServiceConst.COMMAND_OPERATION, this );
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this );
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this );
|
||||
|
||||
mADASController = apis.getAdasControllerApi();
|
||||
mLauncher = apis.getLauncherApi();
|
||||
mFragmentManager = apis.getFragmentManagerApi();
|
||||
mCardManager = apis.getCardManagerApi();
|
||||
mADASController = MarkerServiceHandler.getADASController();
|
||||
mLauncher = MarkerServiceHandler.getLauncher();
|
||||
mFragmentManager = MarkerServiceHandler.getFragmentManager();
|
||||
mCardManager = MarkerServiceHandler.getMogoCardManager();
|
||||
|
||||
mFragmentManager.addMainFragmentStackTransactionListener( this );
|
||||
initWorkThread();
|
||||
@@ -372,6 +375,7 @@ public class MogoServices implements IMogoMapListener,
|
||||
filter.addAction( MogoReceiver.ACTION_VOICE_UI );
|
||||
filter.addAction( MogoReceiver.ACTION_ADAS_STATUS );
|
||||
filter.addAction( MogoReceiver.ACTION_VOICE_READY );
|
||||
filter.addAction( MogoReceiver.ACTION_MOCK );
|
||||
try {
|
||||
context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter );
|
||||
Logger.i( TAG, "register voice receiver." );
|
||||
@@ -436,6 +440,7 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
break;
|
||||
case MotionEvent.ACTION_UP:
|
||||
mStatusManager.setUserInteractionStatus( TAG, true, true );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -617,7 +622,7 @@ public class MogoServices implements IMogoMapListener,
|
||||
|
||||
@Override
|
||||
public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
|
||||
Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue );
|
||||
//Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue );
|
||||
switch ( descriptor ) {
|
||||
case USER_INTERACTED:
|
||||
if ( isTrue ) {
|
||||
@@ -656,14 +661,14 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
}
|
||||
|
||||
private void onAdasOn(){
|
||||
private void onAdasOn() {
|
||||
// ADAS 时,不在自动刷新打点策略
|
||||
stopAutoRefreshStrategy();
|
||||
// 清除所有的打点信息记录
|
||||
MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear();
|
||||
}
|
||||
|
||||
private void onAdasClosed(){
|
||||
private void onAdasClosed() {
|
||||
refreshStrategy();
|
||||
// ADAS关闭后,打开打点策略
|
||||
if ( mAutoRefreshCallback != null ) {
|
||||
@@ -816,6 +821,13 @@ public class MogoServices implements IMogoMapListener,
|
||||
if ( mStatusManager.isMainPageOnResume() ) {
|
||||
mUiController.recoverLockMode();
|
||||
}
|
||||
} else if ( MogoReceiver.ACTION_MOCK.equals( command ) ) {
|
||||
final int oper = intent.getIntExtra( "oper", -1 );
|
||||
switch ( oper ) {
|
||||
case 1:
|
||||
mUiController.showMyLocation( true );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -953,9 +965,12 @@ public class MogoServices implements IMogoMapListener,
|
||||
@Override
|
||||
public void onTransaction( int size ) {
|
||||
if ( size == 0 ) {
|
||||
mUiController.setPointToCenter( 0.66145, 0.661094 );
|
||||
|
||||
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK );
|
||||
} else {
|
||||
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this );
|
||||
mUiController.setPointToCenter( 0.5, 0.5 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,20 +98,26 @@ public class MogoDataHandler implements IMogoDataManager {
|
||||
|
||||
}
|
||||
|
||||
public void invoke( String tag, Object data ) {
|
||||
if ( tag == null || mListeners.get( tag ) == null ) {
|
||||
@Override
|
||||
public void syncData( String module, Object object ) {
|
||||
if ( module == null || mListeners.get( module ) == null ) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Iterator< IMogoDataChangedListener > iterator = mListeners.get( tag ).iterator();
|
||||
Iterator< IMogoDataChangedListener > iterator = mListeners.get( module ).iterator();
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoDataChangedListener listener = iterator.next();
|
||||
if ( listener != null ) {
|
||||
listener.onDataSetChanged( data );
|
||||
listener.onDataSetChanged( object );
|
||||
}
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void invoke( String tag, Object data ) {
|
||||
syncData( tag, data );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,11 @@ public class MogoDataManager implements IMogoDataManager {
|
||||
MogoDataHandler.getInstance().removeDataFrom( module, object );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncData( String module, Object object ) {
|
||||
MogoDataHandler.getInstance().syncData( module, object );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
MogoDataHandler.getInstance().init( context );
|
||||
|
||||
@@ -153,8 +153,8 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_FOG:
|
||||
ivIcon.setImageResource(R.drawable.module_service_ic_rc_dark_frog2);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_grey_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_grey);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_ICE:
|
||||
ivIcon.setImageResource(R.drawable.module_service_ic_rc_freeze2);
|
||||
@@ -163,13 +163,13 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_PARKING:
|
||||
ivIcon.setImageResource(R.drawable.module_service_ic_rc_parking2);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_dark_blue);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
|
||||
ivIcon.setImageResource(R.drawable.module_service_ic_rc_accident2);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_red_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_red);
|
||||
break;
|
||||
default:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news);
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.service.MarkerServiceHandler;
|
||||
import com.mogo.module.service.ServiceConst;
|
||||
import com.mogo.module.service.Utils;
|
||||
import com.mogo.module.service.datamanager.MogoDataHandler;
|
||||
import com.mogo.module.service.utils.ViewUtils;
|
||||
import com.mogo.service.cardmanager.IMogoCardChangedListener;
|
||||
import com.mogo.service.connection.IMogoOnMessageListener;
|
||||
@@ -697,7 +696,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|
||||
}
|
||||
try {
|
||||
Logger.d( TAG, "dispatch data to %s", biz );
|
||||
MogoDataHandler.getInstance().invoke( biz, object );
|
||||
MarkerServiceHandler.getDataManager().syncData( biz, object );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -55,6 +55,8 @@ public class MogoReceiver extends BroadcastReceiver {
|
||||
*/
|
||||
public static final String ACTION_VOICE_READY = "com.zhidao.auto.AIAssist.ready";
|
||||
|
||||
public static final String ACTION_MOCK = "com.mogo.mock";
|
||||
|
||||
private IMogoIntentManager mMogoIntentManager;
|
||||
|
||||
public MogoReceiver( Context context ) {
|
||||
|
||||
BIN
modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_car_gray.png
Executable file → Normal file
BIN
modules/mogo-module-service/src/main/res/drawable-ldpi/icon_map_marker_car_gray.png
Executable file → Normal file
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#B5B5B5"
|
||||
android:startColor="#4D4F64 " />
|
||||
<corners android:radius="360dp" />
|
||||
|
||||
<padding
|
||||
android:bottom="@dimen/dp_6"
|
||||
android:left="@dimen/dp_6"
|
||||
android:right="@dimen/dp_40"
|
||||
android:top="@dimen/dp_6" />
|
||||
|
||||
</shape >
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<item android:id="@+id/shape_id" >
|
||||
<!-- 倒三角 -->
|
||||
<rotate
|
||||
android:fromDegrees="45"
|
||||
android:pivotX="135%"
|
||||
android:pivotY="15%"
|
||||
android:toDegrees="45" >
|
||||
<shape android:shape="rectangle" >
|
||||
<size android:width="@dimen/dp_20"
|
||||
android:height="@dimen/dp_20"/>
|
||||
<solid android:color="#4D4F64" />
|
||||
</shape >
|
||||
</rotate >
|
||||
</item >
|
||||
</layer-list >
|
||||
@@ -55,8 +55,8 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCar"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_64"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/icon_map_marker_car_gray"
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivBg"
|
||||
|
||||
@@ -79,8 +79,8 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCar"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_64"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/icon_map_marker_car_gray"
|
||||
android:translationY="-10dp" />
|
||||
</LinearLayout >
|
||||
|
||||
@@ -3,7 +3,11 @@ package com.mogo.module.share;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.module.share.dialog.LaucherShareDialog;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
@@ -16,8 +20,12 @@ public class ShareControl implements IShareControl {
|
||||
private Context mContext;
|
||||
private LaucherShareDialog mShareDialog;
|
||||
|
||||
private IMogoServiceApis mogoServiceApis;
|
||||
|
||||
private ShareControl(Context context) {
|
||||
mContext = context;
|
||||
mogoServiceApis =
|
||||
(IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
|
||||
}
|
||||
|
||||
public static ShareControl getInstance(Context context) {
|
||||
@@ -34,6 +42,13 @@ public class ShareControl implements IShareControl {
|
||||
|
||||
@Override
|
||||
public void showDialog() {
|
||||
|
||||
boolean isAdasShow = mogoServiceApis.getStatusManagerApi().isADASShow();
|
||||
Logger.d("ShareControl", "showDialog 判断adas是否展示: " + isAdasShow);
|
||||
if (isAdasShow) {
|
||||
mogoServiceApis.getAdasControllerApi().closeADAS();
|
||||
}
|
||||
|
||||
mShareDialog = new LaucherShareDialog(mContext);
|
||||
mShareDialog.setCanceledOnTouchOutside(true);
|
||||
mShareDialog.show();
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
android:id="@+id/btn_block_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/share_module_first_margin_left">
|
||||
android:layout_marginEnd="@dimen/share_module_margin_left"
|
||||
android:layout_toLeftOf="@+id/traffic_check_layout">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/block_up_iv"
|
||||
@@ -54,6 +55,7 @@
|
||||
android:id="@+id/oil_price_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:layout_marginLeft="@dimen/share_module_margin_left"
|
||||
android:layout_toRightOf="@+id/btn_block_layout">
|
||||
|
||||
@@ -80,8 +82,7 @@
|
||||
android:id="@+id/traffic_check_layout"
|
||||
android:layout_width="@dimen/share_module_image_width_second"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/share_module_margin_left"
|
||||
android:layout_toRightOf="@+id/oil_price_layout">
|
||||
android:layout_centerHorizontal="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/traffic_check_iv"
|
||||
@@ -136,7 +137,7 @@
|
||||
android:layout_below="@+id/btn_block_layout"
|
||||
android:layout_marginTop="@dimen/share_module_bottom_margin_top"
|
||||
android:gravity="center"
|
||||
android:text="可以对小智说:上报拥堵、分享油价、上报交通检查、上报封路"
|
||||
android:text="可以对小智说:上报拥堵、上报交通检查、上报封路"
|
||||
android:textColor="@color/white_40"
|
||||
android:textSize="@dimen/share_module_bottom_size"
|
||||
android:textStyle="bold" />
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<dimen name="share_module_height">320px</dimen>
|
||||
<dimen name="share_module_margin_top">34px</dimen>
|
||||
<dimen name="share_module_title_margin_top">43px</dimen>
|
||||
<dimen name="share_module_first_margin_left">80px</dimen>
|
||||
<dimen name="share_module_margin_left">64px</dimen>
|
||||
<dimen name="share_module_first_margin_left">100px</dimen>
|
||||
<dimen name="share_module_margin_left">118px</dimen>
|
||||
<dimen name="share_module_tv_margin_top">15px</dimen>
|
||||
<dimen name="share_module_image_width">85px</dimen>
|
||||
<dimen name="share_module_image_width_second">110px</dimen>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<dimen name="share_module_height">600px</dimen>
|
||||
<dimen name="share_module_margin_top">64px</dimen>
|
||||
<dimen name="share_module_title_margin_top">80px</dimen>
|
||||
<dimen name="share_module_first_margin_left">150px</dimen>
|
||||
<dimen name="share_module_margin_left">120px</dimen>
|
||||
<dimen name="share_module_first_margin_left">200px</dimen>
|
||||
<dimen name="share_module_margin_left">210px</dimen>
|
||||
<dimen name="share_module_tv_margin_top">30px</dimen>
|
||||
<dimen name="share_module_image_width">160px</dimen>
|
||||
<dimen name="share_module_image_width_second">198px</dimen>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<dimen name="share_module_height">600px</dimen>
|
||||
<dimen name="share_module_margin_top">64px</dimen>
|
||||
<dimen name="share_module_title_margin_top">80px</dimen>
|
||||
<dimen name="share_module_first_margin_left">150px</dimen>
|
||||
<dimen name="share_module_margin_left">120px</dimen>
|
||||
<dimen name="share_module_first_margin_left">200px</dimen>
|
||||
<dimen name="share_module_margin_left">210px</dimen>
|
||||
<dimen name="share_module_tv_margin_top">30px</dimen>
|
||||
<dimen name="share_module_image_width">160px</dimen>
|
||||
<dimen name="share_module_image_width_second">198px</dimen>
|
||||
|
||||
Reference in New Issue
Block a user