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

View File

View File

@@ -166,7 +166,8 @@ android {
apply from: "./script/productFlavors/charter.gradle"
apply from: "./script/productFlavors/noop.gradle"
apply from: "./script/productFlavors/shuttle.gradle"
apply from: "./script/productFlavors/sweeper.gradle"
apply from: "./script/productFlavors/sweeperOperate.gradle"
apply from: "./script/productFlavors/sweeperCloud.gradle"
apply from: "./script/productFlavors/taxi.gradle"
// 配置不同渠道参数,直接影响功能完整度
apply from: "./script/vehicleFlavors/fPadLenovo.gradle"

View File

@@ -3,6 +3,7 @@
"qa": {
"och_url": "https://tech-qa.zhidaohulian.com",
"shuttle_url": "https://och-driver-qa.zhidaozhixing.com",
"sweeper_url": "https://och-driver-qa.zhidaozhixing.com",
"passport_url": "",
"socket_base_url": "",
"socket_tech_url": "",
@@ -14,6 +15,7 @@
"online": {
"och_url": "https://tech.zhidaohulian.com",
"shuttle_url": "https://och-driver.zhidaozhixing.com",
"sweeper_url": "https://och-driver.zhidaozhixing.com",
"passport_url": "",
"socket_base_url": "",
"socket_tech_url": "",
@@ -25,6 +27,7 @@
"demo": {
"och_url": "http://tech-dev.zhidaohulian.com",
"shuttle_url": "https://och-driver-dev.zhidaozhixing.com",
"sweeper_url": "https://och-driver-dev.zhidaozhixing.com",
"passport_url": "",
"socket_base_url": "",
"socket_tech_url": "",
@@ -38,6 +41,7 @@
"qa": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"sweeper_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
@@ -49,6 +53,7 @@
"online": {
"och_url": "https://och-driver-eh.zhidaozhixing.com",
"shuttle_url": "https://och-driver-eh.zhidaozhixing.com",
"sweeper_url": "https://och-driver-eh.zhidaozhixing.com",
"passport_url": "https://och-driver-eh.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-driver-eh.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-driver-eh.zhidaozhixing.com/arch/",
@@ -60,6 +65,7 @@
"demo": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"sweeper_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
@@ -73,6 +79,7 @@
"qa": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"sweeper_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
@@ -84,6 +91,7 @@
"online": {
"och_url": "https://och-driver-yt.zhidaozhixing.com",
"shuttle_url": "https://och-driver-yt.zhidaozhixing.com",
"sweeper_url": "https://och-driver-yt.zhidaozhixing.com",
"passport_url": "https://och-driver-yt.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-driver-yt.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-driver-yt.zhidaozhixing.com/arch/",
@@ -95,6 +103,7 @@
"demo": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"sweeper_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",

View File

@@ -3,7 +3,10 @@
"noop" :{
"driver":["fPadLenovo"]
},
"sweeper" :{
"sweeperOperate" :{
"driver": ["ochFT"]
},
"sweeperCloud" :{
"driver": ["ochFT"]
},
"shuttle" :{
@@ -36,7 +39,7 @@
}
},
"yantai": {
"sweeper" :{
"sweeperOperate" :{
"driver": ["ochFT"]
},
"shuttle" :{

View File

@@ -30,8 +30,10 @@ project.dependencies {
implementation project(':OCH:mogo-och-shuttle')
} else if (isCurrentPassenger("shuttle")) {
implementation project.project(':OCH:mogo-och-shuttle-passenger')
} else if (isCurrentDriver("sweeper")) {
implementation project.project(':OCH:mogo-och-sweeper')
} else if (isCurrentDriver("sweeperCloud")) {
implementation project.project(':OCH:sweeper:sweeper-cloud')
} else if (isCurrentDriver("sweeperOperate")) {
implementation project.project(':OCH:sweeper:sweeper')
} else if (isCurrentDriver("taxi")) {
implementation project.project(':OCH:mogo-och-taxi')
} else if (isCurrentPassenger("taxi")) {
@@ -44,11 +46,16 @@ project.dependencies {
implementation project.project(':OCH:mogo-och-charter-passenger')
implementation project.project(':OCH:mogo-och-shuttle')
implementation project.project(':OCH:mogo-och-shuttle-passenger')
implementation project.project(':OCH:mogo-och-sweeper')
implementation project.project(':OCH:sweeper:sweeper-cloud')
implementation project.project(':OCH:sweeper:sweeper')
implementation project.project(':OCH:mogo-och-taxi')
implementation project.project(':OCH:mogo-och-taxi-passenger')
}
if(isCurrentFlavors("sweeperCloud")){
project.dependencies.add('implementation', project.project(':OCH:sweeper:sweeper-cloud'))
}
// 多屏幕-Bus司机端
// fMultiDisplayOchBusImplementation (project(':OCH:mogo-och-bus'))
// // 多屏幕-Bus乘客端

View File

@@ -0,0 +1,32 @@
project.android.productFlavors {
// 清扫车业务
sweeperCloud {
dimension "product"
manifestPlaceholders = [
// 标识
CHANNEL_VALUE_HEAD: "Sweeper",
// 在启动的时候把Task给清空
ACTIVITY_ROOT : true,
// Activity的朝向
SCREEN_ORIENTATION:"landscape",
]
// ①标识
buildConfigField 'String', 'APP_IDENTITY_MODE_HEAD', "\"Sweeper\""
// ②连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\""
// ③是否需要重写状态栏
buildConfigField 'boolean', 'IS_REPLACE_STATUSVIEW', 'false'
// ④构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false'
if(isCurrentFlavors("sweeperCloud")){
project.dependencies.add('implementation', project.project(':OCH:sweeper:sweeper-cloud'))
}
}
}

View File

@@ -1,6 +1,6 @@
project.android.productFlavors {
//
sweeper {
sweeperOperate {
dimension "product"
manifestPlaceholders = [

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)

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="on_key_set" type="id" />
</resources>