diff options
| author | Santiago Etchebehere <santie@google.com> | 2021-04-07 15:59:32 -0700 |
|---|---|---|
| committer | Santiago Etchebehere <santie@google.com> | 2021-04-09 03:14:26 +0000 |
| commit | 8a884b22a40341126c7a4b9eb814eb52e439670f (patch) | |
| tree | 358c6d1dbb44534ab057a1168296a9efcf2d52e1 /core/java/android | |
| parent | 5cf8e9d2263094c7b5561b271e949088a485c1dd (diff) | |
Provide access to a mirror of WallpaperEngine SurfaceControl
Bug: 179127643
Test: manual: tested behavior of wallpaper preview in older
WallpaperPicker apk and new version
Change-Id: I3b66cbdf2198228e990fae6400d019da91bc93c9
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/service/wallpaper/IWallpaperEngine.aidl | 28 | ||||
| -rw-r--r-- | core/java/android/service/wallpaper/WallpaperService.java | 5 |
2 files changed, 20 insertions, 13 deletions
diff --git a/core/java/android/service/wallpaper/IWallpaperEngine.aidl b/core/java/android/service/wallpaper/IWallpaperEngine.aidl index fbb449d3875e..81af6a220444 100644 --- a/core/java/android/service/wallpaper/IWallpaperEngine.aidl +++ b/core/java/android/service/wallpaper/IWallpaperEngine.aidl @@ -21,27 +21,29 @@ import android.app.WallpaperColors; import android.graphics.Rect; import android.graphics.RectF; import android.view.MotionEvent; +import android.view.SurfaceControl; import android.os.Bundle; /** * @hide */ -oneway interface IWallpaperEngine { - void setDesiredSize(int width, int height); - void setDisplayPadding(in Rect padding); +interface IWallpaperEngine { + oneway void setDesiredSize(int width, int height); + oneway void setDisplayPadding(in Rect padding); @UnsupportedAppUsage - void setVisibility(boolean visible); - void setInAmbientMode(boolean inAmbientDisplay, long animationDuration); + oneway void setVisibility(boolean visible); + oneway void setInAmbientMode(boolean inAmbientDisplay, long animationDuration); @UnsupportedAppUsage - void dispatchPointer(in MotionEvent event); + oneway void dispatchPointer(in MotionEvent event); @UnsupportedAppUsage - void dispatchWallpaperCommand(String action, int x, int y, + oneway void dispatchWallpaperCommand(String action, int x, int y, int z, in Bundle extras); - void requestWallpaperColors(); + oneway void requestWallpaperColors(); @UnsupportedAppUsage - void destroy(); - void setZoomOut(float scale); - void scalePreview(in Rect positionInWindow); - void removeLocalColorsAreas(in List<RectF> regions); - void addLocalColorsAreas(in List<RectF> regions); + oneway void destroy(); + oneway void setZoomOut(float scale); + oneway void scalePreview(in Rect positionInWindow); + oneway void removeLocalColorsAreas(in List<RectF> regions); + oneway void addLocalColorsAreas(in List<RectF> regions); + SurfaceControl mirrorSurfaceControl(); } diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 71784ef0b4d6..d89c29a5a360 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -1982,6 +1982,11 @@ public abstract class WallpaperService extends Service { mCaller.sendMessage(msg); } + @Nullable + public SurfaceControl mirrorSurfaceControl() { + return mEngine == null ? null : SurfaceControl.mirrorSurface(mEngine.mSurfaceControl); + } + private void doDetachEngine() { mActiveEngines.remove(mEngine); mEngine.detach(); |
