Add setting to control the max bitrate when pinning

This commit is contained in:
tzugen 2023-05-20 21:28:28 +02:00
parent 2df8d049d0
commit 315271390f
No known key found for this signature in database
GPG Key ID: 61E9C34BC10EC930
5 changed files with 24 additions and 10 deletions

View File

@ -92,8 +92,8 @@ class DownloadTask(
// Attempt partial HTTP GET, appending to the file if it exists.
val (inStream, isPartial) = musicService.getDownloadInputStream(
downloadTrack.track, fileLength,
Settings.maxBitRate,
downloadTrack.pinned
if (downloadTrack.pinned) Settings.maxBitRatePinning else Settings.maxBitRate,
downloadTrack.pinned && Settings.pinWithHighestQuality
)
inputStream = inStream

View File

@ -33,18 +33,23 @@ object Settings {
val maxBitRate: Int
get() {
return if (Util.isNetworkRestricted()) {
maxMobileBitRate
maxBitRateMobile
} else {
maxWifiBitRate
maxBitRateWifi
}
}
private var maxWifiBitRate
private var maxBitRateWifi
by StringIntSetting(getKey(R.string.setting_key_max_bitrate_wifi))
private var maxMobileBitRate
private var maxBitRateMobile
by StringIntSetting(getKey(R.string.setting_key_max_bitrate_mobile))
var maxBitRatePinning
by StringIntSetting(getKey(R.string.setting_key_max_bitrate_pinning))
val pinWithHighestQuality: Boolean
get() = (maxBitRatePinning == 0)
@JvmStatic
val preloadCount: Int
get() {

View File

@ -12,6 +12,7 @@
<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.max_bitrate_pinning" translatable="false">maxBitratePinning</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>

View File

@ -233,6 +233,7 @@
<string name="settings.max_bitrate_mobile">Max Bitrate - Mobile</string>
<string name="settings.max_bitrate_unlimited">Unlimited</string>
<string name="settings.max_bitrate_wifi">Max Bitrate - Wi-Fi</string>
<string name="settings.max_bitrate_pinning">Max Bitrate - When pinning a song permanently</string>
<string name="settings.max_songs">Max Songs</string>
<string name="settings.media_button_summary">Respond to phone, headset and Bluetooth media buttons</string>
<string name="settings.media_button_title">Media Buttons</string>

View File

@ -167,18 +167,25 @@
a:title="@string/settings.network_title"
app:iconSpaceReserved="false">
<ListPreference
a:defaultValue="0"
a:defaultValue="256"
a:entries="@array/maxBitrateNames"
a:entryValues="@array/maxBitrateValues"
a:key="@string/setting_key.max_bitrate_mobile"
a:title="@string/settings.max_bitrate_mobile"
app:iconSpaceReserved="false"/>
<ListPreference
a:defaultValue="320"
a:entries="@array/maxBitrateNames"
a:entryValues="@array/maxBitrateValues"
a:key="@string/setting_key.max_bitrate_wifi"
a:title="@string/settings.max_bitrate_wifi"
app:iconSpaceReserved="false"/>
<ListPreference
a:defaultValue="0"
a:defaultValue="320"
a:entries="@array/maxBitrateNames"
a:entryValues="@array/maxBitrateValues"
a:key="@string/setting_key.max_bitrate_mobile"
a:title="@string/settings.max_bitrate_mobile"
a:key="@string/setting_key.max_bitrate_pinning"
a:title="@string/settings.max_bitrate_pinning"
app:iconSpaceReserved="false"/>
<CheckBoxPreference
a:defaultValue="false"