From 159f319d77d7986c200bcfef882cdf6a3dc23781 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 16 Nov 2022 14:38:52 -0400 Subject: [PATCH] Update caption bar readability in stories. --- .../viewer/page/StoryViewerPageFragment.kt | 13 +++++--- .../res/drawable/story_caption_gradient.xml | 9 ++++++ .../res/drawable/story_gradient_bottom.xml | 2 +- .../main/res/drawable/story_gradient_top.xml | 2 +- .../layout/stories_viewer_fragment_page.xml | 31 ++++++++++++++----- app/src/main/res/values/colors.xml | 3 +- 6 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 app/src/main/res/drawable/story_caption_gradient.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 f6f994ee8..e2ad26fe3 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 @@ -107,6 +107,8 @@ class StoryViewerPageFragment : private lateinit var storyPageContainer: ConstraintLayout private lateinit var sendingBarTextView: TextView private lateinit var sendingBar: View + private lateinit var storyNormalBottomGradient: View + private lateinit var storyCaptionBottomGradient: View private lateinit var callback: Callback @@ -172,9 +174,11 @@ class StoryViewerPageFragment : val largeCaptionOverlay: View = view.findViewById(R.id.story_large_caption_overlay) val reactionAnimationView: OnReactionSentView = view.findViewById(R.id.on_reaction_sent_view) val storyGradientTop: View = view.findViewById(R.id.story_gradient_top) - val storyGradientBottom: View = view.findViewById(R.id.story_gradient_bottom) + val storyGradientBottom: View = view.findViewById(R.id.story_bottom_gradient_container) val storyVolumeOverlayView: StoryVolumeOverlayView = view.findViewById(R.id.story_volume_overlay) + storyNormalBottomGradient = view.findViewById(R.id.story_gradient_bottom) + storyCaptionBottomGradient = view.findViewById(R.id.story_caption_gradient) storyPageContainer = view.findViewById(R.id.story_page_container) storyContentContainer = view.findViewById(R.id.story_content_container) storyCaptionContainer = view.findViewById(R.id.story_caption_container) @@ -198,6 +202,7 @@ class StoryViewerPageFragment : progressBar, storyGradientTop, storyGradientBottom, + storyCaptionContainer ) senderAvatar.setFallbackPhotoProvider(FallbackPhotoProvider()) @@ -434,15 +439,12 @@ class StoryViewerPageFragment : when { state.hideChromeImmediate -> { hideChromeImmediate() - storyCaptionContainer.visible = false } state.hideChrome -> { hideChrome() - storyCaptionContainer.visible = true } else -> { showChrome() - storyCaptionContainer.visible = true } } } @@ -793,6 +795,9 @@ class StoryViewerPageFragment : "" } + storyNormalBottomGradient.visible = !displayBody.isNotEmpty() + storyCaptionBottomGradient.visible = displayBody.isNotEmpty() + caption.text = displayBody largeCaption.text = displayBody caption.visible = displayBody.isNotEmpty() diff --git a/app/src/main/res/drawable/story_caption_gradient.xml b/app/src/main/res/drawable/story_caption_gradient.xml new file mode 100644 index 000000000..845cc50e8 --- /dev/null +++ b/app/src/main/res/drawable/story_caption_gradient.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/story_gradient_bottom.xml b/app/src/main/res/drawable/story_gradient_bottom.xml index 845cc50e8..523bfc4de 100644 --- a/app/src/main/res/drawable/story_gradient_bottom.xml +++ b/app/src/main/res/drawable/story_gradient_bottom.xml @@ -4,6 +4,6 @@ + android:startColor="@color/story_gradient_start" /> \ No newline at end of file diff --git a/app/src/main/res/drawable/story_gradient_top.xml b/app/src/main/res/drawable/story_gradient_top.xml index 7d3de1580..ca9929e64 100644 --- a/app/src/main/res/drawable/story_gradient_top.xml +++ b/app/src/main/res/drawable/story_gradient_top.xml @@ -4,6 +4,6 @@ + android:startColor="@color/story_gradient_start" /> \ No newline at end of file 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 d0d968a1a..266a13ac5 100644 --- a/app/src/main/res/layout/stories_viewer_fragment_page.xml +++ b/app/src/main/res/layout/stories_viewer_fragment_page.xml @@ -44,12 +44,27 @@ android:layout_height="120dp" android:background="@drawable/story_gradient_top" /> - + android:layout_height="280dp" + android:layout_gravity="bottom"> + + + + + @@ -162,6 +178,7 @@ android:layout_marginBottom="24dp" android:scrollbars="vertical" android:textAppearance="@style/Signal.Text.Body" + android:textColor="@color/core_white" android:visibility="gone" app:layout_constrainedHeight="true" app:layout_constraintBottom_toTopOf="@id/story_from_barrier" @@ -182,7 +199,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/story_content_card_touch_interceptor" app:srcCompat="@drawable/ic_x_24" - app:tint="@color/signal_colorNeutralInverse" /> + app:tint="@color/core_white" /> #01000000 - #52000000 + #99000000 + #CC000000 #0D000000 #14000000