diff --git a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/MessageInputViewModel.kt b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/MessageInputViewModel.kt index 5fe19e356..0dbe93a9f 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/MessageInputViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/MessageInputViewModel.kt @@ -147,7 +147,6 @@ class MessageInputViewModel @Inject constructor( dataStore.saveMessageQueue(internalId, messageQueue) _messageQueueSizeFlow.update { messageQueue.size } val id = internalId.substringBefore('@') - dataStore.deleteAllMessageQueuesFor(id) _messageQueueFlow.postValue(listOf(qMsg)) return } diff --git a/app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java index e91c8a136..1f39df37d 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java @@ -196,7 +196,7 @@ public class AccountRemovalWorker extends Worker { if (user.getId() != null) { String username = user.getUsername(); try { -// appPreferences.deleteAllMessageQueuesFor(user.getUserId()); // TODO uncomment this when done + appPreferences.deleteAllMessageQueuesFor(user.getUserId()); userManager.deleteUser(user.getId()); Log.d(TAG, "deleted user: " + username); } catch (Throwable e) { diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt index 11ab5f846..c3e2fcc48 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/AppPreferencesImpl.kt @@ -527,11 +527,17 @@ class AppPreferencesImpl(val context: Context) : AppPreferences { override fun deleteAllMessageQueuesFor(userId: String) { runBlocking { async { + val keyList = mutableListOf>() val preferencesMap = context.dataStore.data.first().asMap() for (preference in preferencesMap) { if (preference.key.name.contains("$userId@")) { - Log.d("Julius", "found: ${preference.key} :\n ${preference.value}\n") - // TODO remove it somehow + keyList.add(preference.key) + } + } + + for (key in keyList) { + context.dataStore.edit { + it.remove(key) } } }