From 8f51086c8177056345de996963515c4bd3415254 Mon Sep 17 00:00:00 2001 From: Sascha Haeberling Date: Thu, 19 Feb 2015 11:35:43 -0800 Subject: Centralize logic for Camera API feature determination. Bug: 19179276 This captures camera capabilities in a centralized class and allows them to be overridden by GServices in the field or using adb. Since this is not it's own class it would be trivial to create another instance for testing and pass that into CameraActivity or even to change these values using a UI before the actual Activity is started. Change-Id: I74262c8467f631c7b5e42b02d269d5f401d4e9e7 --- .../android/camera/burst/BurstControllerImpl.java | 3 ++- .../android/camera/one/v2/OneCameraCreator.java | 4 +++- .../com/android/camera/util/GservicesHelper.java | 22 ++++++++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) (limited to 'src_pd') diff --git a/src_pd/com/android/camera/burst/BurstControllerImpl.java b/src_pd/com/android/camera/burst/BurstControllerImpl.java index dfbc030eb..6aad961a9 100644 --- a/src_pd/com/android/camera/burst/BurstControllerImpl.java +++ b/src_pd/com/android/camera/burst/BurstControllerImpl.java @@ -14,6 +14,7 @@ package com.android.camera.burst; +import android.content.ContentResolver; import android.content.Context; import android.graphics.SurfaceTexture; @@ -33,7 +34,7 @@ class BurstControllerImpl implements BurstController { /** * Returns true if burst mode is supported by camera. */ - public static boolean isBurstModeSupported(Context context) { + public static boolean isBurstModeSupported(ContentResolver contentResolver) { return false; } diff --git a/src_pd/com/android/camera/one/v2/OneCameraCreator.java b/src_pd/com/android/camera/one/v2/OneCameraCreator.java index 7d67e2f8f..4458ed28b 100644 --- a/src_pd/com/android/camera/one/v2/OneCameraCreator.java +++ b/src_pd/com/android/camera/one/v2/OneCameraCreator.java @@ -25,11 +25,13 @@ import com.android.camera.app.AppController; import com.android.camera.async.MainThread; import com.android.camera.burst.BurstFacade; import com.android.camera.one.OneCamera; +import com.android.camera.one.config.OneCameraFeatureConfig; import com.android.camera.one.v2.photo.ImageRotationCalculator; import com.android.camera.util.Size; public class OneCameraCreator { - public static OneCamera create(AppController context, boolean useHdr, CameraDevice device, + public static OneCamera create(AppController context, boolean useHdr, + OneCameraFeatureConfig featureConfig, CameraDevice device, CameraCharacteristics characteristics, Size pictureSize, int maxMemoryMB, DisplayMetrics displayMetrics, SoundPlayer soundPlayer, diff --git a/src_pd/com/android/camera/util/GservicesHelper.java b/src_pd/com/android/camera/util/GservicesHelper.java index 6c388596c..c79b69520 100644 --- a/src_pd/com/android/camera/util/GservicesHelper.java +++ b/src_pd/com/android/camera/util/GservicesHelper.java @@ -16,15 +16,33 @@ package com.android.camera.util; +import android.content.ContentResolver; import android.content.Context; public class GservicesHelper { - public static int getMaxAllowedNativeMemoryMb(Context context) { + + public static boolean isCaptureModuleDisabled(ContentResolver contentResolver) { + return false; + } + + public static int getCaptureSupportLevelOverrideBack(ContentResolver contentResolver) { + return -1; + } + + public static int getCaptureSupportLevelOverrideFront(ContentResolver contentResolver) { return -1; } - public static boolean useCamera2ApiThroughPortabilityLayer(Context context) { + public static int getMaxAllowedNativeMemoryMb(ContentResolver contentResolver) { + return -1; + } + + public static boolean useCamera2ApiThroughPortabilityLayer(ContentResolver contentResolver) { // Use the camera2 API by default. This only affects PhotoModule on L. return true; } + + public static boolean isGcamEnabled(ContentResolver contentResolver) { + return false; + } } -- cgit v1.2.3