From 987f69227a84b0a4347d8149227d68cc997cc425 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 12 May 2022 15:08:24 -0300 Subject: [PATCH] Add polish to story replies button and direct reply sheet. --- .../viewer/page/StoryViewerPageFragment.kt | 16 ++++++++++++++-- .../direct/StoryDirectReplyDialogFragment.kt | 6 ++++-- .../viewer/reply/direct/StoryDirectReplyState.kt | 2 +- .../reply/direct/StoryDirectReplyViewModel.kt | 2 +- .../res/drawable-ldltr/ic_reply_24_outline.xml | 5 +++++ .../res/drawable-ldrtl/ic_chevron_end_24.xml | 9 +++++++++ .../res/drawable-ldrtl/ic_reply_24_outline.xml | 9 +++++++++ app/src/main/res/drawable/ic_chevron_end_24.xml | 9 +++++++++ .../main/res/drawable/ic_reply_24_outline.xml | 5 +++++ .../res/layout/stories_viewer_fragment_page.xml | 7 ++++++- app/src/main/res/values/strings.xml | 2 ++ 11 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/drawable-ldltr/ic_reply_24_outline.xml create mode 100644 app/src/main/res/drawable-ldrtl/ic_chevron_end_24.xml create mode 100644 app/src/main/res/drawable-ldrtl/ic_reply_24_outline.xml create mode 100644 app/src/main/res/drawable/ic_chevron_end_24.xml create mode 100644 app/src/main/res/drawable/ic_reply_24_outline.xml diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt index 504b09d04..6ff3f28c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt @@ -24,6 +24,7 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.lifecycle.LiveDataReactiveStreams +import com.google.android.material.button.MaterialButton import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Observable import org.signal.core.util.DimensionUnit @@ -82,7 +83,7 @@ class StoryViewerPageFragment : private lateinit var progressBar: SegmentedProgressBar private lateinit var storySlate: StorySlateView - private lateinit var viewsAndReplies: TextView + private lateinit var viewsAndReplies: MaterialButton private lateinit var storyCrossfader: StoriesSharedElementCrossFaderView private lateinit var blurContainer: ImageView private lateinit var storyCaptionContainer: FrameLayout @@ -714,14 +715,25 @@ class StoryViewerPageFragment : if (Recipient.self() == post.sender) { if (post.replyCount == 0) { + viewsAndReplies.setIconResource(R.drawable.ic_chevron_end_24) + viewsAndReplies.iconGravity = MaterialButton.ICON_GRAVITY_TEXT_END viewsAndReplies.text = views } else { + viewsAndReplies.setIconResource(R.drawable.ic_chevron_end_24) + viewsAndReplies.iconGravity = MaterialButton.ICON_GRAVITY_TEXT_END viewsAndReplies.text = getString(R.string.StoryViewerFragment__s_s, views, replies) } } else if (post.replyCount > 0) { + viewsAndReplies.setIconResource(R.drawable.ic_chevron_end_24) + viewsAndReplies.iconGravity = MaterialButton.ICON_GRAVITY_TEXT_END viewsAndReplies.text = replies + } else if (post.group != null) { + viewsAndReplies.setIconResource(R.drawable.ic_reply_24_outline) + viewsAndReplies.iconGravity = MaterialButton.ICON_GRAVITY_TEXT_START + viewsAndReplies.setText(R.string.StoryViewerPageFragment__reply_to_group) } else { - + viewsAndReplies.setIconResource(R.drawable.ic_reply_24_outline) + viewsAndReplies.iconGravity = MaterialButton.ICON_GRAVITY_TEXT_START viewsAndReplies.setText(R.string.StoryViewerPageFragment__reply) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyDialogFragment.kt index 52ffad428..16c3261f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyDialogFragment.kt @@ -110,8 +110,10 @@ class StoryDirectReplyDialogFragment : } viewModel.state.observe(viewLifecycleOwner) { state -> - if (state.recipient != null) { - composer.displayPrivacyChrome(state.recipient) + if (state.groupDirectReplyRecipient != null) { + composer.displayPrivacyChrome(state.groupDirectReplyRecipient) + } else if (state.storyRecord != null) { + composer.displayPrivacyChrome(state.storyRecord.recipient) } if (state.storyRecord != null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyState.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyState.kt index 426378238..3af9fb920 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyState.kt @@ -4,6 +4,6 @@ import org.thoughtcrime.securesms.database.model.MessageRecord import org.thoughtcrime.securesms.recipients.Recipient data class StoryDirectReplyState( - val recipient: Recipient? = null, + val groupDirectReplyRecipient: Recipient? = null, val storyRecord: MessageRecord? = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt index 5d5f12f18..ec91cae59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt @@ -24,7 +24,7 @@ class StoryDirectReplyViewModel( init { if (groupDirectReplyRecipientId != null) { store.update(Recipient.live(groupDirectReplyRecipientId).liveDataResolved) { recipient, state -> - state.copy(recipient = recipient) + state.copy(groupDirectReplyRecipient = recipient) } } diff --git a/app/src/main/res/drawable-ldltr/ic_reply_24_outline.xml b/app/src/main/res/drawable-ldltr/ic_reply_24_outline.xml new file mode 100644 index 000000000..726dae192 --- /dev/null +++ b/app/src/main/res/drawable-ldltr/ic_reply_24_outline.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable-ldrtl/ic_chevron_end_24.xml b/app/src/main/res/drawable-ldrtl/ic_chevron_end_24.xml new file mode 100644 index 000000000..8927c67d2 --- /dev/null +++ b/app/src/main/res/drawable-ldrtl/ic_chevron_end_24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable-ldrtl/ic_reply_24_outline.xml b/app/src/main/res/drawable-ldrtl/ic_reply_24_outline.xml new file mode 100644 index 000000000..f77ad2bec --- /dev/null +++ b/app/src/main/res/drawable-ldrtl/ic_reply_24_outline.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_chevron_end_24.xml b/app/src/main/res/drawable/ic_chevron_end_24.xml new file mode 100644 index 000000000..52b7971d3 --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_end_24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_reply_24_outline.xml b/app/src/main/res/drawable/ic_reply_24_outline.xml new file mode 100644 index 000000000..535336fdd --- /dev/null +++ b/app/src/main/res/drawable/ic_reply_24_outline.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/stories_viewer_fragment_page.xml b/app/src/main/res/layout/stories_viewer_fragment_page.xml index f6d5cbcf4..3080eeb31 100644 --- a/app/src/main/res/layout/stories_viewer_fragment_page.xml +++ b/app/src/main/res/layout/stories_viewer_fragment_page.xml @@ -70,18 +70,23 @@ - %1$s to %2$s Reply + + Reply to group No views yet