diff options
3 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/service/wallpaper/IWallpaperService.aidl b/core/java/android/service/wallpaper/IWallpaperService.aidl index f76e6cee13f0..bcdd4775c164 100644 --- a/core/java/android/service/wallpaper/IWallpaperService.aidl +++ b/core/java/android/service/wallpaper/IWallpaperService.aidl @@ -28,6 +28,6 @@ oneway interface IWallpaperService { void attach(IWallpaperConnection connection, IBinder windowToken, int windowType, boolean isPreview, int reqWidth, int reqHeight, in Rect padding, int displayId, int which, - in WallpaperInfo info, in @nullable WallpaperDescription description); + in WallpaperInfo info, in WallpaperDescription description); void detach(IBinder windowToken); } diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 131fdc895841..2061abac248e 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -17,6 +17,7 @@ package android.service.wallpaper; import static android.app.Flags.FLAG_LIVE_WALLPAPER_CONTENT_HANDLING; +import static android.app.Flags.liveWallpaperContentHandling; import static android.app.WallpaperManager.COMMAND_FREEZE; import static android.app.WallpaperManager.COMMAND_UNFREEZE; import static android.app.WallpaperManager.SetWallpaperFlags; @@ -2624,7 +2625,7 @@ public abstract class WallpaperService extends Service { private void doAttachEngine() { Trace.beginSection("WPMS.onCreateEngine"); Engine engine; - if (mDescription != null) { + if (liveWallpaperContentHandling()) { engine = onCreateEngine(mDescription); } else { engine = onCreateEngine(); diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index 5cff37a36656..10f096c9031b 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -858,10 +858,12 @@ public class WallpaperManagerService extends IWallpaperManager.Stub wpdData.mPadding, mDisplayId, wallpaper.mWhich, connection.mInfo, wallpaper.getDescription()); } else { + WallpaperDescription desc = new WallpaperDescription.Builder().setComponent( + (connection.mInfo != null) ? connection.mInfo.getComponent() + : null).build(); connection.mService.attach(connection, mToken, TYPE_WALLPAPER, false, wpdData.mWidth, wpdData.mHeight, - wpdData.mPadding, mDisplayId, wallpaper.mWhich, connection.mInfo, - /* description= */ null); + wpdData.mPadding, mDisplayId, wallpaper.mWhich, connection.mInfo, desc); } } catch (RemoteException e) { Slog.w(TAG, "Failed attaching wallpaper on display", e); |