Ver Fonte

Remove some minor settings

Some spring cleaning to remove some unnecessary complexity so things are easier to maintain.

- Start screen: redundant with app shortcuts in Android 7.1+
- Jump to chapters: irrelevant in tablet mode and people can scroll a tiny bit if they really have to
- Option to not scroll away bottom nav: issues with fast scroll will be irrelevant with it being replaced or removed in the Compose migrations

Get ready for people malding over their special needs. https://xkcd.com/1172/
arkon há 2 anos atrás
pai
commit
0b77b78f6a

+ 0 - 4
app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt

@@ -13,8 +13,6 @@ object PreferenceKeys {
 
     const val defaultOrientationType = "pref_default_orientation_type_key"
 
-    const val jumpToChapters = "jump_to_chapters"
-
     const val autoUpdateTrack = "pref_auto_update_manga_sync_key"
 
     const val downloadOnlyOverWifi = "pref_download_only_over_wifi_key"
@@ -43,8 +41,6 @@ object PreferenceKeys {
     const val migrationSortingMode = "pref_migration_sorting"
     const val migrationSortingDirection = "pref_migration_direction"
 
-    const val startScreen = "start_screen"
-
     const val hideNotificationContent = "hide_notification_content"
 
     const val autoUpdateMetadata = "auto_update_metadata"

+ 0 - 6
app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt

@@ -44,12 +44,8 @@ class PreferencesHelper(val context: Context) {
         "backup",
     ).toUri()
 
-    fun startScreen() = prefs.getInt(Keys.startScreen, 1)
-
     fun confirmExit() = prefs.getBoolean(Keys.confirmExit, false)
 
-    fun hideBottomBarOnScroll() = flowPrefs.getBoolean("pref_hide_bottom_bar_on_scroll", true)
-
     fun sideNavIconAlignment() = flowPrefs.getInt("pref_side_nav_icon_alignment", 0)
 
     fun useAuthenticator() = flowPrefs.getBoolean("use_biometric_lock", false)
@@ -162,8 +158,6 @@ class PreferencesHelper(val context: Context) {
 
     fun landscapeColumns() = flowPrefs.getInt("pref_library_columns_landscape_key", 0)
 
-    fun jumpToChapters() = prefs.getBoolean(Keys.jumpToChapters, false)
-
     fun autoUpdateTrack() = prefs.getBoolean(Keys.autoUpdateTrack, true)
 
     fun lastUsedSource() = flowPrefs.getLong("last_catalogue_source", -1)

+ 1 - 9
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -83,15 +83,7 @@ class MainActivity : BaseActivity() {
 
     private lateinit var router: Router
 
-    private val startScreenId by lazy {
-        when (preferences.startScreen()) {
-            2 -> R.id.nav_history
-            3 -> R.id.nav_updates
-            4 -> R.id.nav_browse
-            else -> R.id.nav_library
-        }
-    }
-
+    private val startScreenId = R.id.nav_library
     private var isConfirmingExit: Boolean = false
     private var isHandlingShortcut: Boolean = false
 

+ 0 - 12
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt

@@ -265,18 +265,6 @@ class MangaController :
                 .build()
             it.adapter = ConcatAdapter(config, mangaInfoAdapter, chaptersHeaderAdapter, chaptersAdapter)
 
-            // Skips directly to chapters list if navigated to from the library
-            it.post {
-                if (!fromSource && preferences.jumpToChapters()) {
-                    val mainActivityAppBar = (activity as? MainActivity)?.binding?.appbar
-                    (it.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(
-                        1,
-                        mainActivityAppBar?.height ?: 0,
-                    )
-                    mainActivityAppBar?.isLifted = true
-                }
-            }
-
             it.scrollStateChanges()
                 .onEach { _ ->
                     // Disable swipe refresh when view is not at the top

+ 3 - 8
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAppearanceController.kt

@@ -93,10 +93,10 @@ class SettingsAppearanceController : SettingsController() {
             }
         }
 
-        preferenceCategory {
-            titleRes = R.string.pref_category_navigation
+        if (context.isTablet()) {
+            preferenceCategory {
+                titleRes = R.string.pref_category_navigation
 
-            if (context.isTablet()) {
                 intListPreference {
                     bindTo(preferences.sideNavIconAlignment())
                     titleRes = R.string.pref_side_nav_icon_alignment
@@ -108,11 +108,6 @@ class SettingsAppearanceController : SettingsController() {
                     entryValues = arrayOf("0", "1", "2")
                     summary = "%s"
                 }
-            } else {
-                switchPreference {
-                    bindTo(preferences.hideBottomBarOnScroll())
-                    titleRes = R.string.pref_hide_bottom_bar_on_scroll
-                }
             }
         }
 

+ 0 - 15
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt

@@ -7,8 +7,6 @@ import androidx.preference.PreferenceScreen
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.preference.bindTo
 import eu.kanade.tachiyomi.util.preference.defaultValue
-import eu.kanade.tachiyomi.util.preference.entriesRes
-import eu.kanade.tachiyomi.util.preference.intListPreference
 import eu.kanade.tachiyomi.util.preference.onClick
 import eu.kanade.tachiyomi.util.preference.preference
 import eu.kanade.tachiyomi.util.preference.switchPreference
@@ -20,19 +18,6 @@ class SettingsGeneralController : SettingsController() {
     override fun setupPreferenceScreen(screen: PreferenceScreen) = screen.apply {
         titleRes = R.string.pref_category_general
 
-        intListPreference {
-            key = Keys.startScreen
-            titleRes = R.string.pref_start_screen
-            entriesRes = arrayOf(
-                R.string.label_library,
-                R.string.label_recent_updates,
-                R.string.label_recent_manga,
-                R.string.browse,
-            )
-            entryValues = arrayOf("1", "3", "2", "4")
-            defaultValue = "1"
-            summary = "%s"
-        }
         switchPreference {
             bindTo(preferences.showUpdatesNavBadge())
             titleRes = R.string.pref_library_update_show_tab_badge

+ 0 - 8
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt

@@ -35,7 +35,6 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory
 import eu.kanade.tachiyomi.util.preference.summaryRes
 import eu.kanade.tachiyomi.util.preference.switchPreference
 import eu.kanade.tachiyomi.util.preference.titleRes
-import eu.kanade.tachiyomi.util.system.isTablet
 import eu.kanade.tachiyomi.widget.materialdialogs.QuadStateTextView
 import eu.kanade.tachiyomi.widget.materialdialogs.setQuadStateMultiChoiceItems
 import kotlinx.coroutines.flow.combine
@@ -84,13 +83,6 @@ class SettingsLibraryController : SettingsController() {
                     }
                     .launchIn(viewScope)
             }
-            if (!context.isTablet()) {
-                switchPreference {
-                    key = Keys.jumpToChapters
-                    titleRes = R.string.pref_jump_to_chapters
-                    defaultValue = false
-                }
-            }
         }
 
         preferenceCategory {

+ 1 - 31
app/src/main/java/eu/kanade/tachiyomi/widget/TachiyomiBottomNavigationView.kt

@@ -8,22 +8,12 @@ import android.os.Parcel
 import android.os.Parcelable
 import android.util.AttributeSet
 import android.view.ViewPropertyAnimator
-import androidx.coordinatorlayout.widget.CoordinatorLayout
-import androidx.core.view.doOnLayout
-import androidx.core.view.updateLayoutParams
 import androidx.customview.view.AbsSavedState
 import androidx.interpolator.view.animation.FastOutLinearInInterpolator
 import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
-import androidx.lifecycle.findViewTreeLifecycleOwner
-import androidx.lifecycle.lifecycleScope
 import com.google.android.material.bottomnavigation.BottomNavigationView
 import eu.kanade.tachiyomi.R
-import eu.kanade.tachiyomi.data.preference.PreferencesHelper
-import eu.kanade.tachiyomi.util.preference.asImmediateFlow
 import eu.kanade.tachiyomi.util.system.applySystemAnimatorScale
-import kotlinx.coroutines.flow.launchIn
-import uy.kohesive.injekt.Injekt
-import uy.kohesive.injekt.api.get
 
 class TachiyomiBottomNavigationView @JvmOverloads constructor(
     context: Context,
@@ -36,25 +26,6 @@ class TachiyomiBottomNavigationView @JvmOverloads constructor(
 
     private var currentState = STATE_UP
 
-    init {
-        // Hide on scroll
-        doOnLayout {
-            findViewTreeLifecycleOwner()?.lifecycleScope?.let { scope ->
-                Injekt.get<PreferencesHelper>().hideBottomBarOnScroll()
-                    .asImmediateFlow {
-                        updateLayoutParams<CoordinatorLayout.LayoutParams> {
-                            behavior = if (it) {
-                                HideBottomNavigationOnScrollBehavior()
-                            } else {
-                                null
-                            }
-                        }
-                    }
-                    .launchIn(scope)
-            }
-        }
-    }
-
     override fun onSaveInstanceState(): Parcelable {
         val superState = super.onSaveInstanceState()
         return SavedState(superState).also {
@@ -120,8 +91,7 @@ class TachiyomiBottomNavigationView @JvmOverloads constructor(
                     currentAnimator = null
                     postInvalidate()
                 }
-            },
-            )
+            })
     }
 
     internal class SavedState : AbsSavedState {

+ 1 - 0
app/src/main/res/layout/main_activity.xml

@@ -86,6 +86,7 @@
         android:layout_height="wrap_content"
         android:layout_gravity="bottom"
         android:clickable="true"
+        app:layout_behavior="eu.kanade.tachiyomi.widget.HideBottomNavigationOnScrollBehavior"
         app:layout_insetEdge="bottom"
         app:menu="@menu/main_nav"
         tools:ignore="KeyboardInaccessibleWidget" />

+ 0 - 3
app/src/main/res/values/strings.xml

@@ -170,14 +170,12 @@
     <string name="alignment_top">Top</string>
     <string name="alignment_center">Center</string>
     <string name="alignment_bottom">Bottom</string>
-    <string name="pref_hide_bottom_bar_on_scroll">Hide bottom bar on scroll</string>
     <string name="pref_category_timestamps">Timestamps</string>
     <string name="pref_relative_format">Relative timestamps</string>
     <string name="pref_relative_time_short">Short (Today, Yesterday)</string>
     <string name="pref_relative_time_long">Long (Short+, n days ago)</string>
     <string name="pref_date_format">Date format</string>
 
-    <string name="pref_start_screen">Start screen</string>
     <string name="pref_confirm_exit">Confirm exit</string>
     <string name="pref_manage_notifications">Manage notifications</string>
 
@@ -210,7 +208,6 @@
     <string name="pref_library_columns">Items per row</string>
     <string name="portrait">Portrait</string>
     <string name="landscape">Landscape</string>
-    <string name="pref_jump_to_chapters">Jump to chapters on open</string>
 
     <string name="pref_category_library_update">Global update</string>
     <string name="pref_library_update_interval">Automatic updates</string>