Loading core/java/android/app/admin/FullyManagedDeviceProvisioningParams.java +2 −1 Original line number Diff line number Diff line Loading @@ -301,6 +301,7 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable { * Sets a {@link PersistableBundle} that contains admin-specific extras. */ @NonNull //TODO(b/235783053) The adminExtras parameter is actually @Nullable. public Builder setAdminExtras(@NonNull PersistableBundle adminExtras) { mAdminExtras = adminExtras != null ? new PersistableBundle(adminExtras) Loading Loading @@ -333,7 +334,7 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable { mLocalTime, mLocale, mDeviceOwnerCanGrantSensorsPermissions, mAdminExtras, mAdminExtras != null ? mAdminExtras : new PersistableBundle(), mDemoDevice); } } Loading core/java/android/app/admin/ManagedProfileProvisioningParams.java +2 −1 Original line number Diff line number Diff line Loading @@ -252,6 +252,7 @@ public final class ManagedProfileProvisioningParams implements Parcelable { * Sets a {@link Bundle} that contains admin-specific extras. */ @NonNull //TODO(b/235783053) The adminExtras parameter is actually @Nullable. public Builder setAdminExtras(@NonNull PersistableBundle adminExtras) { mAdminExtras = adminExtras != null ? new PersistableBundle(adminExtras) Loading @@ -274,7 +275,7 @@ public final class ManagedProfileProvisioningParams implements Parcelable { mLeaveAllSystemAppsEnabled, mOrganizationOwnedProvisioning, mKeepingAccountOnMigration, mAdminExtras); mAdminExtras != null ? mAdminExtras : new PersistableBundle()); } } Loading core/java/android/hardware/camera2/CameraDevice.java +3 −3 Original line number Diff line number Diff line Loading @@ -892,9 +892,9 @@ public abstract class CameraDevice implements AutoCloseable { * <tr><th colspan="7">Preview stabilization guaranteed stream configurations</th></tr> * <tr><th colspan="2" id="rb">Target 1</th><th colspan="2" id="rb">Target 2</th><th rowspan="2">Sample use case(s)</th> </tr> * <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th></tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code RECORD}</td><td colspan="4" id="rb"></td> <td>Stabilized preview, GPU video processing, or no-preview stabilized video recording.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code JPEG / YUV}</td><td id="rb">{@code MAXIMUM }</td><td>Standard still imaging with stabilized preview.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV / YUV}</td><td id="rb">{@code RECORD }</td><td>High-resolution recording with stabilized preview and recording stream.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p}</td><td colspan="4" id="rb"></td> <td>Stabilized preview, GPU video processing, or no-preview stabilized video recording.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p}</td> <td>{@code JPEG / YUV}</td><td id="rb">{@code MAXIMUM }</td><td>Standard still imaging with stabilized preview.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p }</td><td>High-resolution recording with stabilized preview and recording stream.</td> </tr> * </table><br> * <p> * For the maximum size column, PREVIEW refers to the best size match to the device's screen Loading core/java/android/hardware/camera2/params/MandatoryStreamCombination.java +11 −11 Original line number Diff line number Diff line Loading @@ -1265,43 +1265,43 @@ public final class MandatoryStreamCombination { private static StreamCombinationTemplate sPreviewStabilizedStreamCombinations[] = { // 1 stream combinations new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Stabilized preview, GPU video processing, or no-preview stabilized recording"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Stabilized preview, GPU video processing, or no-preview stabilized recording"), //2 stream combinations new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.JPEG, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Standard JPEG still imaging with stabilized preview"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Standard YUV still imaging with stabilized preview"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Standard YUV still imaging with stabilized in-app image processing stream"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.JPEG, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Standard JPEG still imaging with stabilized in-app image processing stream"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), }; Loading Loading @@ -1430,7 +1430,7 @@ public final class MandatoryStreamCombination { StreamCombinationTemplate []chosenStreamCombinations = sPreviewStabilizedStreamCombinations; if (mIsPreviewStabilizationSupported) { if (!mIsPreviewStabilizationSupported) { Log.v(TAG, "Device does not support preview stabilization"); return null; } Loading media/java/android/media/MediaMetadata.java +9 −0 Original line number Diff line number Diff line Loading @@ -429,6 +429,15 @@ public final class MediaMetadata implements Parcelable { private MediaMetadata(Parcel in) { mBundle = in.readBundle(); mBitmapDimensionLimit = Math.max(in.readInt(), 1); // Proactively read bitmaps from known bitmap keys, to ensure that they're unparceled and // added to mBundle's internal map. This ensures that the GC accounts for the underlying // allocations, which it does not do if the bitmaps remain parceled (see b/215820910). // TODO(b/223225532): Remove this workaround once the underlying allocations are properly // tracked in NativeAllocationsRegistry. getBitmap(METADATA_KEY_ART); getBitmap(METADATA_KEY_ALBUM_ART); getBitmap(METADATA_KEY_DISPLAY_ICON); } /** Loading Loading
core/java/android/app/admin/FullyManagedDeviceProvisioningParams.java +2 −1 Original line number Diff line number Diff line Loading @@ -301,6 +301,7 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable { * Sets a {@link PersistableBundle} that contains admin-specific extras. */ @NonNull //TODO(b/235783053) The adminExtras parameter is actually @Nullable. public Builder setAdminExtras(@NonNull PersistableBundle adminExtras) { mAdminExtras = adminExtras != null ? new PersistableBundle(adminExtras) Loading Loading @@ -333,7 +334,7 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable { mLocalTime, mLocale, mDeviceOwnerCanGrantSensorsPermissions, mAdminExtras, mAdminExtras != null ? mAdminExtras : new PersistableBundle(), mDemoDevice); } } Loading
core/java/android/app/admin/ManagedProfileProvisioningParams.java +2 −1 Original line number Diff line number Diff line Loading @@ -252,6 +252,7 @@ public final class ManagedProfileProvisioningParams implements Parcelable { * Sets a {@link Bundle} that contains admin-specific extras. */ @NonNull //TODO(b/235783053) The adminExtras parameter is actually @Nullable. public Builder setAdminExtras(@NonNull PersistableBundle adminExtras) { mAdminExtras = adminExtras != null ? new PersistableBundle(adminExtras) Loading @@ -274,7 +275,7 @@ public final class ManagedProfileProvisioningParams implements Parcelable { mLeaveAllSystemAppsEnabled, mOrganizationOwnedProvisioning, mKeepingAccountOnMigration, mAdminExtras); mAdminExtras != null ? mAdminExtras : new PersistableBundle()); } } Loading
core/java/android/hardware/camera2/CameraDevice.java +3 −3 Original line number Diff line number Diff line Loading @@ -892,9 +892,9 @@ public abstract class CameraDevice implements AutoCloseable { * <tr><th colspan="7">Preview stabilization guaranteed stream configurations</th></tr> * <tr><th colspan="2" id="rb">Target 1</th><th colspan="2" id="rb">Target 2</th><th rowspan="2">Sample use case(s)</th> </tr> * <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th></tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code RECORD}</td><td colspan="4" id="rb"></td> <td>Stabilized preview, GPU video processing, or no-preview stabilized video recording.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code JPEG / YUV}</td><td id="rb">{@code MAXIMUM }</td><td>Standard still imaging with stabilized preview.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV / YUV}</td><td id="rb">{@code RECORD }</td><td>High-resolution recording with stabilized preview and recording stream.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p}</td><td colspan="4" id="rb"></td> <td>Stabilized preview, GPU video processing, or no-preview stabilized video recording.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p}</td> <td>{@code JPEG / YUV}</td><td id="rb">{@code MAXIMUM }</td><td>Standard still imaging with stabilized preview.</td> </tr> * <tr> <td>{@code PRIV / YUV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV / YUV}</td><td id="rb">{@code s1440p }</td><td>High-resolution recording with stabilized preview and recording stream.</td> </tr> * </table><br> * <p> * For the maximum size column, PREVIEW refers to the best size match to the device's screen Loading
core/java/android/hardware/camera2/params/MandatoryStreamCombination.java +11 −11 Original line number Diff line number Diff line Loading @@ -1265,43 +1265,43 @@ public final class MandatoryStreamCombination { private static StreamCombinationTemplate sPreviewStabilizedStreamCombinations[] = { // 1 stream combinations new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Stabilized preview, GPU video processing, or no-preview stabilized recording"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Stabilized preview, GPU video processing, or no-preview stabilized recording"), //2 stream combinations new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.JPEG, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Standard JPEG still imaging with stabilized preview"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p)}, "Standard YUV still imaging with stabilized preview"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Standard YUV still imaging with stabilized in-app image processing stream"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.JPEG, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p)}, "Standard JPEG still imaging with stabilized in-app image processing stream"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.RECORD), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s1440p), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW)}, "High-resolution video recording with preview both streams stabilized"), }; Loading Loading @@ -1430,7 +1430,7 @@ public final class MandatoryStreamCombination { StreamCombinationTemplate []chosenStreamCombinations = sPreviewStabilizedStreamCombinations; if (mIsPreviewStabilizationSupported) { if (!mIsPreviewStabilizationSupported) { Log.v(TAG, "Device does not support preview stabilization"); return null; } Loading
media/java/android/media/MediaMetadata.java +9 −0 Original line number Diff line number Diff line Loading @@ -429,6 +429,15 @@ public final class MediaMetadata implements Parcelable { private MediaMetadata(Parcel in) { mBundle = in.readBundle(); mBitmapDimensionLimit = Math.max(in.readInt(), 1); // Proactively read bitmaps from known bitmap keys, to ensure that they're unparceled and // added to mBundle's internal map. This ensures that the GC accounts for the underlying // allocations, which it does not do if the bitmaps remain parceled (see b/215820910). // TODO(b/223225532): Remove this workaround once the underlying allocations are properly // tracked in NativeAllocationsRegistry. getBitmap(METADATA_KEY_ART); getBitmap(METADATA_KEY_ALBUM_ART); getBitmap(METADATA_KEY_DISPLAY_ICON); } /** Loading