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 0d2d7e1117..d459d17428 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
@@ -1,18 +1,25 @@
package com.mogo.map.impl.amap;
import android.content.Context;
+import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.location.Location;
import android.os.Bundle;
+import android.os.Looper;
import android.os.SystemClock;
import android.os.Trace;
-import android.util.Log;
+import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Interpolator;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.amap.api.maps.AMap;
import com.amap.api.maps.AMapUtils;
@@ -32,7 +39,9 @@ import com.amap.api.navi.AMapNaviViewListener;
import com.amap.api.navi.AMapNaviViewOptions;
import com.amap.api.navi.enums.AMapNaviViewShowMode;
import com.amap.api.navi.model.NaviInfo;
-import com.mogo.commons.debug.DebugConfig;
+import com.bumptech.glide.request.RequestOptions;
+import com.bumptech.glide.request.target.SimpleTarget;
+import com.bumptech.glide.request.transition.Transition;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoMapView;
import com.mogo.map.MogoLatLng;
@@ -51,8 +60,11 @@ import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.map.uicontroller.MapCameraPosition;
import com.mogo.map.uicontroller.MapControlResult;
+import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.WindowUtils;
+import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.logger.Logger;
+import com.mogo.utils.storage.SharedPrefsMgr;
import java.util.List;
@@ -122,6 +134,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
// 设置路线相关的配置属性,如:路线的路况颜色,路线上是否显示摄像头气泡等。
// options.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() );
// 设置自车的图片对象
+ checkDefaultOption();
options.setCarBitmap( BitmapFactory.decodeResource( getContext().getResources(), DEFAULT_OPTION.getNaviCursorRes() ) );
// 设置指南针图标否在导航界面显示,默认显示。true,显示;false,隐藏。
options.setCompassEnabled( false );
@@ -525,9 +538,12 @@ public class AMapNaviViewWrapper implements IMogoMapView,
}
}
+ private boolean isVisible = false;
+
@Override
public void showMyLocation( boolean visible ) {
Logger.d( TAG, "showMyLocation1 %s", visible );
+ isVisible = visible;
if ( visible && NaviClient.getInstance( getContext() ).isNaviing() ) {
return;
}
@@ -543,11 +559,12 @@ public class AMapNaviViewWrapper implements IMogoMapView,
} else {
style.myLocationType( MyLocationStyle.LOCATION_TYPE_FOLLOW );
}
+ mMapView.getMap().setMyLocationStyle( style );
if ( visible ) {
// 强制刷新一遍车标
- style.myLocationIcon( BitmapDescriptorFactory.fromResource( mCarCursorOption.getCarCursorRes() ) );
+ setCarCursorOption(null);
+// style.myLocationIcon( BitmapDescriptorFactory.fromResource( mCarCursorOption.getCarCursorRes() ) );
}
- mMapView.getMap().setMyLocationStyle( style );
}
}
@@ -911,18 +928,39 @@ public class AMapNaviViewWrapper implements IMogoMapView,
return mIsCarLocked;
}
+ private String myLocationConfigCache = null;
+ private boolean isUseDefaultOption = false;
+
+ private void checkDefaultOption(){
+ String myLocationConfig = SharedPrefsMgr.getInstance(getContext()).getString(
+ "MY_LOCATION_CONFIG", "");
+ if (myLocationConfigCache == null || !myLocationConfigCache.equals(myLocationConfig)) {
+ // 内存缓存的地址为空,或者内存缓存的地址和sp保存的config不一致,那得重新获取bitmap
+ myLocationConfigCache = myLocationConfig;
+ loadMyLocationIcon(myLocationConfig);
+ }
+ }
+
@Override
public void setCarCursorOption( CarCursorOption option ) {
+ if (!isVisible) {
+ // 当前自车图标没有显示,所以先不走下面的流程
+ return;
+ }
if ( mCarCursorOption != null && mCarCursorOption != DEFAULT_OPTION ) {
mCarCursorOption.destroy();
}
+ checkDefaultOption();
if ( option != null ) {
try {
+ isUseDefaultOption = false;
mCarCursorOption = option.clone();
} catch ( Exception e ) {
+ isUseDefaultOption = true;
mCarCursorOption = DEFAULT_OPTION;
}
} else {
+ isUseDefaultOption = true;
mCarCursorOption = DEFAULT_OPTION;
}
if ( !checkAMapView() ) {
@@ -981,4 +1019,55 @@ public class AMapNaviViewWrapper implements IMogoMapView,
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
}
}
+
+ protected void loadMyLocationIcon(String url) {
+ if ( Looper.myLooper() != Looper.getMainLooper() ) {
+ UiThreadHandler.post( ()-> loadMyLocationIconInUiThread(url));
+ } else {
+ loadMyLocationIconInUiThread(url);
+ }
+ }
+
+ private void loadMyLocationIconInUiThread(String url) {
+
+ if (!url.isEmpty()) {
+ RequestOptions options = new RequestOptions()
+ .placeholder( DEFAULT_OPTION.getCarCursorRes() )
+ .error( DEFAULT_OPTION.getCarCursorRes() )
+ .dontAnimate();
+ GlideApp.with( getContext() )
+ .asBitmap()
+ .load( url )
+ .apply( options )
+ .into( new SimpleTarget< Bitmap >() {
+ @Override
+ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition< ? super Bitmap > transition ) {
+ if (isUseDefaultOption) {
+ DEFAULT_OPTION.setCarCursorBmp(inflateMyLocation(resource));
+ setCarCursorOption(null);
+ }
+ }
+
+ @Override
+ public void onLoadStarted( @Nullable Drawable placeholder ) {
+ }
+
+ @Override
+ public void onLoadCleared( @Nullable Drawable placeholder ) {
+ }
+
+ @Override
+ public void onLoadFailed( @Nullable Drawable errorDrawable ) {
+ }
+ } );
+ }
+ }
+
+ private Bitmap inflateMyLocation(Bitmap res) {
+ View root =
+ LayoutInflater.from(getContext()).inflate(R.layout.module_map_amap_my_location, null, false);
+ ImageView iv = root.findViewById(R.id.module_map_amap_my_location_iv);
+ iv.setImageBitmap(res);
+ return BitmapDescriptorFactory.fromView(root).getBitmap();
+ }
}
diff --git a/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml b/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml
new file mode 100644
index 0000000000..2035f69746
--- /dev/null
+++ b/libraries/map-amap/src/main/res/layout/module_map_amap_my_location.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml b/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml
new file mode 100644
index 0000000000..7e2a7bc299
--- /dev/null
+++ b/libraries/map-amap/src/main/res/values-xhdpi/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 370px
+
\ No newline at end of file
diff --git a/libraries/map-amap/src/main/res/values/dimens.xml b/libraries/map-amap/src/main/res/values/dimens.xml
index e8bccfa287..9e52b0f936 100644
--- a/libraries/map-amap/src/main/res/values/dimens.xml
+++ b/libraries/map-amap/src/main/res/values/dimens.xml
@@ -1,4 +1,5 @@
60px
+ 146px
\ No newline at end of file
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java
index a5c9ff01b6..2ed6e5ed2a 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/OwnCarModelEntity.java
@@ -6,8 +6,11 @@ package com.mogo.module.common.entity;
* @author tongchenfei
*/
public class OwnCarModelEntity {
- private boolean isLocked;
- private String ownCarLocationUrl;
- private String adasCarModelUrl;
+ /**
+ * 图片锁定 1-是 0-否
+ */
+ private int isLock;
+ private String imageUrl;
+ private String imageName;
private int level;
}
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 30202587f1..457428d4b4 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
@@ -31,12 +31,14 @@ import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.service.statusmanager.IMogoMsgCenter;
import com.mogo.service.statusmanager.IMogoMsgCenterListener;
+import com.mogo.utils.DeviceIdUtils;
import com.mogo.utils.digest.DigestUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
import com.mogo.utils.storage.SharedPrefsMgr;
+import java.util.HashMap;
import java.util.Map;
import io.reactivex.SingleObserver;
@@ -240,14 +242,17 @@ public class EntrancePresenter extends Presenter implements Weathe
}
private void requestCarModelList() {
+ Map params = new HashMap<>(8);
+ params.put("sn", Utils.getSn());
mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()).
- requestCarModelList().
+ requestCarModelList(params).
subscribeOn(Schedulers.io()).
observeOn(Schedulers.io()).
subscribe(new SubscribeImpl(RequestOptions.create(context)) {
@Override
public void onSuccess(CarModelListResponse o) {
super.onSuccess(o);
+ Logger.d(TAG, "请求车模列表成功: " + o);
// todo 保存到sp中
SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST",
GsonUtil.jsonFromObject(o.getResult()));
@@ -265,6 +270,7 @@ public class EntrancePresenter extends Presenter implements Weathe
Logger.e(TAG, "请求自车模型失败: " + message);
}
});
+
}
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java
index a45f1cf165..355cb05755 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java
@@ -25,5 +25,5 @@ public interface UserInfoNetApiServices {
Single requestUserInfo(@QueryMap Map params);
@GET("carlife/carMachine/getAccountInfo")
- Observable requestCarModelList();
+ Observable requestCarModelList(@QueryMap Map params);
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java
new file mode 100644
index 0000000000..1c51ba1a07
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListInfo.java
@@ -0,0 +1,38 @@
+package com.mogo.module.extensions.userinfo;
+
+import com.mogo.module.common.entity.OwnCarModelEntity;
+
+import java.util.List;
+
+public class CarModelListInfo {
+ private String sn;
+ /**
+ * 热心指数 eg: 1 1.5 2 2.5
+ */
+ private float enthusiasmIndex;
+ private List imageData;
+
+ public String getSn() {
+ return sn;
+ }
+
+ public void setSn(String sn) {
+ this.sn = sn;
+ }
+
+ public float getEnthusiasmIndex() {
+ return enthusiasmIndex;
+ }
+
+ public void setEnthusiasmIndex(float enthusiasmIndex) {
+ this.enthusiasmIndex = enthusiasmIndex;
+ }
+
+ public List getImageData() {
+ return imageData;
+ }
+
+ public void setImageData(List imageData) {
+ this.imageData = imageData;
+ }
+}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java
index 3647a3b522..b36818cbcb 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java
@@ -11,13 +11,13 @@ import java.util.List;
* @author tongchenfei
*/
public class CarModelListResponse extends BaseData {
- private List result;
+ private CarModelListInfo result;
- public List getResult() {
+ public CarModelListInfo getResult() {
return result;
}
- public void setResult(List result) {
+ public void setResult(CarModelListInfo result) {
this.result = result;
}
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/ADASStatusIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/ADASStatusIntentHandler.java
index aa5c6c8161..ecd894836c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/ADASStatusIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/ADASStatusIntentHandler.java
@@ -54,17 +54,19 @@ class ADASStatusIntentHandler implements IntentHandler {
}
int status = intent.getIntExtra( MogoReceiver.PARAM_ADAS_STATUS, 0 );
MarkerServiceHandler.getMogoStatusManager().setADASUIShow( ServiceConst.TYPE, status == 1 );
- } else {
- String msg = intent.getStringExtra( "adasMsg" );
- if ( TextUtils.isEmpty( msg ) ) {
- return;
- }
- CarStateInfo stateInfo = GsonUtil.objectFromJson( msg, CarStateInfo.class );
- if ( stateInfo != null ) {
- changeCarHeadstockDirection( context, stateInfo.getValues().getHeading() );
- // changeMyLocation( stateInfo.getValues() );
- }
}
+ // 由于adas可能调高此处的调用频率,存在anr风险,且此处没有作用,所以暂时注释掉
+// else {
+// String msg = intent.getStringExtra( "adasMsg" );
+// if ( TextUtils.isEmpty( msg ) ) {
+// return;
+// }
+// CarStateInfo stateInfo = GsonUtil.objectFromJson( msg, CarStateInfo.class );
+// if ( stateInfo != null ) {
+// changeCarHeadstockDirection( context, stateInfo.getValues().getHeading() );
+// // changeMyLocation( stateInfo.getValues() );
+// }
+// }
}
private void changeCarHeadstockDirection( final Context context, final double degree ) {
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java
index 1c69e2f5ed..8ae15c040c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java
@@ -104,16 +104,17 @@ public class CarIconDisplayStrategy {
private static volatile CarIconDisplayStrategy sInstance;
private IMogoMarker mSeekHelpingMarker;
- private ArrayList< Bitmap > mBitmapFrames = new ArrayList<>();
+ private ArrayList mBitmapFrames = new ArrayList<>();
private CarIconDisplayStrategy() {
- mOption = new CarCursorOption.Builder().carCursorRes( R.drawable.module_service_ic_seek_helping ).build();
+ 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 ) {
+ if (sInstance == null) {
+ synchronized (CarIconDisplayStrategy.class) {
+ if (sInstance == null) {
sInstance = new CarIconDisplayStrategy();
}
}
@@ -127,19 +128,41 @@ public class CarIconDisplayStrategy {
private Handler mSeekHelpingHandler;
private CarCursorOption mOption;
+ private MogoMarkerOptions seekHelpMarkerOptions;
+// private IMogoMarker seekHelpMarker;
- public void changeCarIconStatus( boolean seekHelpingStatus ) {
- if ( CarSeries.isF8xxSeries() ) {
- if ( seekHelpingStatus ) {
+
+ public void changeCarIconStatus(boolean seekHelpingStatus) {
+ if (CarSeries.isF8xxSeries()) {
+ if (seekHelpingStatus) {
playSeekHelpingAnim();
} else {
stopSeekHelpingAnim();
}
} else {
- if ( seekHelpingStatus ) {
- MarkerServiceHandler.getMapUIController().setCarCursorOption( mOption );
+ if (seekHelpingStatus) {
+ MarkerServiceHandler.getMapUIController().showMyLocation(false);
+ mSeekHelpingMarker = MarkerServiceHandler.getMarkerManager().addMarker(
+ TAG,
+ new MogoMarkerOptions()
+ .icon(BitmapFactory.decodeResource(AbsMogoApplication.getApp().getResources(), R.drawable.module_service_ic_seek_helping))
+ .period(1)
+ .zIndex(1000)
+ .autoManager(false)
+ .anchor(0.5f, 0.5f)
+ .position(MarkerServiceHandler.getMapService().getNavi(AbsMogoApplication.getApp()).getCarLocation2()));
+// MarkerServiceHandler.getMapUIController().setCarCursorOption( mOption );
} else {
- MarkerServiceHandler.getMapUIController().setCarCursorOption( null );
+ MarkerServiceHandler.getMapUIController().showMyLocation(true);
+ try {
+ if (mSeekHelpingMarker != null) {
+ mSeekHelpingMarker.destroy();
+ mSeekHelpingMarker = null;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+// MarkerServiceHandler.getMapUIController().setCarCursorOption(null);
}
}
}
@@ -148,29 +171,29 @@ public class CarIconDisplayStrategy {
initHandler();
Message msg = Message.obtain();
msg.what = MSG_SEEK_HELPING_ANIM;
- mSeekHelpingHandler.sendMessageDelayed( msg, 0 );
+ mSeekHelpingHandler.sendMessageDelayed(msg, 0);
}
private void initHandler() {
- if ( mSeekHelpingHandler != null ) {
+ if (mSeekHelpingHandler != null) {
return;
}
- mSeekHelpingHandler = new Handler( WorkThreadHandler.getInstance().getLooper() ) {
+ mSeekHelpingHandler = new Handler(WorkThreadHandler.getInstance().getLooper()) {
@Override
- public void handleMessage( Message msg ) {
- super.handleMessage( msg );
- switch ( msg.what ) {
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ switch (msg.what) {
case MSG_SEEK_HELPING_ANIM:
try {
playAnim();
- } catch ( Exception e ) {
+ } catch (Exception e) {
e.printStackTrace();
}
break;
case MSG_STOP_SEEK_HELPING_ANIM:
try {
stopAnim();
- } catch ( Exception e ) {
+ } catch (Exception e) {
e.printStackTrace();
}
break;
@@ -183,48 +206,59 @@ public class CarIconDisplayStrategy {
initHandler();
Message msg = Message.obtain();
msg.what = MSG_STOP_SEEK_HELPING_ANIM;
- mSeekHelpingHandler.sendMessageDelayed( msg, 0 );
+ mSeekHelpingHandler.sendMessageDelayed(msg, 0);
}
private void playAnim() {
try {
- for ( int i : sFrame ) {
- mBitmapFrames.add( BitmapFactory.decodeResource( AbsMogoApplication.getApp().getResources(), i ) );
+ for (int i : sFrame) {
+ mBitmapFrames.add(BitmapFactory.decodeResource(AbsMogoApplication.getApp().getResources(), i));
}
- mSeekHelpingMarker = MarkerServiceHandler.getMarkerManager().addMarker( TAG, new MogoMarkerOptions()
- .icons( mBitmapFrames )
- .period( 1 )
- .zIndex( 1000 )
- .autoManager( false )
- .anchor( 0.5f, 0.5f )
- .position( MarkerServiceHandler.getMapService().getNavi( AbsMogoApplication.getApp() ).getCarLocation2() ) );
- } catch ( Exception e ) {
- MarkerServiceHandler.getMapUIController().setCarCursorOption( new CarCursorOption.Builder().carCursorRes( R.drawable.module_service_ic_seek_helping_00036 ).build() );
+ mSeekHelpingMarker = MarkerServiceHandler.getMarkerManager().addMarker(TAG,
+ new MogoMarkerOptions()
+ .icons(mBitmapFrames)
+ .period(1)
+ .zIndex(1000)
+ .autoManager(false)
+ .anchor(0.5f, 0.5f)
+ .position(MarkerServiceHandler.getMapService().getNavi(AbsMogoApplication.getApp()).getCarLocation2()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ mSeekHelpingMarker = MarkerServiceHandler.getMarkerManager().addMarker(
+ TAG,
+ new MogoMarkerOptions()
+ .icon(BitmapFactory.decodeResource(AbsMogoApplication.getApp().getResources(), R.drawable.module_service_ic_seek_helping))
+ .period(1)
+ .zIndex(1000)
+ .autoManager(false)
+ .anchor(0.5f, 0.5f)
+ .position(MarkerServiceHandler.getMapService().getNavi(AbsMogoApplication.getApp()).getCarLocation2()));
+// MarkerServiceHandler.getMapUIController().setCarCursorOption(new CarCursorOption.Builder().carCursorRes(R.drawable.module_service_ic_seek_helping_00036).build());
}
- MarkerServiceHandler.getMapUIController().showMyLocation( false );
+ MarkerServiceHandler.getMapUIController().showMyLocation(false);
}
private void stopAnim() {
try {
- if ( mSeekHelpingMarker != null ) {
+ if (mSeekHelpingMarker != null) {
mSeekHelpingMarker.destroy();
mSeekHelpingMarker = null;
}
- } catch ( Exception e ) {
+ } catch (Exception e) {
}
try {
- if ( !mBitmapFrames.isEmpty() ) {
- for ( Bitmap bitmapFrame : mBitmapFrames ) {
- if ( bitmapFrame != null && !bitmapFrame.isRecycled() ) {
+ if (!mBitmapFrames.isEmpty()) {
+ for (Bitmap bitmapFrame : mBitmapFrames) {
+ if (bitmapFrame != null && !bitmapFrame.isRecycled()) {
bitmapFrame.recycle();
}
}
mBitmapFrames.clear();
}
- } catch ( Exception e ) {
+ } catch (Exception e) {
}
- MarkerServiceHandler.getMapUIController().showMyLocation( true );
+ MarkerServiceHandler.getMapUIController().showMyLocation(true);
}
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
index 5556bf8487..7770ed5df4 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
@@ -8,6 +8,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.context.ContextHolderUtil;
import com.mogo.map.uicontroller.EnumMapUI;
+import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.utils.CarSeries;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
@@ -109,13 +110,16 @@ public class MogoADASController implements IMogoADASController {
public void selectCarModelUrl(String carStyleUrl) {
Logger.d(TAG,"selectCarModelUrl: "+carStyleUrl);
// todo 修改自车图标展示
+ SharedPrefsMgr.getInstance(context).putString("MY_LOCATION_CONFIG", carStyleUrl);
+ MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().setCarCursorOption(null);
+// MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().showMyLocation();
}
@Override
public void requestGetCarModelListInfo() {
Logger.d(TAG, "requestGetCarModelListInfo");
// 向adas发送车模list
- AutopilotServiceManage.getInstance().settingCarModelListInfo(SharedPrefsMgr.getInstance(ContextHolderUtil.getContext()).getString(
+ AutopilotServiceManage.getInstance().settingCarModelListInfo(SharedPrefsMgr.getInstance(context).getString(
"CAR_MODEL_LIST", "default-value"));
}
});
@@ -182,9 +186,11 @@ public class MogoADASController implements IMogoADASController {
app.sendBroadcast( intent );
}
+ private Context context;
@Override
public void init( Context context ) {
AutopilotServiceManage.getInstance().init( context );
+ this.context = context;
mIsReleased = false;
}