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 c24acc4a62..67c6f0aa99 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 @@ -15,6 +15,57 @@ import androidx.appcompat.app.AppCompatActivity object MultiDisplayUtils { private val TAG: String = "MultiDisplayUtils" + /** + * 定昌电子,6屏幕异显 对应的lcd匹配数组, 当前数组只对应于6屏异显, + * 如果是其他屏幕个数, 需要自己重新对应下相关的索引 + * display 里面查看port对应的值 + */ + private var lcd_sub_port_six_lcd_mode = arrayOf( + // main lcd // HDMI-1 + //-------------------begin 定昌电子 RK3588 ------------------- + "port=240", // HDMI-2 + "port=3", // HDMI-3 + "port=243", // HDMI-4 + "port=2", // HDMI-5 + "port=1", // HDMI-6 + //-------------------end 定昌电子 RK3588 ------------------- + ) + + /** + * 获取其他的屏幕 + */ + fun getOtherDisplay(): Array { + val mDisplayManager = + Utils.getApp().getSystemService(Context.DISPLAY_SERVICE) as DisplayManager + // 获取除了内置屏幕(主屏幕)的其它屏幕 + val displays = mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION) + // 初始化新的集合进行接收排序后的屏幕信息 + val displaysList = arrayOfNulls(displays.size) + + // 判断副屏个数 + if (displays.isNotEmpty()) { + // 循环出来副屏幕进行重新排序 + for (i in displays.indices) { + // 这里如果需要固定某个屏幕, 使用 if( display.toString().indexOf("port=1")!=-1) ) 而不是使用 display[i] + val strDisplayString: String = displays[i].toString() + for (j in lcd_sub_port_six_lcd_mode.indices) { // 这里增加port的匹配, 如果不需要对应的匹配 可看下面的other LCD + if (strDisplayString.indexOf(lcd_sub_port_six_lcd_mode[j]) != -1) { // 查找我们实际屏幕的匹配port + displaysList[j] = displays[i] + } + } + } + + // 没有匹配到的显示 + for (i in displays.indices) { + if (displaysList[i] == null) { + displaysList[i] = displays[i] + } + } + } + return displaysList + } + + // 获取 是否支持扩展屏幕打开应用 fun isSupportMultiDisplay(context: Context): Boolean { // 先检查一下是不是支持在第二屏上显示activity这个特性,