From 27f2e8ecbcd96327abd524921d234562b1da9d4e Mon Sep 17 00:00:00 2001 From: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com> Date: Tue, 11 May 2021 04:02:55 +0200 Subject: [PATCH] [IDEA] Changing to labels not always visible (#296) * disable always visible labels * make it a setting * remove redundant line * Fix preference keys * Update keys again * Fix import * Remove extra line Co-authored-by: jobobby04 --- .../tachiyomi/data/preference/PreferenceKeys.kt | 2 ++ .../data/preference/PreferencesHelper.kt | 2 ++ .../eu/kanade/tachiyomi/ui/main/MainActivity.kt | 17 +++++++++++++++++ .../ui/setting/SettingsGeneralController.kt | 5 +++++ app/src/main/res/layout/main_activity.xml | 1 - app/src/main/res/values/strings.xml | 1 + 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index 133dd6ca6..8b2ee8cbe 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -374,4 +374,6 @@ object PreferenceKeys { const val forceHorizontalSeekbar = "pref_force_horz_seekbar" const val readerBottomButtons = "reader_bottom_buttons" + + const val bottomBarLabels = "pref_show_bottom_bar_labels" } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index 5ddee87f9..978366e32 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -66,6 +66,8 @@ class PreferencesHelper(val context: Context) { fun hideBottomBar() = flowPrefs.getBoolean(Keys.hideBottomBar, true) + fun bottomBarLabels() = flowPrefs.getBoolean(Keys.bottomBarLabels, true) + fun useBiometricLock() = flowPrefs.getBoolean(Keys.useBiometricLock, false) fun lockAppAfter() = flowPrefs.getInt(Keys.lockAppAfter, 0) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index 443fac964..665e75967 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -25,9 +25,12 @@ import com.bluelinelabs.conductor.Router import com.bluelinelabs.conductor.RouterTransaction import com.google.android.material.appbar.AppBarLayout import com.google.android.material.behavior.HideBottomViewOnScrollBehavior +import com.google.android.material.bottomnavigation.LabelVisibilityMode.LABEL_VISIBILITY_LABELED +import com.google.android.material.bottomnavigation.LabelVisibilityMode.LABEL_VISIBILITY_SELECTED import dev.chrisbanes.insetter.applyInsetter import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.notification.NotificationReceiver +import eu.kanade.tachiyomi.data.preference.PreferenceKeys.bottomBarLabels import eu.kanade.tachiyomi.data.preference.asImmediateFlow import eu.kanade.tachiyomi.databinding.MainActivityBinding import eu.kanade.tachiyomi.extension.api.ExtensionGithubApi @@ -293,6 +296,12 @@ class MainActivity : BaseViewBindingActivity() { } } .launchIn(lifecycleScope) + + // SY --> + preferences.bottomBarLabels() + .asImmediateFlow { setBottomNavLabelVisibility() } + .launchIn(lifecycleScope) + // SY <-- } override fun onNewIntent(intent: Intent) { @@ -547,6 +556,14 @@ class MainActivity : BaseViewBindingActivity() { } } + private fun setBottomNavLabelVisibility() { + if (preferences.bottomBarLabels().get()) { + binding.bottomNav.labelVisibilityMode = LABEL_VISIBILITY_LABELED + } else { + binding.bottomNav.labelVisibilityMode = LABEL_VISIBILITY_SELECTED + } + } + companion object { // Shortcut actions const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY" diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt index 1237b5bac..dbf48a3ae 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt @@ -51,6 +51,11 @@ class SettingsGeneralController : SettingsController() { titleRes = R.string.pref_hide_bottom_bar_on_scroll defaultValue = true } + switchPreference { + key = Keys.bottomBarLabels + titleRes = R.string.pref_show_bottom_bar_labels + defaultValue = true + } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { preference { key = "pref_manage_notifications" diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index 6606e12cd..71b3c30b8 100755 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -87,7 +87,6 @@ android:layout_gravity="bottom" app:itemIconTint="@color/bottom_nav_selector" app:itemTextColor="@color/bottom_nav_selector" - app:labelVisibilityMode="labeled" app:layout_insetEdge="bottom" app:menu="@menu/bottom_nav" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b80db345b..60b6ff5a5 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -165,6 +165,7 @@ Date format Confirm exit Hide bottom bar on scroll + Always show bottom bar labels Manage notifications Security