diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 202466414..778feba19 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -149,7 +149,6 @@
-
diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt
index 67b89bbe5..1068bcb90 100644
--- a/app/src/main/java/com/aurora/store/MainActivity.kt
+++ b/app/src/main/java/com/aurora/store/MainActivity.kt
@@ -54,7 +54,7 @@ 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.AppsGamesActivity
+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
@@ -244,7 +244,8 @@ class MainActivity : BaseActivity() {
B.navigation.setNavigationItemSelectedListener { item: MenuItem ->
when (item.itemId) {
R.id.menu_apps_games -> {
- open(AppsGamesActivity::class.java)
+ navController.navigate(R.id.appsGamesFragment)
+ B.drawerLayout.close()
}
R.id.menu_apps_sale -> {
open(AppSalesActivity::class.java)
diff --git a/app/src/main/java/com/aurora/store/view/ui/all/AppsGamesActivity.kt b/app/src/main/java/com/aurora/store/view/ui/all/AppsGamesFragment.kt
similarity index 55%
rename from app/src/main/java/com/aurora/store/view/ui/all/AppsGamesActivity.kt
rename to app/src/main/java/com/aurora/store/view/ui/all/AppsGamesFragment.kt
index 84011192b..f8d15a0be 100644
--- a/app/src/main/java/com/aurora/store/view/ui/all/AppsGamesActivity.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/all/AppsGamesFragment.kt
@@ -20,80 +20,66 @@
package com.aurora.store.view.ui.all
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.FragmentManager
import androidx.lifecycle.Lifecycle
+import androidx.navigation.fragment.findNavController
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.store.R
import com.aurora.store.data.providers.AuthProvider
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.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
- override fun onConnected() {
- hideNetworkConnectivitySheet()
- }
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ _binding = ActivityGenericPagerBinding.bind(view)
+ authData = AuthProvider.with(view.context).getAuthData()
- override fun onDisconnected() {
- showNetworkConnectivitySheet()
- }
-
- override fun onReconnected() {
- }
-
- 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
- }
+ // Toolbar
+ binding.layoutActionToolbar.toolbar.apply {
+ elevation = 0f
+ title = getString(R.string.title_apps_games)
+ navigationIcon = ContextCompat.getDrawable(view.context, R.drawable.ic_arrow_back)
+ setNavigationOnClickListener { findNavController().navigateUp() }
}
- return super.onOptionsItemSelected(item)
- }
- private fun attachToolbar() {
- setSupportActionBar(B.layoutActionToolbar.toolbar)
- val actionBar = supportActionBar
- if (actionBar != null) {
- actionBar.setDisplayShowCustomEnabled(true)
- actionBar.setDisplayHomeAsUpEnabled(true)
- actionBar.elevation = 0f
- actionBar.title = getString(R.string.title_apps_games)
+ // ViewPager
+ binding.pager.apply {
+ isUserInputEnabled = false
+ adapter = ViewPagerAdapter(childFragmentManager, lifecycle, authData.isAnonymous)
}
- }
- private fun attachViewPager() {
- B.pager.adapter = ViewPagerAdapter(supportFragmentManager, lifecycle, authData.isAnonymous)
- B.pager.isUserInputEnabled = false
- TabLayoutMediator(B.tabLayout, B.pager, true) { tab: TabLayout.Tab, position: Int ->
+ TabLayoutMediator(
+ binding.tabLayout,
+ binding.pager,
+ true
+ ) { tab: TabLayout.Tab, position: Int ->
when (position) {
0 -> tab.text = getString(R.string.title_installed)
1 -> tab.text = getString(R.string.title_library)
2 -> tab.text = getString(R.string.title_purchase_history)
- else -> {
- }
+ else -> {}
}
}.attach()
}
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
+
internal class ViewPagerAdapter(
fragment: FragmentManager,
lifecycle: Lifecycle,
@@ -110,10 +96,7 @@ class AppsGamesActivity : BaseActivity() {
}
override fun getItemCount(): Int {
- return if (isAnonymous)
- 1
- else
- 3
+ return if (isAnonymous) 1 else 3
}
}
}
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index b466e5326..82408a101 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -45,4 +45,9 @@
android:name="com.aurora.store.view.ui.about.AboutFragment"
android:label="@string/title_about"
tools:layout="@layout/fragment_about" />
+
\ No newline at end of file