[Android] Properly select the newly created equalizer

Nicolas Pomepuy git at videolan.org
Fri Jul 25 11:46:43 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon Jun 16 08:03:00 2025 +0200| [e6596413103ae8697730eb91304aa2dd1bc0506c] | committer: Nicolas Pomepuy

Properly select the newly created equalizer

> https://code.videolan.org/videolan/vlc-android/commit/e6596413103ae8697730eb91304aa2dd1bc0506c
---

 .../src/org/videolan/vlc/repository/EqualizerRepository.kt  | 13 +++++++++++--
 .../src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt   |  2 +-
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt b/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt
index 965ce94e28..cc3b6ed9a4 100644
--- a/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt
+++ b/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt
@@ -43,14 +43,23 @@ class EqualizerRepository(private val equalizerDao: EqualizerDao, private val co
 
     fun getCurrentEqualizer(context: Context) = equalizerDao.getCurrentEqualizer(Settings.getInstance(context).getLong(KEY_CURRENT_EQUALIZER_ID, 1L))
 
-    fun addOrUpdateEqualizerWithBands(context: Context, equalizer:EqualizerWithBands) {
+    /**
+     * Add or update equalizer with bands
+     *
+     * @param context the context used to create the database transaction
+     * @param equalizer the equalizer to add or update
+     * @return the id of the created/updated equalizer
+     */
+    fun addOrUpdateEqualizerWithBands(context: Context, equalizer:EqualizerWithBands):Long {
+        var id = -1L
         MediaDatabase.getInstance(context).runInTransaction {
-            val id = equalizerDao.insert(equalizer.equalizerEntry)
+            id = equalizerDao.insert(equalizer.equalizerEntry)
             equalizer.bands.forEach {
                 it.equalizerEntry = id
                 equalizerDao.insertBands(it)
             }
         }
+        return id
     }
 
     fun delete(equalizerEntry: EqualizerEntry) {
diff --git a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
index c03d4b79c3..556b188853 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
@@ -109,7 +109,7 @@ class EqualizerViewModel(context: Context, private val equalizerRepository: Equa
     fun createCustomEqualizer(context: Context) = viewModelScope.launch(Dispatchers.IO) {
         val currentEqualizer = getCurrentEqualizer()
         val newEq = currentEqualizer.copy(equalizerEntry = currentEqualizer.equalizerEntry.copy(presetIndex = -1, name = currentEqualizer.equalizerEntry.name + " (copy)").apply { id = 0 })
-        equalizerRepository.addOrUpdateEqualizerWithBands(context, newEq)
+        currentEqualizerId = equalizerRepository.addOrUpdateEqualizerWithBands(context, newEq)
     }
 }
 



More information about the Android mailing list