|
@@ -107,6 +107,7 @@ import com.xhly.manageapp.utils.StrategyUtils
|
107
|
107
|
import com.xhly.manageapp.utils.SystemClock
|
108
|
108
|
import com.xhly.manageapp.workmanager.TimingWorker
|
109
|
109
|
import kotlinx.coroutines.Dispatchers
|
|
110
|
+import kotlinx.coroutines.Job
|
110
|
111
|
import kotlinx.coroutines.delay
|
111
|
112
|
import kotlinx.coroutines.launch
|
112
|
113
|
import kotlinx.coroutines.withContext
|
|
@@ -119,7 +120,8 @@ import java.util.concurrent.TimeUnit
|
119
|
120
|
|
120
|
121
|
class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), DownloadCallback {
|
121
|
122
|
var adapter: AppAdapter? = null
|
122
|
|
-
|
|
123
|
+ private var debounceJob: Job? = null
|
|
124
|
+ private var useTimeStrategyDebounceJob: Job? = null
|
123
|
125
|
private var mMyInstallReceiver: AppInstallReceiver? = null
|
124
|
126
|
private var netConnectReceiver: NetConnectReceiver? = null
|
125
|
127
|
private var mScreenReceiver: ScreenReceiver? = null
|
|
@@ -731,6 +733,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
731
|
733
|
}
|
732
|
734
|
|
733
|
735
|
private fun installAppList(modelList:ArrayList<AppModel>?) {
|
|
736
|
+ Log.d("开始执行下载任务","任务开始111"+modelList?.size)
|
734
|
737
|
modelList?.let {
|
735
|
738
|
//如果已经进入商店则不显示
|
736
|
739
|
if (!Const.startAppStoreFlag) {
|
|
@@ -749,7 +752,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
749
|
752
|
}
|
750
|
753
|
val file = getExternalFilesDir(null)*/
|
751
|
754
|
var file: File? = null
|
752
|
|
- if (ModelNameUtils.IS_LianxTB223FC()) {
|
|
755
|
+ if (ModelNameUtils.IS_LianxTB223FC()||ModelNameUtils.IS_LianxX505f()) {
|
753
|
756
|
var directory =
|
754
|
757
|
Environment.getExternalStoragePublicDirectory(
|
755
|
758
|
Environment.DIRECTORY_DOWNLOADS
|
|
@@ -766,6 +769,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
766
|
769
|
}
|
767
|
770
|
file = getExternalFilesDir(null)
|
768
|
771
|
}
|
|
772
|
+ Log.d("开始执行下载任务","任务开始")
|
769
|
773
|
modelList.forEach { app ->
|
770
|
774
|
try {
|
771
|
775
|
//获得已安装的应用判断版本,未安装的则直接静默安装。
|
|
@@ -789,6 +793,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
789
|
793
|
filter[0].versionNum
|
790
|
794
|
}
|
791
|
795
|
if (app.versionNum > appversion) {
|
|
796
|
+ Log.d("开始执行下载任务","任务开始循环执行安装1")
|
792
|
797
|
//版本低则更新安装。
|
793
|
798
|
//AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
794
|
799
|
DownLoadUtils.addDownload(
|
|
@@ -804,6 +809,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
804
|
809
|
)
|
805
|
810
|
}
|
806
|
811
|
} else {
|
|
812
|
+ Log.d("开始执行下载任务","任务开始循环执行安装2")
|
807
|
813
|
//不存在,直接下载安装。
|
808
|
814
|
//AppDownLoadUtils.addToDownloadQueue(apkPath, appName,app.appPackage)
|
809
|
815
|
DownLoadUtils.addDownload(
|
|
@@ -1288,12 +1294,20 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
1288
|
1294
|
}
|
1289
|
1295
|
|
1290
|
1296
|
private fun updateAllStrategy() {
|
1291
|
|
- Const.backNum = 0
|
1292
|
1297
|
userBean?.let {
|
1293
|
1298
|
Const.USERID = it.userid
|
1294
|
1299
|
Const.USERNAME = it.username.toString()
|
1295
|
|
- viewModel.postDevicesetDetail(it.schoolid)
|
|
1300
|
+ // 取消之前的防抖任务
|
|
1301
|
+ debounceJob?.cancel()
|
|
1302
|
+ debounceJob= lifecycleScope.launch {
|
|
1303
|
+ delay(10000)
|
|
1304
|
+ Log.d("开始执行下载任务","策略执行任务开始")
|
|
1305
|
+ if (DownLoadUtils.isEmpty()){
|
|
1306
|
+ viewModel.postDevicesetDetail(it.schoolid)
|
|
1307
|
+ }
|
|
1308
|
+ }
|
1296
|
1309
|
}
|
|
1310
|
+ Const.backNum = 0
|
1297
|
1311
|
netStrategyDataFlag = true
|
1298
|
1312
|
viewModel.postWallpaperPad()
|
1299
|
1313
|
viewModel.updateStrategy()
|
|
@@ -1600,9 +1614,13 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
1600
|
1614
|
}*/
|
1601
|
1615
|
//没有单点登录所以不再判断
|
1602
|
1616
|
LogShow("锁定了吧打开app拉起请求,type==$type"+(userBean==null))
|
1603
|
|
- userBean?.let {
|
1604
|
|
- netAutoAppFlag = true
|
1605
|
|
- viewModel.postAutoAppDetail(it.regionid)
|
|
1617
|
+ useTimeStrategyDebounceJob?.cancel()
|
|
1618
|
+ useTimeStrategyDebounceJob = lifecycleScope.launch {
|
|
1619
|
+ delay(1000)
|
|
1620
|
+ userBean?.let {
|
|
1621
|
+ netAutoAppFlag = true
|
|
1622
|
+ viewModel.postAutoAppDetail(it.regionid)
|
|
1623
|
+ }
|
1606
|
1624
|
}
|
1607
|
1625
|
}
|
1608
|
1626
|
}
|
|
@@ -1774,7 +1792,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
1774
|
1792
|
data.appPackage = message
|
1775
|
1793
|
data.doEvent = EventLog.APPINSTALLEVENT
|
1776
|
1794
|
viewModel.eventLog(data)
|
1777
|
|
- updateAllStrategy()
|
|
1795
|
+ if (DownLoadUtils.isEmpty()){
|
|
1796
|
+ updateAllStrategy()
|
|
1797
|
+ }
|
1778
|
1798
|
} catch (e: Exception) {
|
1779
|
1799
|
|
1780
|
1800
|
}
|
|
@@ -2616,6 +2636,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
2616
|
2636
|
timer?.cancel()
|
2617
|
2637
|
timer = null
|
2618
|
2638
|
}
|
|
2639
|
+ debounceJob?.cancel()
|
|
2640
|
+ useTimeStrategyDebounceJob?.cancel()
|
2619
|
2641
|
//销毁时清除所有缓存
|
2620
|
2642
|
clearAllMemory()
|
2621
|
2643
|
locationClient?.stop()
|
|
@@ -2683,6 +2705,17 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
|
2683
|
2705
|
val firstOrNull = appList.firstOrNull { it.packageName.equals(downItem.pkgName) }
|
2684
|
2706
|
if (firstOrNull != null) {
|
2685
|
2707
|
if (downItem.appversion > firstOrNull.versionNum) {
|
|
2708
|
+ /*try {
|
|
2709
|
+ val autoAppBean = spUtils.getFromJson(
|
|
2710
|
+ Const.AUTOAPPKEY,
|
|
2711
|
+ AutoAppBean().javaClass
|
|
2712
|
+ ) as AutoAppBean
|
|
2713
|
+ if (autoAppBean.appPackage.equals(downItem.pkgName)){
|
|
2714
|
+ clearAllMemory()
|
|
2715
|
+ }
|
|
2716
|
+ }catch (e:Exception){
|
|
2717
|
+
|
|
2718
|
+ }*/
|
2686
|
2719
|
InstallUtils.addInstall(downItem.savepath, downItem.pkgName, downItem.appName)
|
2687
|
2720
|
}
|
2688
|
2721
|
} else {
|