Move playback save button to SettingsListFragment
Move the ability to save the current playback state into a dedicated preference in SettingsListFragment.
This commit is contained in:
parent
384d0f1a27
commit
7458588913
29 changed files with 101 additions and 72 deletions
|
@ -27,4 +27,4 @@ fun Any.logE(msg: String) {
|
|||
* Get a non-nullable name, used so that logs will always show up in the console.
|
||||
* @return The name of the object, otherwise "Anonymous Object"
|
||||
*/
|
||||
private fun Any.getName(): String = this::class.simpleName ?: "Anonymous Object"
|
||||
private fun Any.getName(): String = this::class.simpleName ?: "Anonymous Object"
|
|
@ -12,9 +12,9 @@ import androidx.databinding.DataBindingUtil
|
|||
import org.oxycblt.auxio.databinding.ActivityMainBinding
|
||||
import org.oxycblt.auxio.playback.PlaybackService
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.handleTransparentSystemBars
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.handleTransparentSystemBars
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
|
||||
// FIXME: Fix bug where fast navigation will break the animations and
|
||||
// lead to nothing being displayed [Possibly Un-fixable]
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.oxycblt.auxio
|
|||
|
||||
import android.content.res.ColorStateList
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
|
@ -20,9 +19,9 @@ import org.oxycblt.auxio.music.Artist
|
|||
import org.oxycblt.auxio.music.MusicStore
|
||||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.getTransparentAccent
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.getTransparentAccent
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
import kotlin.IllegalArgumentException
|
||||
|
||||
class MainFragment : Fragment() {
|
||||
|
|
|
@ -17,9 +17,9 @@ import org.oxycblt.auxio.music.MusicStore
|
|||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.playback.state.PlaybackMode
|
||||
import org.oxycblt.auxio.ui.createToast
|
||||
import org.oxycblt.auxio.ui.disable
|
||||
import org.oxycblt.auxio.ui.setupAlbumSongActions
|
||||
import org.oxycblt.auxio.utils.createToast
|
||||
import org.oxycblt.auxio.utils.disable
|
||||
import org.oxycblt.auxio.utils.setupAlbumSongActions
|
||||
|
||||
/**
|
||||
* The [DetailFragment] for an album.
|
||||
|
|
|
@ -15,8 +15,8 @@ import org.oxycblt.auxio.logD
|
|||
import org.oxycblt.auxio.music.Artist
|
||||
import org.oxycblt.auxio.music.MusicStore
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.ui.disable
|
||||
import org.oxycblt.auxio.ui.setupAlbumActions
|
||||
import org.oxycblt.auxio.utils.disable
|
||||
import org.oxycblt.auxio.utils.setupAlbumActions
|
||||
|
||||
/**
|
||||
* The [DetailFragment] for an artist.
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.detail
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -15,8 +14,8 @@ import org.oxycblt.auxio.detail.adapters.GenreArtistAdapter
|
|||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.music.MusicStore
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.ui.disable
|
||||
import org.oxycblt.auxio.ui.setupArtistActions
|
||||
import org.oxycblt.auxio.utils.disable
|
||||
import org.oxycblt.auxio.utils.setupArtistActions
|
||||
|
||||
/**
|
||||
* The [DetailFragment] for a genre.
|
||||
|
|
|
@ -9,8 +9,8 @@ import org.oxycblt.auxio.databinding.ItemAlbumSongBinding
|
|||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.recycler.DiffCallback
|
||||
import org.oxycblt.auxio.recycler.viewholders.BaseViewHolder
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
|
||||
/**
|
||||
* An adapter for displaying the [Song]s of an album.
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.library
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
|
@ -27,12 +26,12 @@ import org.oxycblt.auxio.music.Genre
|
|||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
import org.oxycblt.auxio.ui.applyColor
|
||||
import org.oxycblt.auxio.ui.resolveAttr
|
||||
import org.oxycblt.auxio.ui.setupAlbumActions
|
||||
import org.oxycblt.auxio.ui.setupArtistActions
|
||||
import org.oxycblt.auxio.ui.setupGenreActions
|
||||
import org.oxycblt.auxio.ui.setupSongActions
|
||||
import org.oxycblt.auxio.utils.applyColor
|
||||
import org.oxycblt.auxio.utils.resolveAttr
|
||||
import org.oxycblt.auxio.utils.setupAlbumActions
|
||||
import org.oxycblt.auxio.utils.setupArtistActions
|
||||
import org.oxycblt.auxio.utils.setupGenreActions
|
||||
import org.oxycblt.auxio.utils.setupSongActions
|
||||
|
||||
/**
|
||||
* A [Fragment] that shows a custom list of [Genre], [Artist], or [Album] data. Also allows for
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.oxycblt.auxio.loading
|
|||
import android.Manifest
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.music
|
||||
|
||||
import android.app.Application
|
||||
import android.util.Log
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.oxycblt.auxio.R
|
||||
|
|
|
@ -7,7 +7,6 @@ import android.provider.MediaStore.Audio.Albums
|
|||
import android.provider.MediaStore.Audio.Artists
|
||||
import android.provider.MediaStore.Audio.Genres
|
||||
import android.provider.MediaStore.Audio.Media
|
||||
import android.util.Log
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.logE
|
||||
import org.oxycblt.auxio.music.Album
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package org.oxycblt.auxio.music.processing
|
||||
|
||||
import android.util.Log
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.music.Album
|
||||
import org.oxycblt.auxio.music.Artist
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.oxycblt.auxio.playback
|
|||
|
||||
import android.graphics.drawable.AnimatedVectorDrawable
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -11,13 +10,11 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.oxycblt.auxio.BuildConfig
|
||||
import org.oxycblt.auxio.MainFragmentDirections
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentCompactPlaybackBinding
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.music.MusicStore
|
||||
import org.oxycblt.auxio.ui.createToast
|
||||
|
||||
/**
|
||||
* A [Fragment] that displays the currently played song at a glance, with some basic controls.
|
||||
|
@ -56,16 +53,6 @@ class CompactPlaybackFragment : Fragment() {
|
|||
true
|
||||
}
|
||||
|
||||
// Enable the ability to force-save the state in debug builds, in order to check
|
||||
// for persistence issues without waiting for PlaybackService to be killed.
|
||||
if (BuildConfig.DEBUG) {
|
||||
binding.playbackControls.setOnLongClickListener {
|
||||
playbackModel.save(requireContext())
|
||||
getString(R.string.debug_state_saved).createToast(requireContext())
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
// --- VIEWMODEL SETUP ---
|
||||
|
||||
playbackModel.song.observe(viewLifecycleOwner) {
|
||||
|
|
|
@ -8,7 +8,6 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.media.app.NotificationCompat.MediaStyle
|
||||
import org.oxycblt.auxio.MainActivity
|
||||
|
@ -18,7 +17,6 @@ import org.oxycblt.auxio.music.coil.getBitmap
|
|||
import org.oxycblt.auxio.playback.state.LoopMode
|
||||
import org.oxycblt.auxio.playback.state.PlaybackMode
|
||||
import org.oxycblt.auxio.playback.state.PlaybackStateManager
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
|
||||
object NotificationUtils {
|
||||
const val CHANNEL_ID = "CHANNEL_AUXIO_PLAYBACK"
|
||||
|
@ -207,4 +205,4 @@ private fun newAction(action: String, context: Context): NotificationCompat.Acti
|
|||
Intent(action), PendingIntent.FLAG_UPDATE_CURRENT
|
||||
)
|
||||
).build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.oxycblt.auxio.playback
|
|||
import android.content.res.ColorStateList
|
||||
import android.graphics.drawable.AnimatedVectorDrawable
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
|
@ -17,8 +16,8 @@ import org.oxycblt.auxio.R
|
|||
import org.oxycblt.auxio.databinding.FragmentPlaybackBinding
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.playback.state.LoopMode
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
|
||||
/**
|
||||
* A [Fragment] that displays more information about the song, along with more media controls.
|
||||
|
|
|
@ -14,7 +14,6 @@ import android.os.IBinder
|
|||
import android.os.Parcelable
|
||||
import android.support.v4.media.MediaMetadataCompat
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import android.util.Log
|
||||
import android.view.KeyEvent
|
||||
import androidx.core.app.NotificationCompat
|
||||
import com.google.android.exoplayer2.C
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.playback
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.Transformations
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.oxycblt.auxio.playback.queue
|
|||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MotionEvent
|
||||
import android.view.ViewGroup
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.playback.state
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.oxycblt.auxio.database.PlaybackState
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
@file:Suppress("MemberVisibilityCanBePrivate")
|
||||
|
||||
package org.oxycblt.auxio.recycler
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
|
@ -24,8 +22,8 @@ import androidx.dynamicanimation.animation.SpringForce
|
|||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.reddit.indicatorfastscroll.FastScrollerView
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
|
||||
/**
|
||||
* A semi-copy, semi-custom implementation of [com.reddit.indicatorfastscroll.FastScrollerThumbView]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package org.oxycblt.auxio.settings
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
|
@ -12,16 +12,21 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.customview.customView
|
||||
import org.oxycblt.auxio.BuildConfig
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.recycler.DisplayMode
|
||||
import org.oxycblt.auxio.settings.adapters.AccentAdapter
|
||||
import org.oxycblt.auxio.ui.ACCENTS
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.getDetailedAccentSummary
|
||||
import org.oxycblt.auxio.utils.ACCENTS
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.createToast
|
||||
import org.oxycblt.auxio.utils.getDetailedAccentSummary
|
||||
|
||||
@Suppress("UNUSED")
|
||||
class SettingsListFragment : PreferenceFragmentCompat() {
|
||||
private val playbackModel: PlaybackViewModel by activityViewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
|
@ -38,6 +43,12 @@ class SettingsListFragment : PreferenceFragmentCompat() {
|
|||
|
||||
private fun recursivelyHandleChildren(pref: Preference) {
|
||||
if (pref is PreferenceCategory) {
|
||||
if (pref.title == getString(R.string.debug_title) && BuildConfig.DEBUG) {
|
||||
logD("Showing debug category.")
|
||||
|
||||
pref.isVisible = true
|
||||
}
|
||||
|
||||
pref.children.forEach {
|
||||
recursivelyHandleChildren(it)
|
||||
}
|
||||
|
@ -87,6 +98,15 @@ class SettingsListFragment : PreferenceFragmentCompat() {
|
|||
true
|
||||
}
|
||||
}
|
||||
|
||||
SettingsManager.Keys.KEY_DEBUG_SAVE -> {
|
||||
onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
playbackModel.save(requireContext())
|
||||
getString(R.string.debug_state_saved).createToast(requireContext())
|
||||
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import androidx.preference.PreferenceManager
|
|||
import org.oxycblt.auxio.playback.state.PlaybackMode
|
||||
import org.oxycblt.auxio.recycler.DisplayMode
|
||||
import org.oxycblt.auxio.recycler.SortMode
|
||||
import org.oxycblt.auxio.ui.ACCENTS
|
||||
import org.oxycblt.auxio.utils.ACCENTS
|
||||
|
||||
/**
|
||||
* Wrapper around the [SharedPreferences] class that writes & reads values without a context.
|
||||
|
@ -179,6 +179,7 @@ class SettingsManager private constructor(context: Context) :
|
|||
const val KEY_REWIND_THRESHOLD = "KEY_REWIND_THRESHOLD"
|
||||
|
||||
const val KEY_LIBRARY_SORT_MODE = "KEY_LIBRARY_SORT_MODE"
|
||||
const val KEY_DEBUG_SAVE = "KEY_SAVE_STATE"
|
||||
}
|
||||
|
||||
object EntryNames {
|
||||
|
|
|
@ -6,10 +6,10 @@ import android.view.ViewGroup
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.ItemAccentBinding
|
||||
import org.oxycblt.auxio.ui.ACCENTS
|
||||
import org.oxycblt.auxio.ui.accent
|
||||
import org.oxycblt.auxio.ui.getAccentItemSummary
|
||||
import org.oxycblt.auxio.ui.toColor
|
||||
import org.oxycblt.auxio.utils.ACCENTS
|
||||
import org.oxycblt.auxio.utils.accent
|
||||
import org.oxycblt.auxio.utils.getAccentItemSummary
|
||||
import org.oxycblt.auxio.utils.toColor
|
||||
|
||||
class AccentAdapter(
|
||||
private val doOnAccentConfirm: (accent: Pair<Int, Int>) -> Unit
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.oxycblt.auxio.songs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.util.TypedValue
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -18,7 +17,7 @@ import org.oxycblt.auxio.logD
|
|||
import org.oxycblt.auxio.music.MusicStore
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
import org.oxycblt.auxio.ui.setupSongActions
|
||||
import org.oxycblt.auxio.utils.setupSongActions
|
||||
import kotlin.math.ceil
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.oxycblt.auxio.ui
|
||||
package org.oxycblt.auxio.utils
|
||||
|
||||
import android.annotation.TargetApi
|
||||
import android.content.Context
|
|
@ -1,9 +1,8 @@
|
|||
package org.oxycblt.auxio.ui
|
||||
package org.oxycblt.auxio.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.text.Spanned
|
||||
import android.util.Log
|
||||
import android.util.TypedValue
|
||||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.ColorInt
|
|
@ -85,6 +85,9 @@
|
|||
<string name="setting_behavior_rewind_threshold_desc">Progress at which a rewind should occur (seconds)</string>
|
||||
|
||||
<!-- Debug Namespace | Debug labels -->
|
||||
<string name="debug_title">Debug</string>
|
||||
<string name="debug_state_save">Save playback state</string>
|
||||
<string name="debug_state_save_desc">Force save the current playback state</string>
|
||||
<string name="debug_state_saved">State saved</string>
|
||||
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
|
|
|
@ -124,8 +124,22 @@
|
|||
app:min="@integer/rewind_threshold_min"
|
||||
app:summary="@string/setting_behavior_rewind_threshold_desc"
|
||||
app:showSeekBarValue="true"
|
||||
app:allowDividerBelow="false"
|
||||
app:iconSpaceReserved="false"
|
||||
app:dependency="KEY_PREV_REWIND" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/debug_title"
|
||||
app:isPreferenceVisible="false"
|
||||
app:layout="@layout/item_header">
|
||||
|
||||
<Preference
|
||||
app:key="KEY_SAVE_STATE"
|
||||
android:title="@string/debug_state_save"
|
||||
app:summary="@string/debug_state_save_desc"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
|
@ -18,6 +18,7 @@
|
|||
android:title="@string/setting_accent"
|
||||
android:icon="@drawable/ic_accent"
|
||||
app:summary="@string/setting_accent_unknown" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
@ -69,6 +70,7 @@
|
|||
app:defaultValue="true"
|
||||
app:allowDividerBelow="false"
|
||||
app:summary="@string/setting_playback_plug_mgt_desc" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
@ -93,6 +95,13 @@
|
|||
app:iconSpaceReserved="false"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:key="KEY_KEEP_SHUFFLE"
|
||||
android:title="@string/setting_behavior_keep_shuffle"
|
||||
app:summary="@string/setting_behavior_keep_shuffle_desc"
|
||||
app:defaultValue="false"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
<SwitchPreference
|
||||
app:key="KEY_PREV_REWIND"
|
||||
android:title="@string/setting_behavior_rewind_prev"
|
||||
|
@ -104,12 +113,25 @@
|
|||
app:key="KEY_REWIND_THRESHOLD"
|
||||
android:title="@string/setting_behavior_rewind_threshold"
|
||||
android:defaultValue="@integer/rewind_threshold_default"
|
||||
app:summary="@string/setting_behavior_rewind_threshold_desc"
|
||||
app:showSeekBarValue="true"
|
||||
android:max="@integer/rewind_threshold_max"
|
||||
app:min="@integer/rewind_threshold_min"
|
||||
app:summary="@string/setting_behavior_rewind_threshold_desc"
|
||||
app:showSeekBarValue="true"
|
||||
app:iconSpaceReserved="false"
|
||||
app:dependency="KEY_PREV_REWIND" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/debug_title"
|
||||
app:isPreferenceVisible="false"
|
||||
app:layout="@layout/item_header">
|
||||
|
||||
<Preference
|
||||
app:key="KEY_SAVE_STATE"
|
||||
android:title="@string/debug_state_save"
|
||||
app:summary="@string/debug_state_save_desc"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
Loading…
Reference in a new issue