BlacklistFragment: Emit event when new apps are blacklisted
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -33,6 +33,7 @@ import androidx.navigation.fragment.NavHostFragment
|
|||||||
import androidx.navigation.ui.setupWithNavController
|
import androidx.navigation.ui.setupWithNavController
|
||||||
import com.aurora.extensions.accentColor
|
import com.aurora.extensions.accentColor
|
||||||
import com.aurora.extensions.applyThemeAccent
|
import com.aurora.extensions.applyThemeAccent
|
||||||
|
import com.aurora.store.data.event.BusEvent
|
||||||
import com.aurora.store.data.event.InstallerEvent
|
import com.aurora.store.data.event.InstallerEvent
|
||||||
import com.aurora.store.data.model.NetworkStatus
|
import com.aurora.store.data.model.NetworkStatus
|
||||||
import com.aurora.store.data.providers.NetworkProvider
|
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.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB
|
||||||
import com.aurora.store.view.ui.sheets.NetworkDialogSheet
|
import com.aurora.store.view.ui.sheets.NetworkDialogSheet
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
import kotlinx.coroutines.flow.collect
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -138,7 +140,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
// Updates
|
// Updates
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
AuroraApp.events.installerEvent.collectLatest {
|
AuroraApp.events.installerEvent.collect {
|
||||||
when (it) {
|
when (it) {
|
||||||
is InstallerEvent.Installed -> appUtil.deleteUpdate(it.packageName)
|
is InstallerEvent.Installed -> appUtil.deleteUpdate(it.packageName)
|
||||||
is InstallerEvent.Uninstalled -> 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 {
|
lifecycleScope.launch {
|
||||||
appUtil.updates.collectLatest { list ->
|
appUtil.updates.collectLatest { list ->
|
||||||
B.navView.getOrCreateBadge(R.id.updatesFragment).apply {
|
B.navView.getOrCreateBadge(R.id.updatesFragment).apply {
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ import androidx.fragment.app.activityViewModels
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
|
import com.aurora.store.AuroraApp
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
|
import com.aurora.store.data.event.BusEvent
|
||||||
import com.aurora.store.data.providers.BlacklistProvider
|
import com.aurora.store.data.providers.BlacklistProvider
|
||||||
import com.aurora.store.databinding.FragmentGenericWithToolbarBinding
|
import com.aurora.store.databinding.FragmentGenericWithToolbarBinding
|
||||||
import com.aurora.store.view.epoxy.views.BlackListViewModel_
|
import com.aurora.store.view.epoxy.views.BlackListViewModel_
|
||||||
@@ -83,10 +85,12 @@ class BlacklistFragment : BaseFragment<FragmentGenericWithToolbarBinding>() {
|
|||||||
.app(it)
|
.app(it)
|
||||||
.markChecked(viewModel.selected.contains(it.packageName))
|
.markChecked(viewModel.selected.contains(it.packageName))
|
||||||
.checked { _, isChecked ->
|
.checked { _, isChecked ->
|
||||||
if (isChecked)
|
if (isChecked) {
|
||||||
viewModel.selected.add(it.packageName)
|
viewModel.selected.add(it.packageName)
|
||||||
else
|
AuroraApp.events.send(BusEvent.Blacklisted(it.packageName))
|
||||||
|
} else {
|
||||||
viewModel.selected.remove(it.packageName)
|
viewModel.selected.remove(it.packageName)
|
||||||
|
}
|
||||||
|
|
||||||
requestModelBuild()
|
requestModelBuild()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user