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 c0721758ee20f2fa398b23ee8374d104eccb0b72..ee3a9da98776100b1ef07929fa84f740d506c93a 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 df37faa4b6fedfddbdbc20e717553f7712ad3d1b..bce3b54b417ad40752505c33d828d475dd376b19 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