diff --git a/app/src/main/java/com/duolebo/blyrobot/data/ImageUploadTask.kt b/app/src/main/java/com/duolebo/blyrobot/data/ImageUploadTask.kt index 0e26c3ce342750b2d9db5e5e11a235708c02192f..ebd657fa501772a63881002998b6de46d1435821 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/ImageUploadTask.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/ImageUploadTask.kt @@ -2,7 +2,6 @@ package com.duolebo.blyrobot.data import android.content.Context import android.util.Log -import com.duolebo.blyrobot.tools.FtpManager import com.duolebo.blyrobot.util.Config import net.gotev.uploadservice.* import net.gotev.uploadservice.ftp.FTPUploadRequest @@ -14,6 +13,11 @@ import java.io.File */ class ImageUploadTask { + companion object { + const val TAG = "RobotTaskUpload" + } + + var packageName: String = "" var uploadImages = ArrayList() var uploadId: String = "" var reUpload = false @@ -26,6 +30,7 @@ class ImageUploadTask { } fun from(task: Task) { + this.packageName = task.apkInfo.packageName this.uploadImages.clear() this.uploadImages.addAll(task.uploadImages) } @@ -58,7 +63,7 @@ class ImageUploadTask { } private fun uploadImage() { - Log.i(FtpManager.TAG, "upload image....") + Log.i(TAG, "upload image....") try { val uploadRequest = FTPUploadRequest(context, Config.instance.getFtpServer(), 21) .setUsernameAndPassword(Config.instance.getFtpUserName(), Config.instance.getFtpPassword()) @@ -77,14 +82,14 @@ class ImageUploadTask { } this.uploadId = uploadRequest.startUpload() - Log.i(FtpManager.TAG, "upload id $uploadId") + Log.i(TAG, "upload id $uploadId") } catch (exc: Exception) { - Log.e(FtpManager.TAG, exc.message, exc) + Log.e(TAG, exc.message, exc) } } private fun uploadComplete(errorCount: Int) { - Log.i(FtpManager.TAG, "upload errorCount: $errorCount") + Log.i(TAG, "upload errorCount: $errorCount") this.isRunning = false if (errorCount > 0 && errorCount > this.uploadImages.size / 3) { this.reUpload = true @@ -105,24 +110,25 @@ class ImageUploadTask { */ private fun uploadImageCallback(): UploadStatusDelegate { val totalUpload = this.uploadImages.size - Log.i(FtpManager.TAG, "total upload count : $totalUpload") + Log.i(TAG, "total upload count : $totalUpload") return object : UploadStatusDelegate { override fun onCancelled(context: Context?, uploadInfo: UploadInfo?) { - + // empty } override fun onProgress(context: Context?, uploadInfo: UploadInfo?) { + // empty } override fun onError(context: Context?, uploadInfo: UploadInfo?, serverResponse: ServerResponse?, exception: java.lang.Exception?) { val uploadSize = uploadInfo?.successfullyUploadedFiles!!.size - Log.i(FtpManager.TAG, "onError...uploadCount: $uploadSize") + Log.i(TAG, "onError...uploadCount: $uploadSize") } override fun onCompleted(context: Context?, uploadInfo: UploadInfo?, serverResponse: ServerResponse?) { val uploadSize = uploadInfo?.successfullyUploadedFiles!!.size - Log.i(FtpManager.TAG, "onCompleted...uploadCount: $uploadSize") + Log.i(TAG, "onCompleted...uploadCount: $uploadSize") uploadComplete(totalUpload - uploadSize) } } diff --git a/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt b/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt index 0ac634f17fc752b3e787e1b49ee4c6e8352bed7b..0a0c20eedea90ffeff3947a38cdb987ca802736a 100644 --- a/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt +++ b/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt @@ -18,12 +18,10 @@ import com.duolebo.blyrobot.data.Task import com.duolebo.blyrobot.protocol.GetAppInfoProtocol import com.duolebo.blyrobot.tools.FtpManager import com.duolebo.blyrobot.tools.TaskManager -import com.duolebo.blyrobot.util.AdbUtil import com.duolebo.blyrobot.util.AppUtil import com.duolebo.blyrobot.util.Config import com.duolebo.blyrobot.util.Constants import org.json.JSONObject -import java.util.* @SuppressLint("Registered") class BylRobotService: Service(), IAppBaseCallback { @@ -48,7 +46,7 @@ class BylRobotService: Service(), IAppBaseCallback { override fun onCreate() { super.onCreate() - FtpManager.instance.init(this) + FtpManager.instance.start() initBroadcast() // requestAppList() } @@ -93,6 +91,7 @@ class BylRobotService: Service(), IAppBaseCallback { override fun onDestroy() { Log.i(TAG, "destroy...") super.onDestroy() + FtpManager.instance.stop() LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver) } diff --git a/app/src/main/java/com/duolebo/blyrobot/tools/FtpManager.kt b/app/src/main/java/com/duolebo/blyrobot/tools/FtpManager.kt index b7036552c9c9422ef2531457396596ee98ec0124..439db23e20f7dbf67a6f8f438ab896ca787fc2ac 100644 --- a/app/src/main/java/com/duolebo/blyrobot/tools/FtpManager.kt +++ b/app/src/main/java/com/duolebo/blyrobot/tools/FtpManager.kt @@ -1,5 +1,6 @@ package com.duolebo.blyrobot.tools +import android.util.Log import com.duolebo.blyrobot.data.ImageUploadTask import net.gotev.uploadservice.UploadService import java.util.* @@ -20,6 +21,7 @@ class FtpManager { private var scheduleTime: Timer? = null fun start() { + Log.i(TAG, "ftp manager start...") scheduleTime?.run { cancel() } this.isRunning = true scheduleTime = Timer() @@ -28,13 +30,14 @@ class FtpManager { while (isRunning) { for (uploadTask in uploadTasks) { if (uploadTask.needReUpload()) { + Log.i(TAG, "task ${uploadTask.packageName} need upload again") uploadTask.start() } } Thread.sleep(1 * 60 * 1000) } } - }, 0) + }, 5 * 1000) }