From 5673ec457f0e8b4f244f6e7f002a9243b73a99fc Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 1 Sep 2020 14:44:40 +0800 Subject: [PATCH] opt --- .../impl/amap/marker/AMapMarkerWrapper.java | 9 ++++- .../java/com/mogo/map/marker/IMogoMarker.java | 6 ++++ modules/mogo-module-push/build.gradle | 28 +++++++-------- .../launchercard/LauncherCardRefresher.java | 36 +++++++++++-------- .../service/marker/MapMarkerManager.java | 23 +++++++++++- ...odule_services_driver_info_window_bkg.xml} | 0 ...=> module_services_info_window_cursor.xml} | 0 .../layout/view_map_data_user_info_window.xml | 6 ++-- .../src/main/res/values/colors.xml | 4 +++ skin/mogo-skin-light/build.gradle | 5 +++ .../main/module-apps-res/values/colors.xml | 2 +- ..._services_driver_info_window_bkg_light.xml | 15 ++++++++ ...dule_services_info_window_cursor_light.xml | 17 +++++++++ .../module-services-res/values/colors.xml | 1 + 14 files changed, 118 insertions(+), 34 deletions(-) rename modules/mogo-module-service/src/main/res/drawable/{module_services_driver_blue_info.xml => module_services_driver_info_window_bkg.xml} (100%) rename modules/mogo-module-service/src/main/res/drawable/{bg_shape_reverse_triangle_grey.xml => module_services_info_window_cursor.xml} (100%) create mode 100644 modules/mogo-module-service/src/main/res/values/colors.xml create mode 100644 skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_driver_info_window_bkg_light.xml create mode 100644 skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_info_window_cursor_light.xml diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java index 8935812bcd..d4f71eb6a0 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/marker/AMapMarkerWrapper.java @@ -398,7 +398,7 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { AnimationSet animationSet = new AnimationSet( true ); animationSet.setDuration( duration ); - animationSet.setInterpolator( interpolator); + animationSet.setInterpolator( interpolator ); animationSet.setAnimationListener( new Animation.AnimationListener() { @Override public void onAnimationStart() { @@ -510,4 +510,11 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { mMovingPointOverlay.startSmoothMove(); } + @Override + public boolean isInfoWindowShowing() { + if ( mMarker == null ) { + return false; + } + return mMarker.isInfoWindowShown(); + } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java index 8301124d8b..841a240338 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java @@ -318,4 +318,10 @@ public interface IMogoMarker { * @param duration 时长 */ void startSmooth( List< MogoLatLng > points, int duration ); + + /** + * info window 是否正在显示 + * @return + */ + boolean isInfoWindowShowing(); } diff --git a/modules/mogo-module-push/build.gradle b/modules/mogo-module-push/build.gradle index 82aab1f2be..8abc8b1c11 100644 --- a/modules/mogo-module-push/build.gradle +++ b/modules/mogo-module-push/build.gradle @@ -43,11 +43,11 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // 小智语音,免唤醒词等服务 - compileOnly rootProject.ext.dependencies.androidxconstraintlayout - compileOnly rootProject.ext.dependencies.arouter - compileOnly rootProject.ext.dependencies.aiassist + implementation rootProject.ext.dependencies.androidxconstraintlayout + implementation rootProject.ext.dependencies.arouter + implementation rootProject.ext.dependencies.aiassist kapt rootProject.ext.dependencies.aroutercompiler - compileOnly rootProject.ext.dependencies.androidxrecyclerview + implementation rootProject.ext.dependencies.androidxrecyclerview implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.kotlinstdlibjdk7 implementation rootProject.ext.dependencies.androidxccorektx @@ -58,18 +58,18 @@ dependencies { if( Boolean.valueOf(RELEASE) ){ implementation rootProject.ext.dependencies.modulepushbase - compileOnly rootProject.ext.dependencies.mogomap - compileOnly rootProject.ext.dependencies.mogoutils - compileOnly rootProject.ext.dependencies.mogocommons - compileOnly rootProject.ext.dependencies.mogoserviceapi - compileOnly rootProject.ext.dependencies.modulecommon + implementation rootProject.ext.dependencies.mogomap + implementation rootProject.ext.dependencies.mogoutils + implementation rootProject.ext.dependencies.mogocommons + implementation rootProject.ext.dependencies.modulecommon + implementation rootProject.ext.dependencies.mogoserviceapi } else { implementation project(":modules:mogo-module-push-base") - compileOnly project(':libraries:mogo-map') - compileOnly project(':foudations:mogo-utils') - compileOnly project(':foudations:mogo-commons') - compileOnly project(':services:mogo-service-api') - compileOnly project(':modules:mogo-module-common') + implementation project(':libraries:mogo-map') + implementation project(':foudations:mogo-utils') + implementation project(':foudations:mogo-commons') + implementation project(':modules:mogo-module-common') + implementation project(':services:mogo-service-api') } } 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 189e9d6735..40935255db 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 @@ -119,7 +119,7 @@ class LauncherCardRefresher { loadNetworkConfigStrategy(); break; case MSG_REFRESH_DEFAULT_CARD: - renderDefaultLauncherCardConfig(); + renderDefaultLauncherCardConfig( false ); mRefreshStrategy = mRefreshStrategy.getNext(); restart(); break; @@ -134,7 +134,7 @@ class LauncherCardRefresher { } break; case MSG_START_LOOP_DEFAULT_CARD: - renderDefaultLauncherCardConfig(); + renderDefaultLauncherCardConfig( false ); break; case MSG_REFRESH_ADVERTISEMENT: int index = msg.arg1;// 当前广告索引 @@ -149,17 +149,17 @@ class LauncherCardRefresher { private boolean mStart = false; private RefreshModel mRefreshModel; private ZhidaoRefreshModel mZhidaoRefreshModel; - private LauncherCardRefreshStrategy mRefreshStrategy = new LauncherCardRefreshStrategy( - 2 * ONE_MINUTE, - new LauncherCardRefreshStrategy( - 3 * ONE_MINUTE, - new LauncherCardRefreshStrategy( - 20 * ONE_MINUTE, - null, - MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ), - MSG_INDUCE ), - MSG_REFRESH_DEFAULT_CARD + + private LauncherCardRefreshStrategy mExplorerWayOrOnlineCarDataStrategy = new LauncherCardRefreshStrategy( + 20 * ONE_MINUTE,null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ); + private LauncherCardRefreshStrategy mInduceStrategy = new LauncherCardRefreshStrategy( + 3 * ONE_MINUTE,mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE + ); + private LauncherCardRefreshStrategy mLauncherCardConfigStrategy = new LauncherCardRefreshStrategy( + 2 * ONE_MINUTE,mInduceStrategy, MSG_REFRESH_DEFAULT_CARD + ); + private LauncherCardRefreshStrategy mRefreshStrategy = mLauncherCardConfigStrategy; public void start() { if ( DebugConfig.isLauncher() || DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) { @@ -172,6 +172,7 @@ class LauncherCardRefresher { mLaunchTTSText = mContext.getString( R.string.module_service_open_app_tip ); mDefaultConfigCounter = 0; mRefreshTicketCounter = 0; + mRefreshStrategy = mLauncherCardConfigStrategy; // 延时加载数据,已保证accOn之后网络恢复正常 long delay = ONE_MINUTE; if ( NetworkUtils.isConnected( mContext ) ) { @@ -327,8 +328,10 @@ class LauncherCardRefresher { * 1. 刷新默认卡片样式 *

* 2. 播报默认卡片语音 + * + * @param sendConfigOnly 仅发送配置到 */ - private void renderDefaultLauncherCardConfig() { + private void renderDefaultLauncherCardConfig( boolean sendConfigOnly ) { if ( mDefaultLauncherCardConfig != null ) { long curr = System.currentTimeMillis(); if ( mDefaultLauncherCardConfig.endTime > curr && mDefaultLauncherCardConfig.startTime < curr ) { @@ -351,6 +354,10 @@ class LauncherCardRefresher { } } + if ( sendConfigOnly ) { + return; + } + if ( mDefaultConfigCounter++ >= 3 ) { return; } @@ -454,6 +461,7 @@ class LauncherCardRefresher { } if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_DEFAULT_CONFIG ) { mDefaultLauncherCardConfig = launcherCardAdvertisement; + renderDefaultLauncherCardConfig( true ); } else if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_ACTIVITY ) { long curr = System.currentTimeMillis(); if ( curr > launcherCardAdvertisement.startTime && curr < launcherCardAdvertisement.endTime ) { @@ -468,7 +476,7 @@ class LauncherCardRefresher { LauncherCardAdvertisementData.LauncherCardAdvertisement[] sorted = new LauncherCardAdvertisementData.LauncherCardAdvertisement[mAdvertisements.size()]; sorted = mAdvertisements.toArray( sorted ); Arrays.sort( sorted, ( ( o1, o2 ) -> { - return o1.sort < o2.sort ? 1 : ( o1.sort == o2.sort ? 0 : -1 ); + return o1.sort > o2.sort ? 1 : ( o1.sort == o2.sort ? 0 : -1 ); } ) ); mAdvertisements = Arrays.asList( sorted ); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index dada71998b..761a83dc2e 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -14,6 +14,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.marker.anim.OnMarkerAnimationListener; +import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.ModuleNames; import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerCardResult; @@ -32,6 +33,7 @@ import com.mogo.module.service.Utils; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.RefreshModel; import com.mogo.module.service.utils.ViewUtils; +import com.mogo.service.adas.IMogoADASControlStatusChangedListener; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.module.IMogoBizActionDoneListener; import com.mogo.utils.ResourcesHelper; @@ -58,7 +60,8 @@ import java.util.Map; */ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessageListener< MarkerResponse >, - IMogoBizActionDoneListener { + IMogoBizActionDoneListener, + IMogoADASControlStatusChangedListener { private static final String TAG = "MapMarkerManager"; private Context mContext; @@ -108,6 +111,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, // 长连接 MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this ); MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this ); + MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this ); } // ACC ON 的时候重置为true,ACC OFF 设置为 false @@ -949,4 +953,21 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } } } + + @Override + public void onMapUiModeChanged( EnumMapUI mapUI ) { + switch ( mapUI ) { + case Type_Light: + case Type_Night: + if ( !MarkerServiceHandler.getApis().getStatusManagerApi().isMainPageOnResume() ) { + return; + } + if ( mLastDataResult != null ) { + MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_ROAD_CONDITION ); + drawMarkerByCurrentType( mLastDataResult ); + mLastCheckMarker = null; + } + break; + } + } } diff --git a/modules/mogo-module-service/src/main/res/drawable/module_services_driver_blue_info.xml b/modules/mogo-module-service/src/main/res/drawable/module_services_driver_info_window_bkg.xml similarity index 100% rename from modules/mogo-module-service/src/main/res/drawable/module_services_driver_blue_info.xml rename to modules/mogo-module-service/src/main/res/drawable/module_services_driver_info_window_bkg.xml diff --git a/modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml b/modules/mogo-module-service/src/main/res/drawable/module_services_info_window_cursor.xml similarity index 100% rename from modules/mogo-module-service/src/main/res/drawable/bg_shape_reverse_triangle_grey.xml rename to modules/mogo-module-service/src/main/res/drawable/module_services_info_window_cursor.xml diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_data_user_info_window.xml b/modules/mogo-module-service/src/main/res/layout/view_map_data_user_info_window.xml index fe110eba36..80cb17242d 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_data_user_info_window.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_data_user_info_window.xml @@ -14,7 +14,7 @@ android:layout_width="wrap_content" android:layout_height="@dimen/module_services_info_window_height" android:paddingRight="@dimen/module_service_id_marker_content_paddingRight" - android:background="@drawable/module_services_driver_blue_info" + android:background="@drawable/module_services_driver_info_window_bkg" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -40,7 +40,7 @@ android:ellipsize="end" android:minWidth="@dimen/module_service_content_minWidth" android:singleLine="true" - android:textColor="#ffffff" + android:textColor="@color/module_service_info_window_content_textColor" android:textSize="@dimen/module_service_content_textSize" app:layout_constraintStart_toEndOf="@+id/module_service_id_user_header" app:layout_constraintTop_toTopOf="@+id/module_service_id_user_header" @@ -86,7 +86,7 @@ + android:src="@drawable/module_services_info_window_cursor" /> \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/values/colors.xml b/modules/mogo-module-service/src/main/res/values/colors.xml new file mode 100644 index 0000000000..e5cc33f8fa --- /dev/null +++ b/modules/mogo-module-service/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/skin/mogo-skin-light/build.gradle b/skin/mogo-skin-light/build.gradle index 8b4df31f60..e7b8894954 100644 --- a/skin/mogo-skin-light/build.gradle +++ b/skin/mogo-skin-light/build.gradle @@ -44,6 +44,11 @@ android { dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) + if (Boolean.valueOf(RELEASE)) { + implementation rootProject.ext.dependencies.modulecommon + } else { + implementation project(':modules:mogo-module-common') + } } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-apps-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-apps-res/values/colors.xml index 30a43fb8d6..ff5c5d096b 100644 --- a/skin/mogo-skin-light/src/main/module-apps-res/values/colors.xml +++ b/skin/mogo-skin-light/src/main/module-apps-res/values/colors.xml @@ -1,4 +1,4 @@ - #FFFFFF + #B2F5F5F5 diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_driver_info_window_bkg_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_driver_info_window_bkg_light.xml new file mode 100644 index 0000000000..a702e0853b --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_driver_info_window_bkg_light.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_info_window_cursor_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_info_window_cursor_light.xml new file mode 100644 index 0000000000..6ea27dfa6f --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_info_window_cursor_light.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml index 045e125f3d..823423c2f2 100644 --- a/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml +++ b/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml @@ -1,3 +1,4 @@ + #333333