From 8f01f0805042e3e9f3a83205fa26c9513fa10a4a Mon Sep 17 00:00:00 2001 From: Yu Yang Date: Mon, 23 Sep 2013 14:15:59 +0800 Subject: Camera: Fix camcorder pause/resume issue Keep the pause button disabled when it's clicked, It'll be re-enabled delay PAUSE_BUTTON_TIMEOUT. Change-Id: Ib0f3f69632cfd22e671c79732d6b03fd44bbe5c4 --- src/com/android/camera/VideoModule.java | 12 ++++++++++++ src/com/android/camera/VideoUI.java | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index de6001879..b3b31700e 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -94,10 +94,12 @@ public class VideoModule implements CameraModule, private static final int SWITCH_CAMERA_START_ANIMATION = 9; private static final int HIDE_SURFACE_VIEW = 10; private static final int CAPTURE_ANIMATION_DONE = 11; + private static final int ENABLE_PAUSE_BUTTON = 13; private static final int SCREEN_DELAY = 2 * 60 * 1000; private static final long SHUTTER_BUTTON_TIMEOUT = 500L; // 500ms + private static final long PAUSE_BUTTON_TIMEOUT = 500L; // 500ms /** * An unpublished intent flag requesting to start recording straight away @@ -275,6 +277,10 @@ public class VideoModule implements CameraModule, mUI.enableShutter(true); break; + case ENABLE_PAUSE_BUTTON: + mUI.enablePause(true); + break; + case CLEAR_SCREEN_DELAY: { mActivity.getWindow().clearFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); @@ -2654,10 +2660,16 @@ public class VideoModule implements CameraModule, @Override public void onButtonPause() { pauseVideoRecording(); + mUI.enablePause(false); + mHandler.sendEmptyMessageDelayed( + ENABLE_PAUSE_BUTTON, PAUSE_BUTTON_TIMEOUT); } @Override public void onButtonContinue() { resumeVideoRecording(); + mUI.enablePause(false); + mHandler.sendEmptyMessageDelayed( + ENABLE_PAUSE_BUTTON, PAUSE_BUTTON_TIMEOUT); } } diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 69a123e63..0dd5de9de 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -382,6 +382,12 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener, mRootView.removeOnLayoutChangeListener(mLayoutListener); } + public void enablePause(boolean enable) { + if (mPauseButton != null) { + mPauseButton.setEnabled(enable); + } + } + // PieListener @Override public void onPieOpened(int centerX, int centerY) { -- cgit v1.2.3