summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/CaptureModule.java13
-rw-r--r--src/com/android/camera/VideoModule.java5
-rw-r--r--src/com/android/camera/util/ApiHelper.java3
3 files changed, 16 insertions, 5 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 91358de3d..bf194f011 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -89,6 +89,7 @@ import com.android.camera.ui.TrackingFocusRenderer;
import com.android.camera.util.CameraUtil;
import com.android.camera.util.PersistUtil;
import com.android.camera.util.SettingTranslation;
+import com.android.camera.util.ApiHelper;
import com.android.internal.util.MemInfoReader;
import org.codeaurora.snapcam.R;
@@ -105,6 +106,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
+import java.lang.reflect.Method;
public class CaptureModule implements CameraModule, PhotoController,
MediaSaveService.Listener, ClearSightImageProcessor.Callback,
@@ -2552,7 +2554,16 @@ public class CaptureModule implements CameraModule, PhotoController,
mMediaRecorderPausing = false;
mRecordingStartTime = SystemClock.uptimeMillis();
updateRecordingTime();
- mMediaRecorder.start();
+ if (!ApiHelper.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");
+ }
+ }
}
public void onButtonPause() {
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index bae16bde6..75a610e30 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -106,9 +106,6 @@ 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.
@@ -1979,7 +1976,7 @@ public class VideoModule implements CameraModule,
mMediaRecorderPausing = false;
mRecordingStartTime = SystemClock.uptimeMillis();
updateRecordingTime();
- if (!HAS_RESUME_SUPPORTED){
+ if (!ApiHelper.HAS_RESUME_SUPPORTED){
mMediaRecorder.start();
} else {
try {
diff --git a/src/com/android/camera/util/ApiHelper.java b/src/com/android/camera/util/ApiHelper.java
index 4a917799e..890780f7d 100644
--- a/src/com/android/camera/util/ApiHelper.java
+++ b/src/com/android/camera/util/ApiHelper.java
@@ -53,6 +53,9 @@ public class ApiHelper {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;
public static final boolean HAS_HIDEYBARS = isKitKatOrHigher();
+ public static final boolean HAS_RESUME_SUPPORTED =
+ Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
+
public static int getIntFieldIfExists(Class<?> klass, String fieldName,
Class<?> obj, int defaultVal) {
try {