From 2a68f58e705c47cee84b4ab6ceb5b64a52edff36 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Tue, 16 Jul 2024 17:49:00 +0700 Subject: [PATCH] BlacklistFragment: Emit event when new apps are blacklisted Signed-off-by: Aayush Gupta --- app/src/main/java/com/aurora/store/MainActivity.kt | 10 +++++++++- .../aurora/store/view/ui/commons/BlacklistFragment.kt | 8 ++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt index 8b511e8fd..2e8b66f1a 100644 --- a/app/src/main/java/com/aurora/store/MainActivity.kt +++ b/app/src/main/java/com/aurora/store/MainActivity.kt @@ -33,6 +33,7 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController import com.aurora.extensions.accentColor import com.aurora.extensions.applyThemeAccent +import com.aurora.store.data.event.BusEvent import com.aurora.store.data.event.InstallerEvent import com.aurora.store.data.model.NetworkStatus import com.aurora.store.data.providers.NetworkProvider @@ -42,6 +43,7 @@ import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.view.ui.sheets.NetworkDialogSheet import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import javax.inject.Inject @@ -138,7 +140,7 @@ class MainActivity : AppCompatActivity() { // Updates lifecycleScope.launch { - AuroraApp.events.installerEvent.collectLatest { + AuroraApp.events.installerEvent.collect { when (it) { is InstallerEvent.Installed -> appUtil.deleteUpdate(it.packageName) is InstallerEvent.Uninstalled -> appUtil.deleteUpdate(it.packageName) @@ -147,6 +149,12 @@ class MainActivity : AppCompatActivity() { } } + lifecycleScope.launch { + AuroraApp.events.busEvent.collect { + if (it is BusEvent.Blacklisted) appUtil.deleteUpdate(it.packageName) + } + } + lifecycleScope.launch { appUtil.updates.collectLatest { list -> B.navView.getOrCreateBadge(R.id.updatesFragment).apply { diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt index 4354117d5..0ede699e1 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt @@ -25,7 +25,9 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import com.aurora.gplayapi.data.models.App +import com.aurora.store.AuroraApp import com.aurora.store.R +import com.aurora.store.data.event.BusEvent import com.aurora.store.data.providers.BlacklistProvider import com.aurora.store.databinding.FragmentGenericWithToolbarBinding import com.aurora.store.view.epoxy.views.BlackListViewModel_ @@ -83,10 +85,12 @@ class BlacklistFragment : BaseFragment() { .app(it) .markChecked(viewModel.selected.contains(it.packageName)) .checked { _, isChecked -> - if (isChecked) + if (isChecked) { viewModel.selected.add(it.packageName) - else + AuroraApp.events.send(BusEvent.Blacklisted(it.packageName)) + } else { viewModel.selected.remove(it.packageName) + } requestModelBuild() }