From 7b199e4d5184d6eeec565bb57737dcf3790d5e23 Mon Sep 17 00:00:00 2001 From: Kasia Krejszeff Date: Thu, 9 Jan 2025 13:07:27 +0000 Subject: [PATCH] Tap to pause/play the lottie animation in PrivateSpace education screen This is to conform to a11y motion stopping requirements. Change-Id: I73637af20688ee7f5fb5226f871dc57ed9b54e0d Test: manually Bug: 379258725 Flag: EXEMPT bugfix --- .../settings/privatespace/PrivateSpaceEducation.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/com/android/settings/privatespace/PrivateSpaceEducation.java b/src/com/android/settings/privatespace/PrivateSpaceEducation.java index dfaf8b9cfa7..093d7a5eed2 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceEducation.java +++ b/src/com/android/settings/privatespace/PrivateSpaceEducation.java @@ -44,6 +44,8 @@ import java.util.regex.Pattern; public class PrivateSpaceEducation extends InstrumentedFragment { private static final String TAG = "PrivateSpaceEducation"; + private boolean mIsAnimationPlaying = true; + @Override public View onCreateView( LayoutInflater inflater, @@ -73,6 +75,7 @@ public class PrivateSpaceEducation extends InstrumentedFragment { .build()); LottieAnimationView lottieAnimationView = rootView.findViewById(R.id.lottie_animation); LottieColorUtils.applyDynamicColors(getContext(), lottieAnimationView); + lottieAnimationView.setOnClickListener(v -> handleAnimationClick(lottieAnimationView)); TextView infoTextView = rootView.findViewById(R.id.learn_more); Pattern pattern = Pattern.compile(infoTextView.getText().toString()); @@ -110,4 +113,13 @@ public class PrivateSpaceEducation extends InstrumentedFragment { } }; } + + private void handleAnimationClick(LottieAnimationView lottieAnimationView) { + if (mIsAnimationPlaying) { + lottieAnimationView.pauseAnimation(); + } else { + lottieAnimationView.playAnimation(); + } + mIsAnimationPlaying = !mIsAnimationPlaying; + } }