Merge "Fix the translation not work if the animation is off" into tm-dev
This commit is contained in:
@@ -89,7 +89,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback {
|
|||||||
originalTranslationMethod);
|
originalTranslationMethod);
|
||||||
}
|
}
|
||||||
final TransformationMethod transformation = mTranslationTransformation;
|
final TransformationMethod transformation = mTranslationTransformation;
|
||||||
runWithAnimation(
|
runChangeTextWithAnimationIfNeeded(
|
||||||
(TextView) view,
|
(TextView) view,
|
||||||
() -> {
|
() -> {
|
||||||
mIsShowingTranslation = true;
|
mIsShowingTranslation = true;
|
||||||
@@ -122,7 +122,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback {
|
|||||||
if (mTranslationTransformation != null) {
|
if (mTranslationTransformation != null) {
|
||||||
final TransformationMethod transformation =
|
final TransformationMethod transformation =
|
||||||
mTranslationTransformation.getOriginalTransformationMethod();
|
mTranslationTransformation.getOriginalTransformationMethod();
|
||||||
runWithAnimation(
|
runChangeTextWithAnimationIfNeeded(
|
||||||
(TextView) view,
|
(TextView) view,
|
||||||
() -> {
|
() -> {
|
||||||
mIsShowingTranslation = false;
|
mIsShowingTranslation = false;
|
||||||
@@ -232,10 +232,16 @@ public class TextViewTranslationCallback implements ViewTranslationCallback {
|
|||||||
* Applies a simple text alpha animation when toggling between original and translated text. The
|
* Applies a simple text alpha animation when toggling between original and translated text. The
|
||||||
* text is fully faded out, then swapped to the new text, then the fading is reversed.
|
* text is fully faded out, then swapped to the new text, then the fading is reversed.
|
||||||
*
|
*
|
||||||
* @param runnable the operation to run on the view after the text is faded out, to change to
|
* @param changeTextRunnable the operation to run on the view after the text is faded out, to
|
||||||
* displaying the original or translated text.
|
* change to displaying the original or translated text.
|
||||||
*/
|
*/
|
||||||
private void runWithAnimation(TextView view, Runnable runnable) {
|
private void runChangeTextWithAnimationIfNeeded(TextView view, Runnable changeTextRunnable) {
|
||||||
|
boolean areAnimatorsEnabled = ValueAnimator.areAnimatorsEnabled();
|
||||||
|
if (!areAnimatorsEnabled) {
|
||||||
|
// The animation is disabled, just change display text
|
||||||
|
changeTextRunnable.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mAnimator != null) {
|
if (mAnimator != null) {
|
||||||
mAnimator.end();
|
mAnimator.end();
|
||||||
// Note: mAnimator is now null; do not use again here.
|
// Note: mAnimator is now null; do not use again here.
|
||||||
@@ -269,7 +275,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationRepeat(Animator animation) {
|
public void onAnimationRepeat(Animator animation) {
|
||||||
runnable.run();
|
changeTextRunnable.run();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mAnimator.start();
|
mAnimator.start();
|
||||||
|
|||||||
Reference in New Issue
Block a user