[Android] Fix a concurrent modification exception
Nicolas Pomepuy
git at videolan.org
Tue May 5 12:48:24 UTC 2026
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon May 4 14:19:48 2026 +0200| [3b9d371095a3feb0ad6d51120b3de17475784e48] | committer: Nicolas Pomepuy
Fix a concurrent modification exception
> https://code.videolan.org/videolan/vlc-android/commit/3b9d371095a3feb0ad6d51120b3de17475784e48
---
.../org/videolan/vlc/viewmodels/browser/BrowserModel.kt | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/viewmodels/browser/BrowserModel.kt b/application/vlc-android/src/org/videolan/vlc/viewmodels/browser/BrowserModel.kt
index 54bad00fb1..17defcea47 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/browser/BrowserModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/browser/BrowserModel.kt
@@ -88,7 +88,12 @@ open class BrowserModel(
*/
fun reSort() {
viewModelScope.launch {
- dataset.value = withContext(coroutineContextProvider.Default) { dataset.value.apply { provider.sort(this) }.also { provider.computeHeaders(dataset.value) } }
+ dataset.value = withContext(coroutineContextProvider.Default) {
+ val list = dataset.value.toMutableList()
+ provider.sort(list)
+ provider.computeHeaders(list)
+ list
+ }
}
}
@@ -110,7 +115,12 @@ open class BrowserModel(
desc = if (sort == Medialibrary.SORT_DEFAULT) false else !desc
provider.sort = sort
provider.desc = desc
- dataset.value = withContext(coroutineContextProvider.Default) { dataset.value.apply { provider.sort(this) }.also { provider.computeHeaders(dataset.value) } }
+ dataset.value = withContext(coroutineContextProvider.Default) {
+ val list = dataset.value.toMutableList()
+ provider.sort(list)
+ provider.computeHeaders(list)
+ list
+ }
settings.putSingle(sortKey, sort)
settings.putSingle("${sortKey}_desc", desc)
}
More information about the Android
mailing list