diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java index 25c28d16c0..ab0e846755 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.autopilot.adapter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_DEVA; +import android.text.TextUtils; import android.util.Log; import com.mogo.eagle.core.data.config.FunctionBuildConfig; @@ -10,10 +11,14 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotVehicleStateListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotVehicleStateListenerManager; +import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.module.common.drawer.IdentifyDataDrawer; +import com.zhidao.support.adas.high.OnAdasConnectStatusListener; +import com.zhidao.support.adas.high.common.Constants; + import org.jetbrains.annotations.NotNull; import java.util.List; @@ -25,7 +30,8 @@ import record_cache.RecordPanelOuterClass; public class MoGoHandAdasMsgManager implements IMoGoAutopilotIdentifyListener, IMoGoAutopilotVehicleStateListener, - IMoGoAutopilotCarConfigListener { + IMoGoAutopilotCarConfigListener, + OnAdasConnectStatusListener { private final String TAG = "AdasEventManager"; @@ -123,12 +129,25 @@ public class MoGoHandAdasMsgManager implements } + private volatile boolean isIPCConnect = false; + @Override public void onAutopilotCarConfig(@NotNull MessagePad.CarConfigResp carConfigResp) { +// Log.d("liyz", "onAutopilotCarConfig ---------> "); // if (carConfigResp != null && !TextUtils.isEmpty(carConfigResp.getMacAddress())) { -// CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfigResp.getMacAddress()); +// Log.d("liyz", " carConfigResp.getMacAddress() = " + carConfigResp.getMacAddress()); +// if (!isIPCConnect) { +// CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfigResp.getMacAddress()); +// isIPCConnect = true; +// } // } - } + @Override + public void onConnectionIPCStatus(int ipcConnectionStatus, String failedMsg) { +// Log.d("liyz", "onConnectionIPCStatus ---------> ipcConnectionStatus = " + ipcConnectionStatus); +// if (ipcConnectionStatus != Constants.IPC_CONNECTION_STATUS.CONNECTED) { +// isIPCConnect = false; +// } + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java index 0bfee198e3..4b8c9cf4ef 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/BindingcarProvider.java @@ -1,26 +1,30 @@ package com.mogo.eagle.core.function.bindingcar; import android.content.Context; +import android.text.TextUtils; import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.eagle.core.data.constants.MogoServicePaths; import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack; import com.mogo.eagle.core.function.api.bindingcar.IMoGoBindingcarProvider; import com.mogo.eagle.core.function.bindingcar.network.BindingcarNetWorkManager; +import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import org.jetbrains.annotations.NotNull; /** - * @author Jing - * @description 云公告公告 - * @since: 10/27/21 + * @author lixiaopeng + * @description 绑定sn + * @since: 3/26/22 */ @Route(path = MogoServicePaths.PATH_BINDING_CAR) public class BindingcarProvider implements IMoGoBindingcarProvider { private Context mContext; + private volatile String mAddress; @NotNull @Override @@ -30,6 +34,7 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { @Override public void onDestroy() { + } @Override @@ -38,21 +43,22 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { } /** - * TODO 获取,每次连接请求一次 + * 获取macaddress,每次连接请求一次 + * * @param macAddress */ @Override public void getBindingcarInfo(String macAddress) { -// Log.d("liyz", "macAddress = " + macAddress); -// BindingcarNetWorkManager.getInstance().getBindingcarInfo(macAddress); + mAddress = macAddress; + BindingcarNetWorkManager.getInstance().getBindingcarInfo(mContext, macAddress); + Log.d("liyz", "BindingcarProvider getBindingcarInfo macAddress = " + macAddress); } @Override public void modifyCarInfo(BindingcarCallBack callBack) { - BindingcarNetWorkManager.getInstance().modifyBindingcar("",callBack); + Log.d("liyz", "BindingcarProvider modifyCarInfo mAddress = " + mAddress); + BindingcarNetWorkManager.getInstance().modifyBindingcar(mAddress, callBack); } - - } diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarApiService.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarApiService.java index d9e4a80a59..b6549f9b57 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarApiService.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarApiService.java @@ -2,11 +2,11 @@ package com.mogo.eagle.core.function.bindingcar.network; import com.mogo.eagle.core.data.bindingcar.BindingcarInfo; import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo; -import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo; import io.reactivex.Observable; import okhttp3.RequestBody; import retrofit2.http.Body; +import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; @@ -22,8 +22,8 @@ public interface BindingcarApiService { * @return {@link BindingcarInfo} */ @Headers("Content-Type:application/json;charset=UTF-8") - @POST("/pad/selectPadByMac") - Observable getBindingcarInfo(@Body RequestBody requestBody); + @POST("pad/selectPadByMac") + Observable getBindingcarInfo(@Header("access_token") String access_token, @Body RequestBody requestBody); /** * 绑定和修改绑定车机 @@ -31,7 +31,7 @@ public interface BindingcarApiService { * @return {@link ModifyBindingcarInfo} */ @Headers("Content-Type:application/json;charset=UTF-8") - @POST("/pad/updatePadByMac") - Observable modifyBindingcarInfo(@Body RequestBody requestBody); + @POST("pad/updatePadByMac") + Observable modifyBindingcarInfo(@Header("access_token") String access_token, @Body RequestBody requestBody); } diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java index 4d2873bdc4..4a25019f50 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java @@ -1,14 +1,18 @@ package com.mogo.eagle.core.function.bindingcar.network; -import android.util.Log; +import android.content.Context; -import com.mogo.cloud.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; +import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.eagle.core.data.bindingcar.BindingcarInfo; import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo; import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; +import com.mogo.eagle.core.network.MoGoRetrofitFactory; import com.mogo.eagle.core.network.utils.GsonUtil; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; +import com.mogo.module.common.constants.HostConst; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -19,19 +23,18 @@ import okhttp3.MediaType; import okhttp3.RequestBody; /** - * @author Jing - * @description 云公告网络请求类 - * @since: 10/28/21 + * @author lixiaopeng + * @description 绑定车机网络请求 + * @since: 3/25/22 */ public class BindingcarNetWorkManager { private static volatile BindingcarNetWorkManager requestNoticeManager; private final BindingcarApiService mBindingcarApiService; + private String token = "c4a2f30cebf64972bcd11577e1c07f86"; //中台做了接口适配,需要这个token + private static final String TAG = "BindingcarNetWorkManager"; - private BindingcarNetWorkManager() { //TODO -// mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.DEVA_HOST) -// .create(BindingcarApiService.class); - - mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance("http://cmdb.ee-private-dev.myghost.zhidaoauto.com/") + private BindingcarNetWorkManager() { + mBindingcarApiService = MoGoRetrofitFactory.getInstance(HostConst.BINDING_SN_HOST) .create(BindingcarApiService.class); } @@ -46,85 +49,84 @@ public class BindingcarNetWorkManager { return requestNoticeManager; } + /** * 获取绑定的车辆信息 * - * @param macAddress mac地址 TODO - * + * @param macAddress mac地址 */ - public void getBindingcarInfo(String macAddress) { + public void getBindingcarInfo(Context context, String macAddress) { String sn = MoGoAiCloudClientConfig.getInstance().getSn(); - BindingcarRequest request = new BindingcarRequest("48:b0:2d:3a:9c:19", sn); + BindingcarRequest request = new BindingcarRequest(macAddress, sn); RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)); - mBindingcarApiService.getBindingcarInfo(requestBody) + mBindingcarApiService.getBindingcarInfo(token, requestBody) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { - Log.d("liyz", "getBindingcarInfo onSubscribe -----> "); } @Override public void onNext(@NonNull BindingcarInfo info) { if (info != null && info.getData() != null) { - Log.d("liyz", "getBindingcarInfo onNext info.getData() =" + info.getData().toString()); + CallerLogger.INSTANCE.d(TAG, "getBindingcarInfo onNext info.getData() =" + info.getData().toString()); if (info.getData().getCompare() == 0) { CallerHmiManager.INSTANCE.showBindingcarDialog(); } else if (info.getData().getCompare() == 3) { CallerHmiManager.INSTANCE.showModifyBindingcarDialog(); } + + SharedPrefsMgr.getInstance(context).putString(SharedPrefsConstants.CAR_MODE_TYPE, info.data.getSeries()); } } @Override public void onError(@NonNull Throwable e) { - Log.d("liyz", "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); + CallerLogger.INSTANCE.e(TAG, "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); } @Override public void onComplete() { - Log.d("liyz", "getBindingcarInfo onComplete"); } }); } /** - * 绑定和修改绑定车辆 TODO + * 绑定和修改绑定车辆 + * mac: 48:b0:2d:3a:9c:19 */ public void modifyBindingcar(String macAddress, BindingcarCallBack callBack) { String sn = MoGoAiCloudClientConfig.getInstance().getSn(); - BindingcarRequest request = new BindingcarRequest("48:b0:2d:3a:9c:19", sn); + BindingcarRequest request = new BindingcarRequest(macAddress, sn); RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)); - mBindingcarApiService.modifyBindingcarInfo(requestBody) + mBindingcarApiService.modifyBindingcarInfo(token, requestBody) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { - Log.d("liyz", "modifyBindingcar onSubscribe -----> "); } @Override public void onNext(@NonNull ModifyBindingcarInfo info) { - if (info.getData() != null) { + if (info != null) { callBack.callBackResult(info); + CallerLogger.INSTANCE.d(TAG, "modifyBindingcar onNext code = " + info.code + "---msg = " + info.msg + "--info.toString() = " + info.toString()); } - Log.d("liyz", "modifyBindingcar onNext info " + info.toString()); } @Override public void onError(@NonNull Throwable e) { - Log.d("liyz", "modifyBindingcar onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); + CallerLogger.INSTANCE.e(TAG, "modifyBindingcar onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); } @Override public void onComplete() { - Log.d("liyz", "modifyBindingcar onComplete "); } }); + } - } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt index 12912d60fe..84f070921c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.hmi.ui.bindingcar import android.content.Context +import android.util.Log import android.widget.TextView import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt index db27456c94..6d38ac8373 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt @@ -46,7 +46,7 @@ class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifecycle } /** - * 修改绑定车机 TODO + * 修改绑定车机 */ fun toBindingcar() { CallerBindingcarManager.getBindingcarProvider().modifyCarInfo { diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java index bbcbbb9bb1..ee268eca8a 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java @@ -12,4 +12,7 @@ public class SharedPrefsConstants { public static final String LOCATION_LATITUDE = "location_latitude"; public static final String LOCATION_LONGITUDE = "location_longitude"; + public static final String CAR_MODE_TYPE = "car_mode_type"; + + public static final String MAC_ADDRESS = "mac_address"; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java index 1c7db8cea1..81f0f468e3 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java @@ -19,4 +19,6 @@ public class HostConst { public static final String CITY_HOST = "http://dzt-city.zhidaozhixing.com"; public static final String SOCKET_CENTER_DOMAIN = "socketRegion"; + public static final String BINDING_SN_HOST = "https://mygateway.zhidaozhixing.com/cmdbapi/"; //中台提供的接口服务 + }