Migrate AppSalesActivity to fragment
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -147,7 +147,6 @@
|
|||||||
<activity android:name=".view.ui.search.SearchSuggestionActivity" />
|
<activity android:name=".view.ui.search.SearchSuggestionActivity" />
|
||||||
<activity android:name=".view.ui.search.SearchResultsActivity" />
|
<activity android:name=".view.ui.search.SearchResultsActivity" />
|
||||||
<activity android:name=".view.ui.commons.StreamBrowseActivity" />
|
<activity android:name=".view.ui.commons.StreamBrowseActivity" />
|
||||||
<activity android:name=".view.ui.sale.AppSalesActivity" />
|
|
||||||
<activity android:name=".view.ui.details.ScreenshotActivity" />
|
<activity android:name=".view.ui.details.ScreenshotActivity" />
|
||||||
<activity android:name=".view.ui.commons.CategoryBrowseActivity" />
|
<activity android:name=".view.ui.commons.CategoryBrowseActivity" />
|
||||||
<activity android:name=".view.ui.details.DetailsMoreActivity" />
|
<activity android:name=".view.ui.details.DetailsMoreActivity" />
|
||||||
|
|||||||
@@ -54,12 +54,11 @@ import com.aurora.store.util.CertUtil.isFDroidApp
|
|||||||
import com.aurora.store.util.Log
|
import com.aurora.store.util.Log
|
||||||
import com.aurora.store.util.Preferences
|
import com.aurora.store.util.Preferences
|
||||||
import com.aurora.store.view.ui.account.AccountActivity
|
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.BaseActivity
|
||||||
import com.aurora.store.view.ui.commons.BlacklistActivity
|
import com.aurora.store.view.ui.commons.BlacklistActivity
|
||||||
import com.aurora.store.view.ui.downloads.DownloadActivity
|
import com.aurora.store.view.ui.downloads.DownloadActivity
|
||||||
import com.aurora.store.view.ui.preferences.SettingsActivity
|
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.search.SearchSuggestionActivity
|
||||||
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
|
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
|
||||||
import com.aurora.store.view.ui.spoof.SpoofActivity
|
import com.aurora.store.view.ui.spoof.SpoofActivity
|
||||||
@@ -248,7 +247,8 @@ class MainActivity : BaseActivity() {
|
|||||||
B.drawerLayout.close()
|
B.drawerLayout.close()
|
||||||
}
|
}
|
||||||
R.id.menu_apps_sale -> {
|
R.id.menu_apps_sale -> {
|
||||||
open(AppSalesActivity::class.java)
|
navController.navigate(R.id.appSalesFragment)
|
||||||
|
B.drawerLayout.close()
|
||||||
}
|
}
|
||||||
R.id.menu_blacklist_manager -> {
|
R.id.menu_blacklist_manager -> {
|
||||||
open(BlacklistActivity::class.java)
|
open(BlacklistActivity::class.java)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ package com.aurora.store.view.ui.commons
|
|||||||
|
|
||||||
import android.app.ActivityOptions
|
import android.app.ActivityOptions
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import androidx.annotation.LayoutRes
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import com.aurora.Constants
|
import com.aurora.Constants
|
||||||
import com.aurora.extensions.getEmptyActivityBundle
|
import com.aurora.extensions.getEmptyActivityBundle
|
||||||
@@ -32,7 +33,11 @@ import com.google.gson.Gson
|
|||||||
import com.google.gson.GsonBuilder
|
import com.google.gson.GsonBuilder
|
||||||
import java.lang.reflect.Modifier
|
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(
|
var gson: Gson = GsonBuilder().excludeFieldsWithModifiers(
|
||||||
Modifier.TRANSIENT
|
Modifier.TRANSIENT
|
||||||
|
|||||||
@@ -20,72 +20,61 @@
|
|||||||
package com.aurora.store.view.ui.sale
|
package com.aurora.store.view.ui.sale
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||||
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
|
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.AppProgressViewModel_
|
||||||
|
import com.aurora.store.view.epoxy.views.app.AppListViewModel_
|
||||||
import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_
|
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
|
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 VM: AppSalesViewModel
|
||||||
|
|
||||||
lateinit var endlessRecyclerOnScrollListener: EndlessRecyclerOnScrollListener
|
lateinit var endlessRecyclerOnScrollListener: EndlessRecyclerOnScrollListener
|
||||||
|
|
||||||
override fun onConnected() {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
hideNetworkConnectivitySheet()
|
super.onViewCreated(view, savedInstanceState)
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDisconnected() {
|
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||||
showNetworkConnectivitySheet()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onReconnected() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
|
|
||||||
B = ActivityGenericRecyclerBinding.inflate(layoutInflater)
|
|
||||||
VM = ViewModelProvider(this)[AppSalesViewModel::class.java]
|
VM = ViewModelProvider(this)[AppSalesViewModel::class.java]
|
||||||
|
|
||||||
setContentView(B.root)
|
binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_apps_sale)
|
||||||
|
binding.layoutToolbarAction.imgActionPrimary.setOnClickListener {
|
||||||
attachRecycler()
|
findNavController().navigateUp()
|
||||||
attachToolbar()
|
|
||||||
|
|
||||||
VM.liveAppList.observe(this) {
|
|
||||||
updateController(it)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private fun attachToolbar() {
|
|
||||||
B.layoutToolbarAction.txtTitle.text = getString(R.string.title_apps_sale)
|
|
||||||
B.layoutToolbarAction.imgActionPrimary.setOnClickListener {
|
|
||||||
finishAfterTransition()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun attachRecycler() {
|
|
||||||
endlessRecyclerOnScrollListener = object : EndlessRecyclerOnScrollListener() {
|
endlessRecyclerOnScrollListener = object : EndlessRecyclerOnScrollListener() {
|
||||||
override fun onLoadMore(currentPage: Int) {
|
override fun onLoadMore(currentPage: Int) {
|
||||||
VM.next()
|
VM.next()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
B.recycler.addOnScrollListener(endlessRecyclerOnScrollListener)
|
binding.recycler.addOnScrollListener(endlessRecyclerOnScrollListener)
|
||||||
updateController(null)
|
updateController(null)
|
||||||
|
|
||||||
|
VM.liveAppList.observe(viewLifecycleOwner) {
|
||||||
|
updateController(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
super.onDestroyView()
|
||||||
|
_binding = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateController(appList: List<App>?) {
|
private fun updateController(appList: List<App>?) {
|
||||||
B.recycler
|
binding.recycler
|
||||||
.withModels {
|
.withModels {
|
||||||
setFilterDuplicates(true)
|
setFilterDuplicates(true)
|
||||||
if (appList == null) {
|
if (appList == null) {
|
||||||
@@ -50,4 +50,9 @@
|
|||||||
android:name="com.aurora.store.view.ui.all.AppsGamesFragment"
|
android:name="com.aurora.store.view.ui.all.AppsGamesFragment"
|
||||||
android:label="@string/title_apps_games"
|
android:label="@string/title_apps_games"
|
||||||
tools:layout="@layout/activity_generic_pager" />
|
tools:layout="@layout/activity_generic_pager" />
|
||||||
|
<fragment
|
||||||
|
android:id="@+id/appSalesFragment"
|
||||||
|
android:name="com.aurora.store.view.ui.sale.AppSalesFragment"
|
||||||
|
android:label="@string/title_apps_sale"
|
||||||
|
tools:layout="@layout/activity_generic_recycler" />
|
||||||
</navigation>
|
</navigation>
|
||||||
Reference in New Issue
Block a user