summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/service/wallpaper/IWallpaperService.aidl2
-rw-r--r--core/java/android/service/wallpaper/WallpaperService.java3
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java6
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);