Migrate AppsGamesActivity to fragment

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-06-22 12:06:00 +05:30
parent e92b54d16d
commit e2d417d040
4 changed files with 42 additions and 54 deletions

View File

@@ -149,7 +149,6 @@
<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.sale.AppSalesActivity" />
<activity android:name=".view.ui.details.ScreenshotActivity" /> <activity android:name=".view.ui.details.ScreenshotActivity" />
<activity android:name=".view.ui.all.AppsGamesActivity" />
<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" />
<activity android:name=".view.ui.details.DetailsReviewActivity" /> <activity android:name=".view.ui.details.DetailsReviewActivity" />

View File

@@ -54,7 +54,7 @@ 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.AppsGamesActivity 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
@@ -244,7 +244,8 @@ class MainActivity : BaseActivity() {
B.navigation.setNavigationItemSelectedListener { item: MenuItem -> B.navigation.setNavigationItemSelectedListener { item: MenuItem ->
when (item.itemId) { when (item.itemId) {
R.id.menu_apps_games -> { R.id.menu_apps_games -> {
open(AppsGamesActivity::class.java) navController.navigate(R.id.appsGamesFragment)
B.drawerLayout.close()
} }
R.id.menu_apps_sale -> { R.id.menu_apps_sale -> {
open(AppSalesActivity::class.java) open(AppSalesActivity::class.java)

View File

@@ -20,80 +20,66 @@
package com.aurora.store.view.ui.all package com.aurora.store.view.ui.all
import android.os.Bundle import android.os.Bundle
import android.view.MenuItem import android.view.View
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
import androidx.navigation.fragment.findNavController
import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.adapter.FragmentStateAdapter
import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.data.models.AuthData
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.data.providers.AuthProvider import com.aurora.store.data.providers.AuthProvider
import com.aurora.store.databinding.ActivityGenericPagerBinding import com.aurora.store.databinding.ActivityGenericPagerBinding
import com.aurora.store.view.ui.commons.BaseActivity
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
class AppsGamesActivity : BaseActivity() { class AppsGamesFragment : Fragment(R.layout.activity_generic_pager) {
private var _binding: ActivityGenericPagerBinding? = null
private val binding: ActivityGenericPagerBinding
get() = _binding!!
private lateinit var B: ActivityGenericPagerBinding
private lateinit var authData: AuthData private lateinit var authData: AuthData
override fun onConnected() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
hideNetworkConnectivitySheet() super.onViewCreated(view, savedInstanceState)
} _binding = ActivityGenericPagerBinding.bind(view)
authData = AuthProvider.with(view.context).getAuthData()
override fun onDisconnected() { // Toolbar
showNetworkConnectivitySheet() binding.layoutActionToolbar.toolbar.apply {
} elevation = 0f
title = getString(R.string.title_apps_games)
override fun onReconnected() { navigationIcon = ContextCompat.getDrawable(view.context, R.drawable.ic_arrow_back)
} setNavigationOnClickListener { findNavController().navigateUp() }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
B = ActivityGenericPagerBinding.inflate(layoutInflater)
authData = AuthProvider.with(this).getAuthData()
setContentView(B.root)
attachToolbar()
attachViewPager()
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
onBackPressedDispatcher.onBackPressed()
return true
}
} }
return super.onOptionsItemSelected(item)
}
private fun attachToolbar() { // ViewPager
setSupportActionBar(B.layoutActionToolbar.toolbar) binding.pager.apply {
val actionBar = supportActionBar isUserInputEnabled = false
if (actionBar != null) { adapter = ViewPagerAdapter(childFragmentManager, lifecycle, authData.isAnonymous)
actionBar.setDisplayShowCustomEnabled(true)
actionBar.setDisplayHomeAsUpEnabled(true)
actionBar.elevation = 0f
actionBar.title = getString(R.string.title_apps_games)
} }
}
private fun attachViewPager() { TabLayoutMediator(
B.pager.adapter = ViewPagerAdapter(supportFragmentManager, lifecycle, authData.isAnonymous) binding.tabLayout,
B.pager.isUserInputEnabled = false binding.pager,
TabLayoutMediator(B.tabLayout, B.pager, true) { tab: TabLayout.Tab, position: Int -> true
) { tab: TabLayout.Tab, position: Int ->
when (position) { when (position) {
0 -> tab.text = getString(R.string.title_installed) 0 -> tab.text = getString(R.string.title_installed)
1 -> tab.text = getString(R.string.title_library) 1 -> tab.text = getString(R.string.title_library)
2 -> tab.text = getString(R.string.title_purchase_history) 2 -> tab.text = getString(R.string.title_purchase_history)
else -> { else -> {}
}
} }
}.attach() }.attach()
} }
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
internal class ViewPagerAdapter( internal class ViewPagerAdapter(
fragment: FragmentManager, fragment: FragmentManager,
lifecycle: Lifecycle, lifecycle: Lifecycle,
@@ -110,10 +96,7 @@ class AppsGamesActivity : BaseActivity() {
} }
override fun getItemCount(): Int { override fun getItemCount(): Int {
return if (isAnonymous) return if (isAnonymous) 1 else 3
1
else
3
} }
} }
} }

View File

@@ -45,4 +45,9 @@
android:name="com.aurora.store.view.ui.about.AboutFragment" android:name="com.aurora.store.view.ui.about.AboutFragment"
android:label="@string/title_about" android:label="@string/title_about"
tools:layout="@layout/fragment_about" /> tools:layout="@layout/fragment_about" />
<fragment
android:id="@+id/appsGamesFragment"
android:name="com.aurora.store.view.ui.all.AppsGamesFragment"
android:label="@string/title_apps_games"
tools:layout="@layout/activity_generic_pager" />
</navigation> </navigation>