From 8cb4374cd0f020338001f59de8e40281303961ee Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 9 Feb 2023 13:56:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[=201?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E8=AF=BB=E5=8F=96getprop=EF=BC=8C?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=BE=E5=A4=87sn=E3=80=81=E5=9E=8B?= =?UTF-8?q?=E5=8F=B7=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../location/MoGoLocationDispatcher.kt | 5 +- .../eagle/core/utilcode/util/DeviceUtils.java | 91 +++++++++++++++++-- 2 files changed, 83 insertions(+), 13 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt index 4b5444ccb2..1f8d1db634 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt @@ -16,10 +16,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr -import com.mogo.eagle.core.utilcode.util.CoordinateTransform -import com.mogo.eagle.core.utilcode.util.FileUtils -import com.mogo.eagle.core.utilcode.util.TimeUtils -import com.mogo.eagle.core.utilcode.util.Utils +import com.mogo.eagle.core.utilcode.util.* import com.mogo.support.obu.model.MogoObuHvBasicsData import mogo.telematics.pad.MessagePad diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java index dcc8153dc9..8cf0c47008 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java @@ -17,11 +17,16 @@ import android.os.Build; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; +import android.util.Log; import androidx.annotation.RequiresApi; import androidx.annotation.RequiresPermission; +import java.io.BufferedReader; import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.reflect.Method; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; @@ -547,17 +552,85 @@ public final class DeviceUtils { /** - * 中科创达 EB5获取SN好的方法: - * getprop persist.device.sn - * ZTS46S10009S + * 获取设备SN的方法 * - * @return 当前EB5设备SN + * @return 通过读取 getprop 的方式 */ - public static String getEB5DevicesSN() { - ShellUtils.CommandResult result = UtilsBridge.execCmd("adb shell getprop persist.device.sn", false); - if (result.result == 0) { - LogUtils.d("", result.toString()); + public static String getSerialNumber() { + String serial = ""; + try { + Class c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + // 获取序列号,大多数机器在不root情况下获取不到 + serial = (String) get.invoke(c, "ro.serialno"); + if (TextUtils.isEmpty(serial)) { + serial = (String) get.invoke(c, "ro.boot.serialno"); + } + if (TextUtils.isEmpty(serial)) { + // 分体机 SN + serial = (String) get.invoke(c, "gsm.serial"); + } + if (TextUtils.isEmpty(serial)) { + // 中科创达 EB5获取SN + serial = (String) get.invoke(c, "persist.device.sn"); + } + if (TextUtils.isEmpty(serial)) { + // 联想PAD 获取SN + serial = (String) get.invoke(c, "ro.odm.lenovo.gsn"); + } + } catch (Exception e) { + e.printStackTrace(); } - return "02:00:00:00:00:00"; + return serial; + } + + + /** + * 获取 机器型号 + * + * @return 机器型号 + */ + public static String getProductModel() { + String productModel = "null"; + try { + Class c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + // 获取序列号,大多数机器在不root情况下获取不到 + productModel = (String) get.invoke(c, "ro.product.model"); + if (TextUtils.isEmpty(productModel)) { + productModel = (String) get.invoke(c, "ro.product.odm.model"); + } + if (TextUtils.isEmpty(productModel)) { + productModel = (String) get.invoke(c, "ro.product.vendor.model"); + } + } catch (Exception e) { + e.printStackTrace(); + } + return productModel; + } + + private static String getSerialnoNumbers() { + final String serialnoStr = "[ro.boot.serialno]"; + try { + Process p = Runtime.getRuntime().exec("getprop"); + p.waitFor(); + BufferedReader stdInput = new BufferedReader(new InputStreamReader( + p.getInputStream())); + String temp = ""; + while ((temp = stdInput.readLine()) != null) { + Log.i("getSerialnoNumbers", temp); + if (temp.contains(serialnoStr)) { + temp.replaceAll(" ", ""); + int index = temp.indexOf(serialnoStr); + temp = temp.substring(index + 20); + temp = temp.substring(1, temp.length() - 1); + Log.d("getSerialnoNumbers", temp); + return temp; + } + } + } catch (IOException | InterruptedException e) { + e.printStackTrace(); + } + return serialnoStr; } } From 9f92fdecd93f23e38d68c25d598b234b9f7792e8 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 9 Feb 2023 15:20:30 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[=201?= =?UTF-8?q?=E3=80=81productFlavors=E6=B8=A0=E9=81=93=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8A=A8=E6=80=81=E6=8E=A7=E5=88=B6=E5=B1=8F=E5=B9=95?= =?UTF-8?q?=E6=96=B9=E5=90=91=E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=8CSCREEN=5F?= =?UTF-8?q?ORIENTATION=EF=BC=9Alandscape--=E5=BC=BA=E5=88=B6=E6=A8=AA?= =?UTF-8?q?=E5=B1=8F=EF=BC=8Cportrait--=E5=BC=BA=E5=88=B6=E7=AB=96?= =?UTF-8?q?=E5=B1=8F=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- app/productFlavors/fMultiDisplayOchBus.gradle | 9 +++++++-- app/productFlavors/fMultiDisplayOchTaxi.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovo.gradle | 15 ++++++++++++--- app/productFlavors/fPadLenovoOchBus.gradle | 16 +++++++++++++--- .../fPadLenovoOchBusPassenger.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovoOchSweeper.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovoOchTaxi.gradle | 16 +++++++++++++--- .../fPadLenovoOchTaxiPassenger.gradle | 16 +++++++++++++--- .../src/main/AndroidManifest.xml | 4 +--- 9 files changed, 98 insertions(+), 26 deletions(-) diff --git a/app/productFlavors/fMultiDisplayOchBus.gradle b/app/productFlavors/fMultiDisplayOchBus.gradle index 8b3608c211..7d6a5da0a1 100644 --- a/app/productFlavors/fMultiDisplayOchBus.gradle +++ b/app/productFlavors/fMultiDisplayOchBus.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -18,7 +18,12 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true] + manifestPlaceholders = [ + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + CHANNEL_VALUE : "fPadLenovoOchBus", + ACTIVITY_ROOT : true, + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fMultiDisplayOchTaxi.gradle b/app/productFlavors/fMultiDisplayOchTaxi.gradle index a5534d3fce..6ddbeaeef7 100644 --- a/app/productFlavors/fMultiDisplayOchTaxi.gradle +++ b/app/productFlavors/fMultiDisplayOchTaxi.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxi",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxi", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovo.gradle b/app/productFlavors/fPadLenovo.gradle index 1ad7d6b469..634a6e7150 100644 --- a/app/productFlavors/fPadLenovo.gradle +++ b/app/productFlavors/fPadLenovo.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -15,8 +15,17 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - // 高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovo",ACTIVITY_ROOT:true] + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovo", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchBus.gradle b/app/productFlavors/fPadLenovoOchBus.gradle index faade038b5..430c9e079d 100644 --- a/app/productFlavors/fPadLenovoOchBus.gradle +++ b/app/productFlavors/fPadLenovoOchBus.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchBus", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchBusPassenger.gradle b/app/productFlavors/fPadLenovoOchBusPassenger.gradle index 7d3a4fb24b..b26f796ab8 100644 --- a/app/productFlavors/fPadLenovoOchBusPassenger.gradle +++ b/app/productFlavors/fPadLenovoOchBusPassenger.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -15,8 +15,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBusPassenger",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchBusPassenger", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchSweeper.gradle b/app/productFlavors/fPadLenovoOchSweeper.gradle index 29688ff909..14d07bddb7 100644 --- a/app/productFlavors/fPadLenovoOchSweeper.gradle +++ b/app/productFlavors/fPadLenovoOchSweeper.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchSweeper",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchSweeper", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchTaxi.gradle b/app/productFlavors/fPadLenovoOchTaxi.gradle index 8b03a2ae79..2fc97c5ddf 100644 --- a/app/productFlavors/fPadLenovoOchTaxi.gradle +++ b/app/productFlavors/fPadLenovoOchTaxi.gradle @@ -5,7 +5,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -18,8 +18,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxi",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxi", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle b/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle index 0ea289b89d..2b9a92c8b7 100644 --- a/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle +++ b/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxiPassenger",ACTIVITY_ROOT:false] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxiPassenger", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : false, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml index 33c14875d8..adb96a5a4e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml @@ -42,7 +42,7 @@ android:launchMode="singleTop" android:resizeableActivity="false" android:resumeWhilePausing="true" - android:screenOrientation="landscape" + android:screenOrientation="${SCREEN_ORIENTATION}" android:stateNotNeeded="true" android:theme="@style/Main" android:windowSoftInputMode="adjustPan|stateHidden"> @@ -67,7 +67,6 @@ Date: Thu, 9 Feb 2023 15:36:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[=201?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E5=89=AF=E5=B1=8F=E5=B9=95=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=B7=A5=E5=85=B7=E5=8F=8A?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E4=B9=A6=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- core/README.md | 1 + core/README_MULT_DISPLAY.md | 16 ++++++++++++++++ .../function/main/PassengerLauncherActivity.java | 2 +- .../mogo/eagle/core/function/main/VideoAdAtc.kt | 2 +- .../core/utilcode/util/MultiDisplayUtils.kt | 5 +++-- 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 core/README_MULT_DISPLAY.md diff --git a/core/README.md b/core/README.md index 180e9b16db..5b05f4cb24 100644 --- a/core/README.md +++ b/core/README.md @@ -24,3 +24,4 @@ - mogo-core-res:程序中涉及到的图片及布局资源,同一管理,并通过设置不同的目录指定是那个模块的资源,这里只存放公共资源,图片,布局,动画等 - mogo-core-utils:基于成熟的工具类开源框架下沉的,这里可以增添针对我们业务上的一些工具类 + - MultiDisplayUtils :多屏幕管理工具 diff --git a/core/README_MULT_DISPLAY.md b/core/README_MULT_DISPLAY.md new file mode 100644 index 0000000000..4ff2f4c49e --- /dev/null +++ b/core/README_MULT_DISPLAY.md @@ -0,0 +1,16 @@ +## 多屏幕场景 + +```java +// 在第二个屏幕启动页面 +MultiDisplayUtils.INSTANCE.startActWithSecond( + context, + VideoAdAtc.class); +``` + +```java +// 在指定屏幕启动页面 +MultiDisplayUtils.INSTANCE.startActWithProcess( + 1, + context, + VideoAdAtc.class); +``` diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java index 653ab832cc..fe16ad97a7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java @@ -45,7 +45,7 @@ import java.util.Timer; import java.util.TimerTask; /** - * 针对作为Launcher的情况,做个性化操作 + * 针对作为Launcher的情况,做个性化操作 TODO 测试用的,可删除 * * @author tongchenfei */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt index 599e8603f9..907a96144d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt @@ -7,7 +7,7 @@ import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.widget.TextureVideoView /** - * 视频广告 + * 视频广告 TODO 测试用的,可删除 */ class VideoAdAtc : AppCompatActivity() { diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt index 1a5451dc10..c24acc4a62 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt @@ -27,14 +27,14 @@ object MultiDisplayUtils { fun getMultiDisplay(context: Context): Array { // 多次创建副屏 则副屏的id都是增加的,所以不一定是1,这里还是获取一下 val displayManager = - context.getSystemService(AppCompatActivity.DISPLAY_SERVICE) as DisplayManager + context.getSystemService(AppCompatActivity.DISPLAY_SERVICE) as DisplayManager return displayManager.displays } /** * 在指定ID的屏幕打开Activity,当前应用的,当前进程 * @param context - * @param launchDisplayId 指定屏幕ID + * @param activity 要在第二个屏幕启动的页面 */ fun startActWithSecond(context: Context, activity: Class<*>) { val launchDisplayId: Int @@ -60,6 +60,7 @@ object MultiDisplayUtils { * 在指定ID的屏幕打开Activity,当前应用的,当前进程 * @param context * @param launchDisplayId 指定屏幕ID + * @param activity 要在副屏幕启动的页面 */ fun startActWithProcess(context: Context, launchDisplayId: Int, activity: Class<*>) { // 要加上Intent.FLAG_ACTIVITY_NEW_TASK