From b02629bf34e8a763b4151259e78f9bf1e8458e22 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 14 Jan 2021 10:17:53 -0300 Subject: [PATCH] Add "Tap to learn more" to message bubbles for timer changes --- .../android/conversation/ConversationActivity.java | 13 +++++++++---- .../conversation/ConversationItemViewHolder.java | 7 +++++-- .../android/conversation/ConversationListener.java | 2 ++ .../layout/list_item_conversation_top_notice_in.xml | 1 + .../list_item_conversation_top_notice_out.xml | 1 + briar-android/src/main/res/values/strings.xml | 13 +++++++++---- 6 files changed, 27 insertions(+), 10 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java index 375a72d70..819e9b603 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java @@ -400,10 +400,7 @@ public class ConversationActivity extends BriarActivity return true; case R.id.action_conversation_settings: if (contactId == null) return false; - ConversationSettingsDialog dialog = - ConversationSettingsDialog.newInstance(contactId); - dialog.show(getSupportFragmentManager(), - ConversationSettingsDialog.TAG); + onAutoDeleteTimerNoticeClicked(); return true; case R.id.action_delete_all_messages: askToDeleteAllMessages(); @@ -1043,6 +1040,14 @@ public class ConversationActivity extends BriarActivity ActivityCompat.startActivity(this, i, options.toBundle()); } + @Override + public void onAutoDeleteTimerNoticeClicked() { + ConversationSettingsDialog dialog = + ConversationSettingsDialog.newInstance(contactId); + dialog.show(getSupportFragmentManager(), + ConversationSettingsDialog.TAG); + } + @DatabaseExecutor private void respondToIntroductionRequest(SessionId sessionId, boolean accept) throws DbException { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java index 8c3dc790d..e9497f40c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java @@ -81,20 +81,23 @@ abstract class ConversationItemViewHolder extends ViewHolder { Context ctx = itemView.getContext(); topNotice.setVisibility(VISIBLE); boolean enabled = item.getAutoDeleteTimer() != NO_AUTO_DELETE_TIMER; + String tapToLearnMore = ctx.getString(R.string.tap_to_learn_more); String text; if (item.isIncoming()) { String name = item.getContactName().getValue(); int strRes = enabled ? R.string.auto_delete_msg_contact_enabled : R.string.auto_delete_msg_contact_disabled; - text = ctx.getString(strRes, name); + text = ctx.getString(strRes, name, tapToLearnMore); } else { int strRes = enabled ? R.string.auto_delete_msg_you_enabled : R.string.auto_delete_msg_you_disabled; - text = ctx.getString(strRes); + text = ctx.getString(strRes, tapToLearnMore); } topNotice.setText(text); + topNotice.setOnClickListener( + v -> listener.onAutoDeleteTimerNoticeClicked()); } else { topNotice.setVisibility(GONE); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationListener.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationListener.java index 700608e3a..65a25e343 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationListener.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationListener.java @@ -18,4 +18,6 @@ interface ConversationListener { void onAttachmentClicked(View view, ConversationMessageItem messageItem, AttachmentItem attachmentItem); + void onAutoDeleteTimerNoticeClicked(); + } diff --git a/briar-android/src/main/res/layout/list_item_conversation_top_notice_in.xml b/briar-android/src/main/res/layout/list_item_conversation_top_notice_in.xml index ca7071d87..1d53bc8de 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_top_notice_in.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_top_notice_in.xml @@ -14,6 +14,7 @@ android:background="@drawable/notice_in" android:elevation="@dimen/message_bubble_elevation" android:paddingBottom="@dimen/message_bubble_padding_top" + android:textIsSelectable="false" android:visibility="gone" tools:text="@string/auto_delete_msg_contact_enabled" tools:visibility="visible" /> diff --git a/briar-android/src/main/res/layout/list_item_conversation_top_notice_out.xml b/briar-android/src/main/res/layout/list_item_conversation_top_notice_out.xml index 38935f5fd..ca479733d 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_top_notice_out.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_top_notice_out.xml @@ -15,6 +15,7 @@ android:elevation="@dimen/message_bubble_elevation" android:paddingBottom="@dimen/message_bubble_padding_top" android:textColor="@color/private_message_date_inverse" + android:textIsSelectable="false" android:visibility="gone" tools:showIn="@layout/list_item_conversation_msg_out" tools:text="@string/auto_delete_msg_you_enabled" diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index f72008af5..a6c2e4c50 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -167,10 +167,15 @@ Change contact name Contact name Disappearing messages - Your messages will disappear after 7 days. - Your messages will not disappear. - %1$s\'s messages will disappear after 7 days. - %1$s\'s messages will not disappear. + + Your messages will disappear after 7 days. %1$s + + Your messages will not disappear. %1$s + + %1$s\'s messages will disappear after 7 days. %2$s + + %1$s\'s messages will not disappear. %2$s + Tap to learn more. Delete all messages Confirm Message Deletion Are you sure that you want to delete all messages?