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/

(cherry picked from commit 0b77b78f6a360d759241ac42b1dcf0fe66b27d50)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
This commit is contained in:
arkon 2022-04-24 22:16:36 -04:00 committed by Jobobby04
parent 7ed22e5d90
commit 9aa2ab3546
10 changed files with 6 additions and 96 deletions

View File

@ -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"
@ -45,8 +43,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"

View File

@ -47,12 +47,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)
@ -171,8 +167,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)

View File

@ -91,15 +91,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

View File

@ -332,18 +332,6 @@ class MangaController :
),
)
// 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

View File

@ -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
}
}
}

View File

@ -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.preferenceCategory
@ -22,19 +20,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

View File

@ -39,7 +39,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
@ -95,13 +94,6 @@ class SettingsLibraryController : SettingsController() {
}
.launchIn(viewScope)
}
if (!context.isTablet()) {
switchPreference {
key = Keys.jumpToChapters
titleRes = R.string.pref_jump_to_chapters
defaultValue = false
}
}
// SY -->
preference {
key = "pref_library_settings_sheet"

View File

@ -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 {

View File

@ -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" />

View File

@ -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>