Merge "Provide access to a mirror of WallpaperEngine SurfaceControl" into sc-dev am: 676a66efc0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14119913

Change-Id: I7070c1823b6b5b309e55075b0ea43498ca8d447a
This commit is contained in:
Santiago Etchebehere
2021-04-09 03:27:32 +00:00
committed by Automerger Merge Worker
2 changed files with 20 additions and 13 deletions

View File

@@ -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();
}

View File

@@ -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();