playback: unify notif and bar actions
Unify notif and bar actions under a new "ActionMode" enum. This just makes things consistent.
This commit is contained in:
parent
936f0ca167
commit
35e402b6b4
25 changed files with 142 additions and 90 deletions
|
@ -143,12 +143,12 @@ object IntegerTable {
|
|||
/** ReplayGainMode.Dynamic */
|
||||
const val REPLAY_GAIN_MODE_DYNAMIC = 0xA113
|
||||
|
||||
/** BarAction.Next */
|
||||
/** ActionMode.Next */
|
||||
const val BAR_ACTION_NEXT = 0xA119
|
||||
|
||||
/** BarAction.Repeat */
|
||||
/** ActionMode.Repeat */
|
||||
const val BAR_ACTION_REPEAT = 0xA11A
|
||||
|
||||
/** BarAction.Shuffle */
|
||||
/** ActionMode.Shuffle */
|
||||
const val BAR_ACTION_SHUFFLE = 0xA11B
|
||||
}
|
||||
|
|
45
app/src/main/java/org/oxycblt/auxio/playback/ActionMode.kt
Normal file
45
app/src/main/java/org/oxycblt/auxio/playback/ActionMode.kt
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright (c) 2022 Auxio Project
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.playback
|
||||
|
||||
import org.oxycblt.auxio.IntegerTable
|
||||
|
||||
/** Represents the action that should be shown on the playback bar. */
|
||||
enum class ActionMode {
|
||||
NEXT,
|
||||
REPEAT,
|
||||
SHUFFLE;
|
||||
|
||||
val intCode: Int
|
||||
get() = when (this) {
|
||||
NEXT -> IntegerTable.BAR_ACTION_NEXT
|
||||
REPEAT -> IntegerTable.BAR_ACTION_REPEAT
|
||||
SHUFFLE -> IntegerTable.BAR_ACTION_SHUFFLE
|
||||
}
|
||||
|
||||
companion object {
|
||||
/** Convert an int [code] into an instance, or null if it isn't valid. */
|
||||
fun fromIntCode(code: Int) =
|
||||
when (code) {
|
||||
IntegerTable.BAR_ACTION_NEXT -> NEXT
|
||||
IntegerTable.BAR_ACTION_REPEAT -> REPEAT
|
||||
IntegerTable.BAR_ACTION_SHUFFLE -> SHUFFLE
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,7 +20,6 @@ package org.oxycblt.auxio.playback
|
|||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import org.oxycblt.auxio.IntegerTable
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentPlaybackBarBinding
|
||||
import org.oxycblt.auxio.music.Song
|
||||
|
@ -73,8 +72,8 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
|
||||
// Update the secondary action to match the setting.
|
||||
|
||||
when (Settings(context).barAction) {
|
||||
BarAction.NEXT -> {
|
||||
when (Settings(context).actionMode) {
|
||||
ActionMode.NEXT -> {
|
||||
binding.playbackSecondaryAction.apply {
|
||||
setIconResource(R.drawable.ic_skip_next_24)
|
||||
contentDescription = getString(R.string.desc_skip_next)
|
||||
|
@ -82,7 +81,7 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
setOnClickListener { playbackModel.next() }
|
||||
}
|
||||
}
|
||||
BarAction.REPEAT -> {
|
||||
ActionMode.REPEAT -> {
|
||||
binding.playbackSecondaryAction.apply {
|
||||
contentDescription = getString(R.string.desc_change_repeat)
|
||||
iconTint = context.getColorCompat(R.color.sel_accented)
|
||||
|
@ -90,7 +89,7 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
collectImmediately(playbackModel.repeatMode, ::updateRepeat)
|
||||
}
|
||||
}
|
||||
BarAction.SHUFFLE -> {
|
||||
ActionMode.SHUFFLE -> {
|
||||
binding.playbackSecondaryAction.apply {
|
||||
setIconResource(R.drawable.sel_shuffle_state_24)
|
||||
contentDescription = getString(R.string.desc_shuffle)
|
||||
|
@ -144,21 +143,3 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
requireBinding().playbackProgressBar.progress = positionDs.toInt()
|
||||
}
|
||||
}
|
||||
|
||||
/** Represents the action that should be shown on the playback bar. */
|
||||
enum class BarAction {
|
||||
NEXT,
|
||||
REPEAT,
|
||||
SHUFFLE;
|
||||
|
||||
companion object {
|
||||
/** Convert an int [code] into an instance, or null if it isn't valid. */
|
||||
fun fromIntCode(code: Int) =
|
||||
when (code) {
|
||||
IntegerTable.BAR_ACTION_NEXT -> NEXT
|
||||
IntegerTable.BAR_ACTION_REPEAT -> REPEAT
|
||||
IntegerTable.BAR_ACTION_SHUFFLE -> SHUFFLE
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.oxycblt.auxio.R
|
|||
import org.oxycblt.auxio.image.BitmapProvider
|
||||
import org.oxycblt.auxio.music.MusicParent
|
||||
import org.oxycblt.auxio.music.Song
|
||||
import org.oxycblt.auxio.playback.ActionMode
|
||||
import org.oxycblt.auxio.playback.state.InternalPlayer
|
||||
import org.oxycblt.auxio.playback.state.PlaybackStateManager
|
||||
import org.oxycblt.auxio.playback.state.RepeatMode
|
||||
|
@ -254,7 +255,7 @@ class MediaSessionComponent(private val context: Context, private val callback:
|
|||
context.getString(R.string.set_key_show_covers),
|
||||
context.getString(R.string.set_key_quality_covers) ->
|
||||
updateMediaMetadata(playbackManager.song, playbackManager.parent)
|
||||
context.getString(R.string.set_key_alt_notif_action) -> invalidateSecondaryAction()
|
||||
context.getString(R.string.set_key_notif_action) -> invalidateSecondaryAction()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -368,9 +369,8 @@ class MediaSessionComponent(private val context: Context, private val callback:
|
|||
|
||||
// Android 13+ leverages custom actions in the notification.
|
||||
|
||||
val extraAction =
|
||||
if (settings.useAltNotifAction) {
|
||||
PlaybackStateCompat.CustomAction.Builder(
|
||||
val extraAction = when (settings.notifAction) {
|
||||
ActionMode.SHUFFLE -> PlaybackStateCompat.CustomAction.Builder(
|
||||
PlaybackService.ACTION_INVERT_SHUFFLE,
|
||||
context.getString(R.string.desc_shuffle),
|
||||
if (playbackManager.isShuffled) {
|
||||
|
@ -379,8 +379,8 @@ class MediaSessionComponent(private val context: Context, private val callback:
|
|||
R.drawable.ic_shuffle_off_24
|
||||
}
|
||||
)
|
||||
} else {
|
||||
PlaybackStateCompat.CustomAction.Builder(
|
||||
|
||||
else -> PlaybackStateCompat.CustomAction.Builder(
|
||||
PlaybackService.ACTION_INC_REPEAT_MODE,
|
||||
context.getString(R.string.desc_change_repeat),
|
||||
playbackManager.repeatMode.icon
|
||||
|
@ -404,10 +404,9 @@ class MediaSessionComponent(private val context: Context, private val callback:
|
|||
private fun invalidateSecondaryAction() {
|
||||
invalidateSessionState()
|
||||
|
||||
if (settings.useAltNotifAction) {
|
||||
notification.updateShuffled(playbackManager.isShuffled)
|
||||
} else {
|
||||
notification.updateRepeatMode(playbackManager.repeatMode)
|
||||
when (settings.notifAction) {
|
||||
ActionMode.SHUFFLE -> notification.updateShuffled(playbackManager.isShuffled)
|
||||
else -> notification.updateRepeatMode(playbackManager.repeatMode)
|
||||
}
|
||||
|
||||
if (!provider.isBusy) {
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.oxycblt.auxio.music.MusicMode
|
|||
import org.oxycblt.auxio.music.Sort
|
||||
import org.oxycblt.auxio.music.storage.Directory
|
||||
import org.oxycblt.auxio.music.storage.MusicDirs
|
||||
import org.oxycblt.auxio.playback.BarAction
|
||||
import org.oxycblt.auxio.playback.ActionMode
|
||||
import org.oxycblt.auxio.playback.replaygain.ReplayGainMode
|
||||
import org.oxycblt.auxio.playback.replaygain.ReplayGainPreAmp
|
||||
import org.oxycblt.auxio.ui.accent.Accent
|
||||
|
@ -74,12 +74,28 @@ class Settings(private val context: Context, private val callback: Callback? = n
|
|||
}
|
||||
|
||||
inner.edit {
|
||||
putInt(context.getString(R.string.set_accent), accent)
|
||||
putInt(context.getString(R.string.set_key_accent), accent)
|
||||
remove(OldKeys.KEY_ACCENT3)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
|
||||
if (inner.contains(OldKeys.KEY_ALT_NOTIF_ACTION)) {
|
||||
logD("Migrating ${OldKeys.KEY_ALT_NOTIF_ACTION}")
|
||||
|
||||
val mode = if (inner.getBoolean(OldKeys.KEY_ALT_NOTIF_ACTION, false)) {
|
||||
ActionMode.SHUFFLE
|
||||
} else {
|
||||
ActionMode.REPEAT
|
||||
}
|
||||
|
||||
inner.edit {
|
||||
putInt(context.getString(R.string.set_key_notif_action), mode.intCode)
|
||||
remove(OldKeys.KEY_ALT_NOTIF_ACTION)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.migratePlaybackMode() =
|
||||
when (this) {
|
||||
// Genre playback mode was retried in 3.0.0
|
||||
|
@ -100,6 +116,7 @@ class Settings(private val context: Context, private val callback: Callback? = n
|
|||
inner.edit {
|
||||
putInt(context.getString(R.string.set_key_library_song_playback_mode), mode.intCode)
|
||||
remove(OldKeys.KEY_LIB_PLAYBACK_MODE)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,6 +131,7 @@ class Settings(private val context: Context, private val callback: Callback? = n
|
|||
mode?.intCode ?: Int.MIN_VALUE
|
||||
)
|
||||
remove(OldKeys.KEY_DETAIL_PLAYBACK_MODE)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -182,19 +200,19 @@ class Settings(private val context: Context, private val callback: Callback? = n
|
|||
get() = inner.getBoolean(context.getString(R.string.set_key_round_mode), false)
|
||||
|
||||
/** Which action to display on the playback bar. */
|
||||
val barAction: BarAction
|
||||
val actionMode: ActionMode
|
||||
get() =
|
||||
BarAction.fromIntCode(
|
||||
ActionMode.fromIntCode(
|
||||
inner.getInt(context.getString(R.string.set_key_bar_action), Int.MIN_VALUE)
|
||||
)
|
||||
?: BarAction.NEXT
|
||||
?: ActionMode.NEXT
|
||||
|
||||
/**
|
||||
* Whether to display the RepeatMode or the shuffle status on the notification. False if repeat,
|
||||
* true if shuffle.
|
||||
*/
|
||||
val useAltNotifAction: Boolean
|
||||
get() = inner.getBoolean(context.getString(R.string.set_key_alt_notif_action), false)
|
||||
val notifAction: ActionMode
|
||||
get() = ActionMode.fromIntCode(inner.getInt(context.getString(R.string.set_key_notif_action), Int.MIN_VALUE)) ?: ActionMode.REPEAT
|
||||
|
||||
/** Whether to resume playback when a headset is connected (may not work well in all cases) */
|
||||
val headsetAutoplay: Boolean
|
||||
|
@ -439,6 +457,7 @@ class Settings(private val context: Context, private val callback: Callback? = n
|
|||
/** Cache of the old keys used in Auxio. */
|
||||
private object OldKeys {
|
||||
const val KEY_ACCENT3 = "auxio_accent"
|
||||
const val KEY_ALT_NOTIF_ACTION = "KEY_ALT_NOTIF_ACTION"
|
||||
const val KEY_LIB_PLAYBACK_MODE = "KEY_SONG_PLAY_MODE2"
|
||||
const val KEY_DETAIL_PLAYBACK_MODE = "auxio_detail_song_play_mode"
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<string name="set_quality_covers_desc">يزيد من جودة غلاف الالبوم، لكن يؤذي إلى زيادة وقت التحميل واستخدام اعلى للذاكرة</string>
|
||||
<string name="set_round_mode">اغلفة البوم مدورة</string>
|
||||
<string name="set_round_mode_desc">جعل اغلفة الابومات ذات زوايا مدورة</string>
|
||||
<string name="set_alt_action">استخدام نشاط بديل للإشعار</string>
|
||||
<string name="set_notif_action">استخدام نشاط بديل للإشعار</string>
|
||||
<string name="set_alt_repeat">تفضيل نشاط وضع التكرار</string>
|
||||
<string name="set_alt_shuffle">تفضيل نشاط الخلط</string>
|
||||
<string name="set_audio">صوتيات</string>
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<string name="set_quality_covers_desc">Zvýší kvalitu obalů alb, ale znamená také delší časy načítání a vyšší využití paměti</string>
|
||||
<string name="set_round_mode">Zakulacené obaly alb</string>
|
||||
<string name="set_round_mode_desc">Použít obaly alb se zakulacenými rohy</string>
|
||||
<string name="set_alt_action">Použít alternativní akci oznámení</string>
|
||||
<string name="set_notif_action">Použít alternativní akci oznámení</string>
|
||||
<string name="set_alt_repeat">Preferovat akci režimu opakování</string>
|
||||
<string name="set_alt_shuffle">Preferovat akci náhodného přehrávání</string>
|
||||
<string name="set_audio">Zvuk</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="set_quality_covers_desc">Verbesst die Albumcoverqualität, führt jedoch zu längeren Ladezeiten und höherem Speicherverbrauch</string>
|
||||
<string name="set_round_mode">Abgerundete Cover</string>
|
||||
<string name="set_round_mode_desc">Rundet Ecken der Cover ab</string>
|
||||
<string name="set_alt_action">Alternative Aktionstaste verwenden</string>
|
||||
<string name="set_notif_action">Alternative Aktionstaste verwenden</string>
|
||||
<string name="set_alt_repeat">Wiederholen-Aktionstaste bevorzugen</string>
|
||||
<string name="set_alt_shuffle">Zufällig-Aktionstaste bevorzugen</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<string name="set_quality_covers_desc">Incrementa la calidad de las carátulas, pero deriva en mayores tiempos de carga y uso de memoria</string>
|
||||
<string name="set_round_mode">Carátulas redondeadas</string>
|
||||
<string name="set_round_mode_desc">Usar carátulas redondeadas para los álbumes</string>
|
||||
<string name="set_alt_action">Usar acciones de notificación alternativas</string>
|
||||
<string name="set_notif_action">Usar acciones de notificación alternativas</string>
|
||||
<string name="set_alt_repeat">Preferir acción de bucle</string>
|
||||
<string name="set_alt_shuffle">Preferir acción de mezcla</string>
|
||||
<string name="set_audio">Sonido</string>
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
<string name="set_audio">Tunog</string>
|
||||
<string name="set_headset_autoplay">Kusang pagtugtog ng headset</string>
|
||||
<string name="set_headset_autoplay_desc">Laging simulan ang pagtugtog tuwing pagkonekta ng headset (maaaring \'di gumana sa lahat ng device)</string>
|
||||
<string name="set_alt_action">Naisin ang alternatibong aksyong patalastas</string>
|
||||
<string name="set_notif_action">Naisin ang alternatibong aksyong patalastas</string>
|
||||
<string name="set_alt_repeat">Naisin ang aksyong modang pang-ulit</string>
|
||||
<string name="set_replay_gain_dynamic">Naisin ang album kung may isang tumutugtog</string>
|
||||
<string name="set_pre_amp">ReplayGain pre-amp</string>
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
<string name="set_black_mode_desc">Utiliser un thème noir pur</string>
|
||||
<string name="set_lib_tabs_desc">Modifier la visibilité et l\'ordre des onglets de la bibliothèque</string>
|
||||
<string name="lbl_bitrate">Débit binaire</string>
|
||||
<string name="set_alt_action">Utiliser une autre action de notification</string>
|
||||
<string name="set_notif_action">Utiliser une autre action de notification</string>
|
||||
<string name="lbl_sample_rate">Taux d\'échantillonnage</string>
|
||||
<string name="lbl_relative_path">Chemin parent</string>
|
||||
<string name="lbl_file_name">Nom du fichier</string>
|
||||
|
|
|
@ -195,7 +195,7 @@
|
|||
<string name="set_title">Postavke</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Automatski</string>
|
||||
<string name="set_alt_action">Koristi alternativnu radnju za obavijest</string>
|
||||
<string name="set_notif_action">Koristi alternativnu radnju za obavijest</string>
|
||||
<string name="set_round_mode_desc">Omogući zaobljene rubove na dodatnim elementima korisničkog sučelja (zahtijeva zaobljene omote albuma)</string>
|
||||
<string name="set_behavior">Ponašanje</string>
|
||||
<string name="set_rewind_prev">Premotaj prije preskakanja natrag</string>
|
||||
|
|
|
@ -88,7 +88,7 @@
|
|||
<string name="lbl_library_counts">Statistik perpustakaan</string>
|
||||
<string name="set_show_covers_desc">Matikan untuk menghemat penggunaan memori</string>
|
||||
<string name="set_quality_covers_desc">Meningkatkan kualitas sampul album, tetapi menghasilkan waktu pemuatan yang lebih lama dan penggunaan memori yang lebih tinggi</string>
|
||||
<string name="set_alt_action">Gunakan tindakan pemberitahuan alternatif</string>
|
||||
<string name="set_notif_action">Gunakan tindakan pemberitahuan alternatif</string>
|
||||
<string name="set_alt_repeat">Lebih suka tindakan mode pengulangan</string>
|
||||
<string name="set_alt_shuffle">Lebih suka tindakan mengacak</string>
|
||||
<string name="lbl_shuffle_shortcut_short">Acak</string>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
<string name="set_quality_covers_desc">Migliora la qualità delle copertine, ma comporta maggiori tempi di caricamento e consumo di memoria</string>
|
||||
<string name="set_round_mode">Copertine dischi arrotondate</string>
|
||||
<string name="set_round_mode_desc">Usa copertine dischi con angoli arrotondati</string>
|
||||
<string name="set_alt_action">Usa azioni notifica alternative</string>
|
||||
<string name="set_notif_action">Usa azioni notifica alternative</string>
|
||||
<string name="set_alt_repeat">Preferisci azione modalità ripetizione</string>
|
||||
<string name="set_alt_shuffle">Preferisci azione mescola</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
<string name="set_quality_covers_desc">앨범 커버의 품질을 높일 수 있지만 메모리 사용량이 늘어나고 불러오는 시간이 더 오래 걸립니다.</string>
|
||||
<string name="set_round_mode">둥근 앨범 커버 사용</string>
|
||||
<string name="set_round_mode_desc">앨범 커버의 가장자리를 둥글게 표시</string>
|
||||
<string name="set_alt_action">다른 방식의 알림 동작 사용</string>
|
||||
<string name="set_notif_action">다른 방식의 알림 동작 사용</string>
|
||||
<string name="set_alt_repeat">반복 모드 동작 선호</string>
|
||||
<string name="set_alt_shuffle">무작위 동작 선호</string>
|
||||
<string name="set_audio">오디오</string>
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
<string name="set_audio">Garso</string>
|
||||
<string name="set_quality_covers">Ignoruoti „MediaStore“ viršelius</string>
|
||||
<string name="set_round_mode">Apvalus režimas</string>
|
||||
<string name="set_alt_action">Naudoti alternatyvų pranešimo veiksmą</string>
|
||||
<string name="set_notif_action">Naudoti alternatyvų pranešimo veiksmą</string>
|
||||
<string name="cdc_mp3">MPEG-1 garsas</string>
|
||||
<string name="clr_green">Žalia</string>
|
||||
<string name="clr_deep_green">Giliai žalia</string>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<string name="set_show_covers_desc">Schakel uit om geheugengebruik te besparen</string>
|
||||
<string name="set_quality_covers">Negeer Mediaopslag illustraties</string>
|
||||
<string name="set_quality_covers_desc">Verhoogt de kwaliteit van de albumhoezen, maar resulteert in langere laadtijden en hoger geheugengebruik </string>
|
||||
<string name="set_alt_action">Gebruikt een afternatief notification action</string>
|
||||
<string name="set_notif_action">Gebruikt een afternatief notification action</string>
|
||||
<string name="set_alt_repeat">Voorkeur aan herhaalde actie</string>
|
||||
<string name="set_alt_shuffle">Voorkeur aan shuffle actie</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
|
|
|
@ -215,7 +215,7 @@
|
|||
<string name="err_no_app">Nie znaleziono aplikacji mogącej wykonać to zadanie</string>
|
||||
<string name="lbl_library_counts">Statystyki biblioteki</string>
|
||||
<string name="fmt_lib_artist_count">Załadowani artyści: %d</string>
|
||||
<string name="set_alt_action">Użyj alternatywnej akcji w powiadomieniu</string>
|
||||
<string name="set_notif_action">Użyj alternatywnej akcji w powiadomieniu</string>
|
||||
<string name="set_repeat_pause">Zatrzymaj odtwarzanie przy powtórzeniu</string>
|
||||
<string name="desc_clear_search">Wyczyść zapytanie wyszukiwania</string>
|
||||
<string name="err_did_not_restore">Nie można przywrócić stanu odtwarzania</string>
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
<string name="lbl_library_counts">Estatísticas da biblioteca</string>
|
||||
<string name="set_show_covers_desc">Desligue para economizar o uso de memória</string>
|
||||
<string name="set_quality_covers_desc">Aumenta a qualidade da capa do álbum, mas resulta em tempos de carregamento mais longos e maior uso de memória</string>
|
||||
<string name="set_alt_action">Usar ação de notificação alternativa</string>
|
||||
<string name="set_notif_action">Usar ação de notificação alternativa</string>
|
||||
<string name="set_alt_repeat">Prefira a ação do modo de repetição</string>
|
||||
<string name="set_pre_amp_desc">O pré-amplificador é aplicado ao ajuste existente durante a reprodução</string>
|
||||
<string name="set_pre_amp_warning">Aviso: Alterar o pré-amplificador para um valor positivo alto pode resultar em picos em algumas faixas de áudio.</string>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<string name="set_quality_covers_desc">Улучшает качество обложек, но увеличивает время загрузки и использование памяти</string>
|
||||
<string name="set_round_mode">Скруглённые обложки</string>
|
||||
<string name="set_round_mode_desc">Показывать обложки со скруглёнными краями</string>
|
||||
<string name="set_alt_action">Кнопка в уведомлении</string>
|
||||
<string name="set_notif_action">Кнопка в уведомлении</string>
|
||||
<string name="set_alt_repeat">Режим повтора</string>
|
||||
<string name="set_alt_shuffle">Режим перемешивания</string>
|
||||
<string name="set_audio">Звук</string>
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
<string name="fmt_indexing">Müzik kitaplığınız yükleniyor… (%1$d/%2$d)</string>
|
||||
<string name="fmt_lib_song_count">Yüklenen şarkılar: %d</string>
|
||||
<string name="fmt_lib_album_count">Yüklenen albümler: %d</string>
|
||||
<string name="set_alt_action">Alternatif bildirim eylemi kullan</string>
|
||||
<string name="set_notif_action">Alternatif bildirim eylemi kullan</string>
|
||||
<string name="set_replay_gain_dynamic">Çalan bir albüm varsa tercih et</string>
|
||||
<string name="set_alt_repeat">Tekrar modu eylemini tercih et</string>
|
||||
<string name="set_alt_shuffle">Karıştırma eylemini tercih et</string>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<string name="set_quality_covers_desc">提升专辑封面质量,但需要更长的加载时间并消耗更多内存</string>
|
||||
<string name="set_round_mode">专辑封面圆角</string>
|
||||
<string name="set_round_mode_desc">使用圆角设计的专辑封面</string>
|
||||
<string name="set_alt_action">使用替代通知操作方案</string>
|
||||
<string name="set_notif_action">使用替代通知操作方案</string>
|
||||
<string name="set_alt_repeat">偏好重复播放操作</string>
|
||||
<string name="set_alt_shuffle">偏好随机播放操作</string>
|
||||
<string name="set_audio">音频</string>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<string name="set_key_quality_covers" translatable="false">KEY_QUALITY_COVERS</string>
|
||||
<string name="set_key_round_mode" translatable="false">auxio_round_covers</string>
|
||||
<string name="set_key_bar_action" translatable="false">auxio_bar_action</string>
|
||||
<string name="set_key_alt_notif_action" translatable="false">KEY_ALT_NOTIF_ACTION</string>
|
||||
<string name="set_key_notif_action" translatable="false">auxio_notif_action</string>
|
||||
|
||||
<string name="set_key_headset_autoplay" translatable="false">auxio_headset_autoplay</string>
|
||||
<string name="set_key_replay_gain" translatable="false">auxio_replay_gain</string>
|
||||
|
@ -70,9 +70,19 @@
|
|||
</string-array>
|
||||
|
||||
<integer-array name="values_bar_action">
|
||||
<item>@integer/bar_action_next</item>
|
||||
<item>@integer/bar_action_repeat</item>
|
||||
<item>@integer/bar_action_shuffle</item>
|
||||
<item>@integer/action_mode_next</item>
|
||||
<item>@integer/action_mode_repeat</item>
|
||||
<item>@integer/action_mode_shuffle</item>
|
||||
</integer-array>
|
||||
|
||||
<integer-array name="entries_notif_action">
|
||||
<item>@string/set_bar_action_repeat</item>
|
||||
<item>@string/lbl_shuffle</item>
|
||||
</integer-array>
|
||||
|
||||
<integer-array name="values_notif_action">
|
||||
<item>@integer/action_mode_repeat</item>
|
||||
<item>@integer/action_mode_shuffle</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="entries_library_song_playback_mode">
|
||||
|
@ -117,9 +127,9 @@
|
|||
<integer name="theme_light">1</integer>
|
||||
<integer name="theme_dark">2</integer>
|
||||
|
||||
<integer name="bar_action_next">0xA119</integer>
|
||||
<integer name="bar_action_repeat">0xA11A</integer>
|
||||
<integer name="bar_action_shuffle">0xA11B</integer>
|
||||
<integer name="action_mode_next">0xA119</integer>
|
||||
<integer name="action_mode_repeat">0xA11A</integer>
|
||||
<integer name="action_mode_shuffle">0xA11B</integer>
|
||||
|
||||
<integer name="music_mode_none">-2147483648</integer>
|
||||
<integer name="music_mode_artist">0xA109</integer>
|
||||
|
|
|
@ -181,9 +181,7 @@
|
|||
<string name="set_bar_action_next">Skip to next</string>
|
||||
<string name="set_bar_action_repeat">Repeat mode</string>
|
||||
<string name="set_bar_action_shuffle">Shuffle</string>
|
||||
<string name="set_alt_action">Use alternate notification action</string>
|
||||
<string name="set_alt_repeat">Prefer repeat mode action</string>
|
||||
<string name="set_alt_shuffle">Prefer shuffle action</string>
|
||||
<string name="set_notif_action">Custom notification action</string>
|
||||
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_headset_autoplay">Headset autoplay</string>
|
||||
|
|
|
@ -51,18 +51,18 @@
|
|||
app:title="@string/set_round_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/bar_action_next"
|
||||
app:defaultValue="@integer/action_mode_next"
|
||||
app:entries="@array/entries_bar_action"
|
||||
app:entryValues="@array/values_bar_action"
|
||||
app:key="@string/set_key_bar_action"
|
||||
app:title="@string/set_bar_action" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_alt_notif_action"
|
||||
app:summaryOff="@string/set_alt_repeat"
|
||||
app:summaryOn="@string/set_alt_shuffle"
|
||||
app:title="@string/set_alt_action" />
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/action_mode_repeat"
|
||||
app:entries="@array/entries_notif_action"
|
||||
app:entryValues="@array/values_notif_action"
|
||||
app:key="@string/set_key_notif_action"
|
||||
app:title="@string/set_notif_action" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
|
|
Loading…
Reference in a new issue