[V2X]弹窗互斥逻辑和更改道路事件展示弹窗的方式

This commit is contained in:
renwj
2022-01-26 16:47:21 +08:00
parent 19ae5c4250
commit 5002b28ef7
73 changed files with 1434 additions and 4681 deletions

View File

@@ -23,6 +23,7 @@ import com.mogo.commons.network.NetConfigUtils;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
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.AppStateManager;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.CleanUtils;
import com.mogo.eagle.core.utilcode.util.ThreadPoolService;
@@ -49,6 +50,7 @@ public abstract class AbsMogoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
AppStateManager.INSTANCE.init(this);
sApp = this;
FinalizeCrashFixer.fix();
initARouter();

View File

@@ -1,6 +1,8 @@
package com.mogo.commons.crash;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.eagle.core.utilcode.util.AppStateManager;
import com.mogo.eagle.core.utilcode.util.IAppStateListener;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
@@ -35,19 +37,19 @@ public class FinalizeCrashFixer {
* 只有线程在运行状态才会关闭线程
*/
public static void fix() {
ProcessLifecycleOwner.get().getLifecycle().addObserver((LifecycleEventObserver) (source, event) -> {
if (event == Lifecycle.Event.ON_START) {
//前后台则重新反射关闭一遍,避免线程被再次开启
Logger.d("FinalizeCrashFixer", "--- 切换到前台 ---");
realFix();
AppStateManager.INSTANCE.registerAppStateListener(new IAppStateListener() {
@Override
public void onAppStateChanged(boolean isForeground) {
if (isForeground) {
//前后台则重新反射关闭一遍,避免线程被再次开启
Logger.d("FinalizeCrashFixer", "--- 切换到前台 ---");
realFix();
} else {
//前后台则重新反射关闭一遍,避免线程被再次开启
Logger.d("FinalizeCrashFixer", "--- 切换到后台 ---");
realFix();
}
}
if (event == Lifecycle.Event.ON_STOP) {
//前后台则重新反射关闭一遍,避免线程被再次开启
Logger.d("FinalizeCrashFixer", "--- 切换到后台 ---");
realFix();
}
});
}