Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +4 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,10 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen public LoaderResult loadBitmap(int currentUserId, UserHandle selectedUser) { // May be called on any thread - only use thread safe operations. if (mWallpaperManager.isLockscreenLiveWallpaperEnabled()) { return LoaderResult.success(null); } if (!mWallpaperManager.isWallpaperSupported()) { // When wallpaper is not supported, show the system wallpaper return LoaderResult.success(null); Loading services/core/java/com/android/server/wallpaper/WallpaperData.java +61 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ class WallpaperData { */ int mWhich; /** * True if the system wallpaper was also used for lock screen before this wallpaper was set. * This is needed to update state after setting the wallpaper. */ boolean mSystemWasBoth; /** * Callback once the set + crop is finished */ Loading Loading @@ -139,6 +145,61 @@ class WallpaperData { (wallpaperType == FLAG_LOCK) ? WALLPAPER_LOCK_CROP : WALLPAPER_CROP); } /** * Copies the essential properties of a WallpaperData to a new instance, including the id and * WallpaperConnection, usually in preparation for migrating a system+lock wallpaper to system- * or lock-only. NB: the source object retains the pointer to the connection and it is the * caller's responsibility to set this to null or otherwise be sure the connection is not shared * between WallpaperData instances. * * @param source WallpaperData object to copy */ WallpaperData(WallpaperData source) { this.userId = source.userId; this.wallpaperFile = source.wallpaperFile; this.cropFile = source.cropFile; this.wallpaperComponent = source.wallpaperComponent; this.mWhich = source.mWhich; this.wallpaperId = source.wallpaperId; this.cropHint.set(source.cropHint); this.allowBackup = source.allowBackup; this.primaryColors = source.primaryColors; this.mWallpaperDimAmount = source.mWallpaperDimAmount; this.connection = source.connection; this.connection.mWallpaper = this; } @Override public String toString() { StringBuilder out = new StringBuilder(defaultString(this)); out.append(", id: "); out.append(wallpaperId); out.append(", which: "); out.append(mWhich); out.append(", file mod: "); out.append(wallpaperFile != null ? wallpaperFile.lastModified() : "null"); if (connection == null) { out.append(", no connection"); } else { out.append(", info: "); out.append(connection.mInfo); out.append(", engine(s):"); connection.forEachDisplayConnector(connector -> { if (connector.mEngine != null) { out.append(" "); out.append(defaultString(connector.mEngine)); } else { out.append(" null"); } }); } return out.toString(); } private static String defaultString(Object o) { return o.getClass().getSimpleName() + "@" + Integer.toHexString(o.hashCode()); } // Called during initialization of a given user's wallpaper bookkeeping boolean cropExists() { return cropFile.exists(); Loading services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +446 −40 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java +4 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,10 @@ public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implemen public LoaderResult loadBitmap(int currentUserId, UserHandle selectedUser) { // May be called on any thread - only use thread safe operations. if (mWallpaperManager.isLockscreenLiveWallpaperEnabled()) { return LoaderResult.success(null); } if (!mWallpaperManager.isWallpaperSupported()) { // When wallpaper is not supported, show the system wallpaper return LoaderResult.success(null); Loading
services/core/java/com/android/server/wallpaper/WallpaperData.java +61 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ class WallpaperData { */ int mWhich; /** * True if the system wallpaper was also used for lock screen before this wallpaper was set. * This is needed to update state after setting the wallpaper. */ boolean mSystemWasBoth; /** * Callback once the set + crop is finished */ Loading Loading @@ -139,6 +145,61 @@ class WallpaperData { (wallpaperType == FLAG_LOCK) ? WALLPAPER_LOCK_CROP : WALLPAPER_CROP); } /** * Copies the essential properties of a WallpaperData to a new instance, including the id and * WallpaperConnection, usually in preparation for migrating a system+lock wallpaper to system- * or lock-only. NB: the source object retains the pointer to the connection and it is the * caller's responsibility to set this to null or otherwise be sure the connection is not shared * between WallpaperData instances. * * @param source WallpaperData object to copy */ WallpaperData(WallpaperData source) { this.userId = source.userId; this.wallpaperFile = source.wallpaperFile; this.cropFile = source.cropFile; this.wallpaperComponent = source.wallpaperComponent; this.mWhich = source.mWhich; this.wallpaperId = source.wallpaperId; this.cropHint.set(source.cropHint); this.allowBackup = source.allowBackup; this.primaryColors = source.primaryColors; this.mWallpaperDimAmount = source.mWallpaperDimAmount; this.connection = source.connection; this.connection.mWallpaper = this; } @Override public String toString() { StringBuilder out = new StringBuilder(defaultString(this)); out.append(", id: "); out.append(wallpaperId); out.append(", which: "); out.append(mWhich); out.append(", file mod: "); out.append(wallpaperFile != null ? wallpaperFile.lastModified() : "null"); if (connection == null) { out.append(", no connection"); } else { out.append(", info: "); out.append(connection.mInfo); out.append(", engine(s):"); connection.forEachDisplayConnector(connector -> { if (connector.mEngine != null) { out.append(" "); out.append(defaultString(connector.mEngine)); } else { out.append(" null"); } }); } return out.toString(); } private static String defaultString(Object o) { return o.getClass().getSimpleName() + "@" + Integer.toHexString(o.hashCode()); } // Called during initialization of a given user's wallpaper bookkeeping boolean cropExists() { return cropFile.exists(); Loading
services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +446 −40 File changed.Preview size limit exceeded, changes collapsed. Show changes