Loading core/api/test-current.txt +0 −1 Original line number Diff line number Diff line Loading @@ -1139,7 +1139,6 @@ 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 } public abstract static class CameraManager.AvailabilityCallback { Loading core/java/android/hardware/Camera.java +4 −12 Original line number Diff line number Diff line Loading @@ -29,7 +29,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 @@ -47,7 +46,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 @@ -284,14 +282,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 @@ -301,7 +291,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 @@ -498,7 +489,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 −7 Original line number Diff line number Diff line Loading @@ -115,8 +115,14 @@ public final class CameraManager { @ChangeId @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 @@ -602,7 +608,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 @@ -722,7 +728,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 @@ -1154,9 +1160,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 +0 −1 Original line number Diff line number Diff line Loading @@ -1139,7 +1139,6 @@ 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 } public abstract static class CameraManager.AvailabilityCallback { Loading
core/java/android/hardware/Camera.java +4 −12 Original line number Diff line number Diff line Loading @@ -29,7 +29,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 @@ -47,7 +46,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 @@ -284,14 +282,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 @@ -301,7 +291,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 @@ -498,7 +489,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 −7 Original line number Diff line number Diff line Loading @@ -115,8 +115,14 @@ public final class CameraManager { @ChangeId @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 @@ -602,7 +608,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 @@ -722,7 +728,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 @@ -1154,9 +1160,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