diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8d96cc431..e64a2510f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -156,7 +156,6 @@ - diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt index cd330a06a..3e76c667b 100644 --- a/app/src/main/java/com/aurora/store/MainActivity.kt +++ b/app/src/main/java/com/aurora/store/MainActivity.kt @@ -55,12 +55,11 @@ import com.aurora.store.util.Log import com.aurora.store.util.Preferences import com.aurora.store.view.ui.account.AccountActivity import com.aurora.store.view.ui.commons.BaseActivity -import com.aurora.store.view.ui.commons.BlacklistActivity +import com.aurora.store.view.ui.commons.BlacklistFragment import com.aurora.store.view.ui.downloads.DownloadActivity import com.aurora.store.view.ui.preferences.SettingsActivity import com.aurora.store.view.ui.search.SearchSuggestionActivity import com.aurora.store.view.ui.sheets.SelfUpdateSheet -import com.aurora.store.view.ui.spoof.SpoofFragment import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.google.android.material.bottomnavigation.BottomNavigationView import nl.komponents.kovenant.task @@ -250,7 +249,8 @@ class MainActivity : BaseActivity() { B.drawerLayout.close() } R.id.menu_blacklist_manager -> { - open(BlacklistActivity::class.java) + navController.navigate(R.id.blacklistFragment) + B.drawerLayout.close() } R.id.menu_download_manager -> { open(DownloadActivity::class.java) diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistActivity.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt similarity index 73% rename from app/src/main/java/com/aurora/store/view/ui/commons/BlacklistActivity.kt rename to app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt index 1cd69625b..fadca4a77 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistActivity.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BlacklistFragment.kt @@ -20,7 +20,10 @@ package com.aurora.store.view.ui.commons import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider +import androidx.navigation.fragment.findNavController import com.aurora.store.R import com.aurora.store.data.model.Black import com.aurora.store.data.providers.BlacklistProvider @@ -30,58 +33,45 @@ import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_ import com.aurora.store.viewmodel.all.BlacklistViewModel -class BlacklistActivity : BaseActivity() { +class BlacklistFragment : Fragment(R.layout.activity_generic_recycler) { + + private var _binding: ActivityGenericRecyclerBinding? = null + private val binding: ActivityGenericRecyclerBinding + get() = _binding!! - private lateinit var B: ActivityGenericRecyclerBinding private lateinit var VM: BlacklistViewModel private lateinit var blacklistProvider: BlacklistProvider - override fun onConnected() { + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) - } - - override fun onDisconnected() { - - } - - override fun onReconnected() { - - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - B = ActivityGenericRecyclerBinding.inflate(layoutInflater) + _binding = ActivityGenericRecyclerBinding.bind(view) VM = ViewModelProvider(this)[BlacklistViewModel::class.java] - blacklistProvider = BlacklistProvider.with(this) + blacklistProvider = BlacklistProvider.with(view.context) - setContentView(B.root) - - VM.liveData.observe(this) { + VM.liveData.observe(viewLifecycleOwner) { updateController(it.sortedByDescending { app -> blacklistProvider.isBlacklisted(app.packageName) }) } - attachToolbar() + // Toolbar + binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_blacklist_manager) + binding.layoutToolbarAction.imgActionPrimary.setOnClickListener { + findNavController().navigateUp() + } updateController(null) } - override fun onDestroy() { + override fun onDestroyView() { + super.onDestroyView() + _binding = null blacklistProvider.save(VM.selected) - super.onDestroy() - } - - private fun attachToolbar() { - B.layoutToolbarAction.txtTitle.text = getString(R.string.title_blacklist_manager) - B.layoutToolbarAction.imgActionPrimary.setOnClickListener { - finishAfterTransition() - } } private fun updateController(blackList: List?) { - B.recycler.withModels { + binding.recycler.withModels { setFilterDuplicates(true) if (blackList == null) { for (i in 1..6) { diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index 85375e4dc..601b79698 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -60,4 +60,9 @@ android:name="com.aurora.store.view.ui.spoof.SpoofFragment" android:label="@string/title_spoof_manager" tools:layout="@layout/activity_generic_pager" /> + \ No newline at end of file