ui: make setting dialogs
Make the setting dialogs navigation destinations. This reduces the boilerplate required for dialogs.
This commit is contained in:
parent
33b0aabc44
commit
2aa540c29a
20 changed files with 101 additions and 100 deletions
|
@ -232,13 +232,8 @@ class MainFragment :
|
|||
when (action) {
|
||||
is MainNavigationAction.Expand -> tryExpandAll()
|
||||
is MainNavigationAction.Collapse -> tryCollapseAll()
|
||||
is MainNavigationAction.Settings ->
|
||||
findNavController().navigate(MainFragmentDirections.actionShowSettings())
|
||||
is MainNavigationAction.About ->
|
||||
findNavController().navigate(MainFragmentDirections.actionShowAbout())
|
||||
is MainNavigationAction.SongDetails ->
|
||||
findNavController()
|
||||
.navigate(MainFragmentDirections.actionShowDetails(action.song.uid))
|
||||
is MainNavigationAction.Directions ->
|
||||
findNavController().navigate(action.directions)
|
||||
}
|
||||
|
||||
navModel.finishMainNavigation()
|
||||
|
|
|
@ -37,6 +37,7 @@ import com.google.android.material.appbar.AppBarLayout
|
|||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import org.oxycblt.auxio.BuildConfig
|
||||
import org.oxycblt.auxio.MainFragmentDirections
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentHomeBinding
|
||||
import org.oxycblt.auxio.home.list.AlbumListFragment
|
||||
|
@ -185,11 +186,11 @@ class HomeFragment : ViewBindingFragment<FragmentHomeBinding>(), Toolbar.OnMenuI
|
|||
}
|
||||
R.id.action_settings -> {
|
||||
logD("Navigating to settings")
|
||||
navModel.mainNavigateTo(MainNavigationAction.Settings)
|
||||
navModel.mainNavigateTo(MainNavigationAction.Directions(MainFragmentDirections.actionShowSettings()))
|
||||
}
|
||||
R.id.action_about -> {
|
||||
logD("Navigating to about")
|
||||
navModel.mainNavigateTo(MainNavigationAction.About)
|
||||
navModel.mainNavigateTo(MainNavigationAction.Directions(MainFragmentDirections.actionShowAbout()))
|
||||
}
|
||||
R.id.submenu_sorting -> {
|
||||
// Junk click event when opening the menu
|
||||
|
|
|
@ -110,7 +110,6 @@ class TabCustomizeDialog : ViewBindingDialogFragment<DialogTabsBinding>(), TabAd
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = BuildConfig.APPLICATION_ID + ".tag.TAB_CUSTOMIZE"
|
||||
const val KEY_TABS = BuildConfig.APPLICATION_ID + ".key.PENDING_TABS"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,14 +63,6 @@ val Long.albumCoverUri: Uri
|
|||
fun Date?.resolveYear(context: Context) =
|
||||
this?.resolveYear(context) ?: context.getString(R.string.def_date)
|
||||
|
||||
/** Converts this string to a UUID, or returns null if it is not valid. */
|
||||
fun String.toUuid() =
|
||||
try {
|
||||
UUID.fromString(this)
|
||||
} catch (e: IllegalArgumentException) {
|
||||
null
|
||||
}
|
||||
|
||||
/** Converts a long in milliseconds to a long in deci-seconds */
|
||||
fun Long.msToDs() = floorDiv(100)
|
||||
|
||||
|
|
|
@ -184,7 +184,6 @@ class MusicDirsDialog :
|
|||
binding.folderModeGroup.checkedButtonId == R.id.dirs_mode_include
|
||||
|
||||
companion object {
|
||||
const val TAG = BuildConfig.APPLICATION_ID + ".tag.EXCLUDED"
|
||||
const val KEY_PENDING_DIRS = BuildConfig.APPLICATION_ID + ".key.PENDING_DIRS"
|
||||
const val KEY_PENDING_MODE = BuildConfig.APPLICATION_ID + ".key.SHOULD_INCLUDE"
|
||||
}
|
||||
|
|
|
@ -69,7 +69,6 @@ class SeparatorsDialog : ViewBindingDialogFragment<DialogSeparatorsBinding>() {
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = BuildConfig.APPLICATION_ID + ".tag.EXCLUDED"
|
||||
|
||||
private const val SEPARATOR_COMMA = ','
|
||||
private const val SEPARATOR_SEMICOLON = ';'
|
||||
|
|
|
@ -27,6 +27,7 @@ import androidx.activity.result.contract.ActivityResultContracts
|
|||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.fragment.app.Fragment
|
||||
import org.oxycblt.auxio.MainFragmentDirections
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentPlaybackPanelBinding
|
||||
import org.oxycblt.auxio.music.MusicParent
|
||||
|
@ -145,8 +146,12 @@ class PlaybackPanelFragment :
|
|||
true
|
||||
}
|
||||
R.id.action_song_detail -> {
|
||||
playbackModel.song.value?.let {
|
||||
navModel.mainNavigateTo(MainNavigationAction.SongDetails(it))
|
||||
playbackModel.song.value?.let { song ->
|
||||
navModel.mainNavigateTo(
|
||||
MainNavigationAction.Directions(
|
||||
MainFragmentDirections.actionShowDetails(song.uid)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
true
|
||||
|
|
|
@ -85,6 +85,5 @@ class PreAmpCustomizeDialog : ViewBindingDialogFragment<DialogPreAmpBinding>() {
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = BuildConfig.APPLICATION_ID + ".tag.PRE_AMP_CUSTOMIZE"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
package org.oxycblt.auxio.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.TypedArray
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
package org.oxycblt.auxio.settings
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.preference.PreferenceDialogFragmentCompat
|
|
@ -23,6 +23,7 @@ import androidx.annotation.DrawableRes
|
|||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
|
@ -30,16 +31,9 @@ import androidx.preference.children
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.Coil
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.home.tabs.TabCustomizeDialog
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
import org.oxycblt.auxio.music.settings.MusicDirsDialog
|
||||
import org.oxycblt.auxio.music.settings.SeparatorsDialog
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.playback.replaygain.PreAmpCustomizeDialog
|
||||
import org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
import org.oxycblt.auxio.settings.ui.IntListPreferenceDialog
|
||||
import org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
import org.oxycblt.auxio.ui.accent.AccentCustomizeDialog
|
||||
import org.oxycblt.auxio.ui.NavigationViewModel
|
||||
import org.oxycblt.auxio.util.androidActivityViewModels
|
||||
import org.oxycblt.auxio.util.isNight
|
||||
import org.oxycblt.auxio.util.logD
|
||||
|
@ -54,6 +48,7 @@ import org.oxycblt.auxio.util.systemBarInsetsCompat
|
|||
class SettingsListFragment : PreferenceFragmentCompat() {
|
||||
private val playbackModel: PlaybackViewModel by androidActivityViewModels()
|
||||
private val musicModel: MusicViewModel by activityViewModels()
|
||||
private val navModel: NavigationViewModel by activityViewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
@ -97,21 +92,15 @@ class SettingsListFragment : PreferenceFragmentCompat() {
|
|||
}
|
||||
is WrappedDialogPreference -> {
|
||||
val context = requireContext()
|
||||
when (preference.key) {
|
||||
context.getString(R.string.set_key_accent) ->
|
||||
AccentCustomizeDialog()
|
||||
.show(childFragmentManager, AccentCustomizeDialog.TAG)
|
||||
context.getString(R.string.set_key_lib_tabs) ->
|
||||
TabCustomizeDialog().show(childFragmentManager, TabCustomizeDialog.TAG)
|
||||
context.getString(R.string.set_key_pre_amp) ->
|
||||
PreAmpCustomizeDialog()
|
||||
.show(childFragmentManager, PreAmpCustomizeDialog.TAG)
|
||||
context.getString(R.string.set_key_music_dirs) ->
|
||||
MusicDirsDialog().show(childFragmentManager, MusicDirsDialog.TAG)
|
||||
getString(R.string.set_key_separators) ->
|
||||
SeparatorsDialog().show(childFragmentManager, SeparatorsDialog.TAG)
|
||||
val directions = when (preference.key) {
|
||||
context.getString(R.string.set_key_accent) -> SettingsFragmentDirections.goToAccentDialog()
|
||||
context.getString(R.string.set_key_lib_tabs) -> SettingsFragmentDirections.goToTabDialog()
|
||||
context.getString(R.string.set_key_pre_amp) -> SettingsFragmentDirections.goToPreAmpDialog()
|
||||
context.getString(R.string.set_key_music_dirs) -> SettingsFragmentDirections.goToMusicDirsDialog()
|
||||
getString(R.string.set_key_separators) -> SettingsFragmentDirections.goToSeparatorsDialog()
|
||||
else -> error("Unexpected dialog key ${preference.key}")
|
||||
}
|
||||
findNavController().navigate(directions)
|
||||
}
|
||||
else -> super.onDisplayPreferenceDialog(preference)
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
package org.oxycblt.auxio.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
|
@ -18,10 +18,10 @@
|
|||
package org.oxycblt.auxio.ui
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.navigation.NavDirections
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import org.oxycblt.auxio.music.Music
|
||||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.util.logD
|
||||
|
||||
/**
|
||||
|
@ -91,12 +91,5 @@ sealed class MainNavigationAction {
|
|||
/** Collapse the playback panel. */
|
||||
object Collapse : MainNavigationAction()
|
||||
|
||||
/** Go to settings. */
|
||||
object Settings : MainNavigationAction()
|
||||
|
||||
/** Go to the about page. */
|
||||
object About : MainNavigationAction()
|
||||
|
||||
/** Show song details. */
|
||||
data class SongDetails(val song: Song) : MainNavigationAction()
|
||||
data class Directions(val directions: NavDirections) : MainNavigationAction()
|
||||
}
|
||||
|
|
|
@ -80,7 +80,6 @@ class AccentCustomizeDialog :
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = BuildConfig.APPLICATION_ID + ".tag.ACCENT_PICKER"
|
||||
const val KEY_PENDING_ACCENT = BuildConfig.APPLICATION_ID + ".key.PENDING_ACCENT"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import androidx.appcompat.widget.PopupMenu
|
|||
import androidx.core.view.children
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import org.oxycblt.auxio.MainFragmentDirections
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.music.Album
|
||||
import org.oxycblt.auxio.music.Artist
|
||||
|
@ -70,7 +71,11 @@ abstract class MenuFragment<T : ViewBinding> : ViewBindingFragment<T>() {
|
|||
navModel.exploreNavigateTo(song.album)
|
||||
}
|
||||
R.id.action_song_detail -> {
|
||||
navModel.mainNavigateTo(MainNavigationAction.SongDetails(song))
|
||||
navModel.mainNavigateTo(
|
||||
MainNavigationAction.Directions(
|
||||
MainFragmentDirections.actionShowDetails(song.uid)
|
||||
)
|
||||
)
|
||||
}
|
||||
else -> {
|
||||
error("Unexpected menu item selected")
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@+id/action_go_artist"
|
||||
android:title="@string/lbl_go_artist" />
|
||||
<item
|
||||
android:id="@+id/action_go_album"
|
||||
android:title="@string/lbl_go_album" />
|
||||
<item
|
||||
android:id="@+id/action_song_detail"
|
||||
android:title="@string/lbl_song_detail" />
|
||||
</menu>
|
|
@ -19,21 +19,6 @@
|
|||
app:destination="@id/song_detail_dialog" />
|
||||
</fragment>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/queue_fragment"
|
||||
android:name="org.oxycblt.auxio.playback.queue.QueueFragment"
|
||||
android:label="QueueFragment"
|
||||
tools:layout="@layout/fragment_queue" />
|
||||
<fragment
|
||||
android:id="@+id/about_fragment"
|
||||
android:name="org.oxycblt.auxio.settings.AboutFragment"
|
||||
android:label="dialog_about"
|
||||
tools:layout="@layout/fragment_about" />
|
||||
<fragment
|
||||
android:id="@+id/settings_fragment"
|
||||
android:name="org.oxycblt.auxio.settings.SettingsFragment"
|
||||
android:label="fragment_settings"
|
||||
tools:layout="@layout/fragment_settings" />
|
||||
<dialog
|
||||
android:id="@+id/song_detail_dialog"
|
||||
android:name="org.oxycblt.auxio.detail.SongDetailDialog"
|
||||
|
@ -43,4 +28,57 @@
|
|||
android:name="songUid"
|
||||
app:argType="org.oxycblt.auxio.music.Music$UID" />
|
||||
</dialog>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/settings_fragment"
|
||||
android:name="org.oxycblt.auxio.settings.SettingsFragment"
|
||||
android:label="fragment_settings"
|
||||
tools:layout="@layout/fragment_settings" >
|
||||
<action
|
||||
android:id="@+id/go_to_accent_dialog"
|
||||
app:destination="@id/accent_dialog" />
|
||||
<action
|
||||
android:id="@+id/go_to_tab_dialog"
|
||||
app:destination="@id/tab_dialog" />
|
||||
<action
|
||||
android:id="@+id/go_to_pre_amp_dialog"
|
||||
app:destination="@id/pre_amp_dialog" />
|
||||
<action
|
||||
android:id="@+id/go_to_music_dirs_dialog"
|
||||
app:destination="@id/music_dirs_dialog" />
|
||||
<action
|
||||
android:id="@+id/go_to_separators_dialog"
|
||||
app:destination="@id/separators_dialog" />
|
||||
</fragment>
|
||||
<dialog
|
||||
android:id="@+id/accent_dialog"
|
||||
android:name="org.oxycblt.auxio.ui.accent.AccentCustomizeDialog"
|
||||
android:label="accent_dialog"
|
||||
tools:layout="@layout/dialog_accent" />
|
||||
<dialog
|
||||
android:id="@+id/tab_dialog"
|
||||
android:name="org.oxycblt.auxio.home.tabs.TabCustomizeDialog"
|
||||
android:label="tab_dialog"
|
||||
tools:layout="@layout/dialog_tabs" />
|
||||
<dialog
|
||||
android:id="@+id/pre_amp_dialog"
|
||||
android:name="org.oxycblt.auxio.playback.replaygain.PreAmpCustomizeDialog"
|
||||
android:label="pre_amp_dialog"
|
||||
tools:layout="@layout/dialog_pre_amp" />
|
||||
<dialog
|
||||
android:id="@+id/music_dirs_dialog"
|
||||
android:name="org.oxycblt.auxio.music.settings.MusicDirsDialog"
|
||||
android:label="music_dirs_dialog"
|
||||
tools:layout="@layout/dialog_music_dirs" />
|
||||
<dialog
|
||||
android:id="@+id/separators_dialog"
|
||||
android:name="org.oxycblt.auxio.music.settings.SeparatorsDialog"
|
||||
android:label="music_dirs_dialog"
|
||||
tools:layout="@layout/dialog_separators" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/about_fragment"
|
||||
android:name="org.oxycblt.auxio.settings.AboutFragment"
|
||||
android:label="dialog_about"
|
||||
tools:layout="@layout/fragment_about" />
|
||||
</navigation>
|
|
@ -102,6 +102,7 @@
|
|||
<plurals name="fmt_album_count">
|
||||
<item quantity="one">%d albumas</item>
|
||||
<item quantity="few">%d albumai</item>
|
||||
<item quantity="many">%d albumo</item>
|
||||
<item quantity="other">%d albumo</item>
|
||||
</plurals>
|
||||
<string name="lbl_remix_group">Remiksai</string>
|
||||
|
@ -112,6 +113,7 @@
|
|||
<plurals name="fmt_song_count">
|
||||
<item quantity="one">%d daina</item>
|
||||
<item quantity="few">%d dainos</item>
|
||||
<item quantity="many">%d dainą</item>
|
||||
<item quantity="other">%d dainą</item>
|
||||
</plurals>
|
||||
<string name="clr_dynamic">Dinaminis</string>
|
||||
|
@ -194,7 +196,7 @@
|
|||
<string name="fmt_lib_genre_count">Įkrauti žanrai: %d</string>
|
||||
<string name="fmt_lib_album_count">Įkrauti albumai: %d</string>
|
||||
<string name="fmt_lib_artist_count">Įkelti atlikėjai: %d</string>
|
||||
<string name="fmt_indexing">Kraunama jūsų muzikos biblioteka... (%1$d/%2$d)</string>
|
||||
<string name="fmt_indexing">Kraunama jūsų muzikos biblioteka… (%1$d/%2$d)</string>
|
||||
<string name="desc_shuffle_all">Maišyti visas dainas</string>
|
||||
<string name="set_behavior">Elgesys</string>
|
||||
<string name="set_pre_amp_warning">Įspėjimas: Keičiant išankstinį stiprintuvą į didelę teigiamą vertę, kai kuriuose garso takeliuose gali atsirasti pikų.</string>
|
||||
|
|
|
@ -64,13 +64,11 @@
|
|||
<string name="fmt_lib_song_count">Músicas carregadas: %d</string>
|
||||
<plurals name="fmt_song_count">
|
||||
<item quantity="one">%d música</item>
|
||||
<item quantity="many">%d músicas</item>
|
||||
<item quantity="other"></item>
|
||||
<item quantity="other">%d músicas</item>
|
||||
</plurals>
|
||||
<plurals name="fmt_album_count">
|
||||
<item quantity="one">%d álbum</item>
|
||||
<item quantity="many">%d álbuns</item>
|
||||
<item quantity="other"></item>
|
||||
<item quantity="other">%d álbuns</item>
|
||||
</plurals>
|
||||
<string name="lbl_sort_asc">Crescente</string>
|
||||
<string name="lbl_song_detail">Ver propriedades</string>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory app:title="@string/set_ui">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
<org.oxycblt.auxio.settings.IntListPreference
|
||||
app:defaultValue="@integer/theme_auto"
|
||||
app:entries="@array/entries_theme"
|
||||
app:entryIcons="@array/icons_theme"
|
||||
|
@ -12,7 +12,7 @@
|
|||
app:key="@string/set_key_theme"
|
||||
app:title="@string/set_theme" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
<org.oxycblt.auxio.settings.WrappedDialogPreference
|
||||
app:icon="@drawable/ic_accent_24"
|
||||
app:key="@string/set_key_accent"
|
||||
app:title="@string/set_accent" />
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
<PreferenceCategory app:title="@string/set_display">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
<org.oxycblt.auxio.settings.WrappedDialogPreference
|
||||
app:key="@string/set_key_lib_tabs"
|
||||
app:summary="@string/set_lib_tabs_desc"
|
||||
app:title="@string/set_lib_tabs" />
|
||||
|
@ -51,7 +51,7 @@
|
|||
app:summary="@string/set_round_mode_desc"
|
||||
app:title="@string/set_round_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
<org.oxycblt.auxio.settings.IntListPreference
|
||||
app:defaultValue="@integer/bar_action_next"
|
||||
app:entries="@array/entries_bar_action"
|
||||
app:entryValues="@array/values_bar_action"
|
||||
|
@ -74,14 +74,14 @@
|
|||
app:summary="@string/set_headset_autoplay_desc"
|
||||
app:title="@string/set_headset_autoplay" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
<org.oxycblt.auxio.settings.IntListPreference
|
||||
app:defaultValue="@integer/replay_gain_dynamic"
|
||||
app:entries="@array/entries_replay_gain"
|
||||
app:entryValues="@array/values_replay_gain"
|
||||
app:key="@string/set_key_replay_gain"
|
||||
app:title="@string/set_replay_gain" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
<org.oxycblt.auxio.settings.WrappedDialogPreference
|
||||
app:key="@string/set_key_pre_amp"
|
||||
app:summary="@string/set_pre_amp_desc"
|
||||
app:title="@string/set_pre_amp" />
|
||||
|
@ -90,7 +90,7 @@
|
|||
|
||||
<PreferenceCategory app:title="@string/set_behavior">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
<org.oxycblt.auxio.settings.IntListPreference
|
||||
app:defaultValue="@integer/play_mode_songs"
|
||||
app:entries="@array/entries_library_song_playback_mode"
|
||||
app:entryValues="@array/values_library_song_playback_mode"
|
||||
|
@ -98,7 +98,7 @@
|
|||
app:title="@string/set_library_song_playback_mode"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
<org.oxycblt.auxio.settings.IntListPreference
|
||||
app:defaultValue="@integer/play_mode_none"
|
||||
app:entries="@array/entries_detail_song_playback_mode"
|
||||
app:entryValues="@array/values_detail_song_playback_mode"
|
||||
|
@ -154,12 +154,12 @@
|
|||
app:summary="@string/set_observing_desc"
|
||||
app:title="@string/set_observing" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
<org.oxycblt.auxio.settings.WrappedDialogPreference
|
||||
app:key="@string/set_key_music_dirs"
|
||||
app:summary="@string/set_dirs_desc"
|
||||
app:title="@string/set_dirs" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
<org.oxycblt.auxio.settings.WrappedDialogPreference
|
||||
app:key="@string/set_key_separators"
|
||||
app:summary="@string/set_separators_desc"
|
||||
app:title="@string/set_separators" />
|
||||
|
|
Loading…
Reference in a new issue