diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java index 7e8fe5ee9..717a61da5 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java @@ -1,5 +1,6 @@ package org.thoughtcrime.securesms; +import android.app.Activity; import android.content.Context; import android.text.TextUtils; import android.util.AttributeSet; @@ -145,23 +146,17 @@ public class ConversationTitleView extends RelativeLayout { avatar.setSeenRecently(seenRecently); } - public void hideAvatar() { - avatar.setVisibility(View.GONE); - } - @Override public void setOnClickListener(@Nullable OnClickListener listener) { this.content.setOnClickListener(listener); this.avatar.setAvatarClickListener(listener); } - @Override - public void setOnLongClickListener(@Nullable OnLongClickListener listener) { - this.content.setOnLongClickListener(listener); - this.avatar.setAvatarLongClickListener(listener); - } - public void setOnBackClickedListener(@Nullable OnClickListener listener) { this.back.setOnClickListener(listener); } + + public void registerForContextMenu(Activity activity) { + activity.registerForContextMenu(content); + } } diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java b/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java index e14a3a1a1..065261855 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java @@ -1,13 +1,12 @@ package org.thoughtcrime.securesms; -import static org.thoughtcrime.securesms.util.RelayUtil.setForwardingMessageIds; - import android.app.Activity; import android.content.Intent; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; +import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -29,7 +28,6 @@ import com.b44t.messenger.DcChat; import com.b44t.messenger.DcContact; import com.b44t.messenger.DcContext; import com.b44t.messenger.DcEvent; -import com.b44t.messenger.DcMsg; import com.google.android.material.tabs.TabLayout; import org.thoughtcrime.securesms.connect.DcEventCenter; @@ -108,6 +106,9 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity titleView = (ConversationTitleView) supportActionBar.getCustomView(); titleView.setOnBackClickedListener(view -> onBackPressed()); titleView.setOnClickListener(view -> onEnlargeAvatar()); + if (isContactProfile() && !isSelfProfile() && !chatIsDeviceTalk) { + titleView.registerForContextMenu(this); + } } updateToolbar(); @@ -138,7 +139,6 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity if (chatIsDeviceTalk) { menu.findItem(R.id.edit_name).setVisible(false); menu.findItem(R.id.show_encr_info).setVisible(false); - menu.findItem(R.id.copy_addr_to_clipboard).setVisible(false); menu.findItem(R.id.share).setVisible(false); } else if (chatIsMultiUser) { if (chatIsBroadcast) { @@ -149,7 +149,6 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity menu.findItem(R.id.edit_name).setVisible(false); } } - menu.findItem(R.id.copy_addr_to_clipboard).setVisible(false); menu.findItem(R.id.share).setVisible(false); } } else { @@ -187,6 +186,12 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity return true; } + @Override + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { + super.onCreateContextMenu(menu, v, menuInfo); + getMenuInflater().inflate(R.menu.profile_title_context, menu); + } + boolean backPressed = false; @Override public void onBackPressed() { @@ -425,9 +430,6 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity case R.id.share: onShare(); break; - case R.id.copy_addr_to_clipboard: - onCopyAddrToClipboard(); - break; case R.id.show_encr_info: onEncrInfo(); break; @@ -442,6 +444,17 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity return false; } + @Override + public boolean onContextItemSelected(MenuItem item) { + super.onContextItemSelected(item); + switch (item.getItemId()) { + case R.id.copy_addr_to_clipboard: + onCopyAddrToClipboard(); + break; + } + return false; + } + private void onNotifyOnOff() { if (dcContext.getChat(chatId).isMuted()) { setMuted(0); diff --git a/src/main/res/menu/profile_common.xml b/src/main/res/menu/profile_common.xml index db4b9581b..2ae4969d3 100644 --- a/src/main/res/menu/profile_common.xml +++ b/src/main/res/menu/profile_common.xml @@ -10,10 +10,6 @@ android:id="@+id/edit_name" app:showAsAction="never"/> - - diff --git a/src/main/res/menu/profile_title_context.xml b/src/main/res/menu/profile_title_context.xml new file mode 100644 index 000000000..7f3d9a3fe --- /dev/null +++ b/src/main/res/menu/profile_title_context.xml @@ -0,0 +1,8 @@ + + + + + + +