[Fix]处理ARouter问题

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2021-12-30 15:27:54 +08:00
parent 6e35f018f3
commit fc7003fc25
4 changed files with 20 additions and 98 deletions

View File

@@ -22,6 +22,8 @@ import com.mogo.commons.device.Devices;
import com.mogo.commons.network.NetConfigUtils;
import com.mogo.eagle.core.utilcode.mogo.toast.TipDrawable;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.CleanUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.logger.Logger;
@@ -60,11 +62,19 @@ public abstract class AbsMogoApplication extends Application {
* 初始化跨模块框架 ARouter
*/
private void initARouter() {
ARouter.init(sApp);
// 初始化 arouter
if (DebugConfig.isDebug()) {
ARouter.openDebug();
ARouter.openLog();
try {
ARouter.init(sApp);
// 初始化 arouter
if (DebugConfig.isDebug()) {
ARouter.openDebug();
ARouter.openLog();
}
} catch (Exception e) {
e.printStackTrace();
// 由于ARouter会在SP_AROUTER_CACHE.xml缓存路由表如果出现了被删除的情况会报错这里清除下就好了
CleanUtils.cleanInternalSp();
// 重启应用
AppUtils.relaunchApp();
}
}
@@ -149,7 +159,6 @@ public abstract class AbsMogoApplication extends Application {
}
// 缓存IP地址
private String cacheIp = null;

View File

@@ -96,10 +96,6 @@ public class AdasProvider implements IProvider {
}
public void showAdas() {
}
public void killAdas() {
}

View File

@@ -12,11 +12,6 @@ import com.mogo.map.uicontroller.EnumMapUI;
*/
public interface IMogoADASController extends IProvider {
/**
* 打开adas
*/
@Deprecated
void openADAS();
/**
* 隐藏adas
@@ -117,8 +112,6 @@ public interface IMogoADASController extends IProvider {
*/
int getAutopilotStatus();
void mockOchStatus(int state, String reason);
/**
* 获取车身的定位纬度
*

View File

@@ -54,8 +54,6 @@ public class MogoADASController implements IMogoADASController {
public static final String VAL_OPEN = "打开";
public static final String VAL_CLOSE = "关闭";
private final IMogoStatusManager mStatusManager = SingletonsHolder.get(IMogoStatusManager.class);
private AdasProvider adasProvider;
/**
@@ -82,14 +80,17 @@ public class MogoADASController implements IMogoADASController {
return mSpeed;
}
@Override
public double getLastLat() {
return mLastLat;
}
@Override
public double getLastLon() {
return mLastLon;
}
@Override
public String getSatelliteTime() {
return satelliteTime;
}
@@ -97,8 +98,8 @@ public class MogoADASController implements IMogoADASController {
private final List<IMogoAdasOCHCallback> mAdasOCHCallback = new CopyOnWriteArrayList<>();
@Override
public void openADAS() {
showADAS();
public void init(Context context) {
adasProvider = ARouter.getInstance().navigation(AdasProvider.class);
}
@Override
@@ -114,20 +115,6 @@ public class MogoADASController implements IMogoADASController {
public void showADAS() {
Logger.d(TAG, "showADAS()");
init(AbsMogoApplication.getApp());
adasProvider.addAdasStatusListener(new IAdasStatusListener() {
@Override
public void onServiceConnected() {
Logger.d(TAG, "adas statusListener connected");
invokeShowADASOperation();
}
@Override
public void onServiceDisconnected() {
Logger.d(TAG, "adas statuslistener disconnected");
}
});
invokeShowADASOperation();
if (mAdasDataListener == null) {
mAdasDataListener = new IAdasDataListener() {
@Override
@@ -209,41 +196,6 @@ public class MogoADASController implements IMogoADASController {
}
}
private void invokeShowADASOperation() {
int delay = 0;
UiThreadHandler.postDelayed(() -> {
if (mStatusManager.isSearchUIShow()) {
return;
}
if (!mStatusManager.isMainPageOnResume()) {
return;
}
if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
return;
}
try {
adasProvider.showAdas();
} catch (Exception e) {
Intent intent = new Intent(ACTION);
intent.putExtra(PARAM_COMMAND, VAL_COMMAND);
JSONObject object = new JSONObject();
try {
object.put(PARAM_OBJECT, VAL_OBJECT);
object.put(PARAM_OPERATION, VAL_OPEN);
intent.putExtra(PARAM_DATA, object.toString());
sendBroadcast(intent);
} catch (Exception e1) {
e1.printStackTrace();
}
}
}, delay);
}
@Override
public void closeADAS() {
@@ -276,11 +228,6 @@ public class MogoADASController implements IMogoADASController {
}
@Override
public void init(Context context) {
adasProvider = ARouter.getInstance().navigation(AdasProvider.class);
}
@Override
public void changeAdasControlMode(EnumMapUI ui) {
if (ui == null || !DebugConfig.isMapBased()) {
@@ -422,9 +369,6 @@ public class MogoADASController implements IMogoADASController {
@Override
public int getAutopilotStatus() {
if (mockState != -2) {
return mockState;
}
int status = IMogoAdasOCHCallback.STATUS_AUTOPILOT_DISABLE;
try {
status = adasProvider.autopilotStateCall().getState();
@@ -434,26 +378,6 @@ public class MogoADASController implements IMogoADASController {
return status;
}
private int mockState = -2;
@Override
public void mockOchStatus(int state, String reason) {
if (state == -1) {
if (!mAdasOCHCallback.isEmpty()) {
for (IMogoAdasOCHCallback cb : mAdasOCHCallback) {
cb.onArriveAt(new AutopilotStationInfo(1, 1d, 1d));
}
}
} else {
mockState = state;
if (!mAdasOCHCallback.isEmpty()) {
for (IMogoAdasOCHCallback cb : mAdasOCHCallback) {
cb.onStateChanged(state, reason);
}
}
}
}
@Override
public void cancelAutopilot() {
adasProvider.cancelPilot();