Blacklist: Add select & remove all action

This commit is contained in:
Rahul Patel
2024-12-05 22:00:49 +05:30
parent d3d30100a0
commit 852d9bdb85
4 changed files with 56 additions and 1 deletions

View File

@@ -127,7 +127,7 @@ class BlacklistFragment : BaseFragment<FragmentGenericWithSearchBinding>() {
)
val inflater: MenuInflater = popupMenu.menuInflater
inflater.inflate(R.menu.menu_import_export, popupMenu.menu)
inflater.inflate(R.menu.menu_blacklist, popupMenu.menu)
popupMenu.setOnMenuItemClickListener { menuItem: MenuItem ->
when (menuItem.itemId) {
@@ -143,6 +143,18 @@ class BlacklistFragment : BaseFragment<FragmentGenericWithSearchBinding>() {
true
}
R.id.action_select_all -> {
viewModel.selectAll()
binding.recycler.requestModelBuild()
true
}
R.id.action_remove_all -> {
viewModel.removeAll()
binding.recycler.requestModelBuild()
true
}
else -> false
}
}

View File

@@ -65,6 +65,14 @@ class BlacklistViewModel @Inject constructor(
}
}
fun selectAll() {
selected.addAll(packages.value?.map { it.packageName } ?: emptyList())
}
fun removeAll() {
selected.clear()
}
fun importBlacklist(context: Context, uri: Uri) {
viewModelScope.launch(Dispatchers.IO) {
try {