|
@@ -26,7 +26,10 @@ import android.widget.LinearLayout
|
26
|
26
|
import android.widget.TextView
|
27
|
27
|
import android.widget.Toast
|
28
|
28
|
import androidx.activity.addCallback
|
|
29
|
+import androidx.lifecycle.Lifecycle
|
|
30
|
+import androidx.lifecycle.LifecycleRegistry
|
29
|
31
|
import androidx.lifecycle.lifecycleScope
|
|
32
|
+import androidx.lifecycle.viewModelScope
|
30
|
33
|
import androidx.recyclerview.widget.GridLayoutManager
|
31
|
34
|
import androidx.work.PeriodicWorkRequest
|
32
|
35
|
import androidx.work.WorkManager
|
|
@@ -85,6 +88,7 @@ import com.xhly.manageapp.utils.PadInfoUtils
|
85
|
88
|
import com.xhly.manageapp.utils.StrategyUtils
|
86
|
89
|
import com.xhly.manageapp.workmanager.TimingWorker
|
87
|
90
|
import kotlinx.coroutines.Dispatchers
|
|
91
|
+import kotlinx.coroutines.flow.collect
|
88
|
92
|
import kotlinx.coroutines.launch
|
89
|
93
|
import kotlinx.coroutines.withContext
|
90
|
94
|
import java.io.File
|
|
@@ -177,131 +181,14 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
|
177
|
181
|
startActivity(permissionIntent)*/
|
178
|
182
|
// csdkManagerUtils.csdkManager.enableAccessibility("com.xhly.manageapp","com.xhly.manageapp.service.TestService",true)
|
179
|
183
|
|
180
|
|
- viewModel.listAppData.observe(this) { modelList ->
|
181
|
|
- //存储商店应用包名到本地,并且存储商店应用列表数据到本地集合
|
182
|
|
- val appNameList = arrayListOf<String>()
|
183
|
|
- val whiteList = arrayListOf<String>()
|
184
|
|
- modelList.forEach {
|
185
|
|
- appNameList.add(it.appPackage)
|
186
|
|
- if (it.whited == 1) {
|
187
|
|
- whiteList.add(it.appPackage)
|
188
|
|
- }
|
189
|
|
- }
|
190
|
|
- ManageApplication.addAppWhiteRule(whiteList)
|
191
|
|
- spUtils.saveJson(Const.APPSTOREDATAKEY,modelList)
|
192
|
|
- //获得应用集合,必装应用和推荐应用,再加上预装应用(预装应用直接隐藏),其余应用需要静默卸载,必装应用需要进行静默下载和安装。安装应用从forceapp接口获取
|
193
|
|
- val appList = AppUtils.GetAppList(this)
|
194
|
|
- val firstAppList = arrayListOf<String>()
|
195
|
|
- try {
|
196
|
|
- //获得预装应用的包名
|
197
|
|
- val currentList =
|
198
|
|
- currentSpUtils.getFromJson(
|
199
|
|
- Const.FIRSTAPPLIST,
|
200
|
|
- ArrayList<String>().javaClass
|
201
|
|
- ) as ArrayList<String>
|
202
|
|
- firstAppList.addAll(currentList)
|
203
|
|
- } catch (e: Exception) {
|
204
|
|
- LogShow("冻结失败" + e.toString())
|
205
|
|
- }
|
206
|
|
- appList.forEach { app ->
|
207
|
|
- unInstallAppList.clear()
|
208
|
|
- val filter = modelList.filter { it.appPackage.equals(app.packageName) }
|
209
|
|
- val appInfos = firstAppList.filter { app.packageName.equals(it) }
|
210
|
|
- //接口列表以及初始化列表中不存在则将应用冻结或者卸载,目前是卸载
|
211
|
|
- LogShow("${app.name},被冻结" + (filter.isEmpty() && appInfos.isEmpty()))
|
212
|
|
- if (filter.isEmpty() && appInfos.isEmpty()) {
|
213
|
|
- //ManageApplication.setPackageEnabled(app.packageName, (filter.isNotEmpty()))
|
214
|
|
- unInstallAppList.add(app)
|
215
|
|
- ManageApplication.uninstallPackage(app.packageName)
|
216
|
|
- }
|
217
|
|
- }
|
218
|
|
- }
|
219
|
|
- viewModel.forceListAppData.observe(this) { modelList ->
|
220
|
|
- //获得必装应用,未安装或者版本较低则更新,先删除目录中的文件
|
221
|
|
- val rxPermissions = RxPermissions(this)
|
222
|
|
- rxPermissions.request(Manifest.permission.REQUEST_INSTALL_PACKAGES)
|
223
|
|
- .subscribe { granted ->
|
224
|
|
- if (granted || ModelNameUtils.IS_LianxX505f()) {
|
225
|
|
- // 权限已授予,执行安装操作
|
226
|
|
- val appList = AppUtils.GetAppList(this)
|
227
|
|
- getExternalFilesDir(null)?.let {
|
228
|
|
- FileUtils.deleteCurrentFlie(it)
|
229
|
|
- }
|
230
|
|
- val file = getExternalFilesDir(null)
|
231
|
|
- modelList.forEach { app ->
|
232
|
|
- try {
|
233
|
|
- //获得已安装的应用判断版本,未安装的则直接静默安装。
|
234
|
|
- val filter =
|
235
|
|
- appList.filter { it.packageName.equals(app.appPackage) }
|
236
|
|
- //列表中不存在,或者版本较低则更新
|
237
|
|
- val apkPath = app.apkPath
|
238
|
|
- val appName = app.appName
|
239
|
|
- if (filter.isNotEmpty()) {
|
240
|
|
- val currentApp = filter[0]
|
241
|
|
- if (app.versionNum > currentApp.versionNum) {
|
242
|
|
- //版本低则更新安装。
|
243
|
|
- //AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
244
|
|
- DownLoadUtils.addDownload(apkPath,app.appPackage,File(file.toString(), "$appName.apk").toString(),app.appPackage)
|
245
|
|
- }
|
246
|
|
- } else {
|
247
|
|
- //不存在,直接下载安装。
|
248
|
|
- //AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
249
|
|
- DownLoadUtils.addDownload(apkPath,app.appPackage,File(file.toString(), "$appName.apk").toString(),app.appPackage)
|
250
|
|
- }
|
251
|
|
- } catch (e: Exception) {
|
252
|
|
- LogShow("问题" + e.toString())
|
253
|
|
- }
|
254
|
|
- }
|
255
|
|
- } else {
|
256
|
|
- // 用户拒绝了安装权限,处理相应逻辑
|
257
|
|
- viewModel.getAppList()
|
258
|
|
- }
|
259
|
|
-
|
260
|
|
- }
|
261
|
|
- }
|
262
|
|
-
|
263
|
|
- viewModel.strategyData.observe(this) {
|
264
|
|
- spUtils.saveJson(Const.STRATEGYBEANKEY, it)
|
265
|
|
- StrategyUtils.setStrategy(it)
|
266
|
|
- useTimeStrategy()
|
267
|
|
- updateStrategyFlag = true
|
268
|
|
- if (updateTimeFlag) {
|
269
|
|
- showSucessToast()
|
270
|
|
- }
|
271
|
|
- }
|
272
|
|
- viewModel.appStrategyData.observe(this) {
|
273
|
|
- //存储app时间策略
|
274
|
|
- spUtils.saveJson(Const.APPSTRATEGYBEANKEY, it)
|
275
|
|
- updateTimeFlag = true
|
276
|
|
- if (updateStrategyFlag) {
|
277
|
|
- showSucessToast()
|
278
|
|
- }
|
279
|
|
- }
|
280
|
|
- viewModel.padInfoData.observe(this) {
|
281
|
|
- //存储信息上传时间
|
282
|
|
- if (it) {
|
283
|
|
- spUtils.setParam(Const.PADINFOTIMEKEY, System.currentTimeMillis())
|
284
|
|
- }
|
285
|
|
- }
|
286
|
|
- viewModel.loginOutData.observe(this) {
|
|
184
|
+ viewModel.pwdResultData.observe(this) {
|
287
|
185
|
if (it) {
|
288
|
|
- loginOut()
|
|
186
|
+ unBindBlock()
|
289
|
187
|
} else {
|
290
|
188
|
Toast(getString(R.string.codeerror))
|
291
|
189
|
}
|
292
|
190
|
}
|
293
|
|
- viewModel.updateInfoData.observe(this) {
|
294
|
|
- //成功则保存不在提交
|
295
|
|
- if (it) {
|
296
|
|
- spUtils.setParam(Const.PADUPDATETIMEKEY, System.currentTimeMillis())
|
297
|
|
- }
|
298
|
|
- }
|
299
|
|
- viewModel.schoolSetData.observe(this) {
|
300
|
|
- spUtils.saveJson(Const.SCHOOLSETDEVICE, it)
|
301
|
|
- initSchoolSet(it)
|
302
|
|
- mBinding.rv.visibility=View.VISIBLE
|
303
|
|
- updateAppRv()
|
304
|
|
- }
|
|
191
|
+
|
305
|
192
|
viewModel.wallpaperData.observe(this) {
|
306
|
193
|
if (!it.hpath.isNullOrBlank()) {
|
307
|
194
|
Glide.with(this).load(Const.URL1 + it.hpath).placeholder(R.drawable.main_bg)
|
|
@@ -333,16 +220,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
|
333
|
220
|
})
|
334
|
221
|
}
|
335
|
222
|
}
|
336
|
|
- viewModel.netWhiteListData.observe(this) {
|
337
|
|
- StrategyUtils.setNetWhiteList(it)
|
338
|
|
- }
|
339
|
|
- viewModel.pwdResultData.observe(this) {
|
340
|
|
- if (it) {
|
341
|
|
- unBindBlock()
|
342
|
|
- } else {
|
343
|
|
- Toast(getString(R.string.codeerror))
|
344
|
|
- }
|
345
|
|
- }
|
|
223
|
+
|
|
224
|
+
|
346
|
225
|
viewModel.lockResultData.observe(this) {
|
347
|
226
|
if (it) {
|
348
|
227
|
spUtils.setParam(Const.DISABLEPAD, true)
|
|
@@ -356,80 +235,249 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
|
356
|
235
|
ManageApplication.launchFactoryReset()
|
357
|
236
|
}
|
358
|
237
|
}
|
359
|
|
- viewModel.logResultData.observe(this) {
|
360
|
|
- if (it.enableFlag) {
|
361
|
|
- when (it.pushType) {
|
362
|
|
- 2 -> {
|
363
|
|
- spUtils.setParam(Const.DISABLEPAD, false)
|
364
|
|
- useTimeStrategy()
|
365
|
|
- }
|
366
|
238
|
|
367
|
|
- 3 -> {
|
368
|
|
- val appList = AppUtils.GetAppList(this)
|
369
|
|
- StrategyUtils.clearMemory(this, appList)
|
370
|
|
- spUtils.setParam(Const.DISABLEPAD, true)
|
371
|
|
- startIntentActivity(MainActivity().javaClass)
|
|
239
|
+ viewModel.viewModelScope.launch {
|
|
240
|
+ //在这里执行获得策略的操作,用来处理在后台时的数据处理。
|
|
241
|
+ viewModel.listAppData.collect{ modelList ->
|
|
242
|
+ //存储商店应用包名到本地,并且存储商店应用列表数据到本地集合
|
|
243
|
+ val appNameList = arrayListOf<String>()
|
|
244
|
+ val whiteList = arrayListOf<String>()
|
|
245
|
+ modelList.forEach {
|
|
246
|
+ appNameList.add(it.appPackage)
|
|
247
|
+ if (it.whited == 1) {
|
|
248
|
+ whiteList.add(it.appPackage)
|
372
|
249
|
}
|
373
|
|
-
|
374
|
|
- 4 -> {
|
375
|
|
- //请求接口更新策略
|
376
|
|
- updateAllStrategy()
|
|
250
|
+ }
|
|
251
|
+ ManageApplication.addAppWhiteRule(whiteList)
|
|
252
|
+ spUtils.saveJson(Const.APPSTOREDATAKEY,modelList)
|
|
253
|
+ //获得应用集合,必装应用和推荐应用,再加上预装应用(预装应用直接隐藏),其余应用需要静默卸载,必装应用需要进行静默下载和安装。安装应用从forceapp接口获取
|
|
254
|
+ val appList = AppUtils.GetAppList(this@MainActivity)
|
|
255
|
+ val firstAppList = arrayListOf<String>()
|
|
256
|
+ try {
|
|
257
|
+ //获得预装应用的包名
|
|
258
|
+ val currentList =
|
|
259
|
+ currentSpUtils.getFromJson(
|
|
260
|
+ Const.FIRSTAPPLIST,
|
|
261
|
+ ArrayList<String>().javaClass
|
|
262
|
+ ) as ArrayList<String>
|
|
263
|
+ firstAppList.addAll(currentList)
|
|
264
|
+ } catch (e: Exception) {
|
|
265
|
+ LogShow("冻结失败" + e.toString())
|
|
266
|
+ }
|
|
267
|
+ appList.forEach { app ->
|
|
268
|
+ unInstallAppList.clear()
|
|
269
|
+ val filter = modelList.filter { it.appPackage.equals(app.packageName) }
|
|
270
|
+ val appInfos = firstAppList.filter { app.packageName.equals(it) }
|
|
271
|
+ //接口列表以及初始化列表中不存在则将应用冻结或者卸载,目前是卸载
|
|
272
|
+ LogShow("${app.name},被冻结" + (filter.isEmpty() && appInfos.isEmpty()))
|
|
273
|
+ if (filter.isEmpty() && appInfos.isEmpty()) {
|
|
274
|
+ //ManageApplication.setPackageEnabled(app.packageName, (filter.isNotEmpty()))
|
|
275
|
+ unInstallAppList.add(app)
|
|
276
|
+ ManageApplication.uninstallPackage(app.packageName)
|
377
|
277
|
}
|
|
278
|
+ }
|
|
279
|
+ }
|
|
280
|
+ }
|
378
|
281
|
|
379
|
|
- 5 -> {
|
380
|
|
- ManageApplication.rebootDevice()
|
381
|
|
- }
|
|
282
|
+ viewModel.viewModelScope.launch {
|
|
283
|
+ viewModel.forceListAppData.collect { modelList ->
|
|
284
|
+ //获得必装应用,未安装或者版本较低则更新,先删除目录中的文件
|
|
285
|
+ val rxPermissions = RxPermissions(this@MainActivity)
|
|
286
|
+ rxPermissions.request(Manifest.permission.REQUEST_INSTALL_PACKAGES)
|
|
287
|
+ .subscribe { granted ->
|
|
288
|
+ if (granted || ModelNameUtils.IS_LianxX505f()) {
|
|
289
|
+ // 权限已授予,执行安装操作
|
|
290
|
+ val appList = AppUtils.GetAppList(this@MainActivity)
|
|
291
|
+ getExternalFilesDir(null)?.let {
|
|
292
|
+ FileUtils.deleteCurrentFlie(it)
|
|
293
|
+ }
|
|
294
|
+ val file = getExternalFilesDir(null)
|
|
295
|
+ modelList.forEach { app ->
|
|
296
|
+ try {
|
|
297
|
+ //获得已安装的应用判断版本,未安装的则直接静默安装。
|
|
298
|
+ val filter =
|
|
299
|
+ appList.filter { it.packageName.equals(app.appPackage) }
|
|
300
|
+ //列表中不存在,或者版本较低则更新
|
|
301
|
+ val apkPath = app.apkPath
|
|
302
|
+ val appName = app.appName
|
|
303
|
+ if (filter.isNotEmpty()) {
|
|
304
|
+ val currentApp = filter[0]
|
|
305
|
+ if (app.versionNum > currentApp.versionNum) {
|
|
306
|
+ //版本低则更新安装。
|
|
307
|
+ //AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
|
308
|
+ DownLoadUtils.addDownload(apkPath,app.appPackage,File(file.toString(), "$appName.apk").toString(),app.appPackage)
|
|
309
|
+ }
|
|
310
|
+ } else {
|
|
311
|
+ //不存在,直接下载安装。
|
|
312
|
+ //AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
|
313
|
+ DownLoadUtils.addDownload(apkPath,app.appPackage,File(file.toString(), "$appName.apk").toString(),app.appPackage)
|
|
314
|
+ }
|
|
315
|
+ } catch (e: Exception) {
|
|
316
|
+ LogShow("问题" + e.toString())
|
|
317
|
+ }
|
|
318
|
+ }
|
|
319
|
+ } else {
|
|
320
|
+ // 用户拒绝了安装权限,处理相应逻辑
|
|
321
|
+ viewModel.getAppList()
|
|
322
|
+ }
|
382
|
323
|
|
383
|
|
- 6 -> {
|
384
|
|
- loginOutSucess()
|
385
|
|
- ManageApplication.launchFactoryReset()
|
386
|
324
|
}
|
|
325
|
+ }
|
387
|
326
|
|
388
|
|
- 7 -> {
|
389
|
|
- currentSpUtils.setParam(Const.EXIT_CONTROL, true)
|
390
|
|
- StrategyUtils.releaseControl(this)
|
391
|
|
- }
|
|
327
|
+ }
|
|
328
|
+
|
|
329
|
+ viewModel.viewModelScope.launch {
|
|
330
|
+ viewModel.strategyData.collect {
|
|
331
|
+ spUtils.saveJson(Const.STRATEGYBEANKEY, it)
|
|
332
|
+ StrategyUtils.setStrategy(it)
|
|
333
|
+ useTimeStrategy()
|
|
334
|
+ updateStrategyFlag = true
|
|
335
|
+ if (updateTimeFlag) {
|
|
336
|
+ showSucessToast()
|
|
337
|
+ }
|
|
338
|
+ }
|
|
339
|
+ }
|
|
340
|
+
|
|
341
|
+ viewModel.viewModelScope.launch {
|
|
342
|
+ viewModel.appStrategyData.collect {
|
|
343
|
+ //存储app时间策略
|
|
344
|
+ spUtils.saveJson(Const.APPSTRATEGYBEANKEY, it)
|
|
345
|
+ updateTimeFlag = true
|
|
346
|
+ if (updateStrategyFlag) {
|
|
347
|
+ showSucessToast()
|
|
348
|
+ }
|
|
349
|
+ }
|
|
350
|
+ }
|
|
351
|
+
|
|
352
|
+ viewModel.viewModelScope.launch {
|
|
353
|
+ viewModel.padInfoData.collect {
|
|
354
|
+ //存储信息上传时间
|
|
355
|
+ if (it) {
|
|
356
|
+ spUtils.setParam(Const.PADINFOTIMEKEY, System.currentTimeMillis())
|
|
357
|
+ }
|
|
358
|
+ }
|
|
359
|
+ }
|
|
360
|
+
|
|
361
|
+ viewModel.viewModelScope.launch {
|
|
362
|
+ viewModel.loginOutData.collect {
|
|
363
|
+ if (it) {
|
|
364
|
+ loginOut()
|
|
365
|
+ } else {
|
|
366
|
+ Toast(getString(R.string.codeerror))
|
|
367
|
+ }
|
|
368
|
+ }
|
|
369
|
+ }
|
|
370
|
+
|
|
371
|
+ viewModel.viewModelScope.launch {
|
|
372
|
+ viewModel.updateInfoData.collect {
|
|
373
|
+ //成功则保存不在提交
|
|
374
|
+ if (it) {
|
|
375
|
+ spUtils.setParam(Const.PADUPDATETIMEKEY, System.currentTimeMillis())
|
|
376
|
+ }
|
|
377
|
+ }
|
|
378
|
+ }
|
|
379
|
+
|
|
380
|
+ viewModel.viewModelScope.launch {
|
|
381
|
+
|
|
382
|
+ viewModel.schoolSetData.collect {
|
|
383
|
+ spUtils.saveJson(Const.SCHOOLSETDEVICE, it)
|
|
384
|
+ initSchoolSet(it)
|
|
385
|
+ mBinding.rv.visibility=View.VISIBLE
|
|
386
|
+ updateAppRv()
|
|
387
|
+ }
|
|
388
|
+ }
|
392
|
389
|
|
393
|
|
- 8 -> {
|
394
|
|
- loginOut()
|
|
390
|
+ viewModel.viewModelScope.launch {
|
|
391
|
+
|
|
392
|
+ viewModel.netWhiteListData.collect {
|
|
393
|
+ StrategyUtils.setNetWhiteList(it)
|
|
394
|
+ }
|
|
395
|
+
|
|
396
|
+ }
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+ viewModel.viewModelScope.launch {
|
|
400
|
+
|
|
401
|
+ viewModel.logResultData.collect {
|
|
402
|
+ if (it.enableFlag) {
|
|
403
|
+ when (it.pushType) {
|
|
404
|
+ 2 -> {
|
|
405
|
+ spUtils.setParam(Const.DISABLEPAD, false)
|
|
406
|
+ useTimeStrategy()
|
|
407
|
+ }
|
|
408
|
+
|
|
409
|
+ 3 -> {
|
|
410
|
+ val appList = AppUtils.GetAppList(this@MainActivity)
|
|
411
|
+ StrategyUtils.clearMemory(this@MainActivity, appList)
|
|
412
|
+ spUtils.setParam(Const.DISABLEPAD, true)
|
|
413
|
+ startIntentActivity(MainActivity().javaClass)
|
|
414
|
+ }
|
|
415
|
+
|
|
416
|
+ 4 -> {
|
|
417
|
+ //请求接口更新策略
|
|
418
|
+ updateAllStrategy()
|
|
419
|
+ }
|
|
420
|
+
|
|
421
|
+ 5 -> {
|
|
422
|
+ ManageApplication.rebootDevice()
|
|
423
|
+ }
|
|
424
|
+
|
|
425
|
+ 6 -> {
|
|
426
|
+ loginOutSucess()
|
|
427
|
+ ManageApplication.launchFactoryReset()
|
|
428
|
+ }
|
|
429
|
+
|
|
430
|
+ 7 -> {
|
|
431
|
+ currentSpUtils.setParam(Const.EXIT_CONTROL, true)
|
|
432
|
+ StrategyUtils.releaseControl(this@MainActivity)
|
|
433
|
+ }
|
|
434
|
+
|
|
435
|
+ 8 -> {
|
|
436
|
+ loginOut()
|
|
437
|
+ }
|
395
|
438
|
}
|
396
|
439
|
}
|
397
|
440
|
}
|
398
|
441
|
}
|
399
|
|
- viewModel.logEventData.observe(this) {
|
400
|
|
- when (it.logEventType) {
|
401
|
|
- EventLog.ACCOUNTQUITEVENT -> {
|
402
|
|
- loginOutSucess()
|
|
442
|
+
|
|
443
|
+ viewModel.viewModelScope.launch {
|
|
444
|
+ viewModel.logEventData.collect {
|
|
445
|
+ when (it.logEventType) {
|
|
446
|
+ EventLog.ACCOUNTQUITEVENT -> {
|
|
447
|
+ loginOutSucess()
|
|
448
|
+ }
|
403
|
449
|
}
|
404
|
450
|
}
|
405
|
451
|
}
|
406
|
|
- viewModel.autoAppData.observe(this){
|
407
|
|
- //连接不为空,并且应用已安装则跳转应用
|
408
|
|
- it.authUrl="com.xhkjedu.xh_control_browser.MainActivity"
|
409
|
|
- it.appPackage="com.xhkjedu.xh_control_browser"
|
410
|
|
- LogShow("锁定了吧"+mainLockFlag)
|
411
|
|
- if (!mainLockFlag){
|
412
|
|
- if (it.authUrl!=null&&AppUtils.isAppInstalled(this,it.appPackage)){
|
413
|
|
- spUtils.saveJson(Const.AUTOAPPKEY,it)
|
414
|
|
- startAutoApp(it)
|
415
|
|
- }else{
|
416
|
|
- try {
|
417
|
|
- val autoAppBean = spUtils.getFromJson(Const.AUTOAPPKEY, AutoAppBean().javaClass) as AutoAppBean
|
418
|
|
- if (autoAppBean.authUrl!=null&&AppUtils.isAppInstalled(this,autoAppBean.appPackage)&&!it.netSucessFlag){
|
419
|
|
- startAutoApp(autoAppBean)
|
420
|
|
- }else{
|
|
452
|
+
|
|
453
|
+ viewModel.viewModelScope.launch {
|
|
454
|
+ viewModel.autoAppData.collect{
|
|
455
|
+ //连接不为空,并且应用已安装则跳转应用
|
|
456
|
+ /* it.authUrl="com.xhkjedu.xh_control_browser.MainActivity"
|
|
457
|
+ it.appPackage="com.xhkjedu.xh_control_browser"*/
|
|
458
|
+ LogShow("锁定了吧"+mainLockFlag)
|
|
459
|
+ if (!mainLockFlag){
|
|
460
|
+ if (it.authUrl!=null&&AppUtils.isAppInstalled(this@MainActivity,it.appPackage)){
|
|
461
|
+ spUtils.saveJson(Const.AUTOAPPKEY,it)
|
|
462
|
+ startAutoApp(it)
|
|
463
|
+ }else{
|
|
464
|
+ try {
|
|
465
|
+ val autoAppBean = spUtils.getFromJson(Const.AUTOAPPKEY, AutoAppBean().javaClass) as AutoAppBean
|
|
466
|
+ if (autoAppBean.authUrl!=null&&AppUtils.isAppInstalled(this@MainActivity,autoAppBean.appPackage)&&!it.netSucessFlag){
|
|
467
|
+ startAutoApp(autoAppBean)
|
|
468
|
+ }else{
|
|
469
|
+ canClickFlag=true
|
|
470
|
+ }
|
|
471
|
+ }catch (e:Exception){
|
421
|
472
|
canClickFlag=true
|
422
|
473
|
}
|
423
|
|
- }catch (e:Exception){
|
424
|
|
- canClickFlag=true
|
425
|
474
|
}
|
|
475
|
+ }else{
|
|
476
|
+ autoAppFlag=false
|
|
477
|
+ startIntentActivity(MainActivity().javaClass)
|
426
|
478
|
}
|
427
|
|
- }else{
|
428
|
|
- autoAppFlag=false
|
429
|
|
- startIntentActivity(MainActivity().javaClass)
|
430
|
479
|
}
|
431
|
480
|
}
|
432
|
|
-
|
433
|
481
|
getLocation()
|
434
|
482
|
startWorkManager()
|
435
|
483
|
lastTimeLong=System.currentTimeMillis()
|
|
@@ -1195,7 +1243,10 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
|
1195
|
1243
|
pushBean.sn =it
|
1196
|
1244
|
}
|
1197
|
1245
|
viewModel.postLogPushAdd(pushBean)
|
1198
|
|
- startIntentActivity(MainActivity().javaClass)
|
|
1246
|
+ if (pushBean.pushType!=4){
|
|
1247
|
+ //更新策略不调回activity因为可能在其他应用中。
|
|
1248
|
+ startIntentActivity(MainActivity().javaClass)
|
|
1249
|
+ }
|
1199
|
1250
|
}
|
1200
|
1251
|
|
1201
|
1252
|
private fun updateAppRv() {
|