From bcae794d88b2d86d361fd83cdf4d65938eff80db Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 13 Nov 2020 20:20:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E5=88=86adas?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E6=A8=A1=E5=9E=8Blist=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + .../entrance/EntrancePresenter.java | 155 +++++++++++------- .../extensions/net/DztHttpConstant.java | 28 ++++ .../net/UserInfoNetApiServices.java | 5 + .../userinfo/CarModelListResponse.java | 23 +++ .../service/impl/adas/MogoADASController.java | 11 +- 6 files changed, 161 insertions(+), 62 deletions(-) create mode 100644 modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/DztHttpConstant.java create mode 100644 modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 8e9756d758..b59a552525 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -77,6 +77,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 efb20d7e2b..30202587f1 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 @@ -9,13 +9,16 @@ import androidx.lifecycle.LifecycleOwner; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.Presenter; +import com.mogo.commons.network.SubscribeImpl; import com.mogo.commons.network.Utils; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.extensions.R; import com.mogo.module.extensions.bean.CommonConfig; import com.mogo.module.extensions.bean.CommonConfigResponse; +import com.mogo.module.extensions.net.DztHttpConstant; import com.mogo.module.extensions.net.GetConfigApiServices; import com.mogo.module.extensions.net.UserInfoNetApiServices; +import com.mogo.module.extensions.userinfo.CarModelListResponse; import com.mogo.module.extensions.userinfo.UserInfo; import com.mogo.module.extensions.userinfo.UserInfoConstant; import com.mogo.module.extensions.userinfo.UserInfoResponse; @@ -23,12 +26,15 @@ import com.mogo.module.extensions.weather.Phenomena; import com.mogo.module.extensions.weather.WeatherCallback; import com.mogo.module.extensions.weather.WeatherInfo; import com.mogo.module.extensions.weather.WeatherModel; +import com.mogo.module.share.constant.HttpConstant; 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.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.Map; @@ -56,73 +62,80 @@ public class EntrancePresenter extends Presenter implements Weathe private IMogoNetwork mNetWork; + private Context context; + private boolean isResumed = false; public EntrancePresenter(Context context, EntranceView view) { super(view); - mWeatherModel = new WeatherModel( getContext() ); + this.context = context; + mWeatherModel = new WeatherModel(getContext()); mNetWork = MogoApisHandler.getInstance().getApis().getNetworkApi(); } @Override public void onCreate(@NonNull LifecycleOwner owner) { super.onCreate(owner); - mWeatherModel.init( this ); + mWeatherModel.init(this); mWeatherModel.queryWeatherInformation(); - mMsgCenter = ( IMogoMsgCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_MSG_CENTER ).navigation(); - mMsgCenter.registerMsgCenterListener( this ); + mMsgCenter = + (IMogoMsgCenter) ARouter.getInstance().build(MogoServicePaths.PATH_MSG_CENTER).navigation(); + mMsgCenter.registerMsgCenterListener(this); } @Override - public void onWeatherLoaded( WeatherInfo weatherInfo ) { - if ( weatherInfo == null ) { + public void onWeatherLoaded(WeatherInfo weatherInfo) { + if (weatherInfo == null) { return; } - Phenomena phenomena = Phenomena.getById( weatherInfo.getPhenomena() ); - if ( phenomena == null ) { + Phenomena phenomena = Phenomena.getById(weatherInfo.getPhenomena()); + if (phenomena == null) { return; } - String temp = getContext().getResources().getString( R.string.module_ext_str_weather_temp_format, weatherInfo.getTemperature() ); + String temp = + getContext().getResources().getString(R.string.module_ext_str_weather_temp_format + , weatherInfo.getTemperature()); String desc = phenomena.nameCn; int resId = phenomena.resId; - mView.renderWeatherInfo( temp, desc, resId ); + mView.renderWeatherInfo(temp, desc, resId); } @Override - public void onMsgChanged( boolean hasMsg, int amount ) { - if ( mView != null ) { - mView.renderMsgInfo( hasMsg, amount ); + public void onMsgChanged(boolean hasMsg, int amount) { + if (mView != null) { + mView.renderMsgInfo(hasMsg, amount); } } @Override - public void onResume( @NonNull LifecycleOwner owner ) { - super.onResume( owner ); + public void onResume(@NonNull LifecycleOwner owner) { + super.onResume(owner); isResumed = true; if (userInfo != null) { mView.renderUserInfo(userInfo); } - if( DebugConfig.isNeedRequestUserInfo()){ + if (DebugConfig.isNeedRequestUserInfo()) { // 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改 requestUserInfo(); } + requestCarModelList(); getCommonConfig(); } @Override - public void onPause( @NonNull LifecycleOwner owner ) { - super.onPause( owner ); + public void onPause(@NonNull LifecycleOwner owner) { + super.onPause(owner); isResumed = false; } @Override - public void onDestroy( @NonNull LifecycleOwner owner ) { - super.onDestroy( owner ); - if ( mWeatherModel != null ) { + public void onDestroy(@NonNull LifecycleOwner owner) { + super.onDestroy(owner); + if (mWeatherModel != null) { mWeatherModel.destroy(); } - if ( mMsgCenter != null ) { - mMsgCenter.unregisterMsgCenterListener( this ); + if (mMsgCenter != null) { + mMsgCenter.unregisterMsgCenterListener(this); } } @@ -134,44 +147,48 @@ public class EntrancePresenter extends Presenter implements Weathe .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - } - - @Override - public void onSuccess(CommonConfigResponse config) { - Logger.d(TAG, "getCommonConfig onSuccess -----> "); - if (config != null && config.result != null) { - CommonConfig.Speech speech = config.result.speech; - CommonConfig.ReportStrategy strategy = config.result.reportStrategy; - if (speech != null) { - Logger.d(TAG, "getCommonConfig onSuccess speech.count = " + speech.count); - SharedPrefsMgr.getInstance(getContext()).putInt(KEY_SERVER_SHOW_DAY_COUNT, speech.count); - } else { - Logger.e(TAG, "getCommonConfig onSuccess speech == null "); + @Override + public void onSubscribe(Disposable d) { } - if (strategy != null) { - Logger.d(TAG, "getCommonConfig onSuccess strategy.open = " + strategy.open); - SharedPrefsMgr.getInstance(getContext()).putBoolean("KEY_SERVER_REPORTSTRATEGY_SWITCH", strategy.open); - } else { - Logger.e(TAG, "getCommonConfig onSuccess strategy == null "); - } - } else { - Logger.e(TAG, "getCommonConfig onSuccess config == null"); - } - } + @Override + public void onSuccess(CommonConfigResponse config) { + Logger.d(TAG, "getCommonConfig onSuccess -----> "); + if (config != null && config.result != null) { + CommonConfig.Speech speech = config.result.speech; + CommonConfig.ReportStrategy strategy = config.result.reportStrategy; + if (speech != null) { + Logger.d(TAG, + "getCommonConfig onSuccess speech.count = " + speech.count); + SharedPrefsMgr.getInstance(getContext()).putInt(KEY_SERVER_SHOW_DAY_COUNT, speech.count); + } else { + Logger.e(TAG, "getCommonConfig onSuccess speech == null "); + } - @Override - public void onError(Throwable e) { - e.printStackTrace(); - Logger.e(TAG,"getCommonConfig onError ---> e = " + e); - } - }); + if (strategy != null) { + Logger.d(TAG, + "getCommonConfig onSuccess strategy.open = " + strategy.open); + SharedPrefsMgr.getInstance(getContext()).putBoolean( + "KEY_SERVER_REPORTSTRATEGY_SWITCH", strategy.open); + } else { + Logger.e(TAG, "getCommonConfig onSuccess strategy == null "); + } + } else { + Logger.e(TAG, "getCommonConfig onSuccess config == null"); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + Logger.e(TAG, "getCommonConfig onError ---> e = " + e); + } + }); } private UserInfo userInfo; + public void requestUserInfo() { Map params = new ArrayMap<>(); params.put("sn", Utils.getSn()); @@ -186,7 +203,7 @@ public class EntrancePresenter extends Presenter implements Weathe @Override public void onSuccess(UserInfoResponse userInfoBaseResponse) { userInfo = userInfoBaseResponse.getResult(); - if(isResumed) { + if (isResumed) { if (userInfo != null) { Logger.d(TAG, "获取个人信息成功: " + userInfo); mView.renderUserInfo(userInfo); @@ -222,4 +239,32 @@ public class EntrancePresenter extends Presenter implements Weathe } } + private void requestCarModelList() { + mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()). + requestCarModelList(). + subscribeOn(Schedulers.io()). + observeOn(Schedulers.io()). + subscribe(new SubscribeImpl(RequestOptions.create(context)) { + @Override + public void onSuccess(CarModelListResponse o) { + super.onSuccess(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/DztHttpConstant.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/DztHttpConstant.java new file mode 100644 index 0000000000..8e67ea9450 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/DztHttpConstant.java @@ -0,0 +1,28 @@ +package com.mogo.module.extensions.net; + +import com.mogo.commons.debug.DebugConfig; + +/** + * dzt base url + * + * @author tongchenfei + */ +public class DztHttpConstant { + public static final String HOST_DEV = "http://dzt-test.zhidaohulian.com"; + public static final String HOST_TEST = "http://dzt-test.zhidaohulian.com"; + public static final String HOST_DEMO = "http://dzt-show.zhidaohulian.com"; + public static final String HOST_PRODUCT = "https://dzt.zhidaohulian.com"; + + public 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; + } + } +} 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 c551dff37f..cbc335f70c 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 @@ -1,9 +1,11 @@ package com.mogo.module.extensions.net; +import com.mogo.module.extensions.userinfo.CarModelListResponse; import com.mogo.module.extensions.userinfo.UserInfoResponse; import java.util.Map; +import io.reactivex.Observable; import io.reactivex.Single; import retrofit2.http.GET; import retrofit2.http.QueryMap; @@ -21,4 +23,7 @@ public interface UserInfoNetApiServices { */ @GET("carlife/carMachine/getAccountInfo") Single requestUserInfo(@QueryMap Map params); + + @GET("") + Observable requestCarModelList(); } 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 new file mode 100644 index 0000000000..3647a3b522 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/userinfo/CarModelListResponse.java @@ -0,0 +1,23 @@ +package com.mogo.module.extensions.userinfo; + +import com.mogo.commons.data.BaseData; +import com.mogo.module.common.entity.OwnCarModelEntity; + +import java.util.List; + +/** + * 请求根据热心指数获取自车图标列表的响应类 + * + * @author tongchenfei + */ +public class CarModelListResponse extends BaseData { + private List result; + + public List getResult() { + return result; + } + + public void setResult(List result) { + this.result = result; + } +} 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 e43ad6f107..e443276604 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 @@ -1,15 +1,12 @@ package com.mogo.service.impl.adas; -import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.AbsMogoApplication; -import com.mogo.commons.debug.DebugConfig; +import com.mogo.commons.context.ContextHolderUtil; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.utils.CarSeries; import com.mogo.service.MogoServicePaths; @@ -115,9 +112,9 @@ public class MogoADASController implements IMogoADASController { @Override public void requestGetCarModelListInfo() { - // todo 向adas发送车模list - // 图标列表, -// AutopilotServiceManage.getInstance().settingCarModelListInfo(); + // 向adas发送车模list + AutopilotServiceManage.getInstance().settingCarModelListInfo(SharedPrefsMgr.getInstance(ContextHolderUtil.getContext()).getString( + "CAR_MODEL_LIST", "")); } }); }