diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 6249850d4f..1f3d18c759 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -74,6 +74,7 @@
+
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 fb6d339554..78aa40001d 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
@@ -120,9 +120,6 @@ public class EntrancePresenter extends Presenter implements Weathe
// 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改
requestUserInfo();
}
- if(DebugConfig.isMapBased()) {
- requestCarModelList();
- }
getCommonConfig();
}
@@ -242,38 +239,4 @@ public class EntrancePresenter extends Presenter implements Weathe
return "";
}
}
-
- private void requestCarModelList() {
- Map params = new HashMap<>(8);
- params.put("sn", Utils.getSn());
-// params.put("sn", "ZD802B1932L00617");
- mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()).
- 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()));
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- Logger.e(TAG, e, "请求自车模型失败");
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- 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 ef6b3bd04c..e8afa9f17b 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
@@ -23,7 +23,4 @@ public interface UserInfoNetApiServices {
*/
@GET("carlife/carMachine/getAccountInfo")
Single requestUserInfo(@QueryMap Map params);
-
- @GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1")
- Observable requestCarModelList(@QueryMap Map params);
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java
new file mode 100644
index 0000000000..a23e8553bc
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java
@@ -0,0 +1,34 @@
+package com.mogo.service.impl.adas;
+
+import com.mogo.commons.debug.DebugConfig;
+
+import java.util.Map;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.QueryMap;
+
+interface CarModelInfoNetApiServices {
+ String HOST_DEV = "http://dzt-test.zhidaozhixing.com";
+ String HOST_TEST = "http://dzt-test.zhidaozhixing.com";
+ String HOST_DEMO = "http://dzt-show.zhidaozhixing.com";
+ String HOST_PRODUCT = "http://dzt.zhidaozhixing.com";
+
+ static String getBaseUrl(){
+ switch ( DebugConfig.getNetMode() ) {
+ case DebugConfig.NET_MODE_DEV:
+ return HOST_DEV;
+ case DebugConfig.NET_MODE_QA:
+ return HOST_TEST;
+ case DebugConfig.NET_MODE_DEMO:
+ return HOST_DEMO;
+ default:
+ return HOST_PRODUCT;
+ }
+ }
+
+ @GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1")
+ Observable requestCarModelList(@QueryMap Map params);
+
+
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java
new file mode 100644
index 0000000000..f30cc75145
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java
@@ -0,0 +1,47 @@
+package com.mogo.service.impl.adas;
+
+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;
+ }
+
+ @Override
+ public String toString() {
+ return "CarModelListInfo{" +
+ "sn='" + sn + '\'' +
+ ", enthusiasmIndex=" + enthusiasmIndex +
+ ", imageData=" + imageData +
+ '}';
+ }
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java
new file mode 100644
index 0000000000..8775e4bbd5
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java
@@ -0,0 +1,29 @@
+package com.mogo.service.impl.adas;
+
+import com.mogo.commons.data.BaseData;
+
+/**
+ * 请求根据热心指数获取自车图标列表的响应类
+ *
+ * @author tongchenfei
+ */
+public class CarModelListResponse extends BaseData {
+ private CarModelListInfo result;
+
+ public CarModelListInfo getResult() {
+ return result;
+ }
+
+ public void setResult(CarModelListInfo result) {
+ this.result = result;
+ }
+
+ @Override
+ public String toString() {
+ return "CarModelListResponse{" +
+ "result=" + result +
+ ", code=" + code +
+ ", msg='" + msg + '\'' +
+ '}';
+ }
+}
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 a82f54b337..277461c9d8 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,8 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.context.ContextHolderUtil;
import com.mogo.commons.debug.DebugConfig;
+import com.mogo.commons.network.SubscribeImpl;
+import com.mogo.commons.network.Utils;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.MogoModule;
@@ -22,6 +24,8 @@ import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.TipToast;
import com.mogo.utils.UiThreadHandler;
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 com.zhidao.adasconfig.api.AdasConfigApiController;
import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
@@ -34,7 +38,11 @@ import com.zhidao.autopilot.support.api.IAutopolitDataCallBack;
import org.json.JSONObject;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+
+import io.reactivex.schedulers.Schedulers;
import static com.mogo.module.common.utils.SPConst.getSpGuide;
@@ -132,10 +140,17 @@ public class MogoADASController implements IMogoADASController {
@Override
public void requestGetCarModelListInfo() {
- Logger.d( TAG, "requestGetCarModelListInfo" );
- // 向adas发送车模list
- AutopilotServiceManage.getInstance().settingCarModelListInfo( SharedPrefsMgr.getInstance( context ).getString(
- "CAR_MODEL_LIST", "default-value" ) );
+ if (DebugConfig.isMapBased()) {
+ Logger.d(TAG, "requestGetCarModelListInfo");
+ // 向adas发送车模list
+ String carModelList = SharedPrefsMgr.getInstance(context).getString(
+ "CAR_MODEL_LIST", "");
+ if (carModelList != null && !carModelList.isEmpty()) {
+ AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList);
+ }
+ // 此处进行网络请求,请求成功后再通知一次adas
+ requestCarModelList();
+ }
}
@Override
@@ -144,6 +159,8 @@ public class MogoADASController implements IMogoADASController {
MyLocationUtil.emphasizeMyLocation();
}
needEmphasizeMyLocation = false;
+
+ useTestSn = !useTestSn;
}
@Override
@@ -155,6 +172,8 @@ public class MogoADASController implements IMogoADASController {
}
}
+ private boolean useTestSn = false;
+
private void invokeShowADASOperation() {
int delay = CarSeries.isF8xxSeries() ? 0 : 100;
@@ -303,6 +322,47 @@ public class MogoADASController implements IMogoADASController {
adasDataCallbackList.remove(callback);
}
+ private static final String TEST_SN = "ZD802B1932L00617";
+ private String currentSn = TEST_SN;
+
+ private void requestCarModelList() {
+ Map params = new HashMap<>(8);
+ params.put("sn", Utils.getSn());
+// currentSn = useTestSn ? TEST_SN : Utils.getSn();
+// params.put("sn", currentSn);
+ MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()).
+ 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);
+ // 保存到sp中
+ String value = GsonUtil.jsonFromObject(o.getResult());
+ SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST",
+ value);
+ if(value != null && !value.isEmpty()){
+ AutopilotServiceManage.getInstance().settingCarModelListInfo(value);
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ Logger.e(TAG, e, "请求自车模型失败");
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ Logger.e(TAG, "请求自车模型失败: " + message);
+ }
+ });
+
+ }
+
@Override
public void release() {
AutopilotServiceManage.getInstance().release();