diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsRepository.kt index e79b3f421..6d2e50e6a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsRepository.kt @@ -5,6 +5,7 @@ import org.signal.core.util.concurrent.SignalExecutors import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.dependencies.ApplicationDependencies import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob +import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.storage.StorageSyncHelper @@ -30,4 +31,12 @@ class ChatsSettingsRepository { ) } } + + fun syncPreferSystemContactPhotos() { + SignalExecutors.BOUNDED.execute { + SignalDatabase.recipients.markNeedsSync(Recipient.self().id) + ApplicationDependencies.getJobManager().add(MultiDeviceContactUpdateJob(true)) + StorageSyncHelper.scheduleSyncForDataChange() + } + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt index e22c7294f..e397b3f88 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt @@ -4,9 +4,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import org.thoughtcrime.securesms.dependencies.ApplicationDependencies -import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob import org.thoughtcrime.securesms.keyvalue.SignalStore -import org.thoughtcrime.securesms.storage.StorageSyncHelper import org.thoughtcrime.securesms.util.BackupUtil import org.thoughtcrime.securesms.util.ConversationUtil import org.thoughtcrime.securesms.util.ThrottledDebouncer @@ -36,10 +34,9 @@ class ChatsSettingsViewModel(private val repository: ChatsSettingsRepository) : fun setUseAddressBook(enabled: Boolean) { store.update { it.copy(useAddressBook = enabled) } - SignalStore.settings().isPreferSystemContactPhotos = enabled refreshDebouncer.publish { ConversationUtil.refreshRecipientShortcuts() } - ApplicationDependencies.getJobManager().add(MultiDeviceContactUpdateJob(true)) - StorageSyncHelper.scheduleSyncForDataChange() + SignalStore.settings().isPreferSystemContactPhotos = enabled + repository.syncPreferSystemContactPhotos() } fun setUseSystemEmoji(enabled: Boolean) {