diff options
| author | Timi <timi.rautamaki@gmail.com> | 2021-05-05 14:53:46 +0200 |
|---|---|---|
| committer | Paul Keith <javelinanddart@gmail.com> | 2021-05-13 19:05:19 +0200 |
| commit | cc828772834be469b12affa00caa1f3d43b06b4a (patch) | |
| tree | 5901b7370827f8d05929e0d76b260de477dd2657 | |
| parent | 8cd66afd16158a6ff1f822a0e3d58d5084516f83 (diff) | |
Snap: api2: reduce unneeded animations
* Only hide/show the menu when necessary
Change-Id: Id033e6bfb6e48cc907f0f53c5764a1df28361909
| -rw-r--r-- | src/com/android/camera/CaptureUI.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/camera/CaptureUI.java b/src/com/android/camera/CaptureUI.java index 1e8fcecfe..398b0ab0b 100644 --- a/src/com/android/camera/CaptureUI.java +++ b/src/com/android/camera/CaptureUI.java @@ -281,6 +281,7 @@ public class CaptureUI implements PreviewGestures.SingleTapListener, private boolean mIsSceneModeLabelClose = false; private boolean mNeedsAnimationSetup = true; + private boolean mIsAnimating = false; private void previewUIReady() { if((mSurfaceHolder != null && mSurfaceHolder.getSurface().isValid())) { @@ -1083,7 +1084,11 @@ public class CaptureUI implements PreviewGestures.SingleTapListener, } public void showModeSwitcher(boolean animation) { - if (mModeSelectLayout == null) return; + if (mModeSelectLayout == null || + mModeSelectLayout.getVisibility() == View.VISIBLE) { + return; + } + if (isPreviewMenuBeingShown()) { removeFilterMenu(true); } @@ -1108,9 +1113,13 @@ public class CaptureUI implements PreviewGestures.SingleTapListener, } public void closeModeSwitcher(boolean animation) { - if (mModeSelectLayout == null) return; + if (mModeSelectLayout == null || + mModeSelectLayout.getVisibility() != View.VISIBLE) { + return; + } - if (animation) { + if (animation && !mIsAnimating) { + mIsAnimating = true; mModeSelectLayout.animate() .alpha(0f) .scaleX(0.3f).scaleY(0.3f) @@ -1121,6 +1130,7 @@ public class CaptureUI implements PreviewGestures.SingleTapListener, @Override public void onAnimationEnd(Animator animation) { mModeSelectLayout.setVisibility(View.INVISIBLE); + mIsAnimating = false; } }); } else { |
