@@ -22,19 +22,20 @@ import androidx.recyclerview.widget.RecyclerView
22
22
import androidx.recyclerview.widget.SimpleItemAnimator
23
23
import coil.load
24
24
import com.google.android.material.dialog.MaterialAlertDialogBuilder
25
+ import com.looker.core.common.cache.Cache
25
26
import com.looker.core.common.extension.getLauncherActivities
26
27
import com.looker.core.common.extension.getMutatedIcon
27
28
import com.looker.core.common.extension.isFirstItemVisible
28
29
import com.looker.core.common.extension.isSystemApplication
29
30
import com.looker.core.common.extension.systemBarsPadding
30
31
import com.looker.core.common.extension.updateAsMutable
32
+ import com.looker.droidify.content.ProductPreferences
31
33
import com.looker.droidify.model.InstalledItem
32
34
import com.looker.droidify.model.Product
33
35
import com.looker.droidify.model.ProductPreference
34
36
import com.looker.droidify.model.Release
35
37
import com.looker.droidify.model.Repository
36
38
import com.looker.droidify.model.findSuggested
37
- import com.looker.droidify.content.ProductPreferences
38
39
import com.looker.droidify.service.Connection
39
40
import com.looker.droidify.service.DownloadService
40
41
import com.looker.droidify.ui.Message
@@ -341,12 +342,17 @@ class AppDetailFragment() : ScreenFragment(), AppDetailAdapter.Callbacks {
341
342
override fun onActionClick (action : AppDetailAdapter .Action ) {
342
343
when (action) {
343
344
AppDetailAdapter .Action .INSTALL ,
344
- AppDetailAdapter .Action .UPDATE
345
- -> downloadConnection.startUpdate(
346
- viewModel.packageName,
347
- installed?.installedItem,
348
- products
349
- )
345
+ AppDetailAdapter .Action .UPDATE -> {
346
+ if (Cache .getEmptySpace(requireContext()) < products.first().first.releases.first().size) {
347
+ MessageDialog (Message .InsufficientStorage ).show(childFragmentManager)
348
+ return
349
+ }
350
+ downloadConnection.startUpdate(
351
+ viewModel.packageName,
352
+ installed?.installedItem,
353
+ products
354
+ )
355
+ }
350
356
351
357
AppDetailAdapter .Action .LAUNCH -> {
352
358
val launcherActivities = installed?.launcherActivities.orEmpty()
@@ -461,6 +467,10 @@ class AppDetailFragment() : ScreenFragment(), AppDetailAdapter.Callbacks {
461
467
).show(childFragmentManager)
462
468
}
463
469
470
+ Cache .getEmptySpace(requireContext()) < release.size -> {
471
+ MessageDialog (Message .InsufficientStorage ).show(childFragmentManager)
472
+ }
473
+
464
474
installedItem != null && installedItem.versionCode > release.versionCode -> {
465
475
MessageDialog (Message .ReleaseOlder ).show(childFragmentManager)
466
476
}
0 commit comments