diff --git a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ConfigFactory.kt b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ConfigFactory.kt index 5bca2ca524..f3bb2bfa2a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ConfigFactory.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ConfigFactory.kt @@ -441,7 +441,13 @@ class ConfigFactory @Inject constructor( } fun clearAll() { - //TODO: clear all configs + synchronized(userConfigs) { + userConfigs.clear() + } + + synchronized(groupConfigs) { + groupConfigs.clear() + } } private class GroupSubAccountSwarmAuth( diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2Impl.kt b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2Impl.kt index 909d43ff27..6095d7b496 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2Impl.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2Impl.kt @@ -826,8 +826,17 @@ class GroupManagerV2Impl @Inject constructor( withContext(dispatcher) { val adminKey = requireAdminAccess(groupId) - configFactory.withMutableGroupConfigs(groupId) { - it.groupInfo.setName(newName) + val nameChanged = configFactory.withMutableGroupConfigs(groupId) { configs -> + if (configs.groupInfo.getName() != newName) { + configs.groupInfo.setName(newName) + true + } else { + false + } + } + + if (!nameChanged) { + return@withContext } val timestamp = clock.currentTimeMills()