Migrate AppSalesActivity to fragment
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<App>?) {
|
||||
B.recycler
|
||||
binding.recycler
|
||||
.withModels {
|
||||
setFilterDuplicates(true)
|
||||
if (appList == null) {
|
||||
Reference in New Issue
Block a user