From d453a8b02b4c974fb931182446156ffdd820c165 Mon Sep 17 00:00:00 2001 From: liuyang Date: Thu, 11 Oct 2018 10:11:10 +0800 Subject: [PATCH] =?UTF-8?q?APK=E5=9B=BE=E7=89=87=E6=8A=93=E5=8F=96?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E5=8F=8A=E8=BD=AE=E6=92=AD=E6=B5=81=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=8A=93=E5=8F=96=EF=BC=8C=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=A7=E5=88=B6=20#BYLSERVER-1438?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/duolebo/blyrobot/data/Task.kt | 13 ++++++++++ .../com/duolebo/blyrobot/tools/TaskManager.kt | 24 ++++++++++++++----- 2 files changed, 31 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 c072175..ee3a9da 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt @@ -102,6 +102,18 @@ class Task : IAppBaseCallback { AdbUtil.stopApp(this.apkInfo.packageName) } + fun reset() { + this.status = "0" + this.channelIndex = 0 + this.uploadImages.clear() + + val dir = File(this.imagePath) + if (dir.exists()) { + for (file in dir.listFiles()) + file.delete() + } + } + fun destroy() { // 杀掉tcpdump进程 AdbUtil.killTcpdump() @@ -283,6 +295,7 @@ class Task : IAppBaseCallback { private fun uploadImageCallback(): UploadStatusDelegate { val totalUpload = this.uploadImages.size + Log.i(TAG, "total upload count : $totalUpload") var uploadCount = 0 return object: UploadStatusDelegate { 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 df37faa..bce3b54 100644 --- a/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt +++ b/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt @@ -6,18 +6,28 @@ import kotlin.collections.ArrayList class TaskManager { private val TAG = "TaskManager" + private val RUN_TASK_PERIOD = 6*60*60*1000 val tasks = ArrayList() - private var isRunning = false + var isRunning = false + private var status = IDLE private var currentTask: Task ?= null // 处理时间 var updateTime = 0L private val runnable = Runnable { val dist = System.currentTimeMillis() - updateTime - while (isRunning && tasks.size > 0 && dist > 6*60*60*1000) { - this.updateTime = System.currentTimeMillis() - currentTask = tasks[0] - currentTask!!.start() + while (isRunning && this.status == 0) { + + for (task in tasks) { + task.reset() + + currentTask = task + currentTask!!.start() + } + + this.status = COMPLETE + + Thread.sleep(3 * 1000) } } @@ -60,6 +70,7 @@ class TaskManager { } this.isRunning = true + this.status = 0 val t = Thread(runnable) t.start() } @@ -70,11 +81,12 @@ class TaskManager { it.destroy() } - this.tasks.clear() this.isRunning = false } companion object { val instance = TaskManager() + const val IDLE = 0 + const val COMPLETE = 1 } } \ No newline at end of file -- 2.21.0