Browse Source

1.执行部分涉及页面的操作需要跳回主页面,进行操作,否则livedata不会刷新

2.增加锁定状态判断,用于策略更新
20241218TB223FC(测试jar包)
wangwanlei 10 months ago
parent
commit
909496c4cd

+ 18
- 4
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt View File

107
     private var mainLockFlag=false
107
     private var mainLockFlag=false
108
 
108
 
109
     private var accountDialog:CustomDialog?=null
109
     private var accountDialog:CustomDialog?=null
110
+    //创建应用卸载集合,方便获得应用信息
111
+    private val unInstallAppList= arrayListOf<AppInfo>()
110
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
112
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
111
 
113
 
112
     @SuppressLint("CheckResult")
114
     @SuppressLint("CheckResult")
179
                 LogShow("冻结失败" + e.toString())
181
                 LogShow("冻结失败" + e.toString())
180
             }
182
             }
181
             appList.forEach { app ->
183
             appList.forEach { app ->
184
+                unInstallAppList.clear()
182
                 val filter = modelList.filter { it.appPackage.equals(app.packageName) }
185
                 val filter = modelList.filter { it.appPackage.equals(app.packageName) }
183
                 val appInfos = firstAppList.filter { app.packageName.equals(it) }
186
                 val appInfos = firstAppList.filter { app.packageName.equals(it) }
184
                 //接口列表以及初始化列表中不存在则将应用冻结或者卸载,目前是卸载
187
                 //接口列表以及初始化列表中不存在则将应用冻结或者卸载,目前是卸载
185
                 LogShow("${app.name},被冻结" + (filter.isEmpty() && appInfos.isEmpty()))
188
                 LogShow("${app.name},被冻结" + (filter.isEmpty() && appInfos.isEmpty()))
186
                 if (filter.isEmpty() && appInfos.isEmpty()) {
189
                 if (filter.isEmpty() && appInfos.isEmpty()) {
187
                     //ManageApplication.setPackageEnabled(app.packageName, (filter.isNotEmpty()))
190
                     //ManageApplication.setPackageEnabled(app.packageName, (filter.isNotEmpty()))
191
+                    unInstallAppList.add(app)
188
                     ManageApplication.uninstallPackage(app.packageName)
192
                     ManageApplication.uninstallPackage(app.packageName)
189
                 }
193
                 }
190
             }
194
             }
732
     private fun useTimeStrategy() {
736
     private fun useTimeStrategy() {
733
         //获得sputils中的平板锁定策略
737
         //获得sputils中的平板锁定策略
734
         try {
738
         try {
739
+            mainLockFlag=false
735
             //如果存储的是锁定则锁定
740
             //如果存储的是锁定则锁定
736
             var block = false
741
             var block = false
737
             val strategyBean =
742
             val strategyBean =
750
                 mBinding.lockLlayout.visibility = View.VISIBLE
755
                 mBinding.lockLlayout.visibility = View.VISIBLE
751
                 //隐藏账号编辑弹窗
756
                 //隐藏账号编辑弹窗
752
                 accountDialog?.dismiss()
757
                 accountDialog?.dismiss()
758
+                mainLockFlag=true
753
             } else {
759
             } else {
754
                 mBinding.mainLlayout.visibility = View.VISIBLE
760
                 mBinding.mainLlayout.visibility = View.VISIBLE
755
                 mBinding.lockLlayout.visibility = View.GONE
761
                 mBinding.lockLlayout.visibility = View.GONE
909
                 ManageApplication.getDeviceInfo()?.let {
915
                 ManageApplication.getDeviceInfo()?.let {
910
                     data.sn = it
916
                     data.sn = it
911
                 }
917
                 }
912
-                val packageInfo =
913
-                    packageManager.getPackageInfo(message, PackageManager.GET_META_DATA)
914
-                val label =
915
-                    packageManager.getApplicationLabel(packageInfo.applicationInfo)
918
+                val filter = unInstallAppList.filter { it.packageName == message }
919
+                val label =if (filter.isNotEmpty()){
920
+                    filter[0].name
921
+                }else{
922
+                    ""
923
+                }
916
                 data.comm =label.toString()
924
                 data.comm =label.toString()
917
                 data.appPackage = message
925
                 data.appPackage = message
918
                 data.doEvent = EventLog.APPUNINSTALLEVENT
926
                 data.doEvent = EventLog.APPUNINSTALLEVENT
984
             }
992
             }
985
 
993
 
986
             Const.CODE3002.toString() -> {
994
             Const.CODE3002.toString() -> {
995
+                //执行这些操作优先跳回本页面,不然livedata会不刷新
987
                 val deviceInfo = ManageApplication.getDeviceInfo()
996
                 val deviceInfo = ManageApplication.getDeviceInfo()
988
                 val sn = deviceInfo ?: ""
997
                 val sn = deviceInfo ?: ""
989
                 viewModel.postExitLocked(sn)
998
                 viewModel.postExitLocked(sn)
999
+                startIntentActivity(MainActivity().javaClass)
990
             }
1000
             }
991
 
1001
 
992
             Const.CODE3006.toString() -> {
1002
             Const.CODE3006.toString() -> {
1003
+                //执行这些操作优先跳回本页面,不然livedata会不刷新
993
                 val deviceInfo = ManageApplication.getDeviceInfo()
1004
                 val deviceInfo = ManageApplication.getDeviceInfo()
994
                 val sn = deviceInfo ?: ""
1005
                 val sn = deviceInfo ?: ""
995
                 viewModel.postExitReseted(sn)
1006
                 viewModel.postExitReseted(sn)
1007
+                startIntentActivity(MainActivity().javaClass)
996
             }
1008
             }
997
             Const.INSTALL_FORCEAPP->{
1009
             Const.INSTALL_FORCEAPP->{
998
                 ManageApplication.installPackage(uiEvent.message)
1010
                 ManageApplication.installPackage(uiEvent.message)
1005
     }
1017
     }
1006
 
1018
 
1007
     private fun postLogPush(pushType: Int) {
1019
     private fun postLogPush(pushType: Int) {
1020
+        //执行这些操作优先跳回本页面,不然livedata会不刷新
1008
         val pushBean = LogPushBean()
1021
         val pushBean = LogPushBean()
1009
         pushBean.pushType = pushType
1022
         pushBean.pushType = pushType
1010
         ManageApplication.getDeviceInfo()?.let {
1023
         ManageApplication.getDeviceInfo()?.let {
1011
             pushBean.sn =it
1024
             pushBean.sn =it
1012
         }
1025
         }
1013
         viewModel.postLogPushAdd(pushBean)
1026
         viewModel.postLogPushAdd(pushBean)
1027
+        startIntentActivity(MainActivity().javaClass)
1014
     }
1028
     }
1015
 
1029
 
1016
     private fun updateAppRv() {
1030
     private fun updateAppRv() {

Loading…
Cancel
Save