diff options
-rw-r--r-- | src/com/android/camera/CaptureModule.java | 13 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/util/ApiHelper.java | 3 |
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 { |