kopia lustrzana https://github.com/ryukoposting/Signal-Android
Add polish to story replies button and direct reply sheet.
rodzic
e51841a28b
commit
987f69227a
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FFFFFFFF" android:pathData="M9.5,5.621v3.7l1.309,0.169a10.932,10.932 0,0 1,9.364 7.253c0.161,0.406 0.8,1.756 0.8,1.756A19.408,19.408 0,0 0,19.5 17.2,17.455 17.455,0 0,0 11.115,14.5L9.5,14.38v4L3.121,12 9.5,5.621m1.137,-3.037a0.758,0.758 0,0 0,-0.491 0.27L1.354,11.646a0.5,0.5 0,0 0,0 0.708l8.792,8.792a0.758,0.758 0,0 0,0.491 0.27c0.219,0 0.363,-0.217 0.363,-0.623V16a14.706,14.706 0,0 1,10.905 5.426c0.282,0.355 0.514,0.529 0.677,0.529 0.214,0 0.3,-0.3 0.222,-0.9C21.822,14.051 18.264,8.934 11,8V3.207c0,-0.406 -0.144,-0.623 -0.363,-0.623Z"/>
|
||||
</vector>
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M14.932,22l-9.932,-10l9.932,-10l1.064,1.057l-8.882,8.943l8.882,8.943l-1.064,1.057z"/>
|
||||
</vector>
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12.91,3.91h0m1.71,2.16V9.32l-1.31,0.17A11,11 0,0 0,3.84 17c-0.12,0.33 -0.8,1.59 -0.8,1.59s1,-1 1.3,-1.22A17.36,17.36 0,0 1,13 14.5l1.62,-0.12v3.48l-0.06,0.81L15,18 21,12 14.9,5.9l-0.34,-0.54ZM13.48,2.58a0.76,0.76 0,0 1,0.49 0.27l8.79,8.8a0.48,0.48 0,0 1,0 0.7L14,21.15a0.76,0.76 0,0 1,-0.49 0.27c-0.22,0 -0.36,-0.22 -0.36,-0.63V16c-5,0.39 -8.83,2.48 -11.37,6 -0.14,0.2 -0.27,0.29 -0.37,0.29s-0.2,-0.17 -0.16,-0.5C2,14.43 5.59,9 13.12,8V3.21c0,-0.41 0.14,-0.63 0.36,-0.63Z"/>
|
||||
</vector>
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9.068,22l-1.064,-1.057l8.883,-8.943l-8.883,-8.943l1.064,-1.057l9.932,10l-9.932,10z"/>
|
||||
</vector>
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:autoMirrored="true" android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FFFFFFFF" android:pathData="M9.5,5.621v3.7l1.309,0.169a10.932,10.932 0,0 1,9.364 7.253c0.161,0.406 0.8,1.756 0.8,1.756A19.408,19.408 0,0 0,19.5 17.2,17.455 17.455,0 0,0 11.115,14.5L9.5,14.38v4L3.121,12 9.5,5.621m1.137,-3.037a0.758,0.758 0,0 0,-0.491 0.27L1.354,11.646a0.5,0.5 0,0 0,0 0.708l8.792,8.792a0.758,0.758 0,0 0,0.491 0.27c0.219,0 0.363,-0.217 0.363,-0.623V16a14.706,14.706 0,0 1,10.905 5.426c0.282,0.355 0.514,0.529 0.677,0.529 0.214,0 0.3,-0.3 0.222,-0.9C21.822,14.051 18.264,8.934 11,8V3.207c0,-0.406 -0.144,-0.623 -0.363,-0.623Z"/>
|
||||
</vector>
|
|
@ -70,18 +70,23 @@
|
|||
</androidx.cardview.widget.CardView>
|
||||
</org.thoughtcrime.securesms.util.views.TouchInterceptingFrameLayout>
|
||||
|
||||
<TextView
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/views_and_replies_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48sp"
|
||||
android:background="?selectableItemBackground"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/Signal.Text.Body"
|
||||
android:textColor="@color/signal_text_primary"
|
||||
app:iconGravity="textStart"
|
||||
app:iconSize="20dp"
|
||||
app:iconTint="@color/signal_text_primary"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/story_content_card_touch_interceptor"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
tools:icon="@drawable/ic_reply_24_outline"
|
||||
tools:text="6 views 4 replies" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
|
|
|
@ -4565,6 +4565,8 @@
|
|||
<string name="StoryViewerPageFragment__s_to_s">%1$s to %2$s</string>
|
||||
<!-- Displayed when viewing a post from another user with no replies -->
|
||||
<string name="StoryViewerPageFragment__reply">Reply</string>
|
||||
<!-- Displayed when viewing a group post from another user with no replies -->
|
||||
<string name="StoryViewerPageFragment__reply_to_group">Reply to group</string>
|
||||
<!-- Displayed when a story has no views -->
|
||||
<string name="StoryViewsFragment__no_views_yet">No views yet</string>
|
||||
<!-- Displayed when a story has no replies yet -->
|
||||
|
|
Ładowanie…
Reference in New Issue