From eb2e874fbb1b28249b604fc150cfaa4bfb2cb315 Mon Sep 17 00:00:00 2001 From: Uma Mehta Date: Mon, 4 Jul 2016 10:55:04 +0530 Subject: 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 --- src/com/android/camera/VideoModule.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/com/android/camera/VideoModule.java diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java old mode 100644 new mode 100755 index 9cb48eb0f..9e3c47cb9 --- 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() { -- cgit v1.2.3