summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUma Mehta <umamehta@codeaurora.org>2016-07-04 10:55:04 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-06 23:35:25 -0700
commiteb2e874fbb1b28249b604fc150cfaa4bfb2cb315 (patch)
treeb571172bfe46af88d1fc9aa456d3aa5c43eacf7d
parentde98a47425d6f9b1ee017829f99d61ad0620266f (diff)
downloadandroid_packages_apps_Snap-eb2e874fbb1b28249b604fc150cfaa4bfb2cb315.tar.gz
android_packages_apps_Snap-eb2e874fbb1b28249b604fc150cfaa4bfb2cb315.tar.bz2
android_packages_apps_Snap-eb2e874fbb1b28249b604fc150cfaa4bfb2cb315.zip
SnapdragonCamera: Use resume/start based on the SDK version
For camcorder to resume after pause use mediarecorder's resume() API in N and later versions and for the rest of older versions call start() API Change-Id: I01e761215c31e03c87b98149f13cd5c3f2482d05
-rwxr-xr-x[-rw-r--r--]src/com/android/camera/VideoModule.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 9cb48eb0f..9e3c47cb9 100644..100755
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -79,6 +79,7 @@ import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.HashMap;
+import java.lang.reflect.Method;
public class VideoModule implements CameraModule,
VideoController,
@@ -103,6 +104,9 @@ public class VideoModule implements CameraModule,
private static final long SHUTTER_BUTTON_TIMEOUT = 0L; // 0ms
+ public static final boolean HAS_RESUME_SUPPORTED =
+ Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
+
/**
* An unpublished intent flag requesting to start recording straight away
* and return as soon as recording is stopped.
@@ -1930,7 +1934,16 @@ public class VideoModule implements CameraModule,
mMediaRecorderPausing = false;
mRecordingStartTime = SystemClock.uptimeMillis();
updateRecordingTime();
- mMediaRecorder.start();
+ if (!HAS_RESUME_SUPPORTED){
+ mMediaRecorder.start();
+ } else {
+ try {
+ Method resumeRec = Class.forName("android.media.MediaRecorder").getMethod("resume");
+ resumeRec.invoke(mMediaRecorder);
+ } catch (Exception e) {
+ Log.v(TAG, "resume method not implemented");
+ }
+ }
}
private boolean stopVideoRecording() {