diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
index 785c282c6c..f12e737695 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
@@ -1,6 +1,12 @@
package com.mogo.commons;
import android.app.Application;
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.elegant.analytics.Analytics;
@@ -57,13 +63,40 @@ public class AbsMogoApplication extends Application {
asyncInit();
}
- private void syncInit(){
+ private void syncInit() {
// 初始化 arouter
if ( DebugConfig.isDebug() ) {
ARouter.openDebug();
ARouter.openLog();
}
ARouter.init( sApp );
+ TipToast.init( this, new TipToast.ToastViewGenerator() {
+ @Override
+ public View make( Context context, String message ) {
+ if ( TextUtils.isEmpty( message ) ) {
+ return null;
+ }
+ View contentView = LayoutInflater.from( context ).inflate( R.layout.module_commons_layout_toast, null );
+ TextView txt = contentView.findViewById( R.id.module_commons_toast_msg );
+ txt.setText( message );
+ return contentView;
+ }
+
+ @Override
+ public int gravity() {
+ return Gravity.TOP | Gravity.CENTER_HORIZONTAL;
+ }
+
+ @Override
+ public int yOffset() {
+ return sApp.getResources().getDimensionPixelSize( R.dimen.module_commons_toast_y_offset );
+ }
+
+ @Override
+ public int xOffset() {
+ return 0;
+ }
+ } );
}
/**
@@ -79,12 +112,11 @@ public class AbsMogoApplication extends Application {
return sc;
}
- private void asyncInit(){
- ThreadPoolService.execute( ()->{
+ private void asyncInit() {
+ ThreadPoolService.execute( () -> {
initNetConfig();
initAccountSdk();
// 初始化toast
- TipToast.init( sApp, null );
// 初始化埋点
Analytics.getInstance().start( sApp );
Analytics.getInstance().setAppKey( "6bbe7e0e1ecd8e2f8dc336e1678a2791" );
diff --git a/foudations/mogo-commons/src/main/res/drawable/module_commons_toast_bkg.xml b/foudations/mogo-commons/src/main/res/drawable/module_commons_toast_bkg.xml
new file mode 100644
index 0000000000..58389abf7c
--- /dev/null
+++ b/foudations/mogo-commons/src/main/res/drawable/module_commons_toast_bkg.xml
@@ -0,0 +1,8 @@
+
+
+ * 描述 + */ +public class TTSPlayerFactory { + + public static TTSPlayer getPlayer( Context context ) { + return new AndroidTTSPlayer( context ); + } +} diff --git a/gradle.properties b/gradle.properties index fff8943382..d3345f343c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,7 +54,7 @@ MOGO_MODULE_GUIDE_VERSION=1.0.0 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.0.3.2 +MOGO_MODULE_TANLU_VERSION=1.0.4.2 # 车聊聊 CARCHATTING_VERSION=1.0.3 # 车聊聊接口 @@ -68,11 +68,11 @@ MOGO_MODULE_ONLINECAR_VERSION=1.0.3.1 # v2x MOGO_MODULE_V2X_VERSION=1.0.3.2 # 媒体卡片 -MOGO_MODULE_MEDIA_VERSION=1.0.3 +MOGO_MODULE_MEDIA_VERSION=1.0.4 # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 新鲜事 -MOGO_MODULE_FRESH_NEWS_VERSION=1.0.3.1 +MOGO_MODULE_FRESH_NEWS_VERSION=1.0.3.2 diff --git a/libraries/map-amap/build.gradle b/libraries/map-amap/build.gradle index 555ca0b60e..780c7af6f6 100644 --- a/libraries/map-amap/build.gradle +++ b/libraries/map-amap/build.gradle @@ -39,10 +39,12 @@ dependencies { implementation rootProject.ext.dependencies.mogoutils implementation rootProject.ext.dependencies.mogomapapi implementation rootProject.ext.dependencies.mogocommons + implementation rootProject.ext.dependencies.mogomapapi } else { implementation project(':foudations:mogo-utils') implementation project(':libraries:mogo-map-api') implementation project(':foudations:mogo-commons') + implementation project(':services:mogo-service-api') } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 99ccd4db65..26f0836020 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -601,11 +601,11 @@ public class AMapNaviViewWrapper implements IMogoMapView, } @Override - public void displayOverview() { + public void displayOverview( Rect bounds ) { if ( checkAMapView() ) { if ( NaviClient.getInstance( getContext() ).isNaviing() ) { loseLockMode(); - NaviClient.getInstance( getContext() ).displayOverview(); + NaviClient.getInstance( getContext() ).displayOverview( bounds ); } } } @@ -633,6 +633,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, if ( checkAMapView() ) { mMapView.setCarOverlayVisible( false ); showMyLocation( true ); + NaviClient.getInstance( getContext() ).startAimlessMode(); } } @@ -823,12 +824,16 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void setCarCursorOption( CarCursorOption option ) { - if ( mCarCursorOption != null ) { + if ( mCarCursorOption != null && mCarCursorOption != DEFAULT_OPTION ) { mCarCursorOption.destroy(); } - try { - mCarCursorOption = option.clone(); - } catch ( CloneNotSupportedException e ) { + if ( option != null ) { + try { + mCarCursorOption = option.clone(); + } catch ( Exception e ) { + mCarCursorOption = DEFAULT_OPTION; + } + } else { mCarCursorOption = DEFAULT_OPTION; } if ( !checkAMapView() ) { @@ -837,8 +842,10 @@ public class AMapNaviViewWrapper implements IMogoMapView, AMapNaviViewOptions options = mMapView.getViewOptions(); if ( options != null && mCarCursorOption.getNaviCursorRes() != 0 ) { options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), mCarCursorOption.getNaviCursorRes() ) ); - mMapView.setViewOptions( options ); + } else { + options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), DEFAULT_OPTION.getNaviCursorRes() ) ); } + mMapView.setViewOptions( options ); if ( mMapView.getMap() == null ) { return; @@ -849,6 +856,8 @@ public class AMapNaviViewWrapper implements IMogoMapView, } else { if ( mCarCursorOption.getCarCursorRes() != 0 ) { style.myLocationIcon( BitmapDescriptorFactory.fromResource( mCarCursorOption.getCarCursorRes() ) ); + } else { + style.myLocationIcon( BitmapDescriptorFactory.fromResource( DEFAULT_OPTION.getCarCursorRes() ) ); } } mMapView.getMap().setMyLocationStyle( style ); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 5d6afc5cfe..64d0b14bc9 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -11,6 +11,7 @@ import com.amap.api.navi.enums.AimLessMode; import com.amap.api.navi.enums.NaviType; import com.amap.api.navi.model.NaviLatLng; import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.voice.AIAssist; import com.mogo.map.MogoLatLng; import com.mogo.map.impl.amap.AMapWrapper; import com.mogo.map.impl.amap.message.AMapMessageManager; @@ -22,6 +23,7 @@ import com.mogo.map.navi.MogoNaviConfig; import com.mogo.map.navi.MogoNaviListenerHandler; import com.mogo.map.navi.OnCalculatePathItemClickInteraction; import com.mogo.utils.logger.Logger; +import com.mogo.utils.storage.SharedPrefsMgr; import java.util.ArrayList; import java.util.Arrays; @@ -35,7 +37,13 @@ import java.util.List; */ public class NaviClient implements IMogoNavi { + /** + * 巡航状态控制 + */ + public static final String KEY_AIMLESS_STATUS = "KEY_AIMLESS_STATUS"; + private static final String TAG = "NaviClient"; + private final Context mContext; private AMapNavi mAMapNavi; private final NaviListenerAdapter mAMapNaviListener; @@ -55,16 +63,27 @@ public class NaviClient implements IMogoNavi { private Location mCarLocation; private IMogoCarLocationChangedListener mCarLocationChangedListener; private LocationSource.OnLocationChangedListener mOnLocationChangedListener; + /** + * 巡航模式配置状态 + */ + private boolean mAimlessModeStatus; + + /** + * 巡航状态 + */ + private boolean mAimlessStatus; private NaviClient( Context context ) { + mContext = context; mAMapNavi = AMapNavi.getInstance( context ); mAMapNavi.setEmulatorNaviSpeed( 120 ); - mAMapNavi.setUseInnerVoice( false, true ); + mAMapNavi.setUseInnerVoice( true, true ); mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this ); mAimlessModeListener = new AimlessModeListenerAdapter() { }; mAMapNavi.addAMapNaviListener( mAMapNaviListener ); mAMapNavi.addAimlessModeListener( mAimlessModeListener ); + mAimlessModeStatus = SharedPrefsMgr.getInstance( mContext ).getBoolean( KEY_AIMLESS_STATUS, false ); } public static NaviClient getInstance( Context context ) { @@ -151,7 +170,7 @@ public class NaviClient implements IMogoNavi { return; } mIsRealNavi = isRealNavi; - + stopAimlessMode(); boolean isNaving = isNaviing(); boolean result = mAMapNavi.startNavi( isRealNavi ? NaviType.GPS : NaviType.EMULATOR ); if ( isNaving && !result ) { @@ -274,18 +293,42 @@ public class NaviClient implements IMogoNavi { @Override public void startAimlessMode() { - mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); + if ( mAimlessModeStatus && !isNaviing() ) { + mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED ); + mAimlessStatus = true; + Logger.d( TAG, "开启巡航成功" ); + } else { + mAimlessStatus = false; + Logger.d( TAG, "开启巡航失败" ); + } } @Override public void stopAimlessMode() { mAMapNavi.stopAimlessMode(); + mAimlessStatus = false; + Logger.d( TAG, "关闭巡航成功" ); } @Override - public void displayOverview() { + public void setAimlessModeStatus( boolean open ) { + this.mAimlessModeStatus = open; + SharedPrefsMgr.getInstance( mContext ).putBoolean( KEY_AIMLESS_STATUS, open ); + if ( open ) { + if ( !mAimlessStatus ) { + startAimlessMode(); + } + } else { + if ( mAimlessStatus ) { + stopAimlessMode(); + } + } + } + + @Override + public void displayOverview( Rect bounds ) { if ( mAMapNaviListener != null ) { - mAMapNaviListener.displayOverview(); + mAMapNaviListener.displayOverview( bounds ); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java index dfd56d70de..c402fdc0a4 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java @@ -95,6 +95,7 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { @Override public void onInitNaviSuccess() { MogoNaviListenerHandler.getInstance().onInitNaviSuccess(); + NaviClient.getInstance( mContext ).startAimlessMode(); } @Override @@ -245,9 +246,10 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { public void handleClickedPolyline( Polyline polyline ) { if ( mNaviOverlayHelper != null ) { + mNaviOverlayHelper.handleClickedPolyline( polyline, isNaviing() ); mAMapNavi.selectRouteId( mNaviOverlayHelper.getSelectedPathId() ); - mNaviOverlayHelper.showBounds(); + mNaviOverlayHelper.showBoundsWithSettingBounds(); } } @@ -291,9 +293,9 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter { } } - public void displayOverview(){ + public void displayOverview( Rect bounds ) { if ( mNaviOverlayHelper != null ) { - mNaviOverlayHelper.displayOverview(); + mNaviOverlayHelper.displayOverview( bounds ); } } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java index 19cd0dabfb..9448f2b296 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviOverlayHelper.java @@ -99,7 +99,7 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { if ( after != null ) { after.run(); } - } ); + }, mBoundRect ); } private LatLngBounds getBounds() { @@ -169,25 +169,32 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { } } - public void showBounds() { + public void showBoundsWithSettingBounds() { + showBounds( mBoundRect ); + } + + public void showBounds( Rect bounds ) { Logger.d( TAG, "showBounds" ); - showPathsBound( getBounds(), null ); + showPathsBound( getBounds(), null, bounds ); } /** * 将规划好的路径显示在视野内 */ - private void showPathsBound( LatLngBounds bounds, Runnable after ) { + private void showPathsBound( LatLngBounds bounds, Runnable after, Rect rect ) { if ( bounds == null ) { return; } + if ( rect == null ) { + rect = new Rect(); + } checkAMapInstance(); mAMap.moveCamera( CameraUpdateFactory.newLatLngBoundsRect( bounds, - mBoundRect.left, - mBoundRect.right, - mBoundRect.top, - mBoundRect.bottom )); + rect.left, + rect.right, + rect.top, + rect.bottom ) ); if ( after != null ) { after.run(); } @@ -431,7 +438,7 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { public void onItemClicked( String tagId ) { handleClickedPolyline( tagId ); mAMapNavi.selectRouteId( getSelectedPathId() ); - showBounds(); + showBounds( mBoundRect ); } public OnCalculatePathItemClickInteraction getItemClickInteraction() { @@ -451,7 +458,7 @@ public class NaviOverlayHelper implements OnCalculatePathItemClickInteraction { /** * 展示全程 */ - public void displayOverview(){ - showBounds(); + public void displayOverview( Rect bounds ) { + showBounds( bounds ); } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index 6e395ec1ba..b5f5c7da96 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -126,9 +126,9 @@ public class AMapUIController implements IMogoMapUIController { } @Override - public void displayOverview() { + public void displayOverview( Rect bounds ) { if (mClient != null) { - mClient.displayOverview(); + mClient.displayOverview(bounds); } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 4a780f8b61..40914d49b0 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -161,10 +161,17 @@ public interface IMogoNavi { */ void stopAimlessMode(); + /** + * 设置巡航模式状态 + * + * @param open + */ + void setAimlessModeStatus( boolean open ); + /** * 查看全程 */ - void displayOverview(); + void displayOverview( Rect bounds ); /** * 设置使用外部定位源 diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index 053ae1b848..e8a557dd79 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.animation.Interpolator; import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; @@ -88,8 +89,10 @@ public interface IMogoMapUIController { /** * 预览全程 + * + * @param bounds 显示范围 */ - void displayOverview(); + void displayOverview( Rect bounds ); /** * 获取比例尺数据 @@ -192,7 +195,7 @@ public interface IMogoMapUIController { /** * 配置自车图标样式 * - * @param option + * @param option 为空时使用默认配置 */ - void setCarCursorOption( CarCursorOption option ); + void setCarCursorOption( @Nullable CarCursorOption option ); } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index e430a33b65..286b7aec12 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -120,9 +120,9 @@ public class MogoMapUIController implements IMogoMapUIController { } @Override - public void displayOverview() { + public void displayOverview( Rect bounds ) { if (mDelegate != null) { - mDelegate.displayOverview(); + mDelegate.displayOverview(bounds); } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java index b3d7c0c75c..2e9ff0a525 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java @@ -197,9 +197,16 @@ public class MogoNavi implements IMogoNavi { } @Override - public void displayOverview() { + public void setAimlessModeStatus( boolean open ) { if ( mDelegate != null ) { - mDelegate.displayOverview(); + mDelegate.setAimlessModeStatus( open ); + } + } + + @Override + public void displayOverview( Rect bounds ) { + if ( mDelegate != null ) { + mDelegate.displayOverview(bounds); } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java index 62c4a193ad..84e1088f63 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java @@ -39,14 +39,14 @@ public class MapCenterPointStrategy { // 导航场景,定位视图右下角偏下 Map< Integer, MapCenterPoint > navi = new HashMap<>(); navi.put( CarSeries.CAR_SERIES_D80X, new MapCenterPoint( 0.7734375D, 0.65D ) ); - navi.put( CarSeries.CAR_SERIES_F80X, new MapCenterPoint( 0.775521D, 0.6759259D ) ); + navi.put( CarSeries.CAR_SERIES_F80X, new MapCenterPoint( 0.775521D, 0.661165D ) ); sStrategies.put( Scene.NAVI, navi ); // 巡航场景,定位视图右下角偏下 Map< Integer, MapCenterPoint > aimless = new HashMap<>(); aimless.put( CarSeries.CAR_SERIES_D80X, new MapCenterPoint( 0.677734375D, 0.54D ) ); - aimless.put( CarSeries.CAR_SERIES_F80X, new MapCenterPoint( 0.6963541D, 0.6833333D ) ); + aimless.put( CarSeries.CAR_SERIES_F80X, new MapCenterPoint( 0.6963541D, 0.558737D ) ); sStrategies.put( Scene.AIMLESS, aimless ); 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 3cb221d814..1ba191e0cf 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 @@ -24,8 +24,6 @@ import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.MogoCongestionInfo; import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; -import com.mogo.map.overlay.IMogoPolyline; -import com.mogo.map.uicontroller.CarCursorOption; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; @@ -47,6 +45,7 @@ import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.statusmanager.IMogoStatusManager; +import com.mogo.utils.logger.Logger; import java.util.HashMap; import java.util.Map; @@ -303,6 +302,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent @Override public void onStartNavi() { + mSearch.setVisibility( View.GONE ); mCommonAddress.setVisibility( View.GONE ); mNaviInfo.setVisibility( View.VISIBLE ); mCameraMode.setVisibility( View.VISIBLE ); @@ -315,6 +315,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent @Override public void onStopNavi() { + mSearch.setVisibility( View.VISIBLE ); mCommonAddress.setVisibility( View.VISIBLE ); mNaviInfo.setVisibility( View.GONE ); mCameraMode.setVisibility( View.GONE ); @@ -345,7 +346,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mSpeedLimit.setVisibility( View.INVISIBLE ); mSpeedLimitValue.setText( "--" ); } else { - mSpeedLimit.setVisibility( View.VISIBLE ); + // 暂时不显示限速,等有好的显示方案在放开 + mSpeedLimit.setVisibility( View.INVISIBLE ); mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) ); } } @@ -380,6 +382,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mIsLock = isLock; if ( isLock ) { mExitNavi.setText( R.string.module_ext_str_exit_navi ); + if ( mMogoStatusManager.isDisplayOverview() ) { + mMogoStatusManager.setDisplayOverview( TAG, false ); + } } else { mExitNavi.setText( R.string.module_ext_str_continue_navi ); } @@ -400,4 +405,32 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent properties.put( "from", from ); mAnalytics.track( "Launcher_Share_Click", properties ); } + + @Override + public void showNaviPanelWidgets() { + if ( !mMogoNavi.isNaviing() ) { + return; + } + mNaviInfo.setVisibility( View.VISIBLE ); + mCameraMode.setVisibility( View.VISIBLE ); + try { + mApis.getWindowManagerApi().showAll(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } + + @Override + public void hideNaviPanelWidgets() { + if ( !mMogoNavi.isNaviing() ) { + return; + } + mNaviInfo.setVisibility( View.GONE ); + mCameraMode.setVisibility( View.GONE ); + try { + mApis.getWindowManagerApi().hideAll(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } + } } 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 c998dcc7ab..7662f0ac2a 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 @@ -6,6 +6,9 @@ import android.net.Uri; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.NonNull; +import androidx.lifecycle.LifecycleOwner; + import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; @@ -14,10 +17,14 @@ import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.share.ShareControl; +import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.IMogoStatusManager; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; import org.json.JSONObject; @@ -33,7 +40,7 @@ import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerCons *
* 描述
*/
-public class EntrancePresenter extends Presenter
* 描述
*/
-public class WindowViewHandler {
+public class FloatingViewHandler {
private static final String TAG = "WindowViewHandler";
@@ -35,9 +35,9 @@ public class WindowViewHandler {
*/
private static boolean sMovable = false;
- public static FrameLayout sFloatingLayout = null;
+ private static FrameLayout sFloatingLayout = null;
- public static void init(FrameLayout frameLayout) {
+ public static void init( FrameLayout frameLayout ) {
sFloatingLayout = frameLayout;
}
@@ -49,20 +49,20 @@ public class WindowViewHandler {
* @param y
* @param movable
*/
- public static void addView(View view, int x, int y, boolean movable) {
- if (view == null) {
+ public static void addView( View view, int x, int y, boolean movable ) {
+ if ( view == null ) {
return;
}
- if (sFloatingLayout == null) {
- Logger.e(TAG, "no floating frame. ");
+ if ( sFloatingLayout == null ) {
+ Logger.e( TAG, "no floating frame. " );
return;
}
- FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT );
params.leftMargin = x;
params.topMargin = y;
- sFloatingLayout.addView(view, params);
+ sFloatingLayout.addView( view, params );
}
/**
@@ -72,16 +72,16 @@ public class WindowViewHandler {
* @param params
* @param movable
*/
- public static void addView(View view, FrameLayout.LayoutParams params, boolean movable) {
- if (view == null) {
+ public static void addView( View view, FrameLayout.LayoutParams params, boolean movable ) {
+ if ( view == null ) {
return;
}
- if (sFloatingLayout == null) {
- Logger.e(TAG, "no floating frame. ");
+ if ( sFloatingLayout == null ) {
+ Logger.e( TAG, "no floating frame. " );
return;
}
- sFloatingLayout.addView(view, params);
+ sFloatingLayout.addView( view, params );
}
/**
@@ -93,27 +93,27 @@ public class WindowViewHandler {
* @param y
* @param movable
*/
- public static void addView(View view, int priority, int x, int y, boolean movable) {
- if (view == null) {
+ public static void addView( View view, int priority, int x, int y, boolean movable ) {
+ if ( view == null ) {
return;
}
- if (sFloatingLayout == null) {
- Logger.e(TAG, "no floating frame. ");
+ if ( sFloatingLayout == null ) {
+ Logger.e( TAG, "no floating frame. " );
return;
}
- if (sView == view) {
- Logger.w(TAG, "改布局已添加且没有移除,不操作");
+ if ( sView == view ) {
+ Logger.w( TAG, "改布局已添加且没有移除,不操作" );
return;
}
- if (sView != null) {
- if (priority < sPriority) {
- Logger.w(TAG, "过滤低优先级布局");
+ if ( sView != null ) {
+ if ( priority < sPriority ) {
+ Logger.w( TAG, "过滤低优先级布局" );
return;
}
- sFloatingLayout.removeView(sView);
+ sFloatingLayout.removeView( sView );
}
sView = view;
sMovable = movable;
@@ -131,27 +131,27 @@ public class WindowViewHandler {
* @param params
* @param movable
*/
- public static void addView(View view, int priority, FrameLayout.LayoutParams params, boolean movable) {
- if (view == null) {
+ public static void addView( View view, int priority, FrameLayout.LayoutParams params, boolean movable ) {
+ if ( view == null ) {
return;
}
- if (sFloatingLayout == null) {
- Logger.e(TAG, "no floating frame. ");
+ if ( sFloatingLayout == null ) {
+ Logger.e( TAG, "no floating frame. " );
return;
}
- if (sView == view) {
- Logger.w(TAG, "改布局已添加且没有移除,不操作");
+ if ( sView == view ) {
+ Logger.w( TAG, "改布局已添加且没有移除,不操作" );
return;
}
- if (sView != null) {
- if (priority < sPriority) {
- Logger.w(TAG, "过滤低优先级布局");
+ if ( sView != null ) {
+ if ( priority < sPriority ) {
+ Logger.w( TAG, "过滤低优先级布局" );
return;
}
- sFloatingLayout.removeView(sView);
+ sFloatingLayout.removeView( sView );
}
sView = view;
sMovable = movable;
@@ -160,15 +160,15 @@ public class WindowViewHandler {
addView();
}
- public static void removeView(View view) {
- if (sFloatingLayout == null) {
+ public static void removeView( View view ) {
+ if ( sFloatingLayout == null ) {
return;
}
- if (view == null) {
+ if ( view == null ) {
return;
}
- sFloatingLayout.removeView(view);
- if (sView == view) {
+ sFloatingLayout.removeView( view );
+ if ( sView == view ) {
sView = null;
sPriority = Integer.MIN_VALUE;
sMovable = false;
@@ -177,29 +177,35 @@ public class WindowViewHandler {
}
private static void addView() {
- if (sView == null) {
+ if ( sView == null ) {
return;
}
FrameLayout.LayoutParams params = sParams;
- if (params == null) {
- params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ if ( params == null ) {
+ params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT );
params.leftMargin = sX;
params.topMargin = sY;
}
- sFloatingLayout.addView(sView, params);
+ sFloatingLayout.addView( sView, params );
}
- public static void attachMovementEvent(View view, WindowManager.LayoutParams params) {
- if (view == null) {
+ public static void attachMovementEvent( View view, WindowManager.LayoutParams params ) {
+ if ( view == null ) {
return;
}
- view.setOnTouchListener((v, event) -> {
+ view.setOnTouchListener( ( v, event ) -> {
DispatchTouchEventWrapper.getInstance()
- .attach(view, params)
- .handle(event);
+ .attach( view, params )
+ .handle( event );
return false;
- });
+ } );
+ }
+
+ public static void setVisible( boolean visible ) {
+ if ( sFloatingLayout != null ) {
+ sFloatingLayout.setVisibility( visible ? View.VISIBLE : View.INVISIBLE );
+ }
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java
index 2357701d68..f7b69a8dd2 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java
@@ -14,36 +14,46 @@ import com.mogo.service.windowview.IMogoWindowManager;
*
* 根据优先级控制显示 window view.
*/
-@Route(path = MogoServicePaths.PATH_WINDOW_MANAGER)
+@Route( path = MogoServicePaths.PATH_WINDOW_MANAGER )
public class MogoWindowManager implements IMogoWindowManager {
@Override
- public void addView(View view, int x, int y, boolean movable) {
- WindowViewHandler.addView(view, x, y, movable);
+ public void addView( View view, int x, int y, boolean movable ) {
+ FloatingViewHandler.addView( view, x, y, movable );
}
@Override
- public void addView(View view, FrameLayout.LayoutParams params, boolean movable) {
- WindowViewHandler.addView(view, params, movable);
+ public void addView( View view, FrameLayout.LayoutParams params, boolean movable ) {
+ FloatingViewHandler.addView( view, params, movable );
}
@Override
- public void addView(int priority, View view, int x, int y, boolean movable) {
- WindowViewHandler.addView(view, priority, x, y, movable);
+ public void addView( int priority, View view, int x, int y, boolean movable ) {
+ FloatingViewHandler.addView( view, priority, x, y, movable );
}
@Override
- public void addView(int priority, View view, FrameLayout.LayoutParams params, boolean movable) {
- WindowViewHandler.addView(view, priority, params, movable);
+ public void addView( int priority, View view, FrameLayout.LayoutParams params, boolean movable ) {
+ FloatingViewHandler.addView( view, priority, params, movable );
}
@Override
- public void removeView(View view) {
- WindowViewHandler.removeView(view);
+ public void removeView( View view ) {
+ FloatingViewHandler.removeView( view );
}
@Override
- public void init(Context context) {
+ public void hideAll() {
+ FloatingViewHandler.setVisible( false );
+ }
+
+ @Override
+ public void showAll() {
+ FloatingViewHandler.setVisible( true );
+ }
+
+ @Override
+ public void init( Context context ) {
}
}
diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
index cc2ca88ad3..d5db0d506d 100644
--- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
+++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java
@@ -21,7 +21,8 @@ import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.MapControlResult;
-import com.mogo.module.common.MogoModulePaths;
+import com.mogo.module.common.map.MapCenterPointStrategy;
+import com.mogo.module.common.map.Scene;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.intent.IMogoIntentListener;
@@ -32,12 +33,8 @@ import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.strategy.IMogoRefreshStrategyController;
-import com.mogo.service.voice.IMogoVoiceListener;
-import com.mogo.service.voice.IMogoVoiceManager;
-import com.mogo.utils.AppUtils;
import com.mogo.utils.ResourcesHelper;
import com.mogo.utils.UiThreadHandler;
-import com.mogo.utils.WindowUtils;
import com.mogo.utils.logger.Logger;
import java.util.Map;
@@ -62,6 +59,7 @@ public class MapPresenter extends Presenter< MapView > implements
private IMogoStatusManager mStatusManager;
private IMogoRegisterCenter mRegisterCenter;
private IMogoLauncher mLauncher;
+ private Rect mDisplayOverviewBounds;
public MapPresenter( MapView view ) {
super( view );
@@ -99,11 +97,8 @@ 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);
-
} else if ( opera_type == 2 ) {
mView.getUIController().changeMapMode( EnumMapUI.CarUp_3D );
- //AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
}
}
@@ -123,18 +118,14 @@ public class MapPresenter extends Presenter< MapView > implements
//intent.putExtra("EXTRA_ENDURANCE_DATA", continueNavi);
//继续导航
} else if ( key_type == 10049 ) {
- boolean extra_endurance_data =
- intent.getBooleanExtra( "EXTRA_ENDURANCE_DATA", false );
+ boolean extra_endurance_data = intent.getBooleanExtra( "EXTRA_ENDURANCE_DATA", false );
if ( extra_endurance_data ) {
onContinueNavigation();
}
} else if ( key_type == 10006 ) {
-
int extra_is_show = intent.getIntExtra( "EXTRA_IS_SHOW", 0 );
-
if ( extra_is_show == 0 ) {
- mStatusManager.setUserInteractionStatus( TAG, true, false );
- mView.getUIController().displayOverview();
+ onDisplayOverview();
} else {
onContinueNavigation();
}
@@ -173,13 +164,16 @@ public class MapPresenter extends Presenter< MapView > implements
/**
* 继续导航
*/
- private void onContinueNavigation(){
+ private void onContinueNavigation() {
+
if ( mStatusManager.isMainPageOnResume() ) {
+ mStatusManager.setDisplayOverview( TAG, false );
mView.getUIController().recoverLockMode();
} else {
mLauncher.backToLauncher( getContext() );
UiThreadHandler.postDelayed( () -> {
try {
+ mStatusManager.setDisplayOverview( TAG, false );
mView.getUIController().recoverLockMode();
} catch ( Exception e ) {
e.printStackTrace();
@@ -188,6 +182,16 @@ public class MapPresenter extends Presenter< MapView > implements
}
}
+ private void onDisplayOverview() {
+ if ( !mMogoMapService.getNavi( getContext() ).isNaviing() ) {
+ Logger.d( TAG, "未开始导航." );
+ return;
+ }
+ mStatusManager.setUserInteractionStatus( TAG, true, false );
+ mStatusManager.setDisplayOverview( TAG, true );
+ mView.getUIController().displayOverview( mDisplayOverviewBounds );
+ }
+
private void zoomMap( boolean zoomIn ) {
boolean isLocked = mMogoMapService.getMapUIController().isCarLocked();
MapControlResult result = mView.getUIController().changeZoom( zoomIn );
@@ -229,11 +233,18 @@ public class MapPresenter extends Presenter< MapView > implements
IMogoNavi mogoNavi = mMogoMapService.getNavi( getContext() );
mogoNavi.setCalculatePathDisplayBounds( new Rect(
+ ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_calculate_path_display_overview_left_margin ),
+ ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_calculate_path_display_overview_top_margin ),
+ ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_calculate_path_display_overview_right_margin ),
+ ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_calculate_path_display_overview_bottom_margin )
+ ) );
+
+ mDisplayOverviewBounds = new Rect(
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 )
- ) );
+ );
}
@Override
@@ -259,8 +270,7 @@ public class MapPresenter extends Presenter< MapView > implements
private void registerVoiceCmd() {
for ( Map.Entry< String, String[] > entry : VoiceConstants.sVoiceCmds.entrySet() ) {
- AIAssist.getInstance( getContext() )
- .registerUnWakeupCommand( entry.getKey(), entry.getValue(), this );
+ AIAssist.getInstance( getContext() ).registerUnWakeupCommand( entry.getKey(), entry.getValue(), this );
}
for ( String cmd : VoiceConstants.sCmds ) {
@@ -293,12 +303,10 @@ public class MapPresenter extends Presenter< MapView > implements
switch ( cmd ) {
case VoiceConstants.CMD_MAP_TRAFFIC_MODE_UN_WAKEUP:
case VoiceConstants.CMD_MAP_TRAFFIC_MODE:
- AIAssist.getInstance( getContext() ).speakTTSVoice( "已打开", null );
mView.getUIController().setTrafficEnabled( true );
break;
case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE_UN_WAKEUP:
case VoiceConstants.CMD_MAP_UN_TRAFFIC_MODE:
- AIAssist.getInstance( getContext() ).speakTTSVoice( "已关闭", null );
mView.getUIController().setTrafficEnabled( false );
break;
case VoiceConstants.CMD_MAP_ZOOM_IN_UN_WAKEUP:
@@ -314,12 +322,10 @@ public class MapPresenter extends Presenter< MapView > implements
case VoiceConstants.CMD_MAP_NORTH_UP_MODE_UN_WAKEUP:
case VoiceConstants.CMD_MAP_NORTH_UP_MODE:
mView.getUIController().changeMapMode( EnumMapUI.NorthUP_2D );
- AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null );
break;
case VoiceConstants.CMD_MAP_3D_UN_WAKEUP:
case VoiceConstants.CMD_MAP_3D:
mView.getUIController().changeMapMode( EnumMapUI.CarUp_3D );
- AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null );
break;
case VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP:
@@ -359,7 +365,7 @@ public class MapPresenter extends Presenter< MapView > implements
AIAssist.getInstance( getContext() ).speakTTSVoice( "已切换", null );
break;
case VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE:
- mView.getUIController().displayOverview();
+ onDisplayOverview();
break;
case VoiceConstants.CMD_MAP_CONTINUE_NAVI_MODE:
onContinueNavigation();
diff --git a/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml
index 7f51191319..bcf618205a 100644
--- a/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml
+++ b/modules/mogo-module-map/src/main/res/values-ldpi/dimens.xml
@@ -1,7 +1,13 @@
+ * 上报故障求助之后自车的图标显示策略
+ */
+public class CarIconDisplayStrategy {
+
+ public static final int MSG_SEEK_HELPING_ANIM = 2000;
+
+ // F 系列才有这个帧动画
+ public static final int[] sFrame = {
+ R.drawable.module_service_ic_seek_helping_00000,
+ R.drawable.module_service_ic_seek_helping_00001,
+ R.drawable.module_service_ic_seek_helping_00002,
+ R.drawable.module_service_ic_seek_helping_00003,
+ R.drawable.module_service_ic_seek_helping_00004,
+ R.drawable.module_service_ic_seek_helping_00005,
+ R.drawable.module_service_ic_seek_helping_00006,
+ R.drawable.module_service_ic_seek_helping_00007,
+ R.drawable.module_service_ic_seek_helping_00008,
+ R.drawable.module_service_ic_seek_helping_00009,
+ R.drawable.module_service_ic_seek_helping_00010,
+ R.drawable.module_service_ic_seek_helping_00011,
+ R.drawable.module_service_ic_seek_helping_00012,
+ R.drawable.module_service_ic_seek_helping_00013,
+ R.drawable.module_service_ic_seek_helping_00014,
+ R.drawable.module_service_ic_seek_helping_00015,
+ R.drawable.module_service_ic_seek_helping_00016,
+ R.drawable.module_service_ic_seek_helping_00017,
+ R.drawable.module_service_ic_seek_helping_00018,
+ R.drawable.module_service_ic_seek_helping_00019,
+ R.drawable.module_service_ic_seek_helping_00020,
+ R.drawable.module_service_ic_seek_helping_00021,
+ R.drawable.module_service_ic_seek_helping_00022,
+ R.drawable.module_service_ic_seek_helping_00023,
+ R.drawable.module_service_ic_seek_helping_00024,
+ R.drawable.module_service_ic_seek_helping_00025,
+ R.drawable.module_service_ic_seek_helping_00026,
+ R.drawable.module_service_ic_seek_helping_00027,
+ R.drawable.module_service_ic_seek_helping_00028,
+ R.drawable.module_service_ic_seek_helping_00029,
+ R.drawable.module_service_ic_seek_helping_00030,
+ R.drawable.module_service_ic_seek_helping_00031,
+ R.drawable.module_service_ic_seek_helping_00032,
+ R.drawable.module_service_ic_seek_helping_00033,
+ R.drawable.module_service_ic_seek_helping_00034,
+ R.drawable.module_service_ic_seek_helping_00035,
+ R.drawable.module_service_ic_seek_helping_00036,
+ R.drawable.module_service_ic_seek_helping_00037,
+ R.drawable.module_service_ic_seek_helping_00038,
+ R.drawable.module_service_ic_seek_helping_00039,
+ R.drawable.module_service_ic_seek_helping_00040,
+ R.drawable.module_service_ic_seek_helping_00041,
+ R.drawable.module_service_ic_seek_helping_00042,
+ R.drawable.module_service_ic_seek_helping_00043,
+ R.drawable.module_service_ic_seek_helping_00044,
+ R.drawable.module_service_ic_seek_helping_00045,
+ R.drawable.module_service_ic_seek_helping_00046,
+ R.drawable.module_service_ic_seek_helping_00047,
+ R.drawable.module_service_ic_seek_helping_00048,
+ R.drawable.module_service_ic_seek_helping_00049,
+ R.drawable.module_service_ic_seek_helping_00050,
+ R.drawable.module_service_ic_seek_helping_00051,
+ R.drawable.module_service_ic_seek_helping_00052,
+ R.drawable.module_service_ic_seek_helping_00053,
+ R.drawable.module_service_ic_seek_helping_00054,
+ R.drawable.module_service_ic_seek_helping_00055,
+ R.drawable.module_service_ic_seek_helping_00056,
+ R.drawable.module_service_ic_seek_helping_00057,
+ R.drawable.module_service_ic_seek_helping_00058,
+ R.drawable.module_service_ic_seek_helping_00059,
+ R.drawable.module_service_ic_seek_helping_00060,
+ R.drawable.module_service_ic_seek_helping_00061,
+ R.drawable.module_service_ic_seek_helping_00062,
+ R.drawable.module_service_ic_seek_helping_00063,
+ R.drawable.module_service_ic_seek_helping_00064
+ };
+
+ private static volatile CarIconDisplayStrategy sInstance;
+ private IMogoMapUIController mController;
+
+ private CarIconDisplayStrategy() {
+ mOption = new CarCursorOption.Builder().carCursorRes( R.drawable.module_service_ic_seek_helping ).build();
+ }
+
+ public static CarIconDisplayStrategy getInstance() {
+ if ( sInstance == null ) {
+ synchronized ( CarIconDisplayStrategy.class ) {
+ if ( sInstance == null ) {
+ sInstance = new CarIconDisplayStrategy();
+ }
+ }
+ }
+ return sInstance;
+ }
+
+ public synchronized void release() {
+ sInstance = null;
+ }
+
+ private Handler mSeekHelpingHandler;
+ private int mCounter = 0;
+ private boolean mStopStatus = true;
+ private CarCursorOption mOption;
+
+ public void changeCarIconStatus( IMogoMapUIController controller, boolean seekHelpingStatus ) {
+ mController = controller;
+ if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) {
+ if ( seekHelpingStatus ) {
+ playSeekHelpingAnim();
+ } else {
+ stopSeekHelpingAnim();
+ }
+ } else {
+ if ( seekHelpingStatus ) {
+ controller.setCarCursorOption( mOption );
+ } else {
+ controller.setCarCursorOption( null );
+ }
+ }
+ }
+
+ private void playSeekHelpingAnim() {
+ initHandler();
+ mStopStatus = false;
+ Message msg = Message.obtain();
+ msg.what = MSG_SEEK_HELPING_ANIM;
+ msg.arg1 = mCounter++;
+ mSeekHelpingHandler.sendMessageDelayed( msg, 100 );
+ }
+
+ private void initHandler() {
+ if ( mSeekHelpingHandler != null ) {
+ return;
+ }
+ mSeekHelpingHandler = new Handler( WorkThreadHandler.getInstance().getLooper() ) {
+ @Override
+ public void handleMessage( Message msg ) {
+ super.handleMessage( msg );
+ if ( mStopStatus ) {
+ mSeekHelpingHandler.removeMessages( MSG_SEEK_HELPING_ANIM );
+ mCounter = 0;
+ mController.setCarCursorOption( null );
+ return;
+ }
+ switch ( msg.what ) {
+ case MSG_SEEK_HELPING_ANIM:
+ mOption.setCarCursorRes( sFrame[msg.arg1 % sFrame.length] );
+ mController.setCarCursorOption( mOption );
+ playSeekHelpingAnim();
+ break;
+ }
+ }
+ };
+ }
+
+ private void stopSeekHelpingAnim() {
+ mStopStatus = true;
+ if ( mSeekHelpingHandler == null ) {
+ return;
+ }
+ mCounter = 0;
+ mSeekHelpingHandler.removeMessages( MSG_SEEK_HELPING_ANIM );
+ mController.setCarCursorOption( null );
+ }
+}
diff --git a/modules/mogo-module-service/src/main/res/drawable-ldpi/module_service_ic_seek_helping.png b/modules/mogo-module-service/src/main/res/drawable-ldpi/module_service_ic_seek_helping.png
new file mode 100755
index 0000000000..ed3ff999dd
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-ldpi/module_service_ic_seek_helping.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping.png
new file mode 100755
index 0000000000..aa6eb75043
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00000.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00000.png
new file mode 100755
index 0000000000..91ef580142
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00000.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00001.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00001.png
new file mode 100755
index 0000000000..035c1dc64e
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00001.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00002.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00002.png
new file mode 100755
index 0000000000..be7329b427
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00002.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00003.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00003.png
new file mode 100755
index 0000000000..477ae463a1
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00003.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00004.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00004.png
new file mode 100755
index 0000000000..1e9174360a
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00004.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00005.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00005.png
new file mode 100755
index 0000000000..1f5662e952
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00005.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00006.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00006.png
new file mode 100755
index 0000000000..99f9c399c7
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00006.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00007.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00007.png
new file mode 100755
index 0000000000..51c2854387
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00007.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00008.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00008.png
new file mode 100755
index 0000000000..e85fbc19bf
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00008.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00009.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00009.png
new file mode 100755
index 0000000000..f2843ce176
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00009.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00010.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00010.png
new file mode 100755
index 0000000000..2d03318e75
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00010.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00011.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00011.png
new file mode 100755
index 0000000000..ad788d3c68
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00011.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00012.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00012.png
new file mode 100755
index 0000000000..dc52364e7b
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00012.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00013.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00013.png
new file mode 100755
index 0000000000..b8ea0b316c
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00013.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00014.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00014.png
new file mode 100755
index 0000000000..8abb4ccf51
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00014.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00015.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00015.png
new file mode 100755
index 0000000000..41549be007
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00015.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00016.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00016.png
new file mode 100755
index 0000000000..9fb488f78a
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00016.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00017.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00017.png
new file mode 100755
index 0000000000..de08a87e4c
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00017.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00018.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00018.png
new file mode 100755
index 0000000000..8a257850cc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00018.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00019.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00019.png
new file mode 100755
index 0000000000..938c6485e0
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00019.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00020.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00020.png
new file mode 100755
index 0000000000..41bf443f4d
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00020.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00021.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00021.png
new file mode 100755
index 0000000000..f3f8aa9264
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00021.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00022.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00022.png
new file mode 100755
index 0000000000..5a12355914
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00022.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00023.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00023.png
new file mode 100755
index 0000000000..c189afaf82
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00023.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00024.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00024.png
new file mode 100755
index 0000000000..a5e9a3a255
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00024.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00025.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00025.png
new file mode 100755
index 0000000000..030107cd78
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00025.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00026.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00026.png
new file mode 100755
index 0000000000..6267571bff
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00026.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00027.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00027.png
new file mode 100755
index 0000000000..abec499d36
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00027.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00028.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00028.png
new file mode 100755
index 0000000000..eba6b2bcbf
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00028.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00029.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00029.png
new file mode 100755
index 0000000000..a67c5f9cec
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00029.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00030.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00030.png
new file mode 100755
index 0000000000..3f33fb9c3a
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00030.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00031.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00031.png
new file mode 100755
index 0000000000..0f3fd7a901
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00031.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00032.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00032.png
new file mode 100755
index 0000000000..5a9fd6fbd0
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00032.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00033.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00033.png
new file mode 100755
index 0000000000..3ded233972
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00033.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00034.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00034.png
new file mode 100755
index 0000000000..3cdb8c6e34
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00034.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00035.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00035.png
new file mode 100755
index 0000000000..182a4ba602
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00035.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00036.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00036.png
new file mode 100755
index 0000000000..ea15361039
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00036.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00037.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00037.png
new file mode 100755
index 0000000000..a8d2759378
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00037.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00038.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00038.png
new file mode 100755
index 0000000000..162dc6d8cc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00038.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00039.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00039.png
new file mode 100755
index 0000000000..cd55a2012c
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00039.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00040.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00040.png
new file mode 100755
index 0000000000..fb2bf1d674
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00040.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00041.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00041.png
new file mode 100755
index 0000000000..b9c1d75d70
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00041.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00042.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00042.png
new file mode 100755
index 0000000000..592a4fa684
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00042.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00043.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00043.png
new file mode 100755
index 0000000000..2bf047529a
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00043.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00044.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00044.png
new file mode 100755
index 0000000000..1e6b1c62ca
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00044.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00045.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00045.png
new file mode 100755
index 0000000000..0ef8052522
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00045.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00046.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00046.png
new file mode 100755
index 0000000000..ddf515a0cc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00046.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00047.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00047.png
new file mode 100755
index 0000000000..32804bc40f
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00047.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00048.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00048.png
new file mode 100755
index 0000000000..e79bb3147b
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00048.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00049.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00049.png
new file mode 100755
index 0000000000..5d2e4c32a7
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00049.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00050.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00050.png
new file mode 100755
index 0000000000..b710ad29b0
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00050.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00051.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00051.png
new file mode 100755
index 0000000000..a3e2f3e5bc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00051.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00052.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00052.png
new file mode 100755
index 0000000000..c5fd7137d8
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00052.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00053.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00053.png
new file mode 100755
index 0000000000..975e1d8fca
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00053.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00054.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00054.png
new file mode 100755
index 0000000000..f9e8bf57cc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00054.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00055.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00055.png
new file mode 100755
index 0000000000..3bc6fd7222
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00055.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00056.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00056.png
new file mode 100755
index 0000000000..d4e83d833b
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00056.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00057.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00057.png
new file mode 100755
index 0000000000..28d16d7b2f
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00057.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00058.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00058.png
new file mode 100755
index 0000000000..fabcdee32f
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00058.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00059.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00059.png
new file mode 100755
index 0000000000..6bd5034043
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00059.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00060.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00060.png
new file mode 100755
index 0000000000..ce803618bc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00060.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00061.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00061.png
new file mode 100755
index 0000000000..973c84895e
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00061.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00062.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00062.png
new file mode 100755
index 0000000000..9f2edaa2d8
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00062.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00063.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00063.png
new file mode 100755
index 0000000000..dfe6bb88bf
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00063.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00064.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00064.png
new file mode 100755
index 0000000000..c4eeda5a13
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_service_ic_seek_helping_00064.png differ
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 c5b20b8269..5307736cd1 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
@@ -1,7 +1,6 @@
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;
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
index 3b2cd1e96e..777a3569dc 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt
@@ -4,6 +4,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.mogo.module.share.constant.ShareConstants
+import com.mogo.utils.logger.Logger
/**
* 用于接收唤醒词指令,现在只接收 com.zhidao.speech.awake.notify 这一条广播
@@ -12,6 +13,7 @@ class ShareVoiceCmdReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
// todo 接收唤醒词指令
val command = intent.getStringExtra("command")
+ Logger.d("ShareCmdReceiver", "收到唤醒词指令: $command")
if (command == "zhunbeishangbao") {
//todo 开启服务,准备上报求助
val seekHelp = Intent(context, VoiceCmdService::class.java)
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
index a56664a2e3..a2fbf3cc96 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
@@ -10,7 +10,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
-import android.widget.Toast;
import androidx.annotation.NonNull;
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 19142774ef..d284b2807c 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
@@ -3,8 +3,6 @@ package com.mogo.module.share.manager
import android.annotation.SuppressLint
import android.content.Context
import android.os.SystemClock
-import android.widget.Toast
-import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.data.BaseData
import com.mogo.commons.network.SubscribeImpl
import com.mogo.commons.voice.AIAssist
@@ -15,12 +13,9 @@ import com.mogo.module.share.bean.SeekRequest
import com.mogo.module.share.bean.getJson
import com.mogo.module.share.constant.HttpConstant
import com.mogo.module.share.net.ShareApiService
-import com.mogo.service.IMogoServiceApis
-import com.mogo.service.MogoServicePaths
-import com.mogo.utils.DeviceIdUtils
+import com.mogo.utils.TipToast
import com.mogo.utils.logger.Logger
import com.mogo.utils.network.RequestOptions
-import com.mogo.utils.network.utils.GsonUtil
import com.zhidao.auto.platform.util.DeviceUtil
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
@@ -121,7 +116,7 @@ object SeekHelpManager {
}
private fun toast(msg: String) {
- Toast.makeText(context, msg, Toast.LENGTH_LONG).show()
+ TipToast.tip(msg)
}
/**
diff --git a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_block_up.png b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_block_up.png
index ab5e22a384..d2f7197cce 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_block_up.png and b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_block_up.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_road_closure.png b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_road_closure.png
index 0e20d530b5..f6e8d2b499 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_road_closure.png and b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_road_closure.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_seek_help.png b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_seek_help.png
new file mode 100644
index 0000000000..c87f75fd0d
Binary files /dev/null and b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_seek_help.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_traffic_check.png b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_traffic_check.png
index 3fe74d1514..737a4c75a8 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-ldpi/share_traffic_check.png and b/modules/mogo-module-share/src/main/res/drawable-ldpi/share_traffic_check.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_block_up.png b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_block_up.png
index aa80dfe42f..0d33d14d6c 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_block_up.png and b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_block_up.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_road_closure.png b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_road_closure.png
index 7726fc04d4..0356075b5d 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_road_closure.png and b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_road_closure.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_seek_help.png b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_seek_help.png
new file mode 100644
index 0000000000..018f787003
Binary files /dev/null and b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_seek_help.png differ
diff --git a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_traffic_check.png b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_traffic_check.png
index 18e28e06f7..d9139b14e3 100644
Binary files a/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_traffic_check.png and b/modules/mogo-module-share/src/main/res/drawable-xhdpi/share_traffic_check.png differ
diff --git a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml
index 06ea3db506..7c4e60d6bc 100644
--- a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml
+++ b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml
@@ -39,10 +39,12 @@
android:drawablePadding="@dimen/share_module_tv_margin_top"
android:gravity="center"
android:text="上报拥堵"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ android:layout_marginStart="@dimen/dp_76"
android:textColor="@color/white"
android:textSize="@dimen/share_module_item"
android:textStyle="bold"
- android:layout_marginTop="@dimen/dp_30"
+ android:layout_marginTop="@dimen/dp_64"
app:layout_constraintLeft_toLeftOf="@+id/vBg"
app:layout_constraintRight_toLeftOf="@+id/tvTrafficCheck"
app:layout_constraintTop_toBottomOf="@+id/btn_share_title" />
@@ -83,11 +85,12 @@
android:id="@+id/tvNeedHelp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:drawableTop="@drawable/share_oil_price"
+ android:drawableTop="@drawable/share_seek_help"
android:drawablePadding="@dimen/share_module_tv_margin_top"
android:gravity="center"
- android:text="故障求助"
+ android:text="发起求助"
android:textColor="@color/white"
+ android:layout_marginEnd="@dimen/dp_76"
android:textSize="@dimen/share_module_item"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@+id/tvClosure"
@@ -98,11 +101,11 @@