From c568f2e9cc4c086c071fee0590884cba6ce6ee64 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 10 Mar 2025 18:00:01 -0400 Subject: [PATCH] Add ability to delete avatars in internal details. --- .../InternalConversationSettingsFragment.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt index f3e5c43662..833aca9c23 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt @@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.groups.GroupId import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.mms.OutgoingMessage +import org.thoughtcrime.securesms.profiles.AvatarHelper import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.recipients.RecipientForeverObserver import org.thoughtcrime.securesms.recipients.RecipientId @@ -201,6 +202,21 @@ class InternalConversationSettingsFragment : DSLSettingsFragment( ) } + clickPref( + title = DSLSettingsText.from("Delete Avatar"), + summary = DSLSettingsText.from("Deletes the avatar file and clears manually showing the avatar, resulting in a blurred gradient (assuming no profile sharing, no group in common, etc.)"), + onClick = { + MaterialAlertDialogBuilder(requireContext()) + .setTitle("Are you sure?") + .setNegativeButton(android.R.string.cancel) { d, _ -> d.dismiss() } + .setPositiveButton(android.R.string.ok) { _, _ -> + SignalDatabase.recipients.manuallyUpdateShowAvatar(recipient.id, false) + AvatarHelper.delete(requireContext(), recipient.id) + } + .show() + } + ) + clickPref( title = DSLSettingsText.from("Clear recipient data"), summary = DSLSettingsText.from("Clears service id, profile data, sessions, identities, and thread."),