Add view-once button to media caption.
This commit is contained in:
parent
3aa54c9982
commit
ba70101efd
2 changed files with 48 additions and 6 deletions
|
@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.keyboard.KeyboardPage
|
||||||
import org.thoughtcrime.securesms.keyboard.KeyboardPagerViewModel
|
import org.thoughtcrime.securesms.keyboard.KeyboardPagerViewModel
|
||||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||||
import org.thoughtcrime.securesms.mediasend.v2.HudCommand
|
import org.thoughtcrime.securesms.mediasend.v2.HudCommand
|
||||||
|
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionState
|
||||||
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel
|
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient
|
import org.thoughtcrime.securesms.recipients.Recipient
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||||
|
@ -105,6 +106,10 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a
|
||||||
|
|
||||||
binding.hud.setOnClickListener { dismissAllowingStateLoss() }
|
binding.hud.setOnClickListener { dismissAllowingStateLoss() }
|
||||||
|
|
||||||
|
binding.content.viewOnceToggle.setOnClickListener {
|
||||||
|
viewModel.incrementViewOnceState()
|
||||||
|
}
|
||||||
|
|
||||||
val confirm: View = view.findViewById(R.id.confirm_button)
|
val confirm: View = view.findViewById(R.id.confirm_button)
|
||||||
confirm.setOnClickListener { dismissAllowingStateLoss() }
|
confirm.setOnClickListener { dismissAllowingStateLoss() }
|
||||||
|
|
||||||
|
@ -125,6 +130,14 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
viewModel.state.observe(viewLifecycleOwner) { state ->
|
||||||
|
binding.content.viewOnceToggle.displayedChild = if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) 1 else 0
|
||||||
|
if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) {
|
||||||
|
binding.content.addAMessageInput.text = null
|
||||||
|
dismiss()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
initializeMentions()
|
initializeMentions()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,11 @@
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:background="@drawable/rounded_rectangle_surface_variant_20"
|
android:background="@drawable/rounded_rectangle_surface_variant_20"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/add_a_message_input"
|
app:layout_constraintBottom_toBottomOf="@id/add_a_message_input"
|
||||||
app:layout_constraintEnd_toEndOf="@id/add_a_message_limit"
|
app:layout_constraintEnd_toEndOf="@id/view_once_toggle"
|
||||||
|
app:layout_constraintHorizontal_bias="0.4"
|
||||||
app:layout_constraintStart_toStartOf="@id/emoji_toggle"
|
app:layout_constraintStart_toStartOf="@id/emoji_toggle"
|
||||||
app:layout_constraintTop_toTopOf="@id/add_a_message_input" />
|
app:layout_constraintTop_toTopOf="@id/add_a_message_input"
|
||||||
|
app:layout_constraintVertical_bias="0.0" />
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.components.emoji.EmojiToggle
|
<org.thoughtcrime.securesms.components.emoji.EmojiToggle
|
||||||
android:id="@+id/emoji_toggle"
|
android:id="@+id/emoji_toggle"
|
||||||
|
@ -61,23 +63,50 @@
|
||||||
android:textAppearance="@style/Signal.Text.Body"
|
android:textAppearance="@style/Signal.Text.Body"
|
||||||
android:textColor="@color/signal_colorOnSurface"
|
android:textColor="@color/signal_colorOnSurface"
|
||||||
app:layout_constraintBottom_toTopOf="@id/emoji_drawer_stub"
|
app:layout_constraintBottom_toTopOf="@id/emoji_drawer_stub"
|
||||||
app:layout_constraintEnd_toStartOf="@id/add_a_message_limit"
|
app:layout_constraintEnd_toStartOf="@id/view_once_toggle"
|
||||||
app:layout_constraintStart_toEndOf="@id/emoji_toggle"
|
app:layout_constraintStart_toEndOf="@id/emoji_toggle"
|
||||||
app:layout_constraintTop_toTopOf="@id/input_barrier"
|
app:layout_constraintTop_toTopOf="@id/input_barrier"
|
||||||
app:layout_goneMarginEnd="6dp"
|
app:layout_goneMarginEnd="6dp"
|
||||||
app:layout_goneMarginStart="12dp" />
|
app:layout_goneMarginStart="12dp" />
|
||||||
|
|
||||||
|
<ViewSwitcher
|
||||||
|
android:id="@+id/view_once_toggle"
|
||||||
|
android:layout_width="44dp"
|
||||||
|
android:layout_height="44dp"
|
||||||
|
android:animateFirstView="false"
|
||||||
|
android:inAnimation="@anim/fade_in"
|
||||||
|
android:outAnimation="@anim/fade_out"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/add_a_message_input"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/confirm_button">
|
||||||
|
|
||||||
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
app:srcCompat="@drawable/symbol_view_once_infinite_24"
|
||||||
|
app:tint="@color/signal_colorOnSurface" />
|
||||||
|
|
||||||
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
app:srcCompat="@drawable/symbol_view_once_24"
|
||||||
|
app:tint="@color/signal_colorOnSurface" />
|
||||||
|
|
||||||
|
</ViewSwitcher>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/add_a_message_limit"
|
android:id="@+id/add_a_message_limit"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="6dp"
|
android:translationX="-6dp"
|
||||||
android:paddingEnd="12dp"
|
|
||||||
android:textAppearance="@style/Signal.Text.BodySmall"
|
android:textAppearance="@style/Signal.Text.BodySmall"
|
||||||
android:textColor="@color/signal_colorOnSurface"
|
android:textColor="@color/signal_colorOnSurface"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/add_a_message_input"
|
app:layout_constraintBottom_toBottomOf="@id/add_a_message_input"
|
||||||
app:layout_constraintEnd_toStartOf="@id/confirm_button"
|
app:layout_constraintStart_toStartOf="@id/view_once_toggle"
|
||||||
tools:text="50"
|
tools:text="50"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue