|
@@ -4,15 +4,12 @@ import BaseActivity
|
4
|
4
|
import android.Manifest
|
5
|
5
|
import android.annotation.SuppressLint
|
6
|
6
|
import android.app.ActivityManager
|
7
|
|
-import android.app.usage.StorageStatsManager
|
8
|
7
|
import android.app.usage.UsageEvents
|
9
|
8
|
import android.app.usage.UsageStatsManager
|
10
|
9
|
import android.content.Context
|
11
|
10
|
import android.content.Intent
|
12
|
11
|
import android.content.IntentFilter
|
13
|
12
|
import android.graphics.Color
|
14
|
|
-import android.os.Build
|
15
|
|
-import android.os.storage.StorageManager
|
16
|
13
|
import android.provider.Settings
|
17
|
14
|
import android.view.View
|
18
|
15
|
import android.widget.Button
|
|
@@ -21,6 +18,8 @@ import android.widget.TextView
|
21
|
18
|
import android.widget.Toast
|
22
|
19
|
import androidx.activity.addCallback
|
23
|
20
|
import androidx.recyclerview.widget.GridLayoutManager
|
|
21
|
+import androidx.work.PeriodicWorkRequest
|
|
22
|
+import androidx.work.WorkManager
|
24
|
23
|
import com.kongzue.dialogx.dialogs.CustomDialog
|
25
|
24
|
import com.kongzue.dialogx.interfaces.OnBindView
|
26
|
25
|
import com.tbruyelle.rxpermissions2.RxPermissions
|
|
@@ -29,7 +28,6 @@ import com.xhly.corelib.bean.AppInfo
|
29
|
28
|
import com.xhly.corelib.eventbus.UIEvent
|
30
|
29
|
import com.xhly.corelib.utils.AppUtils
|
31
|
30
|
import com.xhly.corelib.utils.CustomOSUtils
|
32
|
|
-import com.xhly.corelib.utils.FileSizeUtil
|
33
|
31
|
import com.xhly.corelib.utils.LogShow
|
34
|
32
|
import com.xhly.corelib.utils.PhoneInfoUtils
|
35
|
33
|
import com.xhly.corelib.utils.toFormat
|
|
@@ -42,7 +40,10 @@ import com.xhly.manageapp.service.websocket.AppSocketService
|
42
|
40
|
import com.xhly.manageapp.ui.ManageActivity
|
43
|
41
|
import com.xhly.manageapp.ui.login.activity.LoginActivity
|
44
|
42
|
import com.xhly.manageapp.ui.main.viewmodel.MainViewModel
|
|
43
|
+import com.xhly.manageapp.utils.StrategyUtils
|
|
44
|
+import com.xhly.manageapp.workmanager.TimingWorker
|
45
|
45
|
import java.util.Calendar
|
|
46
|
+import java.util.concurrent.TimeUnit
|
46
|
47
|
|
47
|
48
|
|
48
|
49
|
class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
|
|
@@ -82,6 +83,11 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
|
82
|
83
|
var appList = AppUtils.GetAppList(this)
|
83
|
84
|
|
84
|
85
|
}
|
|
86
|
+ viewModel.strategyData.observe(this) {
|
|
87
|
+ spUtils.saveJson(Const.STRATEGYBEANKEY, it)
|
|
88
|
+ StrategyUtils.setStrategy(it)
|
|
89
|
+ }
|
|
90
|
+ startWorkManager()
|
85
|
91
|
}
|
86
|
92
|
|
87
|
93
|
override fun onNewIntent(intent: Intent?) {
|
|
@@ -378,4 +384,34 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
|
378
|
384
|
LogShow("手机信息失败了" + it.message)
|
379
|
385
|
})
|
380
|
386
|
}
|
|
387
|
+
|
|
388
|
+ private fun test() {
|
|
389
|
+ /* val appInfo = filter[0]
|
|
390
|
+ serviceScope.launch {
|
|
391
|
+ val logStartBean = LogAppStartBean()
|
|
392
|
+ ManageApplication.getDeviceInfo()?.let {
|
|
393
|
+ logStartBean.sn = it
|
|
394
|
+ }
|
|
395
|
+ logStartBean.appName = appInfo.name
|
|
396
|
+ logStartBean.appPackage = appInfo.packageName
|
|
397
|
+ logStartBean.versionName = appInfo.versionName
|
|
398
|
+ logStartBean.versionNum = appInfo.versionNum
|
|
399
|
+ LogShow("当前应用" + logStartBean.appName + "|||" + logStartBean.versionName + "|||" + logStartBean.versionNum)
|
|
400
|
+ logService.postLogAppStartAdd(logStartBean)
|
|
401
|
+ }*/
|
|
402
|
+ }
|
|
403
|
+
|
|
404
|
+ private fun startWorkManager() {
|
|
405
|
+ WorkManager.getInstance(this).cancelAllWork()
|
|
406
|
+ // 周期性任务时间最少15分钟 所以除以实际周期的时间 看需要加入几个任务
|
|
407
|
+ val taskList = arrayListOf(5, 10)
|
|
408
|
+ for (taskNo in 1..10) {
|
|
409
|
+ val request = PeriodicWorkRequest
|
|
410
|
+ // 最少15分钟 PeriodicWorkRequest
|
|
411
|
+ .Builder(TimingWorker::class.java, 15, TimeUnit.MINUTES)
|
|
412
|
+ // WorkRequest 根据实际周期以及任务的编号 延迟初始化 0,5,10 分别周期行执行
|
|
413
|
+ .setInitialDelay(taskNo.toLong(), TimeUnit.MINUTES).build()
|
|
414
|
+ WorkManager.getInstance(this).enqueue(request)
|
|
415
|
+ }
|
|
416
|
+ }
|
381
|
417
|
}
|