Преглед на файлове

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

2.增加锁定状态判断,用于策略更新
20241218TB223FC(测试jar包)
wangwanlei преди 10 месеца
родител
ревизия
909496c4cd
променени са 1 файла, в които са добавени 18 реда и са изтрити 4 реда
  1. 18
    4
      app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt

+ 18
- 4
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Целия файл

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

Loading…
Отказ
Запис