diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 778feba19..0941dd22e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -147,7 +147,6 @@
-
diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt
index 1068bcb90..d91e6c0a9 100644
--- a/app/src/main/java/com/aurora/store/MainActivity.kt
+++ b/app/src/main/java/com/aurora/store/MainActivity.kt
@@ -54,12 +54,11 @@ import com.aurora.store.util.CertUtil.isFDroidApp
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.all.AppsGamesFragment
import com.aurora.store.view.ui.commons.BaseActivity
import com.aurora.store.view.ui.commons.BlacklistActivity
import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.view.ui.preferences.SettingsActivity
-import com.aurora.store.view.ui.sale.AppSalesActivity
+import com.aurora.store.view.ui.sale.AppSalesFragment
import com.aurora.store.view.ui.search.SearchSuggestionActivity
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
import com.aurora.store.view.ui.spoof.SpoofActivity
@@ -248,7 +247,8 @@ class MainActivity : BaseActivity() {
B.drawerLayout.close()
}
R.id.menu_apps_sale -> {
- open(AppSalesActivity::class.java)
+ navController.navigate(R.id.appSalesFragment)
+ B.drawerLayout.close()
}
R.id.menu_blacklist_manager -> {
open(BlacklistActivity::class.java)
diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt
index d4218d107..5d4b2a4cc 100644
--- a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt
@@ -21,6 +21,7 @@ package com.aurora.store.view.ui.commons
import android.app.ActivityOptions
import android.content.Intent
+import androidx.annotation.LayoutRes
import androidx.fragment.app.Fragment
import com.aurora.Constants
import com.aurora.extensions.getEmptyActivityBundle
@@ -32,7 +33,11 @@ import com.google.gson.Gson
import com.google.gson.GsonBuilder
import java.lang.reflect.Modifier
-open class BaseFragment : Fragment() {
+open class BaseFragment : Fragment {
+
+ constructor(): super()
+
+ constructor(@LayoutRes contentLayoutId: Int) : super(contentLayoutId)
var gson: Gson = GsonBuilder().excludeFieldsWithModifiers(
Modifier.TRANSIENT
diff --git a/app/src/main/java/com/aurora/store/view/ui/sale/AppSalesActivity.kt b/app/src/main/java/com/aurora/store/view/ui/sale/AppSalesFragment.kt
similarity index 75%
rename from app/src/main/java/com/aurora/store/view/ui/sale/AppSalesActivity.kt
rename to app/src/main/java/com/aurora/store/view/ui/sale/AppSalesFragment.kt
index 11fe029bf..84ab1dd2e 100644
--- a/app/src/main/java/com/aurora/store/view/ui/sale/AppSalesActivity.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/sale/AppSalesFragment.kt
@@ -20,72 +20,61 @@
package com.aurora.store.view.ui.sale
import android.os.Bundle
+import android.view.View
import androidx.lifecycle.ViewModelProvider
+import androidx.navigation.fragment.findNavController
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
-import com.aurora.store.view.epoxy.views.app.AppListViewModel_
import com.aurora.store.view.epoxy.views.AppProgressViewModel_
+import com.aurora.store.view.epoxy.views.app.AppListViewModel_
import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_
-import com.aurora.store.view.ui.commons.BaseActivity
+import com.aurora.store.view.ui.commons.BaseFragment
import com.aurora.store.viewmodel.sale.AppSalesViewModel
-class AppSalesActivity : BaseActivity() {
+class AppSalesFragment : BaseFragment(R.layout.activity_generic_recycler) {
+
+ private var _binding: ActivityGenericRecyclerBinding? = null
+ private val binding: ActivityGenericRecyclerBinding
+ get() = _binding!!
- lateinit var B: ActivityGenericRecyclerBinding
lateinit var VM: AppSalesViewModel
lateinit var endlessRecyclerOnScrollListener: EndlessRecyclerOnScrollListener
- override fun onConnected() {
- hideNetworkConnectivitySheet()
- }
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
- override fun onDisconnected() {
- showNetworkConnectivitySheet()
- }
-
- override fun onReconnected() {
-
- }
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- B = ActivityGenericRecyclerBinding.inflate(layoutInflater)
+ _binding = ActivityGenericRecyclerBinding.bind(view)
VM = ViewModelProvider(this)[AppSalesViewModel::class.java]
- setContentView(B.root)
-
- attachRecycler()
- attachToolbar()
-
- VM.liveAppList.observe(this) {
- updateController(it)
+ binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_apps_sale)
+ binding.layoutToolbarAction.imgActionPrimary.setOnClickListener {
+ findNavController().navigateUp()
}
- }
- private fun attachToolbar() {
- B.layoutToolbarAction.txtTitle.text = getString(R.string.title_apps_sale)
- B.layoutToolbarAction.imgActionPrimary.setOnClickListener {
- finishAfterTransition()
- }
- }
-
- private fun attachRecycler() {
endlessRecyclerOnScrollListener = object : EndlessRecyclerOnScrollListener() {
override fun onLoadMore(currentPage: Int) {
VM.next()
}
}
- B.recycler.addOnScrollListener(endlessRecyclerOnScrollListener)
+ binding.recycler.addOnScrollListener(endlessRecyclerOnScrollListener)
updateController(null)
+
+ VM.liveAppList.observe(viewLifecycleOwner) {
+ updateController(it)
+ }
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
}
private fun updateController(appList: List?) {
- B.recycler
+ binding.recycler
.withModels {
setFilterDuplicates(true)
if (appList == null) {
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index 82408a101..5c3f21650 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -50,4 +50,9 @@
android:name="com.aurora.store.view.ui.all.AppsGamesFragment"
android:label="@string/title_apps_games"
tools:layout="@layout/activity_generic_pager" />
+
\ No newline at end of file