mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
Fix empty media send illegal state exception.
This commit is contained in:
committed by
Greyson Parrelli
parent
90d4069d0a
commit
e0e25da6a9
@@ -30,6 +30,8 @@ data class MediaSelectionState(
|
||||
MediaSendConstants.MAX_PUSH
|
||||
}
|
||||
|
||||
val canSend = !isSent && selectedMedia.isNotEmpty()
|
||||
|
||||
enum class ViewOnceToggleState(val code: Int) {
|
||||
INFINITE(0),
|
||||
ONCE(1);
|
||||
|
||||
@@ -17,15 +17,15 @@ object MediaReviewAnimatorController {
|
||||
return ObjectAnimator.ofFloat(view, "translationY", view.translationX, ViewUtil.dpToPx(48).toFloat())
|
||||
}
|
||||
|
||||
fun getFadeInAnimator(view: View): Animator {
|
||||
fun getFadeInAnimator(view: View, isEnabled: Boolean = true): Animator {
|
||||
view.visible = true
|
||||
view.isEnabled = true
|
||||
view.isEnabled = isEnabled
|
||||
|
||||
return ObjectAnimator.ofFloat(view, "alpha", view.alpha, 1f)
|
||||
}
|
||||
|
||||
fun getFadeOutAnimator(view: View): Animator {
|
||||
view.isEnabled = false
|
||||
fun getFadeOutAnimator(view: View, isEnabled: Boolean = false): Animator {
|
||||
view.isEnabled = isEnabled
|
||||
|
||||
val animator = ObjectAnimator.ofFloat(view, "alpha", view.alpha, 0f)
|
||||
|
||||
|
||||
@@ -199,7 +199,6 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
|
||||
presentImageQualityToggle(state.quality)
|
||||
|
||||
viewOnceButton.displayedChild = if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) 1 else 0
|
||||
sendButton.isEnabled = !state.isSent && state.selectedMedia.isNotEmpty()
|
||||
|
||||
computeViewStateAndAnimate(state)
|
||||
}
|
||||
@@ -396,11 +395,11 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
|
||||
|
||||
return slideIn + if (state.isTouchEnabled) {
|
||||
listOf(
|
||||
MediaReviewAnimatorController.getFadeInAnimator(sendButton),
|
||||
MediaReviewAnimatorController.getFadeInAnimator(sendButton, state.canSend),
|
||||
)
|
||||
} else {
|
||||
listOf(
|
||||
MediaReviewAnimatorController.getFadeOutAnimator(sendButton),
|
||||
MediaReviewAnimatorController.getFadeOutAnimator(sendButton, state.canSend),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user