Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dce6281 authored by Edward Savage-Jones's avatar Edward Savage-Jones
Browse files

Fix WallpaperManager APIs

When support for lockscreen wallpapers was added in API level 24 the
behaviour for earlier API versions changed. Calls to the old 'set' APIs
no longer affect the overall device wallpaper, and can result in an end
user not being able to change their lockscreen wallpaper.

This upload restores the original API behaviour.

Bug: 31204228
Change-Id: Ia16d2e2e379c54d798eef8f5c653099c2c581d78
parent 9484bff0
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -898,7 +898,7 @@ public class WallpaperManager {
     * wallpaper.
     */
    public void setResource(@RawRes int resid) throws IOException {
        setResource(resid, FLAG_SYSTEM);
        setResource(resid, FLAG_SYSTEM | FLAG_LOCK);
    }

    /**
@@ -1003,7 +1003,7 @@ public class WallpaperManager {
     */
    public int setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup)
            throws IOException {
        return setBitmap(fullImage, visibleCropHint, allowBackup, FLAG_SYSTEM);
        return setBitmap(fullImage, visibleCropHint, allowBackup, FLAG_SYSTEM | FLAG_LOCK);
    }

    /**
@@ -1128,7 +1128,7 @@ public class WallpaperManager {
     */
    public int setStream(InputStream bitmapData, Rect visibleCropHint, boolean allowBackup)
            throws IOException {
        return setStream(bitmapData, visibleCropHint, allowBackup, FLAG_SYSTEM);
        return setStream(bitmapData, visibleCropHint, allowBackup, FLAG_SYSTEM | FLAG_LOCK);
    }

    /**
@@ -1367,7 +1367,7 @@ public class WallpaperManager {
     */
    @SystemApi
    public void clearWallpaper() {
        clearWallpaper(FLAG_SYSTEM, mContext.getUserId());
        clearWallpaper(FLAG_SYSTEM | FLAG_LOCK, mContext.getUserId());
    }

    /**