BlacklistFragment: Emit event when new apps are blacklisted

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-07-16 17:49:00 +07:00
parent e9843a6b45
commit 2a68f58e70
2 changed files with 15 additions and 3 deletions

View File

@@ -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 {

View File

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