@@ -76,6 +76,12 @@ class AssetModuleServiceImpl(
76
76
throw AssetPackException (AssetPackErrorCode .API_NOT_AVAILABLE )
77
77
}
78
78
}
79
+ if (packageDownloadData[packageName] != null && packageDownloadData[packageName]?.moduleNames?.all {
80
+ packageDownloadData[packageName]?.getModuleData(it)?.status == AssetPackStatus .COMPLETED
81
+ } == true && params.installedAssetModules.isEmpty()) {
82
+ Log .d(TAG , " startDownload: resetAllModuleStatus " )
83
+ packageDownloadData[packageName]?.resetAllModuleStatus()
84
+ }
79
85
params.moduleNames.forEach {
80
86
val moduleData = packageDownloadData[packageName]?.getModuleData(it)
81
87
if (moduleData?.status != AssetPackStatus .DOWNLOADING && moduleData?.status != AssetPackStatus .COMPLETED ) {
@@ -108,6 +114,15 @@ class AssetModuleServiceImpl(
108
114
override suspend fun getSessionStates (params : GetSessionStatesParameters , packageName : String , callback : IAssetModuleServiceCallback ? ) {
109
115
val listBundleData: MutableList <Bundle > = mutableListOf ()
110
116
117
+ if (packageDownloadData[packageName] != null && packageDownloadData[packageName]?.moduleNames?.all {
118
+ packageDownloadData[packageName]?.getModuleData(it)?.status == AssetPackStatus .COMPLETED
119
+ } == true && params.installedAssetModules.isEmpty()) {
120
+ Log .d(TAG , " getSessionStates: resetAllModuleStatus: $listBundleData " )
121
+ packageDownloadData[packageName]?.resetAllModuleStatus()
122
+ callback?.onGetSessionStates(listBundleData)
123
+ return
124
+ }
125
+
111
126
packageDownloadData[packageName]?.moduleNames?.forEach { moduleName ->
112
127
if (moduleName in params.installedAssetModules) return @forEach
113
128
@@ -198,6 +213,12 @@ class AssetModuleServiceImpl(
198
213
throw AssetPackException (AssetPackErrorCode .API_NOT_AVAILABLE )
199
214
}
200
215
}
216
+ if (packageDownloadData[packageName] != null && packageDownloadData[packageName]?.moduleNames?.all {
217
+ packageDownloadData[packageName]?.getModuleData(it)?.status == AssetPackStatus .COMPLETED
218
+ } == true && params.installedAssetModules.isEmpty()) {
219
+ Log .d(TAG , " requestDownloadInfo: resetAllModuleStatus " )
220
+ packageDownloadData[packageName]?.resetAllModuleStatus()
221
+ }
201
222
params.moduleNames.forEach {
202
223
val packData = packageDownloadData[packageName]?.getModuleData(it)
203
224
if (packData?.status == AssetPackStatus .FAILED ) {
0 commit comments