Loading core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -1246,7 +1246,7 @@ package android.hardware.camera2 { public final class CameraManager { method public String[] getCameraIdListNoLazy() throws android.hardware.camera2.CameraAccessException; method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException; field public static final long OVERRIDE_FRONT_CAMERA_APP_COMPAT = 250678880L; // 0xef10e60L field public static final long OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT = 250678880L; // 0xef10e60L } public abstract static class CameraManager.AvailabilityCallback { Loading core/java/android/hardware/Camera.java +4 −12 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.app.ActivityThread; import android.app.AppOpsManager; import android.app.compat.CompatChanges; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; import android.graphics.ImageFormat; Loading @@ -42,7 +41,6 @@ import android.os.Message; import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; import android.renderscript.Allocation; import android.renderscript.Element; import android.renderscript.RSIllegalArgumentException; Loading Loading @@ -279,14 +277,6 @@ public class Camera { */ public native static int getNumberOfCameras(); private static final boolean sLandscapeToPortrait = SystemProperties.getBoolean(CameraManager.LANDSCAPE_TO_PORTRAIT_PROP, false); private static boolean shouldOverrideToPortrait() { return CompatChanges.isChangeEnabled(CameraManager.OVERRIDE_FRONT_CAMERA_APP_COMPAT) && sLandscapeToPortrait; } /** * Returns the information about a particular camera. * If {@link #getNumberOfCameras()} returns N, the valid id is 0 to N-1. Loading @@ -296,7 +286,8 @@ public class Camera { * low-level failure). */ public static void getCameraInfo(int cameraId, CameraInfo cameraInfo) { boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = CameraManager.shouldOverrideToPortrait( ActivityThread.currentApplication().getApplicationContext()); _getCameraInfo(cameraId, overrideToPortrait, cameraInfo); IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE); Loading Loading @@ -493,7 +484,8 @@ public class Camera { mEventHandler = null; } boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = CameraManager.shouldOverrideToPortrait( ActivityThread.currentApplication().getApplicationContext()); return native_setup(new WeakReference<Camera>(this), cameraId, ActivityThread.currentOpPackageName(), overrideToPortrait); } Loading core/java/android/hardware/camera2/CameraManager.java +30 −6 Original line number Diff line number Diff line Loading @@ -115,7 +115,14 @@ public final class CameraManager { @Overridable @EnabledSince(targetSdkVersion = android.os.Build.VERSION_CODES.BASE) @TestApi public static final long OVERRIDE_FRONT_CAMERA_APP_COMPAT = 250678880L; public static final long OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT = 250678880L; /** * Package-level opt in/out for the above. * @hide */ public static final String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT = "android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT"; /** * System property for allowing the above Loading Loading @@ -607,7 +614,7 @@ public final class CameraManager { try { Size displaySize = getDisplaySize(); boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = shouldOverrideToPortrait(mContext); CameraMetadataNative info = cameraService.getCameraCharacteristics(cameraId, mContext.getApplicationInfo().targetSdkVersion, overrideToPortrait); try { Loading Loading @@ -727,7 +734,7 @@ public final class CameraManager { "Camera service is currently unavailable"); } boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = shouldOverrideToPortrait(mContext); cameraUser = cameraService.connectDevice(callbacks, cameraId, mContext.getOpPackageName(), mContext.getAttributionTag(), uid, oomScoreOffset, mContext.getApplicationInfo().targetSdkVersion, Loading Loading @@ -1159,9 +1166,26 @@ public final class CameraManager { return CameraManagerGlobal.get().getTorchStrengthLevel(cameraId); } private static boolean shouldOverrideToPortrait() { return CompatChanges.isChangeEnabled(OVERRIDE_FRONT_CAMERA_APP_COMPAT) && CameraManagerGlobal.sLandscapeToPortrait; /** * @hide */ public static boolean shouldOverrideToPortrait(@Nullable Context context) { if (!CameraManagerGlobal.sLandscapeToPortrait) { return false; } if (context != null) { PackageManager packageManager = context.getPackageManager(); try { return packageManager.getProperty(context.getOpPackageName(), PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT).getBoolean(); } catch (PackageManager.NameNotFoundException e) { // No such property } } return CompatChanges.isChangeEnabled(OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT); } /** Loading Loading
core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -1246,7 +1246,7 @@ package android.hardware.camera2 { public final class CameraManager { method public String[] getCameraIdListNoLazy() throws android.hardware.camera2.CameraAccessException; method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException; field public static final long OVERRIDE_FRONT_CAMERA_APP_COMPAT = 250678880L; // 0xef10e60L field public static final long OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT = 250678880L; // 0xef10e60L } public abstract static class CameraManager.AvailabilityCallback { Loading
core/java/android/hardware/Camera.java +4 −12 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.app.ActivityThread; import android.app.AppOpsManager; import android.app.compat.CompatChanges; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; import android.graphics.ImageFormat; Loading @@ -42,7 +41,6 @@ import android.os.Message; import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; import android.renderscript.Allocation; import android.renderscript.Element; import android.renderscript.RSIllegalArgumentException; Loading Loading @@ -279,14 +277,6 @@ public class Camera { */ public native static int getNumberOfCameras(); private static final boolean sLandscapeToPortrait = SystemProperties.getBoolean(CameraManager.LANDSCAPE_TO_PORTRAIT_PROP, false); private static boolean shouldOverrideToPortrait() { return CompatChanges.isChangeEnabled(CameraManager.OVERRIDE_FRONT_CAMERA_APP_COMPAT) && sLandscapeToPortrait; } /** * Returns the information about a particular camera. * If {@link #getNumberOfCameras()} returns N, the valid id is 0 to N-1. Loading @@ -296,7 +286,8 @@ public class Camera { * low-level failure). */ public static void getCameraInfo(int cameraId, CameraInfo cameraInfo) { boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = CameraManager.shouldOverrideToPortrait( ActivityThread.currentApplication().getApplicationContext()); _getCameraInfo(cameraId, overrideToPortrait, cameraInfo); IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE); Loading Loading @@ -493,7 +484,8 @@ public class Camera { mEventHandler = null; } boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = CameraManager.shouldOverrideToPortrait( ActivityThread.currentApplication().getApplicationContext()); return native_setup(new WeakReference<Camera>(this), cameraId, ActivityThread.currentOpPackageName(), overrideToPortrait); } Loading
core/java/android/hardware/camera2/CameraManager.java +30 −6 Original line number Diff line number Diff line Loading @@ -115,7 +115,14 @@ public final class CameraManager { @Overridable @EnabledSince(targetSdkVersion = android.os.Build.VERSION_CODES.BASE) @TestApi public static final long OVERRIDE_FRONT_CAMERA_APP_COMPAT = 250678880L; public static final long OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT = 250678880L; /** * Package-level opt in/out for the above. * @hide */ public static final String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT = "android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT"; /** * System property for allowing the above Loading Loading @@ -607,7 +614,7 @@ public final class CameraManager { try { Size displaySize = getDisplaySize(); boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = shouldOverrideToPortrait(mContext); CameraMetadataNative info = cameraService.getCameraCharacteristics(cameraId, mContext.getApplicationInfo().targetSdkVersion, overrideToPortrait); try { Loading Loading @@ -727,7 +734,7 @@ public final class CameraManager { "Camera service is currently unavailable"); } boolean overrideToPortrait = shouldOverrideToPortrait(); boolean overrideToPortrait = shouldOverrideToPortrait(mContext); cameraUser = cameraService.connectDevice(callbacks, cameraId, mContext.getOpPackageName(), mContext.getAttributionTag(), uid, oomScoreOffset, mContext.getApplicationInfo().targetSdkVersion, Loading Loading @@ -1159,9 +1166,26 @@ public final class CameraManager { return CameraManagerGlobal.get().getTorchStrengthLevel(cameraId); } private static boolean shouldOverrideToPortrait() { return CompatChanges.isChangeEnabled(OVERRIDE_FRONT_CAMERA_APP_COMPAT) && CameraManagerGlobal.sLandscapeToPortrait; /** * @hide */ public static boolean shouldOverrideToPortrait(@Nullable Context context) { if (!CameraManagerGlobal.sLandscapeToPortrait) { return false; } if (context != null) { PackageManager packageManager = context.getPackageManager(); try { return packageManager.getProperty(context.getOpPackageName(), PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT).getBoolean(); } catch (PackageManager.NameNotFoundException e) { // No such property } } return CompatChanges.isChangeEnabled(OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT); } /** Loading