浏览代码

1.移除onResume中的自动拉起,只有更新策略时才拉起。

0423x6e6f
wangwanlei 3 个月前
父节点
当前提交
788c97cdd6
共有 1 个文件被更改,包括 36 次插入19 次删除
  1. 36
    19
      app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt

+ 36
- 19
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt 查看文件

180
     private var isDestroyFlag=false
180
     private var isDestroyFlag=false
181
     //执行了自启请求
181
     //执行了自启请求
182
     private var netAutoAppFlag=false
182
     private var netAutoAppFlag=false
183
+    //表示请求了策略更新
184
+    private var netStrategyDataFlag=false
183
 
185
 
184
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
186
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
185
 
187
 
287
 
289
 
288
         viewModel.lockResultData.observe(this) {
290
         viewModel.lockResultData.observe(this) {
289
             if (it) {
291
             if (it) {
292
+                //获得违规状态后,锁定桌面
290
                 spUtils.setParam(Const.DISABLEPAD, true)
293
                 spUtils.setParam(Const.DISABLEPAD, true)
291
                 startIntentActivity(MainActivity().javaClass)
294
                 startIntentActivity(MainActivity().javaClass)
292
                 val appList = AppUtils.GetAppList(this)
295
                 val appList = AppUtils.GetAppList(this)
438
 
441
 
439
         viewModel.viewModelScope.launch {
442
         viewModel.viewModelScope.launch {
440
             viewModel.strategyData.collect {
443
             viewModel.strategyData.collect {
441
-                it?.let {
442
-                    spUtils.saveJson(Const.STRATEGYBEANKEY, it)
443
-                    StrategyUtils.setStrategy(it)
444
-                    useTimeStrategy()
445
-                    /* updateStrategyFlag = true
446
-                     if (updateTimeFlag) {
447
-                         showSucessToast()
448
-                     }*/
449
-                    showSucessToast()
444
+                //netStrategyDataFlag表示接口请求了,才可以接收数据
445
+                if (netStrategyDataFlag){
446
+                    netStrategyDataFlag=false
447
+                    it?.let {
448
+                        spUtils.saveJson(Const.STRATEGYBEANKEY, it)
449
+                        StrategyUtils.setStrategy(it)
450
+                        //更新策略时执行
451
+                        useTimeStrategy(1)
452
+                        /* updateStrategyFlag = true
453
+                         if (updateTimeFlag) {
454
+                             showSucessToast()
455
+                         }*/
456
+                        showSucessToast()
457
+                    }
450
                 }
458
                 }
451
             }
459
             }
452
         }
460
         }
530
                         when (it.pushType) {
538
                         when (it.pushType) {
531
                             2 -> {
539
                             2 -> {
532
                                 spUtils.setParam(Const.DISABLEPAD, false)
540
                                 spUtils.setParam(Const.DISABLEPAD, false)
533
-                                useTimeStrategy()
541
+                                //远程socket解除锁定时执行
542
+                                useTimeStrategy(2)
534
                             }
543
                             }
535
 
544
 
536
                             3 -> {
545
                             3 -> {
546
+                                //远程socket消息后,回调执行锁定
537
                                 val appList = AppUtils.GetAppList(this@MainActivity)
547
                                 val appList = AppUtils.GetAppList(this@MainActivity)
538
                                 StrategyUtils.clearMemory(this@MainActivity, appList)
548
                                 StrategyUtils.clearMemory(this@MainActivity, appList)
539
                                 spUtils.setParam(Const.DISABLEPAD, true)
549
                                 spUtils.setParam(Const.DISABLEPAD, true)
677
         try {
687
         try {
678
             StrategyUtils.initMainResume()
688
             StrategyUtils.initMainResume()
679
             try {
689
             try {
690
+                canClickFlag=true
680
                 val am = getSystemService(ACTIVITY_SERVICE) as ActivityManager
691
                 val am = getSystemService(ACTIVITY_SERVICE) as ActivityManager
681
                 /*val runningTasks = am.getRunningTasks(1)
692
                 /*val runningTasks = am.getRunningTasks(1)
682
                 if (!runningTasks.isNullOrEmpty()){
693
                 if (!runningTasks.isNullOrEmpty()){
794
     //解锁屏幕
805
     //解锁屏幕
795
     private fun unBindBlock() {
806
     private fun unBindBlock() {
796
         spUtils.setParam(Const.DISABLEPAD, false)
807
         spUtils.setParam(Const.DISABLEPAD, false)
797
-        useTimeStrategy()
808
+        //输入密码解锁屏幕时执行,因为要判断锁定原因是因为不在使用时间还是违规。
809
+        useTimeStrategy(3)
798
         if (mBinding.mainLlayout.visibility == View.GONE) {
810
         if (mBinding.mainLlayout.visibility == View.GONE) {
799
             Toast(getString(R.string.padtimestoptips))
811
             Toast(getString(R.string.padtimestoptips))
800
         }
812
         }
971
         }
983
         }
972
         if (!screenFlag) {
984
         if (!screenFlag) {
973
             if (!NetworkUtils.isAvailable(this)) {
985
             if (!NetworkUtils.isAvailable(this)) {
974
-                useTimeStrategy()
986
+                //在onresume中时使用,如果未联网执行
987
+                useTimeStrategy(4)
975
                 hasNetFlag = false
988
                 hasNetFlag = false
976
                 lifecycleScope.launch {
989
                 lifecycleScope.launch {
977
                     withContext(Dispatchers.IO){
990
                     withContext(Dispatchers.IO){
996
             updateAllStrategy()
1009
             updateAllStrategy()
997
         } else {
1010
         } else {
998
             if (!isCreatFlag) {
1011
             if (!isCreatFlag) {
999
-                useTimeStrategy()
1012
+               //!isCreatFlag表示不是第一次启动时使用useTimeStrategy
1013
+               useTimeStrategy(5)
1000
             }
1014
             }
1001
             isCreatFlag = false
1015
             isCreatFlag = false
1002
         }
1016
         }
1017
             }
1031
             }
1018
             mBinding.userschoolTv.text = name.toString()
1032
             mBinding.userschoolTv.text = name.toString()
1019
         }
1033
         }
1034
+        netStrategyDataFlag=true
1020
         viewModel.postWallpaperPad()
1035
         viewModel.postWallpaperPad()
1021
         viewModel.updateStrategy()
1036
         viewModel.updateStrategy()
1022
         viewModel.uploadAppStrategy()
1037
         viewModel.uploadAppStrategy()
1246
         locationClient?.start()
1261
         locationClient?.start()
1247
     }
1262
     }
1248
 
1263
 
1249
-    private fun useTimeStrategy() {
1250
-        LogShow("开始执行了吧哈哈")
1264
+    private fun useTimeStrategy(type:Int) {
1265
+        LogShow("开始获得时间策略$type")
1251
         //获得sputils中的平板锁定策略
1266
         //获得sputils中的平板锁定策略
1252
         try {
1267
         try {
1253
             //如果存储的是锁定则锁定
1268
             //如果存储的是锁定则锁定
1294
         LogShow("锁定了吧" + mainLockFlag + "|||" + autoAppFlag)
1309
         LogShow("锁定了吧" + mainLockFlag + "|||" + autoAppFlag)
1295
         //自动退出时优先退出而不是拉起app
1310
         //自动退出时优先退出而不是拉起app
1296
         if (autoAppFlag&&!loginoutFlag) {
1311
         if (autoAppFlag&&!loginoutFlag) {
1297
-            //只有网络请求之后两秒延迟后才执行
1298
-            userBean?.let {
1299
-                netAutoAppFlag=true
1300
-                viewModel.postAutoAppDetail(it.regionid)
1312
+            //因为对于学生端app退出登录的处理,所以类型为5(这时认为执行的时机是学生主动退出了登录,所以不拉起)时不执行拉起
1313
+            if (type!=5){
1314
+                userBean?.let {
1315
+                    netAutoAppFlag=true
1316
+                    viewModel.postAutoAppDetail(it.regionid)
1317
+                }
1301
             }
1318
             }
1302
         }
1319
         }
1303
     }
1320
     }

正在加载...
取消
保存