Merge branch 'dev_robotaxi-d_230612_3.3.0' into dev_saasbus-d_230607_from3.2.0

# Conflicts:
#	gradle.properties
This commit is contained in:
wangmingjun
2023-07-04 15:40:37 +08:00
877 changed files with 23134 additions and 7470 deletions

View File

@@ -11,6 +11,7 @@ import com.mogo.eagle.core.utilcode.util.SharedPrefs;
import com.mogo.launcher.crash.CrashSystem;
import com.mogo.launcher.startup.ARouterStartUp;
import com.mogo.launcher.startup.ConfigStartUp;
import com.zhjt.service.chain.TraceNodeCore;
/**
* @author congtaowang
@@ -22,9 +23,9 @@ public class MogoApplication extends MainMoGoApplication {
@Override
public void onCreate() {
TraceNodeCore.Companion.getTraceNodeCore().setDebugMode(true); //todo
ARouterStartUp.init(this);
ConfigStartUp.init(this);
CallerStartUpManager.initStageOne();
tryEnableStrictMode();
super.onCreate();
}

View File

@@ -0,0 +1,148 @@
package com.mogo.launcher.lancet;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.WindowManager;
import android.widget.PopupWindow;
import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.knightboost.lancet.api.Origin;
import com.knightboost.lancet.api.Scope;
import com.knightboost.lancet.api.This;
import com.knightboost.lancet.api.annotations.Group;
import com.knightboost.lancet.api.annotations.Insert;
import com.knightboost.lancet.api.annotations.ReplaceInvoke;
import com.knightboost.lancet.api.annotations.TargetClass;
import com.knightboost.lancet.api.annotations.TargetMethod;
import com.knightboost.lancet.api.annotations.Weaver;
import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangProvider;
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
import com.mogo.launcher.R;
@Keep
@Weaver
@Group("window_callback")
public class WindowCallbackLancet {
@Insert(mayCreateSuper = true)
@TargetClass(value = "androidx.appcompat.app.AppCompatActivity", scope = Scope.SELF)
@TargetMethod(methodName = "onCreate")
protected void onCreate(@Nullable Bundle savedInstanceState) {
Origin.callVoid();
Object o = This.get();
if (o instanceof Activity) {
Activity activity = (Activity) o;
IMoGoMoFangProvider mofang = CallerDevaToolsManager.INSTANCE.mofang();
if (mofang != null) {
Window.Callback callback = mofang.provideWindowCallback(activity.getWindow().getCallback());
activity.getWindow().setCallback(callback);
}
}
}
@Insert(mayCreateSuper = true)
@TargetClass(value = "androidx.fragment.app.DialogFragment", scope = Scope.SELF)
@TargetMethod(methodName = "onCreateDialog")
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Dialog dialog = (Dialog) Origin.call();
IMoGoMoFangProvider mofang = CallerDevaToolsManager.INSTANCE.mofang();
if (dialog.getWindow() != null && mofang != null) {
dialog.getWindow().setCallback(mofang.provideWindowCallback(dialog.getWindow().getCallback()));
}
return dialog;
}
@TargetClass(value = "android.view.WindowManager",scope = Scope.SELF)
@TargetMethod(methodName = "addView")
@ReplaceInvoke
public static void proxyWindowManagerAddView(WindowManager manager, View view, ViewGroup.LayoutParams params) {
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
private final GlobalFocusChangedListener listener = new GlobalFocusChangedListener();
private boolean isAdd = false;
@Override
public void onViewAttachedToWindow(@NonNull View v) {
try {
v.getRootView().getViewTreeObserver().addOnGlobalFocusChangeListener(listener);
isAdd = true;
} catch (Throwable t) {
t.printStackTrace();
}
}
@Override
public void onViewDetachedFromWindow(@NonNull View v) {
try {
if (isAdd) {
v.getRootView().getViewTreeObserver().removeOnGlobalFocusChangeListener(listener);
}
} catch (Throwable t) {
t.printStackTrace();
}
}
});
manager.addView(view, params);
}
@TargetClass(value = "android.widget.PopupWindow",scope = Scope.ALL)
@TargetMethod(methodName = "setContentView")
@ReplaceInvoke
public static void proxyPopupWindowSetContentView(PopupWindow window, View view) {
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
private final GlobalFocusChangedListener listener = new GlobalFocusChangedListener();
private boolean isAdd = false;
@Override
public void onViewAttachedToWindow(@NonNull View v) {
try {
v.getRootView().getViewTreeObserver().addOnGlobalFocusChangeListener(listener);
isAdd = true;
} catch (Throwable t) {
t.printStackTrace();
}
}
@Override
public void onViewDetachedFromWindow(@NonNull View v) {
try {
if (isAdd) {
v.getRootView().getViewTreeObserver().removeOnGlobalFocusChangeListener(listener);
}
} catch (Throwable t) {
t.printStackTrace();
}
}
});
window.setContentView(view);
}
private static class GlobalFocusChangedListener implements ViewTreeObserver.OnGlobalFocusChangeListener {
private Window.Callback mCallBack = null;
@Override
public void onGlobalFocusChanged(View oldFocus, View newFocus) {
if (newFocus != null) {
Object tag = newFocus.getTag(R.id.on_key_set);
if (tag == null) {
newFocus.setTag(R.id.on_key_set, 1);
newFocus.setOnKeyListener((v, keyCode, event) -> {
if (mCallBack == null) {
IMoGoMoFangProvider mofang = CallerDevaToolsManager.INSTANCE.mofang();
if (mofang != null) {
mCallBack = mofang.provideWindowCallback(null);
}
}
if (mCallBack != null) {
return mCallBack.dispatchKeyEvent(event);
}
return false;
});
}
}
}
}
}

View File

@@ -36,6 +36,7 @@ object ConfigStartUp {
AppConfigInfo.workingBranchName = BuildConfig.WORKING_BRANCH_NAME
AppConfigInfo.workingBranchHash = BuildConfig.WORKING_BRANCH_HASH
AppConfigInfo.appBuildTime = BuildConfig.APP_BUILD_TIME
AppConfigInfo.flavor = BuildConfig.FLAVOR
// 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统1-工控机2-OBU
FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER
// 演示模式,上一次勾选的数据
@@ -133,7 +134,6 @@ object ConfigStartUp {
val mapParams = MapParams.init()
mapParams.setDebugMode(false) // 1-使用本地地图数据0-使用在线地图数据
//.setDataFileSource(1)
.setDebugMode(false)
.setIsRecordLogs(false)
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
.setPerspectiveMode(MapParams.MAP_PERSPECTIVE_UP_CAR)