summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Yang <yuyang@codeaurora.org>2013-09-23 14:15:59 +0800
committerSteve Kondik <shade@chemlab.org>2013-12-10 11:32:30 -0800
commit8f01f0805042e3e9f3a83205fa26c9513fa10a4a (patch)
tree6e7bf932b81d8732539cf1586233df9d4750b75e
parentaf36c1f061b4c5848d9995c337f84a4faa09a86b (diff)
downloadandroid_packages_apps_Gallery2-8f01f0805042e3e9f3a83205fa26c9513fa10a4a.tar.gz
android_packages_apps_Gallery2-8f01f0805042e3e9f3a83205fa26c9513fa10a4a.tar.bz2
android_packages_apps_Gallery2-8f01f0805042e3e9f3a83205fa26c9513fa10a4a.zip
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
-rw-r--r--src/com/android/camera/VideoModule.java12
-rw-r--r--src/com/android/camera/VideoUI.java6
2 files changed, 18 insertions, 0 deletions
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) {