Loading core/api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -1291,6 +1291,7 @@ package android.app { method @FlaggedApi("android.app.live_wallpaper_content_handling") @Nullable @RequiresPermission(android.Manifest.permission.READ_WALLPAPER_INTERNAL) public android.app.wallpaper.WallpaperInstance getWallpaperInstance(int); method public void setDisplayOffset(android.os.IBinder, int, int); method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithCrops(@NonNull java.io.InputStream, @NonNull android.util.SparseArray<android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName); method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(allOf={android.Manifest.permission.SET_WALLPAPER_COMPONENT, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public boolean setWallpaperComponentWithDescription(@NonNull android.app.wallpaper.WallpaperDescription, int); method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int); Loading Loading @@ -3302,6 +3303,14 @@ package android.app.usage { } package android.app.wallpaper { @FlaggedApi("android.app.live_wallpaper_content_handling") public final class WallpaperDescription implements android.os.Parcelable { method @NonNull public android.util.SparseArray<android.graphics.Rect> getCropHints(); } } package android.app.wallpapereffectsgeneration { public final class CameraAttributes implements android.os.Parcelable { core/api/test-current.txt +0 −1 Original line number Diff line number Diff line Loading @@ -543,7 +543,6 @@ package android.app { method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmapWithCrops(@Nullable android.graphics.Bitmap, @NonNull java.util.Map<android.graphics.Point,android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmapWithDescription(@Nullable android.graphics.Bitmap, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithCrops(@NonNull java.io.InputStream, @NonNull java.util.Map<android.graphics.Point,android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method public void setWallpaperZoomOut(@NonNull android.os.IBinder, float); method public boolean shouldEnableWideColorGamut(); method public boolean wallpaperSupportsWcg(int); Loading core/java/android/app/WallpaperManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -2092,7 +2092,7 @@ public class WallpaperManager { /** * Returns the description of the designated wallpaper. Returns null if the lock screen * wallpaper is requested lock screen wallpaper is not set. * wallpaper is requested and lock screen wallpaper is not set. * @param which Specifies wallpaper to request (home or lock). * @throws IllegalArgumentException if {@code which} is not exactly one of Loading Loading @@ -2733,7 +2733,7 @@ public class WallpaperManager { * @hide */ @FlaggedApi(FLAG_LIVE_WALLPAPER_CONTENT_HANDLING) @TestApi @SystemApi @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull InputStream bitmapData, @NonNull WallpaperDescription description, boolean allowBackup, Loading core/java/android/app/wallpaper/WallpaperDescription.java +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.Flags.FLAG_LIVE_WALLPAPER_CONTENT_HANDLING; import android.annotation.FlaggedApi; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.WallpaperInfo; import android.app.WallpaperManager; Loading Loading @@ -153,6 +154,7 @@ public final class WallpaperDescription implements Parcelable { * {@link Builder#setCropHints(SparseArray)} * @hide */ @SystemApi @NonNull public SparseArray<Rect> getCropHints() { return mCropHints; Loading services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +13 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import static com.android.window.flags.Flags.multiCrop; import static com.android.window.flags.Flags.offloadColorExtraction; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.AppGlobals; Loading Loading @@ -2487,7 +2488,8 @@ public class WallpaperManagerService extends IWallpaperManager.Stub @Override public WallpaperInfo getWallpaperInfoWithFlags(@SetWallpaperFlags int which, int userId) { if (liveWallpaperContentHandling()) { return getWallpaperInstance(which, userId, false).getInfo(); WallpaperInstance instance = getWallpaperInstance(which, userId, false); return (instance != null) ? instance.getInfo() : null; } userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), Loading @@ -2509,7 +2511,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub return null; } @NonNull @Nullable @Override public WallpaperInstance getWallpaperInstance(@SetWallpaperFlags int which, int userId) { return getWallpaperInstance(which, userId, true); Loading @@ -2517,28 +2519,27 @@ public class WallpaperManagerService extends IWallpaperManager.Stub private WallpaperInstance getWallpaperInstance(@SetWallpaperFlags int which, int userId, boolean requireReadWallpaper) { final WallpaperInstance defaultInstance = new WallpaperInstance(null, new WallpaperDescription.Builder().build()); userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), userId, false, true, "getWallpaperInfo", null); synchronized (mLock) { WallpaperData wallpaper = (which == FLAG_LOCK) ? mLockWallpaperMap.get(userId) : mWallpaperMap.get(userId); if (wallpaper == null || wallpaper.connection == null || wallpaper.connection.mInfo == null) { return defaultInstance; } if (wallpaper == null || wallpaper.connection == null) return null; WallpaperInfo info = wallpaper.connection.mInfo; boolean canQueryPackage = mPackageManagerInternal.canQueryPackage( boolean canQueryPackage = (info == null) || mPackageManagerInternal.canQueryPackage( Binder.getCallingUid(), info.getComponent().getPackageName()); if (hasPermission(READ_WALLPAPER_INTERNAL) || (canQueryPackage && !requireReadWallpaper)) { return new WallpaperInstance(info, wallpaper.getDescription()); // TODO(b/380245309) Remove this when crops are part of the description. WallpaperDescription description = wallpaper.getDescription().toBuilder().setCropHints( wallpaper.mCropHints).build(); return new WallpaperInstance(info, description); } else { return null; } } return defaultInstance; } @Override Loading Loading
core/api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -1291,6 +1291,7 @@ package android.app { method @FlaggedApi("android.app.live_wallpaper_content_handling") @Nullable @RequiresPermission(android.Manifest.permission.READ_WALLPAPER_INTERNAL) public android.app.wallpaper.WallpaperInstance getWallpaperInstance(int); method public void setDisplayOffset(android.os.IBinder, int, int); method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithCrops(@NonNull java.io.InputStream, @NonNull android.util.SparseArray<android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName); method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(allOf={android.Manifest.permission.SET_WALLPAPER_COMPONENT, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public boolean setWallpaperComponentWithDescription(@NonNull android.app.wallpaper.WallpaperDescription, int); method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int); Loading Loading @@ -3302,6 +3303,14 @@ package android.app.usage { } package android.app.wallpaper { @FlaggedApi("android.app.live_wallpaper_content_handling") public final class WallpaperDescription implements android.os.Parcelable { method @NonNull public android.util.SparseArray<android.graphics.Rect> getCropHints(); } } package android.app.wallpapereffectsgeneration { public final class CameraAttributes implements android.os.Parcelable {
core/api/test-current.txt +0 −1 Original line number Diff line number Diff line Loading @@ -543,7 +543,6 @@ package android.app { method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmapWithCrops(@Nullable android.graphics.Bitmap, @NonNull java.util.Map<android.graphics.Point,android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmapWithDescription(@Nullable android.graphics.Bitmap, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithCrops(@NonNull java.io.InputStream, @NonNull java.util.Map<android.graphics.Point,android.graphics.Rect>, boolean, int) throws java.io.IOException; method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException; method public void setWallpaperZoomOut(@NonNull android.os.IBinder, float); method public boolean shouldEnableWideColorGamut(); method public boolean wallpaperSupportsWcg(int); Loading
core/java/android/app/WallpaperManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -2092,7 +2092,7 @@ public class WallpaperManager { /** * Returns the description of the designated wallpaper. Returns null if the lock screen * wallpaper is requested lock screen wallpaper is not set. * wallpaper is requested and lock screen wallpaper is not set. * @param which Specifies wallpaper to request (home or lock). * @throws IllegalArgumentException if {@code which} is not exactly one of Loading Loading @@ -2733,7 +2733,7 @@ public class WallpaperManager { * @hide */ @FlaggedApi(FLAG_LIVE_WALLPAPER_CONTENT_HANDLING) @TestApi @SystemApi @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull InputStream bitmapData, @NonNull WallpaperDescription description, boolean allowBackup, Loading
core/java/android/app/wallpaper/WallpaperDescription.java +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.Flags.FLAG_LIVE_WALLPAPER_CONTENT_HANDLING; import android.annotation.FlaggedApi; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.WallpaperInfo; import android.app.WallpaperManager; Loading Loading @@ -153,6 +154,7 @@ public final class WallpaperDescription implements Parcelable { * {@link Builder#setCropHints(SparseArray)} * @hide */ @SystemApi @NonNull public SparseArray<Rect> getCropHints() { return mCropHints; Loading
services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +13 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import static com.android.window.flags.Flags.multiCrop; import static com.android.window.flags.Flags.offloadColorExtraction; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.AppGlobals; Loading Loading @@ -2487,7 +2488,8 @@ public class WallpaperManagerService extends IWallpaperManager.Stub @Override public WallpaperInfo getWallpaperInfoWithFlags(@SetWallpaperFlags int which, int userId) { if (liveWallpaperContentHandling()) { return getWallpaperInstance(which, userId, false).getInfo(); WallpaperInstance instance = getWallpaperInstance(which, userId, false); return (instance != null) ? instance.getInfo() : null; } userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), Loading @@ -2509,7 +2511,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub return null; } @NonNull @Nullable @Override public WallpaperInstance getWallpaperInstance(@SetWallpaperFlags int which, int userId) { return getWallpaperInstance(which, userId, true); Loading @@ -2517,28 +2519,27 @@ public class WallpaperManagerService extends IWallpaperManager.Stub private WallpaperInstance getWallpaperInstance(@SetWallpaperFlags int which, int userId, boolean requireReadWallpaper) { final WallpaperInstance defaultInstance = new WallpaperInstance(null, new WallpaperDescription.Builder().build()); userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), userId, false, true, "getWallpaperInfo", null); synchronized (mLock) { WallpaperData wallpaper = (which == FLAG_LOCK) ? mLockWallpaperMap.get(userId) : mWallpaperMap.get(userId); if (wallpaper == null || wallpaper.connection == null || wallpaper.connection.mInfo == null) { return defaultInstance; } if (wallpaper == null || wallpaper.connection == null) return null; WallpaperInfo info = wallpaper.connection.mInfo; boolean canQueryPackage = mPackageManagerInternal.canQueryPackage( boolean canQueryPackage = (info == null) || mPackageManagerInternal.canQueryPackage( Binder.getCallingUid(), info.getComponent().getPackageName()); if (hasPermission(READ_WALLPAPER_INTERNAL) || (canQueryPackage && !requireReadWallpaper)) { return new WallpaperInstance(info, wallpaper.getDescription()); // TODO(b/380245309) Remove this when crops are part of the description. WallpaperDescription description = wallpaper.getDescription().toBuilder().setCropHints( wallpaper.mCropHints).build(); return new WallpaperInstance(info, description); } else { return null; } } return defaultInstance; } @Override Loading