diff options
author | codeworkx <daniel.hillenbrand@codeworkx.de> | 2017-01-28 14:56:35 +0100 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-26 01:09:27 +0100 |
commit | eaad57426c2bb2a0e61a65b24ba1c7feeccf3255 (patch) | |
tree | 86c3927ae07dc0011d6adf8ec80e959250c27f80 /src/com/android/camera/util | |
parent | 518a24e549fd845443ea1946afa8abdbd45f4870 (diff) | |
download | android_packages_apps_Snap-eaad57426c2bb2a0e61a65b24ba1c7feeccf3255.tar.gz android_packages_apps_Snap-eaad57426c2bb2a0e61a65b24ba1c7feeccf3255.tar.bz2 android_packages_apps_Snap-eaad57426c2bb2a0e61a65b24ba1c7feeccf3255.zip |
Snap: detect and use Camera2 if available
Also add overlay option to enable support for Camera2 to retain current behaviour.
Change-Id: I20939e33f4bb687e4abea11bbcdb9bf246b156e4
Diffstat (limited to 'src/com/android/camera/util')
-rw-r--r-- | src/com/android/camera/util/CameraUtil.java | 26 | ||||
-rw-r--r-- | src/com/android/camera/util/PersistUtil.java | 6 |
2 files changed, 26 insertions, 6 deletions
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java index a6bb45e70..8f40c115a 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -36,6 +36,8 @@ import android.hardware.Camera; import android.hardware.Camera.CameraInfo; import android.hardware.Camera.Parameters; import android.hardware.Camera.Size; +import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraCharacteristics; import android.location.Location; import android.media.MediaRecorder; import android.net.Uri; @@ -404,6 +406,30 @@ public class CameraUtil { } } + public static boolean isCamera2Supported(Context context) { + android.hardware.camera2.CameraManager manager = (android.hardware.camera2.CameraManager)context.getSystemService(Context.CAMERA_SERVICE); + + try { + CameraCharacteristics characteristics = manager.getCameraCharacteristics(manager.getCameraIdList()[0]); + int deviceLevel = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL); + + switch (deviceLevel) { + case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED: + return true; + case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL: + return true; + case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3: + return true; + default: + return false; + } + } catch(CameraAccessException | NumberFormatException e) { + Log.e(TAG, "exception trying to get camera characteristics"); + } + + return false; + } + public static CameraManager.CameraProxy openCamera( Activity activity, final int cameraId, Handler handler, final CameraManager.CameraOpenErrorCallback cb) { diff --git a/src/com/android/camera/util/PersistUtil.java b/src/com/android/camera/util/PersistUtil.java index 968e51c73..c0f4455fd 100644 --- a/src/com/android/camera/util/PersistUtil.java +++ b/src/com/android/camera/util/PersistUtil.java @@ -50,8 +50,6 @@ public class PersistUtil { SystemProperties.getInt("persist.vendor.camera.longshot.shotnum", 50); private static final String PERSIST_CAMERA_PREVIEW_SIZE = SystemProperties.get("persist.vendor.camera.preview.size", ""); - private static final boolean PERSIST_CAMERA_CAMERA2 = - SystemProperties.getBoolean("persist.vendor.camera.camera2", false); private static final boolean PERSIST_CAMERA_ZSL = SystemProperties.getBoolean("persist.vendor.camera.zsl.disabled", false); private static final int PERSIST_CAMERA2_DEBUG = @@ -150,10 +148,6 @@ public class PersistUtil { return result; } - public static boolean getCamera2Mode() { - return PERSIST_CAMERA_CAMERA2; - } - public static boolean getCameraZSLDisabled() { return PERSIST_CAMERA_ZSL; } |