From 246af47421f6bc6c95df8e7b934557652a33e224 Mon Sep 17 00:00:00 2001 From: X1nto Date: Tue, 14 Apr 2020 01:07:19 +0400 Subject: [PATCH] Updated fragment system, again --- app/src/main/AndroidManifest.xml | 2 +- .../com/vanced/manager/ui/MainActivity.kt | 96 +++++++------------ .../java/com/vanced/manager/ui/core/Theme.kt | 3 +- .../manager/ui/fragments/HomeFragment.kt | 1 - .../manager/ui/fragments/SettingsFragment.kt | 3 +- .../main/res/drawable/ic_home_black_24dp.xml | 4 +- .../res/drawable/ic_settings_black_24dp.xml | 4 +- app/src/main/res/drawable/splash_logo.xml | 3 +- app/src/main/res/layout/activity_main.xml | 16 +--- app/src/main/res/values/styles.xml | 2 +- app/src/main/res/xml/preferences.xml | 4 +- 11 files changed, 50 insertions(+), 88 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0a297703..d19a63b0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="com.vanced.manager"> - + currentFragment = homeFragment - R.id.navigation_settings -> currentFragment = settingsFragment - } - - if (savedInstanceState == null) { - supportFragmentManager - .beginTransaction() - .add(R.id.frame_layout, settingsFragment).hide(settingsFragment) - .add(R.id.frame_layout, homeFragment).hide(homeFragment) - .show(currentFragment!!) - .commit() - } + supportFragmentManager + .beginTransaction() + .add(R.id.frame_layout, settingsFragment).hide(settingsFragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .add(R.id.frame_layout, homeFragment) + .commit() + supportActionBar?.title = getString(R.string.title_home) val navView: BottomNavigationView = findViewById(R.id.bottom_nav) - navView.setOnNavigationItemSelectedListener{ - setFragments(it.itemId) + navView.setOnNavigationItemSelectedListener{ item -> + when (item.itemId) { + R.id.navigation_home -> { + supportFragmentManager + .beginTransaction() + .hide(settingsFragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .add(homeFragment) + .commit() + supportActionBar?.title = getString(R.string.title_home) + + return@setOnNavigationItemSelectedListener true + } + R.id.navigation_settings -> { + supportFragmentManager + .beginTransaction() + .hide(homeFragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .add(settingsFragment) + .commit() + supportActionBar?.title = getString(R.string.title_settings) + + return@setOnNavigationItemSelectedListener true + } + } + false + } + + navView.setOnNavigationItemReselectedListener { } } @@ -90,41 +103,4 @@ class MainActivity : ThemeActivity() { editor.apply() } - private fun setFragments(itemId: Int): Boolean { - activeFragment = itemId - when (itemId) { - R.id.navigation_home -> { - if (currentFragment is HomeFragment) { - return false - } - supportFragmentManager - .beginTransaction() - .hide(currentFragment!!) - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) - .show(homeFragment) - .commit() - - currentFragment = homeFragment - } - R.id.navigation_settings -> { - if (currentFragment is SettingsFragment) { - return false - } - supportFragmentManager - .beginTransaction() - .hide(currentFragment!!) - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) - .show(settingsFragment) - .commit() - - currentFragment = settingsFragment - } - } - return true - } - - companion object{ - const val CURRENT_FRAGMENT = "current_fragment" - } - } diff --git a/app/src/main/java/com/vanced/manager/ui/core/Theme.kt b/app/src/main/java/com/vanced/manager/ui/core/Theme.kt index 8235e85a..9024ce4b 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/Theme.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/Theme.kt @@ -24,9 +24,8 @@ open class ThemeActivity : AppCompatActivity() { setFinalTheme(currentTheme) if (android.os.Build.VERSION.SDK_INT < 28) { setTaskBG() - - super.onCreate(savedInstanceState) } + super.onCreate(savedInstanceState) } override fun onResume() { diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt index e665816e..d21f2134 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt @@ -42,7 +42,6 @@ class HomeFragment : Fragment() { } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - (activity as MainActivity).supportActionBar?.title = getString(R.string.title_home) super.onViewCreated(view, savedInstanceState) diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt index e39422d9..21b540b4 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt @@ -2,6 +2,7 @@ package com.vanced.manager.ui.fragments import android.content.res.Configuration import android.os.Bundle +import android.view.View import androidx.preference.ListPreference import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat @@ -13,8 +14,6 @@ class SettingsFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences, rootKey) - (activity as MainActivity).supportActionBar?.title = getString(R.string.title_settings) - val updateCheck: Preference? = findPreference("update_check") val themeSwitch: ListPreference? = findPreference("theme_mode") diff --git a/app/src/main/res/drawable/ic_home_black_24dp.xml b/app/src/main/res/drawable/ic_home_black_24dp.xml index f8bb0b55..5a1e4684 100755 --- a/app/src/main/res/drawable/ic_home_black_24dp.xml +++ b/app/src/main/res/drawable/ic_home_black_24dp.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 95364c60..725d2628 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,21 +7,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - -