summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rw-r--r--src/com/android/camera/PhotoModule.java55
1 files changed, 17 insertions, 38 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 89833b3b5..a61c2676e 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -65,13 +65,13 @@ import com.android.camera.CameraManager.CameraAFMoveCallback;
import com.android.camera.CameraManager.CameraPictureCallback;
import com.android.camera.CameraManager.CameraProxy;
import com.android.camera.CameraManager.CameraShutterCallback;
-import com.android.camera.support.common.ApiHelper;
import com.android.camera.support.filtershow.crop.CropExtras;
import com.android.camera.ui.CountDownView.OnCountDownFinishedListener;
import com.android.camera.ui.PopupManager;
import com.android.camera.ui.RotateTextToast;
import com.android.camera.util.UsageStatistics;
import com.android.camera2.R;
+import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.exif.ExifInterface;
import com.android.gallery3d.exif.ExifTag;
import com.android.gallery3d.exif.Rational;
@@ -103,7 +103,6 @@ public class PhotoModule
private static final int START_PREVIEW_DONE = 10;
private static final int OPEN_CAMERA_FAIL = 11;
private static final int CAMERA_DISABLED = 12;
- private static final int CAPTURE_ANIMATION_DONE = 13;
// The subset of parameters we need to update in setCameraParameters().
private static final int UPDATE_PARAM_INITIALIZE = 1;
@@ -170,13 +169,6 @@ public class PhotoModule
}
};
- private Runnable mFlashRunnable = new Runnable() {
- @Override
- public void run() {
- animateFlash();
- }
- };
-
private final StringBuilder mBuilder = new StringBuilder();
private final Formatter mFormatter = new Formatter(mBuilder);
private final Object[] mFormatterArgs = new Object[1];
@@ -394,10 +386,6 @@ public class PhotoModule
R.string.camera_disabled);
break;
}
- case CAPTURE_ANIMATION_DONE: {
- mUI.enablePreviewThumb(false);
- break;
- }
}
}
}
@@ -684,10 +672,10 @@ public class PhotoModule
private final class ShutterCallback
implements CameraShutterCallback {
- private boolean mAnimateFlash;
+ private boolean mNeedsAnimation;
- public ShutterCallback(boolean animateFlash) {
- mAnimateFlash = animateFlash;
+ public ShutterCallback(boolean needsAnimation) {
+ mNeedsAnimation = needsAnimation;
}
@Override
@@ -695,8 +683,13 @@ public class PhotoModule
mShutterCallbackTime = System.currentTimeMillis();
mShutterLag = mShutterCallbackTime - mCaptureStartTime;
Log.v(TAG, "mShutterLag = " + mShutterLag + "ms");
- if (mAnimateFlash) {
- mActivity.runOnUiThread(mFlashRunnable);
+ if (mNeedsAnimation) {
+ mActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ animateAfterShutter();
+ }
+ });
}
}
}
@@ -735,9 +728,11 @@ public class PhotoModule
if (mPaused) {
return;
}
- //TODO: We should show the picture taken rather than frozen preview here
if (mIsImageCaptureIntent) {
stopPreview();
+ } else {
+ // Animate capture with real jpeg data instead of a preview frame.
+ mUI.animateCapture(jpegData);
}
if (mSceneMode == Util.SCENE_MODE_HDR) {
mUI.showSwitcher();
@@ -762,18 +757,6 @@ public class PhotoModule
Log.v(TAG, "mPictureDisplayedToJpegCallbackTime = "
+ mPictureDisplayedToJpegCallbackTime + "ms");
- /*TODO:
- // Only animate when in full screen capture mode
- // i.e. If monkey/a user swipes to the gallery during picture taking,
- // don't show animation
- if (ApiHelper.HAS_SURFACE_TEXTURE && !mIsImageCaptureIntent
- && mActivity.mShowCameraAppView) {
- // Finish capture animation
- mHandler.removeMessages(CAPTURE_ANIMATION_DONE);
- ((CameraScreenNail) mActivity.mCameraScreenNail).animateSlide();
- mHandler.sendEmptyMessageDelayed(CAPTURE_ANIMATION_DONE,
- CaptureAnimManager.getAnimationDuration());
- } */
mFocusManager.updateFocusUI(); // Ensure focus indicator is hidden.
if (!mIsImageCaptureIntent) {
if (ApiHelper.CAN_START_PREVIEW_IN_JPEG_CALLBACK) {
@@ -919,16 +902,12 @@ public class PhotoModule
}
}
- private void animateFlash() {
+ private void animateAfterShutter() {
// Only animate when in full screen capture mode
// i.e. If monkey/a user swipes to the gallery during picture taking,
// don't show animation
if (!mIsImageCaptureIntent) {
mUI.animateFlash();
-
- // TODO: mUI.enablePreviewThumb(true);
- // mHandler.sendEmptyMessageDelayed(CAPTURE_ANIMATION_DONE,
- // CaptureAnimManager.getAnimationDuration());
}
}
@@ -948,7 +927,7 @@ public class PhotoModule
final boolean animateBefore = (mSceneMode == Util.SCENE_MODE_HDR);
if (animateBefore) {
- animateFlash();
+ animateAfterShutter();
}
// Set rotation and gps data.
@@ -1130,7 +1109,7 @@ public class PhotoModule
newExtras.putBoolean(CropExtras.KEY_SHOW_WHEN_LOCKED, true);
}
- // TODO ...
+ // TODO: Share this constant.
final String CROP_ACTION = "com.android.camera.action.CROP";
Intent cropIntent = new Intent(CROP_ACTION);