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