diff --git a/app/src/main/java/com/cappielloantonio/tempo/service/BaseMediaService.kt b/app/src/main/java/com/cappielloantonio/tempo/service/BaseMediaService.kt
index 653507ee..e442428b 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/service/BaseMediaService.kt
+++ b/app/src/main/java/com/cappielloantonio/tempo/service/BaseMediaService.kt
@@ -41,6 +41,7 @@ import java.util.concurrent.Executors
import java.util.concurrent.ScheduledExecutorService
import java.util.concurrent.ScheduledFuture
import java.util.concurrent.TimeUnit
+import java.util.logging.Logger
private const val TAG = "BaseMediaService"
@@ -467,10 +468,11 @@ open class BaseMediaService : MediaLibraryService() {
}
private fun initializeLoadControl(): DefaultLoadControl {
+ val miliseconds: Int = TimeUnit.SECONDS.toMillis(Preferences.getBufferingStrategy().toLong()).toInt()
return DefaultLoadControl.Builder()
.setBufferDurationsMs(
- (DefaultLoadControl.DEFAULT_MIN_BUFFER_MS * Preferences.getBufferingStrategy()).toInt(),
- (DefaultLoadControl.DEFAULT_MAX_BUFFER_MS * Preferences.getBufferingStrategy()).toInt(),
+ miliseconds,
+ miliseconds,
DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS,
DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS
)
diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
index 2981fa7c..55416b19 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
+++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
@@ -25,6 +25,7 @@
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.os.LocaleListCompat;
import androidx.lifecycle.ViewModelProvider;
+import androidx.media3.common.util.Log;
import androidx.media3.common.util.UnstableApi;
import androidx.navigation.NavController;
import androidx.navigation.NavOptions;
@@ -34,6 +35,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceManager;
import androidx.preference.SwitchPreference;
import com.cappielloantonio.tempo.BuildConfig;
@@ -109,6 +111,42 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
}
}
});
+
+ ListPreference bufferingPref = findPreference("buffering_strategy");
+
+ Context ctx = requireContext();
+ String selectedValue = PreferenceManager
+ .getDefaultSharedPreferences(ctx)
+ .getString("buffering_strategy", "1");
+
+ String[] titles = ctx.getResources().getStringArray(R.array.buffering_strategy_titles);
+ String[] values = ctx.getResources().getStringArray(R.array.buffering_strategy_values);
+
+ String title;
+ switch (selectedValue) {
+ case "5":
+ title = titles[0];
+ break;
+ case "30":
+ title = titles[1];
+ break;
+ case "60":
+ title = titles[2];
+ break;
+ case "180":
+ title = titles[3];
+ break;
+ case "300":
+ title = titles[4];
+ break;
+ default:
+ title = titles[2];
+ Log.e(TAG, "This is not working");
+ break;
+ }
+
+ String newSummary = ctx.getString(R.string.settings_buffering_strategy_summary, title);
+ bufferingPref.setSummary(newSummary);
}
@Override
diff --git a/app/src/main/java/com/cappielloantonio/tempo/util/Preferences.kt b/app/src/main/java/com/cappielloantonio/tempo/util/Preferences.kt
index 099a471d..07ca5797 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/util/Preferences.kt
+++ b/app/src/main/java/com/cappielloantonio/tempo/util/Preferences.kt
@@ -605,7 +605,7 @@ object Preferences {
@JvmStatic
fun getBufferingStrategy(): Double {
- return App.getInstance().preferences.getString(BUFFERING_STRATEGY, "1")!!.toDouble()
+ return App.getInstance().preferences.getString(BUFFERING_STRATEGY, "60")!!.toDouble()
}
@JvmStatic
diff --git a/app/src/main/res/values-ca/arrays.xml b/app/src/main/res/values-ca/arrays.xml
index cb91ef15..4020f172 100644
--- a/app/src/main/res/values-ca/arrays.xml
+++ b/app/src/main/res/values-ca/arrays.xml
@@ -229,16 +229,18 @@
- - Mínima
- - Moderada
- - Agressiva
- - Extrema
+ - 5 segons
+ - 30 segons
+ - 1 minuts
+ - 3 minuts
+ - 5 minuts
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-es-rES/arrays.xml b/app/src/main/res/values-es-rES/arrays.xml
index 937e6000..df18e066 100644
--- a/app/src/main/res/values-es-rES/arrays.xml
+++ b/app/src/main/res/values-es-rES/arrays.xml
@@ -228,16 +228,18 @@
- - Mínimo
- - Moderado
- - Agresivo
- - Extremo
+ - 5 segundos
+ - 30 segundos
+ - 1 minuto
+ - 3 minutos
+ - 5 minutos
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-fr/arrays.xml b/app/src/main/res/values-fr/arrays.xml
index 3d488f65..4a8e7214 100644
--- a/app/src/main/res/values-fr/arrays.xml
+++ b/app/src/main/res/values-fr/arrays.xml
@@ -228,16 +228,18 @@
- - Minimum
- - Modérée
- - Agressive
- - Extrême
+ - 5 secondes
+ - 30 secondes
+ - 1 minutes
+ - 3 minutes
+ - 5 minutes
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-it/arrays.xml b/app/src/main/res/values-it/arrays.xml
index 2a63156f..2027fcb2 100644
--- a/app/src/main/res/values-it/arrays.xml
+++ b/app/src/main/res/values-it/arrays.xml
@@ -228,18 +228,20 @@
- - Minimo
- - Moderato
- - Aggressivo
- - Estremo
+ - 5 secondi
+ - 30 secondi
+ - 1 minuto
+ - 3 minuti
+ - 5 minuti
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
-
+
- Minimo 0 stelle
- Minimo 1 stella
diff --git a/app/src/main/res/values-ko/arrays.xml b/app/src/main/res/values-ko/arrays.xml
index 2ae1c2cf..c952a877 100644
--- a/app/src/main/res/values-ko/arrays.xml
+++ b/app/src/main/res/values-ko/arrays.xml
@@ -213,16 +213,18 @@
- - 최소한
- - 보통
- - 적극적
- - 최대한
+ - 5초
+ - 30초
+ - 1분
+ - 3분
+ - 5분
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-pl/arrays.xml b/app/src/main/res/values-pl/arrays.xml
index 2765cbd3..e0f02819 100644
--- a/app/src/main/res/values-pl/arrays.xml
+++ b/app/src/main/res/values-pl/arrays.xml
@@ -228,16 +228,18 @@
- - Minimalna
- - Średnia
- - Agresywna
- - Ekstremalna
+ - 5 sekund
+ - 30 sekund
+ - 1 minuta
+ - 3 minuty
+ - 5 minut
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-pt/arrays.xml b/app/src/main/res/values-pt/arrays.xml
index ad32906c..37fb0e02 100644
--- a/app/src/main/res/values-pt/arrays.xml
+++ b/app/src/main/res/values-pt/arrays.xml
@@ -213,16 +213,18 @@
- - Mínimo
- - Moderado
- - Agressivo
- - Extremo
+ - 5 segundos
+ - 30 segundos
+ - 1 minuto
+ - 3 minutos
+ - 5 minutos
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-ro/arrays.xml b/app/src/main/res/values-ro/arrays.xml
index 69d24ab3..ada04d84 100644
--- a/app/src/main/res/values-ro/arrays.xml
+++ b/app/src/main/res/values-ro/arrays.xml
@@ -229,16 +229,18 @@
- - Minim
- - Moderat
- - Agresiv
- - Extrem
+ - 5 secunde
+ - 30 de secunde
+ - 1 minut
+ - 3 minute
+ - 5 minute
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-ru/arrays.xml b/app/src/main/res/values-ru/arrays.xml
index 0c2e6ace..06f7512d 100644
--- a/app/src/main/res/values-ru/arrays.xml
+++ b/app/src/main/res/values-ru/arrays.xml
@@ -228,16 +228,18 @@
- - Минимум
- - Умеренный
- - Агрессивный
- - Экстремальный
+ - 5 секунд
+ - 30 секунд
+ - 1 минута
+ - 3 минуты
+ - 5 минут
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-tr/arrays.xml b/app/src/main/res/values-tr/arrays.xml
index db3d1427..9a5a3f61 100644
--- a/app/src/main/res/values-tr/arrays.xml
+++ b/app/src/main/res/values-tr/arrays.xml
@@ -228,16 +228,18 @@
- - Minimum
- - Moderate
- - Agrasif
- - Aşırı
+ - 5 saniye
+ - 30 saniye
+ - 1 dakika
+ - 3 dakika
+ - 5 dakika
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values-zh/arrays.xml b/app/src/main/res/values-zh/arrays.xml
index a3b53543..6fd61a72 100644
--- a/app/src/main/res/values-zh/arrays.xml
+++ b/app/src/main/res/values-zh/arrays.xml
@@ -228,16 +228,18 @@
- - 最小
- - 适中
- - 积极
- - 极端
+ - 5秒
+ - 30秒
+ - 1分钟
+ - 3分钟
+ - 5分钟
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 300
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index b9c6587b..80e1f3ae 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -228,16 +228,18 @@
- - Minimum
- - Moderate
- - Aggressive
- - Extreme
+ - 5 seconds
+ - 30 seconds
+ - 1 minute
+ - 3 minutes
+ - 5 minutes
- - .1
- - 1
- - 4
- - 8
+ - 5
+ - 30
+ - 60
+ - 180
+ - 600
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2cb61a4c..7acc59b0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -350,8 +350,8 @@
If enabled, Tempus will not force stream the track with the transcode settings below.
Prioritize server transcode settings
Priority on transcoding of track given to server
- Buffering strategy
- For the change to take effect you must manually restart the app.
+ Song preload buffer
+ Current selected value: %1$s\nFor the change to take effect you must manually restart the app.
Choose a folder for downloaded music files
Clear download folder
Allows music to keep playing after a playlist has ended, playing similar songs
diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml
index 02a47086..dc73077c 100644
--- a/app/src/main/res/xml/global_preferences.xml
+++ b/app/src/main/res/xml/global_preferences.xml
@@ -239,7 +239,7 @@
android:key="sync_starred_artists_for_offline_use" />