[Android] Prepare the queries for equalizers backup/restore
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 30 08:00:03 2025 +0200| [0a7163324f9678855b94bc0be1faf697ae66a849] | committer: Nicolas Pomepuy
Prepare the queries for equalizers backup/restore
> https://code.videolan.org/videolan/vlc-android/commit/0a7163324f9678855b94bc0be1faf697ae66a849
---
.../java/org/videolan/vlc/database/EqualizerDao.kt | 3 +++
.../org/videolan/vlc/repository/EqualizerRepository.kt | 1 +
.../vlc-android/src/org/videolan/vlc/util/JsonUtil.kt | 18 ++++++++++++++++++
3 files changed, 22 insertions(+)
diff --git a/application/mediadb/src/main/java/org/videolan/vlc/database/EqualizerDao.kt b/application/mediadb/src/main/java/org/videolan/vlc/database/EqualizerDao.kt
index 56499deea6..46ff121b4d 100644
--- a/application/mediadb/src/main/java/org/videolan/vlc/database/EqualizerDao.kt
+++ b/application/mediadb/src/main/java/org/videolan/vlc/database/EqualizerDao.kt
@@ -59,4 +59,7 @@ interface EqualizerDao {
@Query("SELECT * FROM equalizer_entry WHERE id = :id")
fun getCurrentEqualizer(id: Long): EqualizerWithBands?
+ @Query("SELECT * FROM equalizer_entry WHERE preset_index == -1")
+ fun getCustomEqualizers(): List<EqualizerWithBands>
+
}
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 6665b1caf2..9c50d439ff 100644
--- a/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt
+++ b/application/vlc-android/src/org/videolan/vlc/repository/EqualizerRepository.kt
@@ -68,6 +68,7 @@ class EqualizerRepository(private val equalizerDao: EqualizerDao, private val co
equalizerDao.delete(equalizerEntry)
}
+ fun getCustomEqualizers(): List<EqualizerWithBands> = equalizerDao.getCustomEqualizers()
companion object : SingletonHolder<EqualizerRepository, Context>({ EqualizerRepository(MediaDatabase.getInstance(it).equalizerDao()) })
}
\ No newline at end of file
diff --git a/application/vlc-android/src/org/videolan/vlc/util/JsonUtil.kt b/application/vlc-android/src/org/videolan/vlc/util/JsonUtil.kt
index 145f82bcc8..31cb77d981 100644
--- a/application/vlc-android/src/org/videolan/vlc/util/JsonUtil.kt
+++ b/application/vlc-android/src/org/videolan/vlc/util/JsonUtil.kt
@@ -46,6 +46,13 @@ object JsonUtil {
return adapter.toJson(data)
}
+ inline fun <reified T> convertToJson(data: List<T>?): String {
+ val moshi = Moshi.Builder().build()
+ val type = Types.newParameterizedType(MutableList::class.java, Any::class.java)
+ val adapter = moshi.adapter<List<T>>(type).nullSafe()
+ return adapter.toJson(data)
+ }
+
fun getEqualizerFromJson(string: String): EqualizerWithBands? {
val moshi: Moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(EqualizerWithBands::class.java)
@@ -56,5 +63,16 @@ object JsonUtil {
}
return null
}
+
+ fun getEqualizersFromJson(string: String): List<EqualizerWithBands>? {
+ val moshi: Moshi = Moshi.Builder().build()
+ val type = Types.newParameterizedType(MutableList::class.java, EqualizerWithBands::class.java)
+
+ val adapter: JsonAdapter<List<EqualizerWithBands>> = moshi.adapter(type)
+ adapter.fromJson(string)?.let {
+ return it
+ }
+ return null
+ }
}
More information about the Android
mailing list