diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/AppSheetX.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/AppSheetX.kt index 7ed06132..02c7c8cf 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/AppSheetX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/AppSheetX.kt @@ -227,6 +227,10 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { ActionState.Share -> { shareIntent(packageName, productRepos[0].first.label) } + ActionState.Bookmark, + ActionState.Bookmarked -> { + viewModel.setFavorite(packageName, action is ActionState.Bookmark) + } else -> Unit }::class } @@ -457,7 +461,6 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { product.packageName, if (it) product.versionCode else 0 ) - viewModel.updateActions() }) } } @@ -467,7 +470,6 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { initSelected = extras?.ignoreUpdates == true, onCheckedChanged = { viewModel.setIgnoreUpdates(product.packageName, it) - viewModel.updateActions() }) } } diff --git a/src/main/kotlin/com/looker/droidify/ui/viewmodels/AppViewModelX.kt b/src/main/kotlin/com/looker/droidify/ui/viewmodels/AppViewModelX.kt index 8fc75a39..d7a65348 100644 --- a/src/main/kotlin/com/looker/droidify/ui/viewmodels/AppViewModelX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/viewmodels/AppViewModelX.kt @@ -30,7 +30,7 @@ class AppViewModelX(val db: DatabaseX, val packageName: String) : ViewModel() { } val downloadState = MutableLiveData() val mainAction = MutableLiveData() - val actions = MutableLiveData>() + val actions = MediatorLiveData>() val secondaryAction = MutableLiveData() val extras = MediatorLiveData() @@ -39,6 +39,7 @@ class AppViewModelX(val db: DatabaseX, val packageName: String) : ViewModel() { repositories.addSource(db.repositoryDao.allLive, repositories::setValue) installedItem.addSource(db.installedDao.getLive(packageName), installedItem::setValue) extras.addSource(db.extrasDao.getLive(packageName), extras::setValue) + actions.addSource(extras) { updateActions() } } fun updateActions() {