mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-04-25 13:12:16 +03:00
Merge branch 'apo' into 'develop'
Use string references for the setting keys. Also make parallel downloads configurable See merge request ultrasonic/ultrasonic!785
This commit is contained in:
commit
cfe16356c9
@ -245,8 +245,7 @@ class ActiveServerProvider(
|
|||||||
if (isOffline()) {
|
if (isOffline()) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
val preferences = Settings.preferences
|
return Settings.scrobbleEnabled
|
||||||
return preferences.getBoolean(Constants.PREFERENCES_KEY_SCROBBLE, false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -99,36 +99,38 @@ class SettingsFragment :
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setTitle(this, R.string.menu_settings)
|
setTitle(this, R.string.menu_settings)
|
||||||
theme = findPreference(Constants.PREFERENCES_KEY_THEME)
|
theme = findPreference(getString(R.string.setting_key_theme))
|
||||||
maxBitrateWifi = findPreference(Constants.PREFERENCES_KEY_MAX_BITRATE_WIFI)
|
maxBitrateWifi = findPreference(getString(R.string.setting_key_max_bitrate_wifi))
|
||||||
maxBitrateMobile = findPreference(Constants.PREFERENCES_KEY_MAX_BITRATE_MOBILE)
|
maxBitrateMobile = findPreference(getString(R.string.setting_key_max_bitrate_mobile))
|
||||||
cacheSize = findPreference(Constants.PREFERENCES_KEY_CACHE_SIZE)
|
cacheSize = findPreference(getString(R.string.setting_key_cache_size))
|
||||||
cacheLocation = findPreference(Constants.PREFERENCES_KEY_CACHE_LOCATION)
|
cacheLocation = findPreference(getString(R.string.setting_key_cache_location))
|
||||||
preloadCount = findPreference(Constants.PREFERENCES_KEY_PRELOAD_COUNT)
|
preloadCount = findPreference(getString(R.string.setting_key_preload_count))
|
||||||
bufferLength = findPreference(Constants.PREFERENCES_KEY_BUFFER_LENGTH)
|
bufferLength = findPreference(getString(R.string.setting_key_buffer_length))
|
||||||
incrementTime = findPreference(Constants.PREFERENCES_KEY_INCREMENT_TIME)
|
incrementTime = findPreference(getString(R.string.setting_key_increment_time))
|
||||||
networkTimeout = findPreference(Constants.PREFERENCES_KEY_NETWORK_TIMEOUT)
|
networkTimeout = findPreference(getString(R.string.setting_key_network_timeout))
|
||||||
maxAlbums = findPreference(Constants.PREFERENCES_KEY_MAX_ALBUMS)
|
maxAlbums = findPreference(getString(R.string.setting_key_max_albums))
|
||||||
maxSongs = findPreference(Constants.PREFERENCES_KEY_MAX_SONGS)
|
maxSongs = findPreference(getString(R.string.setting_key_max_songs))
|
||||||
maxArtists = findPreference(Constants.PREFERENCES_KEY_MAX_ARTISTS)
|
maxArtists = findPreference(getString(R.string.setting_key_max_artists))
|
||||||
defaultArtists = findPreference(Constants.PREFERENCES_KEY_DEFAULT_ARTISTS)
|
defaultArtists = findPreference(getString(R.string.setting_key_default_artists))
|
||||||
defaultSongs = findPreference(Constants.PREFERENCES_KEY_DEFAULT_SONGS)
|
defaultSongs = findPreference(getString(R.string.setting_key_default_songs))
|
||||||
defaultAlbums = findPreference(Constants.PREFERENCES_KEY_DEFAULT_ALBUMS)
|
defaultAlbums = findPreference(getString(R.string.setting_key_default_albums))
|
||||||
chatRefreshInterval = findPreference(Constants.PREFERENCES_KEY_CHAT_REFRESH_INTERVAL)
|
chatRefreshInterval = findPreference(getString(R.string.setting_key_chat_refresh_interval))
|
||||||
directoryCacheTime = findPreference(Constants.PREFERENCES_KEY_DIRECTORY_CACHE_TIME)
|
directoryCacheTime = findPreference(getString(R.string.setting_key_directory_cache_time))
|
||||||
mediaButtonsEnabled = findPreference(Constants.PREFERENCES_KEY_MEDIA_BUTTONS)
|
mediaButtonsEnabled = findPreference(getString(R.string.setting_key_media_buttons))
|
||||||
sharingDefaultDescription =
|
sharingDefaultDescription =
|
||||||
findPreference(Constants.PREFERENCES_KEY_DEFAULT_SHARE_DESCRIPTION)
|
findPreference(getString(R.string.setting_key_default_share_description))
|
||||||
sharingDefaultGreeting = findPreference(Constants.PREFERENCES_KEY_DEFAULT_SHARE_GREETING)
|
sharingDefaultGreeting =
|
||||||
|
findPreference(getString(R.string.setting_key_default_share_greeting))
|
||||||
sharingDefaultExpiration =
|
sharingDefaultExpiration =
|
||||||
findPreference(Constants.PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION)
|
findPreference(getString(R.string.setting_key_default_share_expiration))
|
||||||
resumeOnBluetoothDevice =
|
resumeOnBluetoothDevice =
|
||||||
findPreference(Constants.PREFERENCES_KEY_RESUME_ON_BLUETOOTH_DEVICE)
|
findPreference(getString(R.string.setting_key_resume_on_bluetooth_device))
|
||||||
pauseOnBluetoothDevice = findPreference(Constants.PREFERENCES_KEY_PAUSE_ON_BLUETOOTH_DEVICE)
|
pauseOnBluetoothDevice =
|
||||||
debugLogToFile = findPreference(Constants.PREFERENCES_KEY_DEBUG_LOG_TO_FILE)
|
findPreference(getString(R.string.setting_key_pause_on_bluetooth_device))
|
||||||
showArtistPicture = findPreference(Constants.PREFERENCES_KEY_SHOW_ARTIST_PICTURE)
|
debugLogToFile = findPreference(getString(R.string.setting_key_debug_log_to_file))
|
||||||
useId3TagsOffline = findPreference(Constants.PREFERENCES_KEY_ID3_TAGS_OFFLINE)
|
showArtistPicture = findPreference(getString(R.string.setting_key_show_artist_picture))
|
||||||
customCacheLocation = findPreference(Constants.PREFERENCES_KEY_CUSTOM_CACHE_LOCATION)
|
useId3TagsOffline = findPreference(getString(R.string.setting_key_id3_tags_offline))
|
||||||
|
customCacheLocation = findPreference(getString(R.string.setting_key_custom_cache_location))
|
||||||
|
|
||||||
sharingDefaultGreeting?.text = shareGreeting
|
sharingDefaultGreeting?.text = shareGreeting
|
||||||
|
|
||||||
@ -220,22 +222,22 @@ class SettingsFragment :
|
|||||||
Timber.d("Preference changed: %s", key)
|
Timber.d("Preference changed: %s", key)
|
||||||
update()
|
update()
|
||||||
when (key) {
|
when (key) {
|
||||||
Constants.PREFERENCES_KEY_HIDE_MEDIA -> {
|
getString(R.string.setting_key_hide_media) -> {
|
||||||
setHideMedia(sharedPreferences.getBoolean(key, false))
|
setHideMedia(sharedPreferences.getBoolean(key, false))
|
||||||
}
|
}
|
||||||
Constants.PREFERENCES_KEY_DEBUG_LOG_TO_FILE -> {
|
getString(R.string.setting_key_debug_log_to_file) -> {
|
||||||
setDebugLogToFile(sharedPreferences.getBoolean(key, false))
|
setDebugLogToFile(sharedPreferences.getBoolean(key, false))
|
||||||
}
|
}
|
||||||
Constants.PREFERENCES_KEY_ID3_TAGS -> {
|
getString(R.string.setting_key_id3_tags) -> {
|
||||||
val enabled = sharedPreferences.getBoolean(key, false)
|
val enabled = sharedPreferences.getBoolean(key, false)
|
||||||
showArtistPicture?.isEnabled = enabled
|
showArtistPicture?.isEnabled = enabled
|
||||||
useId3TagsOffline?.isEnabled = enabled
|
useId3TagsOffline?.isEnabled = enabled
|
||||||
setupTextColors(enabled)
|
setupTextColors(enabled)
|
||||||
}
|
}
|
||||||
Constants.PREFERENCES_KEY_THEME -> {
|
getString(R.string.setting_key_theme) -> {
|
||||||
RxBus.themeChangedEventPublisher.onNext(Unit)
|
RxBus.themeChangedEventPublisher.onNext(Unit)
|
||||||
}
|
}
|
||||||
Constants.PREFERENCES_KEY_CUSTOM_CACHE_LOCATION -> {
|
getString(R.string.setting_key_custom_cache_location) -> {
|
||||||
if (Settings.customCacheLocation) {
|
if (Settings.customCacheLocation) {
|
||||||
selectCacheLocation()
|
selectCacheLocation()
|
||||||
} else {
|
} else {
|
||||||
@ -360,7 +362,7 @@ class SettingsFragment :
|
|||||||
|
|
||||||
private fun setupClearSearchPreference() {
|
private fun setupClearSearchPreference() {
|
||||||
val clearSearchPreference =
|
val clearSearchPreference =
|
||||||
findPreference<Preference>(Constants.PREFERENCES_KEY_CLEAR_SEARCH_HISTORY)
|
findPreference<Preference>(getString(R.string.setting_key_clear_search_history))
|
||||||
if (clearSearchPreference != null) {
|
if (clearSearchPreference != null) {
|
||||||
clearSearchPreference.onPreferenceClickListener =
|
clearSearchPreference.onPreferenceClickListener =
|
||||||
Preference.OnPreferenceClickListener {
|
Preference.OnPreferenceClickListener {
|
||||||
|
@ -190,7 +190,7 @@ class Downloader(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fill up active List with waiting tasks
|
// Fill up active List with waiting tasks
|
||||||
while (activelyDownloading.size < PARALLEL_DOWNLOADS && downloadQueue.size > 0) {
|
while (activelyDownloading.size < Settings.parallelDownloads && downloadQueue.size > 0) {
|
||||||
val task = downloadQueue.remove()
|
val task = downloadQueue.remove()
|
||||||
activelyDownloading.add(task)
|
activelyDownloading.add(task)
|
||||||
startDownloadOnService(task)
|
startDownloadOnService(task)
|
||||||
@ -355,7 +355,6 @@ class Downloader(
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val PARALLEL_DOWNLOADS = 2
|
|
||||||
const val CHECK_INTERVAL = 5000L
|
const val CHECK_INTERVAL = 5000L
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,63 +52,14 @@ object Constants {
|
|||||||
const val CMD_PREVIOUS = "org.moire.ultrasonic.CMD_PREVIOUS"
|
const val CMD_PREVIOUS = "org.moire.ultrasonic.CMD_PREVIOUS"
|
||||||
const val CMD_NEXT = "org.moire.ultrasonic.CMD_NEXT"
|
const val CMD_NEXT = "org.moire.ultrasonic.CMD_NEXT"
|
||||||
|
|
||||||
// Preferences keys.
|
// Legacy Preferences keys
|
||||||
const val PREFERENCES_KEY_SERVER_INSTANCE = "serverInstanceId"
|
// Warning: Don't add any new here!
|
||||||
const val PREFERENCES_KEY_THEME = "theme"
|
// Use setting_keys.xml
|
||||||
const val PREFERENCES_KEY_THEME_LIGHT = "light"
|
|
||||||
const val PREFERENCES_KEY_THEME_DARK = "dark"
|
|
||||||
const val PREFERENCES_KEY_THEME_BLACK = "black"
|
|
||||||
const val PREFERENCES_KEY_DISPLAY_BITRATE_WITH_ARTIST = "displayBitrateWithArtist"
|
|
||||||
const val PREFERENCES_KEY_USE_FOLDER_FOR_ALBUM_ARTIST = "useFolderForAlbumArtist"
|
|
||||||
const val PREFERENCES_KEY_SHOW_TRACK_NUMBER = "showTrackNumber"
|
|
||||||
const val PREFERENCES_KEY_MAX_BITRATE_WIFI = "maxBitrateWifi"
|
|
||||||
const val PREFERENCES_KEY_MAX_BITRATE_MOBILE = "maxBitrateMobile"
|
|
||||||
const val PREFERENCES_KEY_CACHE_SIZE = "cacheSize"
|
|
||||||
const val PREFERENCES_KEY_CUSTOM_CACHE_LOCATION = "customCacheLocation"
|
|
||||||
const val PREFERENCES_KEY_CACHE_LOCATION = "cacheLocation"
|
|
||||||
const val PREFERENCES_KEY_PRELOAD_COUNT = "preloadCount"
|
|
||||||
const val PREFERENCES_KEY_HIDE_MEDIA = "hideMedia"
|
|
||||||
const val PREFERENCES_KEY_MEDIA_BUTTONS = "mediaButtons"
|
|
||||||
const val PREFERENCES_KEY_SCROBBLE = "scrobble"
|
|
||||||
const val PREFERENCES_KEY_SERVER_SCALING = "serverScaling"
|
|
||||||
const val PREFERENCES_KEY_WIFI_REQUIRED_FOR_DOWNLOAD = "wifiRequiredForDownload"
|
|
||||||
const val PREFERENCES_KEY_BUFFER_LENGTH = "bufferLength"
|
|
||||||
const val PREFERENCES_KEY_NETWORK_TIMEOUT = "networkTimeout"
|
|
||||||
const val PREFERENCES_KEY_MAX_ALBUMS = "maxAlbums"
|
|
||||||
const val PREFERENCES_KEY_MAX_SONGS = "maxSongs"
|
|
||||||
const val PREFERENCES_KEY_MAX_ARTISTS = "maxArtists"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_ALBUMS = "defaultAlbums"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_SONGS = "defaultSongs"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_ARTISTS = "defaultArtists"
|
|
||||||
const val PREFERENCES_KEY_SHOW_NOW_PLAYING = "showNowPlaying"
|
|
||||||
const val PREFERENCES_KEY_CLEAR_SEARCH_HISTORY = "clearSearchHistory"
|
|
||||||
const val PREFERENCES_KEY_DOWNLOAD_TRANSITION = "transitionToDownloadOnPlay"
|
|
||||||
const val PREFERENCES_KEY_INCREMENT_TIME = "incrementTime"
|
|
||||||
const val PREFERENCES_KEY_SHOW_NOW_PLAYING_DETAILS = "showNowPlayingDetails"
|
|
||||||
const val PREFERENCES_KEY_ID3_TAGS = "useId3Tags"
|
|
||||||
const val PREFERENCES_KEY_ID3_TAGS_OFFLINE = "useId3TagsOffline"
|
|
||||||
const val PREFERENCES_KEY_SHOW_ARTIST_PICTURE = "showArtistPicture"
|
|
||||||
const val PREFERENCES_KEY_CHAT_REFRESH_INTERVAL = "chatRefreshInterval"
|
|
||||||
const val PREFERENCES_KEY_DIRECTORY_CACHE_TIME = "directoryCacheTime"
|
|
||||||
const val PREFERENCES_KEY_CLEAR_BOOKMARK = "clearBookmark"
|
|
||||||
const val PREFERENCES_KEY_DISC_SORT = "discAndTrackSort"
|
|
||||||
const val PREFERENCES_KEY_ASK_FOR_SHARE_DETAILS = "sharingAlwaysAskForDetails"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_SHARE_DESCRIPTION = "sharingDefaultDescription"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_SHARE_GREETING = "sharingDefaultGreeting"
|
|
||||||
const val PREFERENCES_KEY_SHARE_ON_SERVER = "sharingCreateOnServer"
|
|
||||||
const val PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION = "sharingDefaultExpiration"
|
|
||||||
const val PREFERENCES_KEY_USE_FIVE_STAR_RATING = "use_five_star_rating"
|
const val PREFERENCES_KEY_USE_FIVE_STAR_RATING = "use_five_star_rating"
|
||||||
const val PREFERENCES_KEY_HARDWARE_OFFLOAD = "use_hw_offload"
|
|
||||||
const val PREFERENCES_KEY_CATEGORY_NOTIFICATIONS = "notificationsCategory"
|
|
||||||
const val PREFERENCES_KEY_FIRST_RUN_EXECUTED = "firstRunExecuted"
|
|
||||||
const val PREFERENCES_KEY_RESUME_ON_BLUETOOTH_DEVICE = "resumeOnBluetoothDevice"
|
|
||||||
const val PREFERENCES_KEY_PAUSE_ON_BLUETOOTH_DEVICE = "pauseOnBluetoothDevice"
|
|
||||||
const val PREFERENCES_KEY_DEBUG_LOG_TO_FILE = "debugLogToFile"
|
|
||||||
const val PREFERENCES_KEY_OVERRIDE_LANGUAGE = "overrideLanguage"
|
|
||||||
const val PREFERENCES_FIRST_INSTALLED_VERSION = "firstInstalledVersion"
|
|
||||||
const val PREFERENCE_VALUE_ALL = 0
|
const val PREFERENCE_VALUE_ALL = 0
|
||||||
const val PREFERENCE_VALUE_A2DP = 1
|
const val PREFERENCE_VALUE_A2DP = 1
|
||||||
const val PREFERENCE_VALUE_DISABLED = 2
|
const val PREFERENCE_VALUE_DISABLED = 2
|
||||||
|
|
||||||
const val FILENAME_PLAYLIST_SER = "downloadstate.ser"
|
const val FILENAME_PLAYLIST_SER = "downloadstate.ser"
|
||||||
const val ALBUM_ART_FILE = "folder.jpeg"
|
const val ALBUM_ART_FILE = "folder.jpeg"
|
||||||
const val STARRED = "starred"
|
const val STARRED = "starred"
|
||||||
|
@ -22,8 +22,8 @@ object Settings {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var theme by StringSetting(
|
var theme by StringSetting(
|
||||||
Constants.PREFERENCES_KEY_THEME,
|
getKey(R.string.setting_key_theme),
|
||||||
Constants.PREFERENCES_KEY_THEME_DARK
|
getKey(R.string.setting_key_theme_dark)
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@ -40,26 +40,30 @@ object Settings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var maxWifiBitRate by StringIntSetting(Constants.PREFERENCES_KEY_MAX_BITRATE_WIFI)
|
private var maxWifiBitRate
|
||||||
|
by StringIntSetting(getKey(R.string.setting_key_max_bitrate_wifi))
|
||||||
|
|
||||||
private var maxMobileBitRate by StringIntSetting(Constants.PREFERENCES_KEY_MAX_BITRATE_MOBILE)
|
private var maxMobileBitRate
|
||||||
|
by StringIntSetting(getKey(R.string.setting_key_max_bitrate_mobile))
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val preloadCount: Int
|
val preloadCount: Int
|
||||||
get() {
|
get() {
|
||||||
val preferences = preferences
|
val preferences = preferences
|
||||||
val preloadCount =
|
val preloadCount =
|
||||||
preferences.getString(Constants.PREFERENCES_KEY_PRELOAD_COUNT, "-1")!!
|
preferences.getString(getKey(R.string.setting_key_preload_count), "-1")!!
|
||||||
.toInt()
|
.toInt()
|
||||||
return if (preloadCount == -1) Int.MAX_VALUE else preloadCount
|
return if (preloadCount == -1) Int.MAX_VALUE else preloadCount
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val parallelDownloads by IntSetting(getKey(R.string.setting_key_parallel_downloads), 3)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val cacheSizeMB: Int
|
val cacheSizeMB: Int
|
||||||
get() {
|
get() {
|
||||||
val preferences = preferences
|
val preferences = preferences
|
||||||
val cacheSize = preferences.getString(
|
val cacheSize = preferences.getString(
|
||||||
Constants.PREFERENCES_KEY_CACHE_SIZE,
|
getKey(R.string.setting_key_cache_size),
|
||||||
"-1"
|
"-1"
|
||||||
)!!.toInt()
|
)!!.toInt()
|
||||||
return if (cacheSize == -1) Int.MAX_VALUE else cacheSize
|
return if (cacheSize == -1) Int.MAX_VALUE else cacheSize
|
||||||
@ -67,139 +71,141 @@ object Settings {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var customCacheLocation by BooleanSetting(
|
var customCacheLocation by BooleanSetting(
|
||||||
Constants.PREFERENCES_KEY_CUSTOM_CACHE_LOCATION,
|
getKey(R.string.setting_key_custom_cache_location),
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var cacheLocationUri by StringSetting(
|
var cacheLocationUri by StringSetting(
|
||||||
Constants.PREFERENCES_KEY_CACHE_LOCATION, ""
|
getKey(R.string.setting_key_cache_location), ""
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var isWifiRequiredForDownload by BooleanSetting(
|
var isWifiRequiredForDownload by BooleanSetting(
|
||||||
Constants.PREFERENCES_KEY_WIFI_REQUIRED_FOR_DOWNLOAD,
|
getKey(R.string.setting_key_wifi_required_for_download),
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shareOnServer by BooleanSetting(Constants.PREFERENCES_KEY_SHARE_ON_SERVER, true)
|
var shareOnServer by BooleanSetting(getKey(R.string.setting_key_share_on_server), true)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shouldDisplayBitrateWithArtist by BooleanSetting(
|
var shouldDisplayBitrateWithArtist by BooleanSetting(
|
||||||
Constants.PREFERENCES_KEY_DISPLAY_BITRATE_WITH_ARTIST,
|
getKey(R.string.setting_key_display_bitrate_with_artist),
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shouldUseFolderForArtistName
|
var shouldUseFolderForArtistName
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_USE_FOLDER_FOR_ALBUM_ARTIST, false)
|
by BooleanSetting(getKey(R.string.setting_key_use_folder_for_album_artist), false)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shouldShowTrackNumber
|
var shouldShowTrackNumber
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_SHOW_TRACK_NUMBER, false)
|
by BooleanSetting(getKey(R.string.setting_key_show_track_number), false)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var defaultAlbums
|
var defaultAlbums
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_DEFAULT_ALBUMS, "5")
|
by StringIntSetting(getKey(R.string.setting_key_default_albums), "5")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var maxAlbums
|
var maxAlbums
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_MAX_ALBUMS, "20")
|
by StringIntSetting(getKey(R.string.setting_key_max_albums), "20")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var defaultSongs
|
var defaultSongs
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_DEFAULT_SONGS, "10")
|
by StringIntSetting(getKey(R.string.setting_key_default_songs), "10")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var maxSongs
|
var maxSongs
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_MAX_SONGS, "25")
|
by StringIntSetting(getKey(R.string.setting_key_max_songs), "25")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var maxArtists
|
var maxArtists
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_MAX_ARTISTS, "10")
|
by StringIntSetting(getKey(R.string.setting_key_max_artists), "10")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var defaultArtists
|
var defaultArtists
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_DEFAULT_ARTISTS, "3")
|
by StringIntSetting(getKey(R.string.setting_key_default_artists), "3")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var incrementTime
|
var incrementTime
|
||||||
by StringIntSetting(Constants.PREFERENCES_KEY_INCREMENT_TIME, "5")
|
by StringIntSetting(getKey(R.string.setting_key_increment_time), "5")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var mediaButtonsEnabled
|
var mediaButtonsEnabled
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_MEDIA_BUTTONS, true)
|
by BooleanSetting(getKey(R.string.setting_key_media_buttons), true)
|
||||||
|
|
||||||
var resumePlayOnHeadphonePlug
|
var resumePlayOnHeadphonePlug
|
||||||
by BooleanSetting(R.string.setting_keys_resume_play_on_headphones_plug, true)
|
by BooleanSetting(R.string.setting_key_resume_play_on_headphones_plug, true)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var resumeOnBluetoothDevice by IntSetting(
|
var resumeOnBluetoothDevice by IntSetting(
|
||||||
Constants.PREFERENCES_KEY_RESUME_ON_BLUETOOTH_DEVICE,
|
getKey(R.string.setting_key_resume_on_bluetooth_device),
|
||||||
Constants.PREFERENCE_VALUE_DISABLED
|
Constants.PREFERENCE_VALUE_DISABLED
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var pauseOnBluetoothDevice by IntSetting(
|
var pauseOnBluetoothDevice by IntSetting(
|
||||||
Constants.PREFERENCES_KEY_PAUSE_ON_BLUETOOTH_DEVICE,
|
getKey(R.string.setting_key_pause_on_bluetooth_device),
|
||||||
Constants.PREFERENCE_VALUE_A2DP
|
Constants.PREFERENCE_VALUE_A2DP
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var showNowPlaying
|
var showNowPlaying
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_SHOW_NOW_PLAYING, true)
|
by BooleanSetting(getKey(R.string.setting_key_show_now_playing), true)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shouldTransitionOnPlayback by BooleanSetting(
|
var shouldTransitionOnPlayback by BooleanSetting(
|
||||||
Constants.PREFERENCES_KEY_DOWNLOAD_TRANSITION,
|
getKey(R.string.setting_key_download_transition),
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var showNowPlayingDetails
|
var showNowPlayingDetails
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_SHOW_NOW_PLAYING_DETAILS, false)
|
by BooleanSetting(getKey(R.string.setting_key_show_now_playing_details), false)
|
||||||
|
|
||||||
|
var scrobbleEnabled by BooleanSetting(getKey(R.string.setting_key_scrobble), false)
|
||||||
|
|
||||||
// Normally you don't need to use these Settings directly,
|
// Normally you don't need to use these Settings directly,
|
||||||
// use ActiveServerProvider.isID3Enabled() instead
|
// use ActiveServerProvider.isID3Enabled() instead
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var shouldUseId3Tags by BooleanSetting(Constants.PREFERENCES_KEY_ID3_TAGS, false)
|
var shouldUseId3Tags by BooleanSetting(getKey(R.string.setting_key_id3_tags), false)
|
||||||
|
|
||||||
// See comment above.
|
// See comment above.
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var useId3TagsOffline by BooleanSetting(Constants.PREFERENCES_KEY_ID3_TAGS_OFFLINE, false)
|
var useId3TagsOffline by BooleanSetting(getKey(R.string.setting_key_id3_tags_offline), false)
|
||||||
|
|
||||||
var activeServer by IntSetting(Constants.PREFERENCES_KEY_SERVER_INSTANCE, -1)
|
var activeServer by IntSetting(getKey(R.string.setting_key_server_instance), -1)
|
||||||
|
|
||||||
var serverScaling by BooleanSetting(Constants.PREFERENCES_KEY_SERVER_SCALING, false)
|
var serverScaling by BooleanSetting(getKey(R.string.setting_key_server_scaling), false)
|
||||||
|
|
||||||
var firstRunExecuted by BooleanSetting(Constants.PREFERENCES_KEY_FIRST_RUN_EXECUTED, false)
|
var firstRunExecuted by BooleanSetting(getKey(R.string.setting_key_first_run_executed), false)
|
||||||
|
|
||||||
val shouldShowArtistPicture
|
val shouldShowArtistPicture
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_SHOW_ARTIST_PICTURE, false)
|
by BooleanSetting(getKey(R.string.setting_key_show_artist_picture), false)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var chatRefreshInterval by StringIntSetting(
|
var chatRefreshInterval by StringIntSetting(
|
||||||
Constants.PREFERENCES_KEY_CHAT_REFRESH_INTERVAL,
|
getKey(R.string.setting_key_chat_refresh_interval),
|
||||||
"5000"
|
"5000"
|
||||||
)
|
)
|
||||||
|
|
||||||
var directoryCacheTime by StringIntSetting(
|
var directoryCacheTime by StringIntSetting(
|
||||||
Constants.PREFERENCES_KEY_DIRECTORY_CACHE_TIME,
|
getKey(R.string.setting_key_directory_cache_time),
|
||||||
"300"
|
"300"
|
||||||
)
|
)
|
||||||
|
|
||||||
var shouldSortByDisc
|
var shouldSortByDisc
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_DISC_SORT, false)
|
by BooleanSetting(getKey(R.string.setting_key_disc_sort), false)
|
||||||
|
|
||||||
var shouldClearBookmark
|
var shouldClearBookmark
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_CLEAR_BOOKMARK, false)
|
by BooleanSetting(getKey(R.string.setting_key_clear_bookmark), false)
|
||||||
|
|
||||||
var shouldAskForShareDetails
|
var shouldAskForShareDetails
|
||||||
by BooleanSetting(Constants.PREFERENCES_KEY_ASK_FOR_SHARE_DETAILS, true)
|
by BooleanSetting(getKey(R.string.setting_key_ask_for_share_details), true)
|
||||||
|
|
||||||
var defaultShareDescription
|
var defaultShareDescription
|
||||||
by StringSetting(Constants.PREFERENCES_KEY_DEFAULT_SHARE_DESCRIPTION, "")
|
by StringSetting(getKey(R.string.setting_key_default_share_description), "")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val shareGreeting: String?
|
val shareGreeting: String?
|
||||||
@ -211,13 +217,13 @@ object Settings {
|
|||||||
context.resources.getString(R.string.common_appname)
|
context.resources.getString(R.string.common_appname)
|
||||||
)
|
)
|
||||||
return preferences.getString(
|
return preferences.getString(
|
||||||
Constants.PREFERENCES_KEY_DEFAULT_SHARE_GREETING,
|
getKey(R.string.setting_key_default_share_greeting),
|
||||||
defaultVal
|
defaultVal
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultShareExpiration by StringSetting(
|
var defaultShareExpiration by StringSetting(
|
||||||
Constants.PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION,
|
getKey(R.string.setting_key_default_share_expiration),
|
||||||
"0"
|
"0"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -225,7 +231,7 @@ object Settings {
|
|||||||
get() {
|
get() {
|
||||||
val preferences = preferences
|
val preferences = preferences
|
||||||
val preference =
|
val preference =
|
||||||
preferences.getString(Constants.PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION, "0")!!
|
preferences.getString(getKey(R.string.setting_key_default_share_expiration), "0")!!
|
||||||
val split = PATTERN.split(preference)
|
val split = PATTERN.split(preference)
|
||||||
if (split.size == 2) {
|
if (split.size == 2) {
|
||||||
val timeSpanAmount = split[0].toInt()
|
val timeSpanAmount = split[0].toInt()
|
||||||
@ -238,21 +244,27 @@ object Settings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var debugLogToFile by BooleanSetting(Constants.PREFERENCES_KEY_DEBUG_LOG_TO_FILE, false)
|
var debugLogToFile by BooleanSetting(getKey(R.string.setting_key_debug_log_to_file), false)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val preferences: SharedPreferences
|
val preferences: SharedPreferences
|
||||||
get() = PreferenceManager.getDefaultSharedPreferences(Util.appContext())
|
get() = PreferenceManager.getDefaultSharedPreferences(Util.appContext())
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val overrideLanguage by StringSetting(Constants.PREFERENCES_KEY_OVERRIDE_LANGUAGE, "")
|
val overrideLanguage by StringSetting(getKey(R.string.setting_key_override_language), "")
|
||||||
|
|
||||||
var useFiveStarRating by BooleanSetting(Constants.PREFERENCES_KEY_USE_FIVE_STAR_RATING, false)
|
var useFiveStarRating by BooleanSetting(
|
||||||
|
getKey(R.string.setting_key_use_five_star_rating),
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
var useHwOffload by BooleanSetting(Constants.PREFERENCES_KEY_HARDWARE_OFFLOAD, false)
|
var useHwOffload by BooleanSetting(getKey(R.string.setting_key_hardware_offload), false)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
var firstInstalledVersion by IntSetting(Constants.PREFERENCES_FIRST_INSTALLED_VERSION, 0)
|
var firstInstalledVersion by IntSetting(
|
||||||
|
getKey(R.string.setting_key_first_installed_version),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
|
||||||
// TODO: Remove in December 2022
|
// TODO: Remove in December 2022
|
||||||
fun migrateFeatureStorage() {
|
fun migrateFeatureStorage() {
|
||||||
@ -264,8 +276,10 @@ object Settings {
|
|||||||
return preferences.contains(key)
|
return preferences.contains(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getKey(key: Int): String {
|
||||||
|
return appContext.getString(key)
|
||||||
|
}
|
||||||
|
|
||||||
private val appContext: Context
|
private val appContext: Context
|
||||||
get() {
|
get() = UApp.applicationContext()
|
||||||
return UApp.applicationContext()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -81,17 +81,35 @@ object Util {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun applyTheme(context: Context?) {
|
fun applyTheme(context: Context?) {
|
||||||
|
if (context == null) return
|
||||||
|
val style = getStyleFromSettings(context)
|
||||||
|
context.setTheme(style)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getStyleFromSettings(context: Context): Int {
|
||||||
|
// Migration
|
||||||
|
// TODO: Remove in June 2023
|
||||||
when (Settings.theme.lowercase()) {
|
when (Settings.theme.lowercase()) {
|
||||||
Constants.PREFERENCES_KEY_THEME_DARK,
|
|
||||||
"fullscreen" -> {
|
"fullscreen" -> {
|
||||||
context!!.setTheme(R.style.UltrasonicTheme_Dark)
|
Settings.theme = context.getString(R.string.setting_key_theme_dark)
|
||||||
}
|
}
|
||||||
Constants.PREFERENCES_KEY_THEME_BLACK -> {
|
|
||||||
context!!.setTheme(R.style.UltrasonicTheme_Black)
|
|
||||||
}
|
|
||||||
Constants.PREFERENCES_KEY_THEME_LIGHT,
|
|
||||||
"fullscreenlight" -> {
|
"fullscreenlight" -> {
|
||||||
context!!.setTheme(R.style.UltrasonicTheme_Light)
|
Settings.theme = context.getString(R.string.setting_key_theme_light)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return when (Settings.theme.lowercase()) {
|
||||||
|
context.getString(R.string.setting_key_theme_dark) -> {
|
||||||
|
R.style.UltrasonicTheme_Dark
|
||||||
|
}
|
||||||
|
context.getString(R.string.setting_key_theme_black) -> {
|
||||||
|
R.style.UltrasonicTheme_Black
|
||||||
|
}
|
||||||
|
context.getString(R.string.setting_key_theme_light) -> {
|
||||||
|
R.style.UltrasonicTheme_Light
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
R.style.UltrasonicTheme_Dark
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,57 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="setting_keys.resume_play_on_headphones_plug" translatable="false">playback.resume_play_on_headphones_plug</string>
|
<string name="setting_key.resume_play_on_headphones_plug" translatable="false">playback.resume_play_on_headphones_plug</string>
|
||||||
|
<string name="setting_key.server_instance" translatable="false">serverInstanceId</string>
|
||||||
|
<string name="setting_key.theme" translatable="false">theme</string>
|
||||||
|
<string name="setting_key.theme_light" translatable="false">light</string>
|
||||||
|
<string name="setting_key.theme_dark" translatable="false">dark</string>
|
||||||
|
<string name="setting_key.theme_black" translatable="false">black</string>
|
||||||
|
<string name="setting_key.display_bitrate_with_artist" translatable="false">displayBitrateWithArtist</string>
|
||||||
|
<string name="setting_key.use_folder_for_album_artist" translatable="false">useFolderForAlbumArtist</string>
|
||||||
|
<string name="setting_key.show_track_number" translatable="false">showTrackNumber</string>
|
||||||
|
<string name="setting_key.max_bitrate_wifi" translatable="false">maxBitrateWifi</string>
|
||||||
|
<string name="setting_key.max_bitrate_mobile" translatable="false">maxBitrateMobile</string>
|
||||||
|
<string name="setting_key.cache_size" translatable="false">cacheSize</string>
|
||||||
|
<string name="setting_key.custom_cache_location" translatable="false">customCacheLocation</string>
|
||||||
|
<string name="setting_key.cache_location" translatable="false">cacheLocation</string>
|
||||||
|
<string name="setting_key.preload_count" translatable="false">preloadCount</string>
|
||||||
|
<string name="setting_key.parallel_downloads" translatable="false">parallelDownloads</string>
|
||||||
|
<string name="setting_key.hide_media" translatable="false">hideMedia</string>
|
||||||
|
<string name="setting_key.media_buttons" translatable="false">mediaButtons</string>
|
||||||
|
<string name="setting_key.scrobble" translatable="false">scrobble</string>
|
||||||
|
<string name="setting_key.server_scaling" translatable="false">serverScaling</string>
|
||||||
|
<string name="setting_key.wifi_required_for_download" translatable="false">wifiRequiredForDownload</string>
|
||||||
|
<string name="setting_key.buffer_length" translatable="false">bufferLength</string>
|
||||||
|
<string name="setting_key.network_timeout" translatable="false">networkTimeout</string>
|
||||||
|
<string name="setting_key.max_albums" translatable="false">maxAlbums</string>
|
||||||
|
<string name="setting_key.max_songs" translatable="false">maxSongs</string>
|
||||||
|
<string name="setting_key.max_artists" translatable="false">maxArtists</string>
|
||||||
|
<string name="setting_key.default_albums" translatable="false">defaultAlbums</string>
|
||||||
|
<string name="setting_key.default_songs" translatable="false">defaultSongs</string>
|
||||||
|
<string name="setting_key.default_artists" translatable="false">defaultArtists</string>
|
||||||
|
<string name="setting_key.show_now_playing" translatable="false">showNowPlaying</string>
|
||||||
|
<string name="setting_key.clear_search_history" translatable="false">clearSearchHistory</string>
|
||||||
|
<string name="setting_key.download_transition" translatable="false">transitionToDownloadOnPlay</string>
|
||||||
|
<string name="setting_key.increment_time" translatable="false">incrementTime</string>
|
||||||
|
<string name="setting_key.show_now_playing_details" translatable="false">showNowPlayingDetails</string>
|
||||||
|
<string name="setting_key.id3_tags" translatable="false">useId3Tags</string>
|
||||||
|
<string name="setting_key.id3_tags_offline" translatable="false">useId3TagsOffline</string>
|
||||||
|
<string name="setting_key.show_artist_picture" translatable="false">showArtistPicture</string>
|
||||||
|
<string name="setting_key.chat_refresh_interval" translatable="false">chatRefreshInterval</string>
|
||||||
|
<string name="setting_key.directory_cache_time" translatable="false">directoryCacheTime</string>
|
||||||
|
<string name="setting_key.clear_bookmark" translatable="false">clearBookmark</string>
|
||||||
|
<string name="setting_key.disc_sort" translatable="false">discAndTrackSort</string>
|
||||||
|
<string name="setting_key.ask_for_share_details" translatable="false">sharingAlwaysAskForDetails</string>
|
||||||
|
<string name="setting_key.default_share_description" translatable="false">sharingDefaultDescription</string>
|
||||||
|
<string name="setting_key.default_share_greeting" translatable="false">sharingDefaultGreeting</string>
|
||||||
|
<string name="setting_key.share_on_server" translatable="false">sharingCreateOnServer</string>
|
||||||
|
<string name="setting_key.default_share_expiration" translatable="false">sharingDefaultExpiration</string>
|
||||||
|
<string name="setting_key.use_five_star_rating" translatable="false">use_five_star_rating</string>
|
||||||
|
<string name="setting_key.hardware_offload" translatable="false">use_hw_offload</string>
|
||||||
|
<string name="setting_key.first_run_executed" translatable="false">firstRunExecuted</string>
|
||||||
|
<string name="setting_key.resume_on_bluetooth_device" translatable="false">resumeOnBluetoothDevice</string>
|
||||||
|
<string name="setting_key.pause_on_bluetooth_device" translatable="false">pauseOnBluetoothDevice</string>
|
||||||
|
<string name="setting_key.debug_log_to_file" translatable="false">debugLogToFile</string>
|
||||||
|
<string name="setting_key.override_language" translatable="false">overrideLanguage</string>
|
||||||
|
<string name="setting_key.first_installed_version" translatable="false">firstInstalledVersion</string>
|
||||||
</resources>
|
</resources>
|
@ -264,6 +264,7 @@
|
|||||||
<string name="settings.playback.resume_play_on_headphones_plug.title">Resume on headphones insertion</string>
|
<string name="settings.playback.resume_play_on_headphones_plug.title">Resume on headphones insertion</string>
|
||||||
<string name="settings.playback.resume_play_on_headphones_plug.summary">App will resume paused playback on wired headphones insertion into device.</string>
|
<string name="settings.playback.resume_play_on_headphones_plug.summary">App will resume paused playback on wired headphones insertion into device.</string>
|
||||||
<string name="settings.preload">Songs To Preload</string>
|
<string name="settings.preload">Songs To Preload</string>
|
||||||
|
<string name="settings.parallel_downloads">How many song to download in parallel</string>
|
||||||
<string name="settings.preload_1">1 song</string>
|
<string name="settings.preload_1">1 song</string>
|
||||||
<string name="settings.preload_10">10 songs</string>
|
<string name="settings.preload_10">10 songs</string>
|
||||||
<string name="settings.preload_2">2 songs</string>
|
<string name="settings.preload_2">2 songs</string>
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto" a:title="@string/common.appname">
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
a:title="@string/common.appname">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
a:title="@string/settings.appearance_title"
|
a:title="@string/settings.appearance_title"
|
||||||
@ -9,83 +11,82 @@
|
|||||||
a:defaultValue="@string/preferences_key_theme_dark"
|
a:defaultValue="@string/preferences_key_theme_dark"
|
||||||
a:entries="@array/themeNames"
|
a:entries="@array/themeNames"
|
||||||
a:entryValues="@array/themeValues"
|
a:entryValues="@array/themeValues"
|
||||||
a:key="theme"
|
a:key="@string/setting_key.theme"
|
||||||
a:title="@string/settings.theme_title"
|
a:title="@string/settings.theme_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="serverScaling"
|
a:key="@string/setting_key.server_scaling"
|
||||||
a:summary="@string/settings.server_scaling_summary"
|
a:summary="@string/settings.server_scaling_summary"
|
||||||
a:title="@string/settings.server_scaling_title"
|
a:title="@string/settings.server_scaling_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="displayBitrateWithArtist"
|
a:key="@string/setting_key.display_bitrate_with_artist"
|
||||||
a:summary="@string/settings.display_bitrate_summary"
|
a:summary="@string/settings.display_bitrate_summary"
|
||||||
a:title="@string/settings.display_bitrate"
|
a:title="@string/settings.display_bitrate"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="useFolderForAlbumArtist"
|
a:key="@string/setting_key.use_folder_for_album_artist"
|
||||||
a:summary="@string/settings.use_folder_for_album_artist_summary"
|
a:summary="@string/settings.use_folder_for_album_artist_summary"
|
||||||
a:title="@string/settings.use_folder_for_album_artist"
|
a:title="@string/settings.use_folder_for_album_artist"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="showTrackNumber"
|
a:key="@string/setting_key.show_track_number"
|
||||||
a:summary="@string/settings.show_track_number_summary"
|
a:summary="@string/settings.show_track_number_summary"
|
||||||
a:title="@string/settings.show_track_number"
|
a:title="@string/settings.show_track_number"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="discAndTrackSort"
|
a:key="@string/setting_key.disc_sort"
|
||||||
a:summary="@string/settings.disc_sort_summary"
|
a:summary="@string/settings.disc_sort_summary"
|
||||||
a:title="@string/settings.disc_sort"
|
a:title="@string/settings.disc_sort"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
a:title="@string/settings.playback_control_title"
|
a:title="@string/settings.playback_control_title"
|
||||||
a:key="playbackControlSettings"
|
|
||||||
app:iconSpaceReserved="false">
|
app:iconSpaceReserved="false">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="showNowPlayingDetails"
|
a:key="@string/setting_key.show_now_playing_details"
|
||||||
a:summary="@string/settings.show_now_playing_details_summary"
|
a:summary="@string/settings.show_now_playing_details_summary"
|
||||||
a:title="@string/settings.show_now_playing_details"
|
a:title="@string/settings.show_now_playing_details"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="useId3Tags"
|
a:key="@string/setting_key.id3_tags"
|
||||||
a:summary="@string/settings.use_id3_summary"
|
a:summary="@string/settings.use_id3_summary"
|
||||||
a:title="@string/settings.use_id3"
|
a:title="@string/settings.use_id3"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="useId3TagsOffline"
|
a:key="@string/setting_key.id3_tags_offline"
|
||||||
a:summary="@string/settings.use_id3_offline_summary"
|
a:summary="@string/settings.use_id3_offline_summary"
|
||||||
a:title="@string/settings.use_id3_offline"
|
a:title="@string/settings.use_id3_offline"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="showArtistPicture"
|
a:key="@string/setting_key.show_artist_picture"
|
||||||
a:summary="@string/settings.show_artist_picture_summary"
|
a:summary="@string/settings.show_artist_picture_summary"
|
||||||
a:title="@string/settings.show_artist_picture"
|
a:title="@string/settings.show_artist_picture"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="mediaButtons"
|
a:key="@string/setting_key.media_buttons"
|
||||||
a:summary="@string/settings.media_button_summary"
|
a:summary="@string/settings.media_button_summary"
|
||||||
a:title="@string/settings.media_button_title"
|
a:title="@string/settings.media_button_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="transitionToDownloadOnPlay"
|
a:key="@string/setting_key.download_transition"
|
||||||
a:summary="@string/settings.download_transition_summary"
|
a:summary="@string/settings.download_transition_summary"
|
||||||
a:title="@string/settings.download_transition"
|
a:title="@string/settings.download_transition"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="clearBookmark"
|
a:key="@string/setting_key.clear_bookmark"
|
||||||
a:summary="@string/settings.clear_bookmark_summary"
|
a:summary="@string/settings.clear_bookmark_summary"
|
||||||
a:title="@string/settings.clear_bookmark"
|
a:title="@string/settings.clear_bookmark"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -93,43 +94,42 @@
|
|||||||
a:defaultValue="5000"
|
a:defaultValue="5000"
|
||||||
a:entries="@array/bufferLengthNames"
|
a:entries="@array/bufferLengthNames"
|
||||||
a:entryValues="@array/incrementTimeValues"
|
a:entryValues="@array/incrementTimeValues"
|
||||||
a:key="incrementTime"
|
a:key="@string/setting_key.increment_time"
|
||||||
a:title="@string/settings.increment_time"
|
a:title="@string/settings.increment_time"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="@string/setting_keys.resume_play_on_headphones_plug"
|
a:key="@string/setting_key.resume_play_on_headphones_plug"
|
||||||
a:title="@string/settings.playback.resume_play_on_headphones_plug.title"
|
a:title="@string/settings.playback.resume_play_on_headphones_plug.title"
|
||||||
a:summary="@string/settings.playback.resume_play_on_headphones_plug.summary"
|
a:summary="@string/settings.playback.resume_play_on_headphones_plug.summary"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<Preference
|
<Preference
|
||||||
a:key="resumeOnBluetoothDevice"
|
a:key="@string/setting_key.resume_on_bluetooth_device"
|
||||||
a:title="@string/settings.playback.resume_on_bluetooth_device"
|
a:title="@string/settings.playback.resume_on_bluetooth_device"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<Preference
|
<Preference
|
||||||
a:key="pauseOnBluetoothDevice"
|
a:key="@string/setting_key.pause_on_bluetooth_device"
|
||||||
a:title="@string/settings.playback.pause_on_bluetooth_device"
|
a:title="@string/settings.playback.pause_on_bluetooth_device"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="use_five_star_rating"
|
a:key="@string/setting_key.use_five_star_rating"
|
||||||
a:summary="@string/settings.five_star_rating_description"
|
a:summary="@string/settings.five_star_rating_description"
|
||||||
a:title="@string/settings.five_star_rating_title"
|
a:title="@string/settings.five_star_rating_title"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="use_hw_offload"
|
a:key="@string/setting_key.hardware_offload"
|
||||||
a:summary="@string/settings.use_hw_offload_description"
|
a:summary="@string/settings.use_hw_offload_description"
|
||||||
a:title="@string/settings.use_hw_offload_title"
|
a:title="@string/settings.use_hw_offload_title"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
a:title="@string/settings.notifications_title"
|
a:title="@string/settings.notifications_title"
|
||||||
a:key="notificationsCategory"
|
|
||||||
app:iconSpaceReserved="false">
|
app:iconSpaceReserved="false">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="showNowPlaying"
|
a:key="@string/setting_key.show_now_playing"
|
||||||
a:summary="@string/settings.show_now_playing_summary"
|
a:summary="@string/settings.show_now_playing_summary"
|
||||||
a:title="@string/settings.show_now_playing"
|
a:title="@string/settings.show_now_playing"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -138,28 +138,28 @@
|
|||||||
a:title="@string/settings.sharing_title"
|
a:title="@string/settings.sharing_title"
|
||||||
app:iconSpaceReserved="false">
|
app:iconSpaceReserved="false">
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
a:key="sharingDefaultGreeting"
|
a:key="@string/setting_key.default_share_greeting"
|
||||||
a:title="@string/settings.share_greeting_default"
|
a:title="@string/settings.share_greeting_default"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="sharingCreateOnServer"
|
a:key="@string/setting_key.share_on_server"
|
||||||
a:title="@string/share_on_server"
|
a:title="@string/share_on_server"
|
||||||
a:summary="@string/settings.share_on_server_summary"
|
a:summary="@string/settings.share_on_server_summary"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="true"
|
a:defaultValue="true"
|
||||||
a:key="sharingAlwaysAskForDetails"
|
a:key="@string/setting_key.ask_for_share_details"
|
||||||
a:summary="@string/settings.sharing_always_ask_for_details_summary"
|
a:summary="@string/settings.sharing_always_ask_for_details_summary"
|
||||||
a:title="@string/settings.sharing_always_ask_for_details"
|
a:title="@string/settings.sharing_always_ask_for_details"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
a:key="sharingDefaultDescription"
|
a:key="@string/setting_key.default_share_description"
|
||||||
a:title="@string/settings.share_description_default"
|
a:title="@string/settings.share_description_default"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<org.moire.ultrasonic.util.TimeSpanPreference
|
<org.moire.ultrasonic.util.TimeSpanPreference
|
||||||
a:defaultValue="0"
|
a:defaultValue="0"
|
||||||
a:key="sharingDefaultExpiration"
|
a:key="@string/setting_key.default_share_expiration"
|
||||||
a:title="@string/settings.share_expiration_default"
|
a:title="@string/settings.share_expiration_default"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
@ -170,19 +170,19 @@
|
|||||||
a:defaultValue="0"
|
a:defaultValue="0"
|
||||||
a:entries="@array/maxBitrateNames"
|
a:entries="@array/maxBitrateNames"
|
||||||
a:entryValues="@array/maxBitrateValues"
|
a:entryValues="@array/maxBitrateValues"
|
||||||
a:key="maxBitrateWifi"
|
a:key="@string/setting_key.max_bitrate_wifi"
|
||||||
a:title="@string/settings.max_bitrate_wifi"
|
a:title="@string/settings.max_bitrate_wifi"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="0"
|
a:defaultValue="0"
|
||||||
a:entries="@array/maxBitrateNames"
|
a:entries="@array/maxBitrateNames"
|
||||||
a:entryValues="@array/maxBitrateValues"
|
a:entryValues="@array/maxBitrateValues"
|
||||||
a:key="maxBitrateMobile"
|
a:key="@string/setting_key.max_bitrate_mobile"
|
||||||
a:title="@string/settings.max_bitrate_mobile"
|
a:title="@string/settings.max_bitrate_mobile"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="wifiRequiredForDownload"
|
a:key="@string/setting_key.wifi_required_for_download"
|
||||||
a:summary="@string/settings.wifi_required_summary"
|
a:summary="@string/settings.wifi_required_summary"
|
||||||
a:title="@string/settings.wifi_required_title"
|
a:title="@string/settings.wifi_required_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -190,21 +190,21 @@
|
|||||||
a:defaultValue="5"
|
a:defaultValue="5"
|
||||||
a:entries="@array/bufferLengthNames"
|
a:entries="@array/bufferLengthNames"
|
||||||
a:entryValues="@array/bufferLengthValues"
|
a:entryValues="@array/bufferLengthValues"
|
||||||
a:key="bufferLength"
|
a:key="@string/setting_key.buffer_length"
|
||||||
a:title="@string/settings.buffer_length"
|
a:title="@string/settings.buffer_length"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="15000"
|
a:defaultValue="15000"
|
||||||
a:entries="@array/networkTimeoutNames"
|
a:entries="@array/networkTimeoutNames"
|
||||||
a:entryValues="@array/networkTimeoutValues"
|
a:entryValues="@array/networkTimeoutValues"
|
||||||
a:key="networkTimeout"
|
a:key="@string/setting_key.network_timeout"
|
||||||
a:title="@string/settings.network_timeout"
|
a:title="@string/settings.network_timeout"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="5000"
|
a:defaultValue="5000"
|
||||||
a:entries="@array/chatRefreshNames"
|
a:entries="@array/chatRefreshNames"
|
||||||
a:entryValues="@array/chatRefreshValues"
|
a:entryValues="@array/chatRefreshValues"
|
||||||
a:key="chatRefreshInterval"
|
a:key="@string/setting_key.chat_refresh_interval"
|
||||||
a:title="@string/settings.chat_refresh"
|
a:title="@string/settings.chat_refresh"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
@ -215,29 +215,38 @@
|
|||||||
a:defaultValue="500"
|
a:defaultValue="500"
|
||||||
a:entries="@array/cacheSizeNames"
|
a:entries="@array/cacheSizeNames"
|
||||||
a:entryValues="@array/cacheSizeValues"
|
a:entryValues="@array/cacheSizeValues"
|
||||||
a:key="cacheSize"
|
a:key="@string/setting_key.cache_size"
|
||||||
a:title="@string/settings.cache_size"
|
a:title="@string/settings.cache_size"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:key="customCacheLocation"
|
a:key="@string/setting_key.custom_cache_location"
|
||||||
a:title="@string/settings.custom_cache_location"
|
a:title="@string/settings.custom_cache_location"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<Preference
|
<Preference
|
||||||
a:key="cacheLocation"
|
a:key="@string/setting_key.cache_location"
|
||||||
a:title="@string/settings.cache_location"
|
a:title="@string/settings.cache_location"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="3"
|
a:defaultValue="3"
|
||||||
a:entries="@array/preloadCountNames"
|
a:entries="@array/preloadCountNames"
|
||||||
a:entryValues="@array/preloadCountValues"
|
a:entryValues="@array/preloadCountValues"
|
||||||
a:key="preloadCount"
|
a:key="@string/setting_key.preload_count"
|
||||||
a:title="@string/settings.preload"
|
a:title="@string/settings.preload"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
|
<SeekBarPreference
|
||||||
|
a:min="1"
|
||||||
|
a:defaultValue="3"
|
||||||
|
a:max="10"
|
||||||
|
app:showSeekBarValue="true"
|
||||||
|
a:key="@string/setting_key.parallel_downloads"
|
||||||
|
a:title="@string/settings.parallel_downloads"
|
||||||
|
app:iconSpaceReserved="false"
|
||||||
|
tools:ignore="UnusedAttribute" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="300"
|
a:defaultValue="300"
|
||||||
a:entries="@array/directoryCacheTimeNames"
|
a:entries="@array/directoryCacheTimeNames"
|
||||||
a:entryValues="@array/directoryCacheTimeValues"
|
a:entryValues="@array/directoryCacheTimeValues"
|
||||||
a:key="directoryCacheTime"
|
a:key="@string/setting_key.directory_cache_time"
|
||||||
a:title="@string/settings.directory_cache_time"
|
a:title="@string/settings.directory_cache_time"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
@ -248,46 +257,46 @@
|
|||||||
a:defaultValue="3"
|
a:defaultValue="3"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="defaultArtists"
|
a:key="@string/setting_key.default_artists"
|
||||||
a:title="@string/settings.default_artists"
|
a:title="@string/settings.default_artists"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="10"
|
a:defaultValue="10"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="maxArtists"
|
a:key="@string/setting_key.max_artists"
|
||||||
a:title="@string/settings.max_artists"
|
a:title="@string/settings.max_artists"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="5"
|
a:defaultValue="5"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="defaultAlbums"
|
a:key="@string/setting_key.default_albums"
|
||||||
a:title="@string/settings.default_albums"
|
a:title="@string/settings.default_albums"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="20"
|
a:defaultValue="20"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="maxAlbums"
|
a:key="@string/setting_key.max_albums"
|
||||||
a:title="@string/settings.max_albums"
|
a:title="@string/settings.max_albums"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="10"
|
a:defaultValue="10"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="defaultSongs"
|
a:key="@string/setting_key.default_songs"
|
||||||
a:title="@string/settings.default_songs"
|
a:title="@string/settings.default_songs"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<ListPreference
|
<ListPreference
|
||||||
a:defaultValue="25"
|
a:defaultValue="25"
|
||||||
a:entries="@array/searchNames"
|
a:entries="@array/searchNames"
|
||||||
a:entryValues="@array/searchValues"
|
a:entryValues="@array/searchValues"
|
||||||
a:key="maxSongs"
|
a:key="@string/setting_key.max_songs"
|
||||||
a:title="@string/settings.max_songs"
|
a:title="@string/settings.max_songs"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<Preference
|
<Preference
|
||||||
a:key="clearSearchHistory"
|
a:key="@string/setting_key.clear_search_history"
|
||||||
a:persistent="false"
|
a:persistent="false"
|
||||||
a:title="@string/settings.clear_search_history"
|
a:title="@string/settings.clear_search_history"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -297,13 +306,13 @@
|
|||||||
app:iconSpaceReserved="false">
|
app:iconSpaceReserved="false">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="scrobble"
|
a:key="@string/setting_key.scrobble"
|
||||||
a:summary="@string/settings.scrobble_summary"
|
a:summary="@string/settings.scrobble_summary"
|
||||||
a:title="@string/settings.scrobble_title"
|
a:title="@string/settings.scrobble_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="hideMedia"
|
a:key="@string/setting_key.hide_media"
|
||||||
a:summary="@string/settings.hide_media_summary"
|
a:summary="@string/settings.hide_media_summary"
|
||||||
a:title="@string/settings.hide_media_title"
|
a:title="@string/settings.hide_media_title"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -311,7 +320,7 @@
|
|||||||
a:defaultValue=""
|
a:defaultValue=""
|
||||||
a:entries="@array/languageNames"
|
a:entries="@array/languageNames"
|
||||||
a:entryValues="@array/languageValues"
|
a:entryValues="@array/languageValues"
|
||||||
a:key="overrideLanguage"
|
a:key="@string/setting_key.override_language"
|
||||||
a:title="@string/settings.override_language"
|
a:title="@string/settings.override_language"
|
||||||
a:summary="@string/settings.override_language_summary"
|
a:summary="@string/settings.override_language_summary"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
@ -321,7 +330,7 @@
|
|||||||
app:iconSpaceReserved="false">
|
app:iconSpaceReserved="false">
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
a:key="debugLogToFile"
|
a:key="@string/setting_key.debug_log_to_file"
|
||||||
a:title="@string/settings.debug.log_to_file"
|
a:title="@string/settings.debug.log_to_file"
|
||||||
a:summary=""
|
a:summary=""
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user