From fd2a464baeadf609d75d9736206d3ef0b42ed9c0 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 2 Mar 2020 08:33:25 -0500 Subject: [PATCH] Use internal contact viewer for avatar clicks. --- .../RecipientPreferenceActivity.java | 20 +++++++++---------- .../securesms/components/AvatarImageView.java | 9 +++------ .../conversation/ConversationActivity.java | 6 +----- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/RecipientPreferenceActivity.java b/app/src/main/java/org/thoughtcrime/securesms/RecipientPreferenceActivity.java index 1ce0440fae..14b885c0f0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/RecipientPreferenceActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/RecipientPreferenceActivity.java @@ -48,6 +48,7 @@ import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto; import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto; import org.thoughtcrime.securesms.contacts.avatars.ProfileContactPhoto; import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto; +import org.thoughtcrime.securesms.conversation.ConversationActivity; import org.thoughtcrime.securesms.crypto.IdentityKeyParcelable; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.IdentityDatabase; @@ -95,8 +96,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi { private static final String TAG = RecipientPreferenceActivity.class.getSimpleName(); - public static final String RECIPIENT_ID = "recipient_address"; - public static final String CAN_HAVE_SAFETY_NUMBER_EXTRA = "can_have_safety_number"; + public static final String RECIPIENT_ID = "recipient"; private static final String PREFERENCE_MUTED = "pref_key_recipient_mute"; private static final String PREFERENCE_MESSAGE_TONE = "pref_key_recipient_ringtone"; @@ -119,6 +119,13 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi private ThreadPhotoRailView threadPhotoRailView; private CollapsingToolbarLayout toolbarLayout; + public static @NonNull Intent getLaunchIntent(@NonNull Context context, @NonNull RecipientId id) { + Intent intent = new Intent(context, RecipientPreferenceActivity.class); + intent.putExtra(RecipientPreferenceActivity.RECIPIENT_ID, id); + + return intent; + } + @Override public void onPreCreate() { dynamicTheme.onCreate(this); @@ -166,12 +173,6 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi return false; } - @Override - public void onBackPressed() { - finish(); - overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); - } - private void initializeToolbar() { this.toolbarLayout = ViewUtil.findById(this, R.id.collapsing_toolbar); this.avatar = ViewUtil.findById(this, R.id.avatar); @@ -284,8 +285,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi initializeRecipients(); - this.canHaveSafetyNumber = getActivity().getIntent() - .getBooleanExtra(RecipientPreferenceActivity.CAN_HAVE_SAFETY_NUMBER_EXTRA, false); + this.canHaveSafetyNumber = recipient.get().isRegistered() && !recipient.get().isLocalNumber(); Preference customNotificationsPref = this.findPreference(PREFERENCE_CUSTOM_NOTIFICATIONS); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java b/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java index 278f3a44a0..05ccb491b4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java @@ -16,6 +16,7 @@ import androidx.appcompat.widget.AppCompatImageView; import com.bumptech.glide.load.engine.DiskCacheStrategy; import org.thoughtcrime.securesms.R; +import org.thoughtcrime.securesms.RecipientPreferenceActivity; import org.thoughtcrime.securesms.color.MaterialColor; import org.thoughtcrime.securesms.contacts.avatars.ContactColors; import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto; @@ -149,12 +150,8 @@ public final class AvatarImageView extends AppCompatImageView { private void setAvatarClickHandler(final Recipient recipient, boolean quickContactEnabled) { super.setOnClickListener(v -> { - if (!recipient.isGroup() && quickContactEnabled) { - if (recipient.getContactUri() != null) { - ContactsContract.QuickContact.showQuickContact(getContext(), AvatarImageView.this, recipient.getContactUri(), ContactsContract.QuickContact.MODE_LARGE, null); - } else { - getContext().startActivity(RecipientExporter.export(recipient).asAddContactIntent()); - } + if (quickContactEnabled) { + getContext().startActivity(RecipientPreferenceActivity.getLaunchIntent(getContext(), recipient.getId())); } else if (listener != null) { listener.onClick(v); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 1953cf361c..99dd033f1e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -951,11 +951,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity private void handleConversationSettings() { if (isInMessageRequest()) return; - Intent intent = new Intent(ConversationActivity.this, RecipientPreferenceActivity.class); - intent.putExtra(RecipientPreferenceActivity.RECIPIENT_ID, recipient.getId()); - intent.putExtra(RecipientPreferenceActivity.CAN_HAVE_SAFETY_NUMBER_EXTRA, - isSecureText && !isSelfConversation()); - + Intent intent = RecipientPreferenceActivity.getLaunchIntent(this, recipient.getId()); startActivitySceneTransition(intent, titleView.findViewById(R.id.contact_photo_image), "avatar"); }