summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/AnimationManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/AnimationManager.java')
-rw-r--r--src/com/android/camera/AnimationManager.java182
1 files changed, 0 insertions, 182 deletions
diff --git a/src/com/android/camera/AnimationManager.java b/src/com/android/camera/AnimationManager.java
deleted file mode 100644
index 5397ae02b..000000000
--- a/src/com/android/camera/AnimationManager.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.camera;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
-import android.view.View;
-
-/**
- * Class to handle animations.
- */
-
-public class AnimationManager {
-
- public static final float FLASH_ALPHA_START = 0.3f;
- public static final float FLASH_ALPHA_END = 0f;
- public static final int FLASH_DURATION = 300;
-
- public static final int SHRINK_DURATION = 400;
- public static final int HOLD_DURATION = 2500;
- public static final int SLIDE_DURATION = 1100;
-
- private ObjectAnimator mFlashAnim;
- private AnimatorSet mCaptureAnimator;
-
- /**
- * Starts capture animation.
- * @param view a thumbnail view that shows a picture captured and gets animated
- */
- public void startCaptureAnimation(final View view) {
- if (mCaptureAnimator != null && mCaptureAnimator.isStarted()) {
- mCaptureAnimator.cancel();
- }
- View parentView = (View) view.getParent();
- float slideDistance = (float) (parentView.getWidth() - view.getLeft());
-
- float scaleX = ((float) parentView.getWidth()) / ((float) view.getWidth());
- float scaleY = ((float) parentView.getHeight()) / ((float) view.getHeight());
- float scale = scaleX > scaleY ? scaleX : scaleY;
-
- int centerX = view.getLeft() + view.getWidth() / 2;
- int centerY = view.getTop() + view.getHeight() / 2;
-
- ObjectAnimator slide = ObjectAnimator.ofFloat(view, "translationX", 0f, slideDistance)
- .setDuration(AnimationManager.SLIDE_DURATION);
- slide.setStartDelay(AnimationManager.SHRINK_DURATION + AnimationManager.HOLD_DURATION);
-
- ObjectAnimator translateY = ObjectAnimator.ofFloat(view, "translationY",
- parentView.getHeight() / 2 - centerY, 0f)
- .setDuration(AnimationManager.SHRINK_DURATION);
- translateY.addListener(new Animator.AnimatorListener() {
- @Override
- public void onAnimationStart(Animator animator) {
- // Do nothing.
- }
-
- @Override
- public void onAnimationEnd(Animator animator) {
- view.setClickable(true);
- }
-
- @Override
- public void onAnimationCancel(Animator animator) {
- // Do nothing.
- }
-
- @Override
- public void onAnimationRepeat(Animator animator) {
- // Do nothing.
- }
- });
-
- mCaptureAnimator = new AnimatorSet();
- mCaptureAnimator.playTogether(
- ObjectAnimator.ofFloat(view, "scaleX", scale, 1f)
- .setDuration(AnimationManager.SHRINK_DURATION),
- ObjectAnimator.ofFloat(view, "scaleY", scale, 1f)
- .setDuration(AnimationManager.SHRINK_DURATION),
- ObjectAnimator.ofFloat(view, "translationX",
- parentView.getWidth() / 2 - centerX, 0f)
- .setDuration(AnimationManager.SHRINK_DURATION),
- translateY,
- slide);
- mCaptureAnimator.addListener(new Animator.AnimatorListener() {
- @Override
- public void onAnimationStart(Animator animator) {
- view.setClickable(false);
- view.setVisibility(View.VISIBLE);
- }
-
- @Override
- public void onAnimationEnd(Animator animator) {
- view.setScaleX(1f);
- view.setScaleX(1f);
- view.setTranslationX(0f);
- view.setTranslationY(0f);
- view.setVisibility(View.INVISIBLE);
- mCaptureAnimator.removeAllListeners();
- mCaptureAnimator = null;
- }
-
- @Override
- public void onAnimationCancel(Animator animator) {
- view.setVisibility(View.INVISIBLE);
- }
-
- @Override
- public void onAnimationRepeat(Animator animator) {
- // Do nothing.
- }
- });
- mCaptureAnimator.start();
- }
-
- /**
- * Starts flash animation.
- * @params flashOverlay the overlay that will animate on alpha to make the flash impression
- */
- public void startFlashAnimation(final View flashOverlay) {
- // End the previous animation if the previous one is still running
- if (mFlashAnim != null && mFlashAnim.isRunning()) {
- mFlashAnim.cancel();
- }
- // Start new flash animation.
- mFlashAnim = ObjectAnimator.ofFloat(flashOverlay, "alpha",
- AnimationManager.FLASH_ALPHA_START, AnimationManager.FLASH_ALPHA_END);
- mFlashAnim.setDuration(AnimationManager.FLASH_DURATION);
- mFlashAnim.addListener(new Animator.AnimatorListener() {
- @Override
- public void onAnimationStart(Animator animator) {
- flashOverlay.setVisibility(View.VISIBLE);
- }
-
- @Override
- public void onAnimationEnd(Animator animator) {
- flashOverlay.setAlpha(0f);
- flashOverlay.setVisibility(View.GONE);
- mFlashAnim.removeAllListeners();
- mFlashAnim = null;
- }
-
- @Override
- public void onAnimationCancel(Animator animator) {
- // Do nothing.
- }
-
- @Override
- public void onAnimationRepeat(Animator animator) {
- // Do nothing.
- }
- });
- mFlashAnim.start();
- }
-
- /**
- * Cancels on-going flash animation and capture animation, if any.
- */
- public void cancelAnimations() {
- // End the previous animation if the previous one is still running
- if (mFlashAnim != null && mFlashAnim.isRunning()) {
- mFlashAnim.cancel();
- }
- if (mCaptureAnimator != null && mCaptureAnimator.isStarted()) {
- mCaptureAnimator.cancel();
- }
- }
-}