Loading core/java/android/view/translation/UiTranslationManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -101,26 +101,26 @@ public final class UiTranslationManager { public static final String LOG_TAG = "UiTranslation"; /** * The state caller request to disable utranslation,, it is no longer need to ui translation. * The state the caller requests to enable UI translation. * * @hide */ public static final int STATE_UI_TRANSLATION_STARTED = 0; /** * The state caller request to pause ui translation, it will switch back to the original text. * The state caller requests to pause UI translation. It will switch back to the original text. * * @hide */ public static final int STATE_UI_TRANSLATION_PAUSED = 1; /** * The state caller request to resume the paused ui translation, it will show the translated * The state caller requests to resume the paused UI translation. It will show the translated * text again if the text had been translated. * * @hide */ public static final int STATE_UI_TRANSLATION_RESUMED = 2; /** * The state the caller request to enable ui translation. * The state the caller requests to disable UI translation when it no longer needs translation. * * @hide */ Loading core/java/android/widget/TextViewTranslationCallback.java +12 −6 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { originalTranslationMethod); } final TransformationMethod transformation = mTranslationTransformation; runWithAnimation( runChangeTextWithAnimationIfNeeded( (TextView) view, () -> { mIsShowingTranslation = true; Loading Loading @@ -122,7 +122,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { if (mTranslationTransformation != null) { final TransformationMethod transformation = mTranslationTransformation.getOriginalTransformationMethod(); runWithAnimation( runChangeTextWithAnimationIfNeeded( (TextView) view, () -> { mIsShowingTranslation = false; Loading Loading @@ -232,10 +232,16 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { * 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. * * @param runnable the operation to run on the view after the text is faded out, to change to * displaying the original or translated text. * @param changeTextRunnable the operation to run on the view after the text is faded out, to * 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) { mAnimator.end(); // Note: mAnimator is now null; do not use again here. Loading Loading @@ -269,7 +275,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { @Override public void onAnimationRepeat(Animator animation) { runnable.run(); changeTextRunnable.run(); } }); mAnimator.start(); Loading Loading
core/java/android/view/translation/UiTranslationManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -101,26 +101,26 @@ public final class UiTranslationManager { public static final String LOG_TAG = "UiTranslation"; /** * The state caller request to disable utranslation,, it is no longer need to ui translation. * The state the caller requests to enable UI translation. * * @hide */ public static final int STATE_UI_TRANSLATION_STARTED = 0; /** * The state caller request to pause ui translation, it will switch back to the original text. * The state caller requests to pause UI translation. It will switch back to the original text. * * @hide */ public static final int STATE_UI_TRANSLATION_PAUSED = 1; /** * The state caller request to resume the paused ui translation, it will show the translated * The state caller requests to resume the paused UI translation. It will show the translated * text again if the text had been translated. * * @hide */ public static final int STATE_UI_TRANSLATION_RESUMED = 2; /** * The state the caller request to enable ui translation. * The state the caller requests to disable UI translation when it no longer needs translation. * * @hide */ Loading
core/java/android/widget/TextViewTranslationCallback.java +12 −6 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { originalTranslationMethod); } final TransformationMethod transformation = mTranslationTransformation; runWithAnimation( runChangeTextWithAnimationIfNeeded( (TextView) view, () -> { mIsShowingTranslation = true; Loading Loading @@ -122,7 +122,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { if (mTranslationTransformation != null) { final TransformationMethod transformation = mTranslationTransformation.getOriginalTransformationMethod(); runWithAnimation( runChangeTextWithAnimationIfNeeded( (TextView) view, () -> { mIsShowingTranslation = false; Loading Loading @@ -232,10 +232,16 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { * 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. * * @param runnable the operation to run on the view after the text is faded out, to change to * displaying the original or translated text. * @param changeTextRunnable the operation to run on the view after the text is faded out, to * 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) { mAnimator.end(); // Note: mAnimator is now null; do not use again here. Loading Loading @@ -269,7 +275,7 @@ public class TextViewTranslationCallback implements ViewTranslationCallback { @Override public void onAnimationRepeat(Animator animation) { runnable.run(); changeTextRunnable.run(); } }); mAnimator.start(); Loading