From 98d5259d0e8a623bc52cb776ce126ce8c640ef04 Mon Sep 17 00:00:00 2001 From: bjoern Date: Tue, 8 Jul 2025 05:27:42 +0200 Subject: [PATCH] tweak new profile (#3800) * adapt divider to style used elsewhere * offer copy-to-clipboard on long-tap address * Revert "offer copy-to-clipboard on long-tap address" This reverts commit 92570b8e1ef5898b99a9a2769eea0e1e16bf25e1. * show copy-context menu on long pressing address --- .../thoughtcrime/securesms/ConversationTitleView.java | 4 ---- .../org/thoughtcrime/securesms/ProfileAdapter.java | 10 ++++++++-- .../org/thoughtcrime/securesms/ProfileFragment.java | 2 +- src/main/res/layout/profile_divider.xml | 4 ++-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java index 5fb2f14b9..139b8fb82 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java @@ -157,8 +157,4 @@ public class ConversationTitleView extends RelativeLayout { 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/ProfileAdapter.java b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java index f1ec6a4ef..02135bb50 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java @@ -8,6 +8,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; import com.b44t.messenger.DcChat; @@ -44,6 +45,7 @@ public class ProfileAdapter extends RecyclerView.Adapter public static final int ITEM_SHARED_CHATS = 60; private final @NonNull Context context; + private final @NonNull Fragment fragment; private final @NonNull DcContext dcContext; private @Nullable DcChat dcChat; private @Nullable DcContact dcContact; @@ -83,12 +85,13 @@ public class ProfileAdapter extends RecyclerView.Adapter } }; - public ProfileAdapter(@NonNull Context context, + public ProfileAdapter(@NonNull Fragment fragment, @NonNull GlideRequests glideRequests, @Nullable ItemClickListener clickListener) { super(); - this.context = context; + this.fragment = fragment; + this.context = fragment.requireContext(); this.glideRequests = glideRequests; this.clickListener = clickListener; this.dcContext = DcHelper.getContext(context); @@ -211,6 +214,9 @@ public class ProfileAdapter extends RecyclerView.Adapter if (data.viewType == ITEM_LAST_SEEN || data.viewType == ITEM_ADDRESS) { int padding = (int)((float)context.getResources().getDimensionPixelSize(R.dimen.contact_list_normal_padding) * 1.2); item.setPadding(item.getPaddingLeft(), item.getPaddingTop(), item.getPaddingRight(), padding); + if (data.viewType == ITEM_ADDRESS) { + fragment.registerForContextMenu(item); + } } else if (data.viewType == ITEM_INTRODUCED_BY) { int padding = context.getResources().getDimensionPixelSize(R.dimen.contact_list_normal_padding); item.setPadding(item.getPaddingLeft(), padding, item.getPaddingRight(), item.getPaddingBottom()); diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java b/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java index 1a1ee6e76..6a58ea974 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java @@ -67,7 +67,7 @@ public class ProfileFragment extends Fragment @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.profile_fragment, container, false); - adapter = new ProfileAdapter(requireContext(), GlideApp.with(this), this); + adapter = new ProfileAdapter(this, GlideApp.with(this), this); RecyclerView list = ViewUtil.findById(view, R.id.recycler_view); list.setAdapter(adapter); diff --git a/src/main/res/layout/profile_divider.xml b/src/main/res/layout/profile_divider.xml index a1458c441..a33b1a034 100644 --- a/src/main/res/layout/profile_divider.xml +++ b/src/main/res/layout/profile_divider.xml @@ -6,9 +6,9 @@ + android:background="?attr/conversation_list_item_divider"/>