diff --git a/app/src/main/java/com/duolebo/blyrobot/data/ApkInfo.kt b/app/src/main/java/com/duolebo/blyrobot/data/ApkInfo.kt index ed86c3095f55a22c0e77f123a7e0e9c3e10739dd..0fb5d06c5c0cb0e0923d96b94d96d29bf8cf4530 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/ApkInfo.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/ApkInfo.kt @@ -43,19 +43,18 @@ class ApkInfo: IModel { this.captureDelay = json.optInt(CAPTURE_DELAY, 15) this.launchKeyEvent = json.optString(LAUNCH_KEY_EVENT, "") this.channelCount = json.optInt(CHANNEL_COUNT, 5) + this.channelKeyEvent = json.optString(CHANNEL_KEY_EVENT, "down") + this.mediaExt = json.optString(MEDIA_EXT, VIDEO_EXTS) + this.filterUrl = json.optString(FILTER_URL, "") + this.monitoring = json.optBoolean(MONITORING, true) - var channelKeyEvent = json.optString(CHANNEL_KEY_EVENT) + var menuKeyEvent = json.optString(MENU_KEY_EVENT) // 如果包含百分号则epg需要按返回键 - if (!channelKeyEvent.isNullOrEmpty() && channelKeyEvent.contains('%')) { + if (!menuKeyEvent.isNullOrEmpty() && menuKeyEvent.contains('%')) { this.epgBack = true - channelKeyEvent = channelKeyEvent.replace("%", "") + menuKeyEvent = menuKeyEvent.replace("%", "") } - this.channelKeyEvent = channelKeyEvent - - this.mediaExt = json.optString(MEDIA_EXT, VIDEO_EXTS) - this.filterUrl = json.optString(FILTER_URL, "") - this.menuKeyEvent = json.optString(MENU_KEY_EVENT, "ok") - this.monitoring = json.optBoolean(MONITORING, true) + this.menuKeyEvent = menuKeyEvent return true } diff --git a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt index 6a80375707ab721ae8429e7c04e41328c2c76234..f57a4543e44a0e59bb51401c9ae98adaa1a8fed7 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt @@ -195,12 +195,14 @@ class Task : Thread, IAppBaseCallback { AdbUtil.launchApp("${this.apkInfo.packageName}/${this.apkInfo.launcher}") // 启动立即抓取,避免第一个频道没有抓到 capture(this.apkInfo.captureDelay, false) - Thread.sleep(this.apkInfo.launchDelay * 1000L) + sleepBySeconds(this.apkInfo.launchDelay) // 启动后按键事件模拟 if (!this.apkInfo.launchKeyEvent.isNullOrEmpty()) { AdbUtil.sendMultiKey(this.apkInfo.launchKeyEvent!!) } + + sleepBySeconds(this.apkInfo.captureDelay) } /** @@ -209,8 +211,8 @@ class Task : Thread, IAppBaseCallback { */ private fun processChannels(index: Int): Boolean { Log.i(TAG, "processChannels") - processChannelItem() quitCapture() + processChannelItem() for (i in index + 1 until this.apkInfo.channelCount) {