diff --git a/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt b/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt index 53098002fe9f7608b9e17d4a80efac91bcef0255..e44bc1ad247aa0bc1748b61bcd4cd71674f1d04a 100644 --- a/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt +++ b/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt @@ -37,6 +37,7 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback { private lateinit var dataHandler: AppBaseHandler private lateinit var appInfoAdapter: AppConfigAdapter private lateinit var refreshTimer: Timer + private lateinit var appInfoData: AppInfoData private var apkPackageInfo: List? = null @@ -74,6 +75,10 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback { requestAppList() + refreshBtn.setOnClickListener{ + requestAppList() + } + } private fun requestAppList() { @@ -134,15 +139,17 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback { override fun onProtocolSucceed(protocol: IProtocol?) { if (protocol is GetAppInfoProtocol) { - val appInfoData = protocol.data as AppInfoData + this.appInfoData = protocol.data this.appInfoAdapter.setData(appInfoData.apkInfos) this.appInfoAdapter.notifyDataSetChanged() - for (apkInfo in appInfoData.apkInfos) { - if (apkInfo.monitoring && AppUtil.isAppInstalled(this, apkInfo.packageName)) { - val task = Task(this.applicationContext) - task.from(apkInfo) - TaskManager.instance.add(task) + if (!TaskManager.instance.isRunning) { + for (apkInfo in appInfoData.apkInfos) { + if (apkInfo.monitoring && AppUtil.isAppInstalled(this, apkInfo.packageName)) { + val task = Task(this.applicationContext) + task.from(apkInfo) + TaskManager.instance.add(task) + } } } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 512ef07db8801106691a4b624a2aecb91b02c6fc..a5fb5244d567de09eecc68fdebaafd371d5c1498 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -33,6 +33,13 @@ android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="停止"/> + +