Merge "Provide access to a mirror of WallpaperEngine SurfaceControl" into sc-dev

This commit is contained in:
Santiago Etchebehere
2021-04-09 03:16:27 +00:00
committed by Android (Google) Code Review
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.Rect;
import android.graphics.RectF; import android.graphics.RectF;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.SurfaceControl;
import android.os.Bundle; import android.os.Bundle;
/** /**
* @hide * @hide
*/ */
oneway interface IWallpaperEngine { interface IWallpaperEngine {
void setDesiredSize(int width, int height); oneway void setDesiredSize(int width, int height);
void setDisplayPadding(in Rect padding); oneway void setDisplayPadding(in Rect padding);
@UnsupportedAppUsage @UnsupportedAppUsage
void setVisibility(boolean visible); oneway void setVisibility(boolean visible);
void setInAmbientMode(boolean inAmbientDisplay, long animationDuration); oneway void setInAmbientMode(boolean inAmbientDisplay, long animationDuration);
@UnsupportedAppUsage @UnsupportedAppUsage
void dispatchPointer(in MotionEvent event); oneway void dispatchPointer(in MotionEvent event);
@UnsupportedAppUsage @UnsupportedAppUsage
void dispatchWallpaperCommand(String action, int x, int y, oneway void dispatchWallpaperCommand(String action, int x, int y,
int z, in Bundle extras); int z, in Bundle extras);
void requestWallpaperColors(); oneway void requestWallpaperColors();
@UnsupportedAppUsage @UnsupportedAppUsage
void destroy(); oneway void destroy();
void setZoomOut(float scale); oneway void setZoomOut(float scale);
void scalePreview(in Rect positionInWindow); oneway void scalePreview(in Rect positionInWindow);
void removeLocalColorsAreas(in List<RectF> regions); oneway void removeLocalColorsAreas(in List<RectF> regions);
void addLocalColorsAreas(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); mCaller.sendMessage(msg);
} }
@Nullable
public SurfaceControl mirrorSurfaceControl() {
return mEngine == null ? null : SurfaceControl.mirrorSurface(mEngine.mSurfaceControl);
}
private void doDetachEngine() { private void doDetachEngine() {
mActiveEngines.remove(mEngine); mActiveEngines.remove(mEngine);
mEngine.detach(); mEngine.detach();