From db9a79a1c246d296e8170eb175cfa71f83cff43a Mon Sep 17 00:00:00 2001 From: liuyang Date: Thu, 25 Oct 2018 09:08:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=B8=AD=E6=96=AD=E6=81=A2?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/duolebo/blyrobot/data/Task.kt | 16 ++++++++++------ .../com/duolebo/blyrobot/tools/TaskManager.kt | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) 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 d7ca19e..afeb7c8 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt @@ -87,13 +87,15 @@ class Task : IAppBaseCallback { this.launchApp() // 频道轮询处理 try { - val success = this.processChannels() + val success = this.processChannels(0) // 再次尝试 if (!success) { - this.reset() - this.prepareReport() this.launchApp() - this.processChannels() + // 重新切换到上次崩溃的频道,接着抓取 + for (i in 0 until this.channelIndex) { + AdbUtil.sendMultiKey(this.apkInfo.channelKeyEvent) + } + this.processChannels(this.channelIndex) } // 上传图片 this.uploadImage() @@ -159,16 +161,17 @@ class Task : IAppBaseCallback { } } - private fun processChannels(): Boolean { + private fun processChannels(index:Int): Boolean { Log.i(TAG, "processChannels") step() - for (i in 1 until this.apkInfo.channelCount) { + for (i in index + 1 until this.apkInfo.channelCount) { // 模拟按键事件. 切换频道进行抓取 this.channelIndex = i capture(apkInfo.captureDelay) AdbUtil.sendMultiKey(this.apkInfo.channelKeyEvent) if (!AppUtil.isAppBackground(context, this.apkInfo.packageName)) { + Log.i(TAG, "targe app crashed?") return false } @@ -179,6 +182,7 @@ class Task : IAppBaseCallback { } private fun step() { + Log.i(TAG, "step channel ${this.channelIndex}") // 截图保存 val screenShots = saveScreenShot() if (screenShots.size > 0) diff --git a/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt b/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt index d0e5587..5b2cbdc 100644 --- a/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt +++ b/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt @@ -98,6 +98,7 @@ class TaskManager { this.overTasks.clear() this.isRunning = false + this.updateTime = 0L } companion object { -- 2.21.0