From f9885fbcadb943e78607ff5da30d36f1ee4c70dc Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 7 Jul 2025 17:30:45 +0200 Subject: [PATCH 1/4] hidde "chats in common" header when no chats in common --- src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java index 22331b89d..f1ec6a4ef 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java @@ -318,7 +318,7 @@ public class ProfileAdapter extends RecyclerView.Adapter } } - if (sharedChats != null && !isDeviceTalk) { + if (!isDeviceTalk && sharedChats != null && sharedChats.getCnt() > 0) { itemData.add(new ItemData(ITEM_HEADER, context.getString(R.string.profile_shared_chats), 0)); for (int i = 0; i < sharedChats.getCnt(); i++) { itemData.add(new ItemData(ITEM_SHARED_CHATS, 0, i)); From e6415abda2cbc09ab06d1de596827b1eee836ede Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 7 Jul 2025 17:42:16 +0200 Subject: [PATCH 2/4] modify QR icon --- .../contacts/ContactSelectionListItem.java | 2 +- src/main/res/drawable/baseline_qr_code_24.xml | 15 --------------- src/main/res/drawable/ic_qr_code_24.xml | 3 +++ src/main/res/menu/text_secure_normal.xml | 2 +- 4 files changed, 5 insertions(+), 17 deletions(-) delete mode 100644 src/main/res/drawable/baseline_qr_code_24.xml create mode 100644 src/main/res/drawable/ic_qr_code_24.xml diff --git a/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java b/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java index 9f675e654..a5fa2c4ec 100644 --- a/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java +++ b/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java @@ -79,7 +79,7 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientM this.nameView.setTypeface(null, Typeface.NORMAL); } if (specialId == DcContact.DC_CONTACT_ID_QR_INVITE) { - this.avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.baseline_qr_code_24).asDrawable(getContext(), ThemeUtil.getDummyContactColor(getContext()))); + this.avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.ic_qr_code_24).asDrawable(getContext(), ThemeUtil.getDummyContactColor(getContext()))); } else { this.avatar.setAvatar(glideRequests, recipient, false); } diff --git a/src/main/res/drawable/baseline_qr_code_24.xml b/src/main/res/drawable/baseline_qr_code_24.xml deleted file mode 100644 index e7edb465f..000000000 --- a/src/main/res/drawable/baseline_qr_code_24.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/main/res/drawable/ic_qr_code_24.xml b/src/main/res/drawable/ic_qr_code_24.xml new file mode 100644 index 000000000..f95c18d61 --- /dev/null +++ b/src/main/res/drawable/ic_qr_code_24.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/main/res/menu/text_secure_normal.xml b/src/main/res/menu/text_secure_normal.xml index 05d26d1a1..8a942ede3 100644 --- a/src/main/res/menu/text_secure_normal.xml +++ b/src/main/res/menu/text_secure_normal.xml @@ -4,7 +4,7 @@ Date: Mon, 7 Jul 2025 18:39:51 +0200 Subject: [PATCH 3/4] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc57f3942..3e6400b6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * New icon for the in-chat apps button * Improve hint for app drafts * Add Text-To-Speech (TTS) support for in-chat apps +* New icon for the QR icon ## v1.58.4 2025-05 From 98d5259d0e8a623bc52cb776ce126ce8c640ef04 Mon Sep 17 00:00:00 2001 From: bjoern Date: Tue, 8 Jul 2025 05:27:42 +0200 Subject: [PATCH 4/4] 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"/>