Add: Favorite actions to AppSheet

This commit is contained in:
machiav3lli 2022-06-25 03:21:32 +02:00
parent 88f0ecc8b7
commit 3a12c90d81
2 changed files with 6 additions and 3 deletions

View File

@ -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()
})
}
}

View File

@ -30,7 +30,7 @@ class AppViewModelX(val db: DatabaseX, val packageName: String) : ViewModel() {
}
val downloadState = MutableLiveData<DownloadState>()
val mainAction = MutableLiveData<ActionState>()
val actions = MutableLiveData<Set<ActionState>>()
val actions = MediatorLiveData<Set<ActionState>>()
val secondaryAction = MutableLiveData<ActionState>()
val extras = MediatorLiveData<Extras>()
@ -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() {