diff --git a/app/src/main/assets/test.json b/app/src/main/assets/test.json new file mode 100644 index 0000000000000000000000000000000000000000..0676cbf080268baea9111f7849d655d4459b79f0 --- /dev/null +++ b/app/src/main/assets/test.json @@ -0,0 +1,6 @@ +{ + "name": "电视家", + "packageName": "com.elinkway.tvlive2", + "launcher": "com.elinkway.tvlive2.activity.SplashActivity", + "launchDelay": "15" +} \ No newline at end of file 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 45da31ecc2a7b7bc504455ccbf64351be00cac18..38f5e4fdf85e980727dd5c4a66e86af6c2119d6d 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt @@ -14,7 +14,7 @@ import java.util.* class Task { - private lateinit var packageName: String + lateinit var packageName: String private lateinit var launcher: String private lateinit var imagePath: String private var launchDelay = 15 @@ -22,7 +22,7 @@ class Task { private val imageDateFormat = SimpleDateFormat("yyyy_MM_dd_HH_mm_ss", Locale.CHINA) var proc: Process ?= null - public constructor(context: Context) { + constructor(context: Context) { this.context = context } @@ -89,17 +89,16 @@ class Task { val host = it.substring(start) val url = "http://$host$partUrl" val item = JSONObject() - item.put("url", url) - item.put("time", timeStr) + item.put(Constants.KEY_URL, url) + item.put(Constants.KEY_TIME, timeStr) playUrlItems.put(item) partUrl = "" } } - if (playUrlItems.length() > 0) { - for (i in 0..playUrlItems.length()) { - playUrlItems.get(i) - } + for (i in 0..playUrlItems.length()) { + val jo = playUrlItems.get(i) as JSONObject + val url = jo.optString(Constants.KEY_URL) } } diff --git a/app/src/main/java/com/duolebo/blyrobot/protocol/GetAppConfig.kt b/app/src/main/java/com/duolebo/blyrobot/protocol/GetAppConfig.kt new file mode 100644 index 0000000000000000000000000000000000000000..ad47d44262cc793dc6f753059b23654781567705 --- /dev/null +++ b/app/src/main/java/com/duolebo/blyrobot/protocol/GetAppConfig.kt @@ -0,0 +1,5 @@ +package com.duolebo.blyrobot.protocol + +class GetAppConfig { + +} \ No newline at end of file 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 565b8de680b2d334e5be7ae8b0b16ac76bce919f..ada7eae9de2f6b9be1d288347f77a4c668a71492 100644 --- a/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt +++ b/app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt @@ -3,11 +3,12 @@ package com.duolebo.blyrobot.service import android.annotation.SuppressLint import android.app.Service import android.content.Intent -import android.os.Environment import android.os.IBinder import android.util.Log +import com.duolebo.blyrobot.data.Task import com.duolebo.blyrobot.util.AdbUtil -import java.text.SimpleDateFormat +import com.duolebo.blyrobot.util.AppUtil +import org.json.JSONObject import java.util.* @SuppressLint("Registered") @@ -16,6 +17,7 @@ class BylRobotService: Service() { private val TAG = "BylRobotService" private var timer: Timer? = null private var count = 0 + private val tasks = ArrayList() override fun onCreate() { super.onCreate() @@ -36,6 +38,13 @@ class BylRobotService: Service() { },2000, 10*1000) } + private fun loadTask() { + val task = Task(this) + task.from(JSONObject(AppUtil.readFromAssert(this, "test.json"))) + tasks.add(task) + } + + private fun screenShot() { Thread(Runnable { diff --git a/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt b/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt new file mode 100644 index 0000000000000000000000000000000000000000..f94e6aa9790e8faf4838a042cd93f884a6a524dd --- /dev/null +++ b/app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt @@ -0,0 +1,38 @@ +package com.duolebo.blyrobot.tools + +import com.duolebo.blyrobot.data.Task +import kotlin.collections.ArrayList + +class TaskManager { + private val tasks = ArrayList() + + fun add(task: Task) { + this.tasks.add(task) + } + + fun remove(task: Task) { + val item = tasks.find { + it.packageName == task.packageName + } + + item?.run { + tasks.remove(this) + } + } + + fun isExist(task: Task): Boolean { + val item = tasks.find { + it.packageName == task.packageName + } + + return item != null + } + + fun start() { + + } + + fun stop() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt b/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt index 840a24ee100249397bce7fd6555f531d79ddb15f..04c39a2288b22feb5c6ff77d38e552d1293c946b 100644 --- a/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt +++ b/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt @@ -1,5 +1,6 @@ package com.duolebo.blyrobot.util +import android.content.Context import android.text.TextUtils import java.net.Inet4Address import java.net.NetworkInterface @@ -117,4 +118,18 @@ object AppUtil { return result } + + fun readFromAssert(context: Context, fileName: String): String { + var res = "" + try { + val inputStream = context.assets.open(fileName) + res = fileRead(inputStream) + inputStream.close() + } catch (e: IOException) { + // TODO Auto-generated catch block + e.printStackTrace() + } + + return res + } } \ No newline at end of file diff --git a/app/src/main/java/com/duolebo/blyrobot/util/Constants.kt b/app/src/main/java/com/duolebo/blyrobot/util/Constants.kt index 1864d795d3feb5f354d9dc44dbeccef576e0cb81..34d10f0bf08e10ffa51713a881e615f982852451 100644 --- a/app/src/main/java/com/duolebo/blyrobot/util/Constants.kt +++ b/app/src/main/java/com/duolebo/blyrobot/util/Constants.kt @@ -1,6 +1,9 @@ package com.duolebo.blyrobot.util object Constants { + val KEY_URL = "url" + val KEY_TIME = "time" + val KEY_MAP = mapOf( "0" to "7", "1" to "8",