Adjust media tool button animation.

This commit is contained in:
Nicholas Tinsley
2024-03-05 11:55:50 -05:00
committed by Alex Hart
parent 44150673e9
commit 83cc7d5181
2 changed files with 12 additions and 12 deletions

View File

@@ -11,20 +11,20 @@ import org.thoughtcrime.securesms.util.visible
object MediaReviewAnimatorController {
fun getFadeInAnimator(view: View, interpolator: Interpolator = MediaAnimations.interpolator, isEnabled: Boolean = true): Animator {
fun getFadeInAnimator(view: View, isEnabled: Boolean = true): Animator {
view.visible = true
view.isEnabled = isEnabled
return ObjectAnimator.ofFloat(view, "alpha", view.alpha, 1f).apply {
setInterpolator(interpolator)
interpolator = MediaAnimations.interpolator
}
}
fun getFadeOutAnimator(view: View, interpolator: Interpolator = MediaAnimations.interpolator, isEnabled: Boolean = false): Animator {
fun getFadeOutAnimator(view: View, isEnabled: Boolean = false): Animator {
view.isEnabled = isEnabled
val animator = ObjectAnimator.ofFloat(view, "alpha", view.alpha, 0f).apply {
setInterpolator(interpolator)
interpolator = MediaAnimations.interpolator
}
animator.doOnEnd { view.visible = false }

View File

@@ -696,36 +696,36 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul
private fun computeSaveButtonAnimators(state: MediaSelectionState): List<Animator> {
return if (state.isTouchEnabled && !MediaUtil.isVideo(state.focusedMedia?.mimeType)) {
listOf(
MediaReviewAnimatorController.getFadeInAnimator(saveButton, MediaAnimations.toolIconInterpolator)
MediaReviewAnimatorController.getFadeInAnimator(saveButton)
)
} else {
listOf(
MediaReviewAnimatorController.getFadeOutAnimator(saveButton, MediaAnimations.toolIconInterpolator)
MediaReviewAnimatorController.getFadeOutAnimator(saveButton)
)
}
}
private fun computeQualityButtonAnimators(state: MediaSelectionState): List<Animator> {
return if (state.isTouchEnabled && !state.isStory) {
listOf(MediaReviewAnimatorController.getFadeInAnimator(qualityButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeInAnimator(qualityButton))
} else {
listOf(MediaReviewAnimatorController.getFadeOutAnimator(qualityButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeOutAnimator(qualityButton))
}
}
private fun computeCropAndRotateButtonAnimators(state: MediaSelectionState): List<Animator> {
return if (state.isTouchEnabled && MediaUtil.isImageAndNotGif(state.focusedMedia?.mimeType ?: "")) {
listOf(MediaReviewAnimatorController.getFadeInAnimator(cropAndRotateButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeInAnimator(cropAndRotateButton))
} else {
listOf(MediaReviewAnimatorController.getFadeOutAnimator(cropAndRotateButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeOutAnimator(cropAndRotateButton))
}
}
private fun computeDrawToolButtonAnimators(state: MediaSelectionState): List<Animator> {
return if (state.isTouchEnabled && MediaUtil.isImageAndNotGif(state.focusedMedia?.mimeType ?: "")) {
listOf(MediaReviewAnimatorController.getFadeInAnimator(drawToolButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeInAnimator(drawToolButton))
} else {
listOf(MediaReviewAnimatorController.getFadeOutAnimator(drawToolButton, MediaAnimations.toolIconInterpolator))
listOf(MediaReviewAnimatorController.getFadeOutAnimator(drawToolButton))
}
}