Merge "Lock screen live wallpaper: adds home/lock screen flag as argument." into tm-qpr-dev

This commit is contained in:
Chris Poultney
2022-10-18 15:06:21 +00:00
committed by Android (Google) Code Review
4 changed files with 19 additions and 3 deletions

View File

@@ -2079,6 +2079,21 @@ public class WallpaperManager {
} }
} }
/**
* Set the live wallpaper for the given screen(s).
*
* This can only be called by packages with android.permission.SET_WALLPAPER_COMPONENT
* permission. The caller must hold the INTERACT_ACROSS_USERS_FULL permission to change
* another user's wallpaper.
*
* @hide
*/
@RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT)
public boolean setWallpaperComponentWithFlags(@NonNull ComponentName name,
@SetWallpaperFlags int which) {
return setWallpaperComponent(name);
}
/** /**
* Set the display position of the current wallpaper within any larger space, when * Set the display position of the current wallpaper within any larger space, when
* that wallpaper is visible behind the given window. The X and Y offsets * that wallpaper is visible behind the given window. The X and Y offsets

View File

@@ -25,6 +25,6 @@ import android.service.wallpaper.IWallpaperConnection;
oneway interface IWallpaperService { oneway interface IWallpaperService {
void attach(IWallpaperConnection connection, void attach(IWallpaperConnection connection,
IBinder windowToken, int windowType, boolean isPreview, IBinder windowToken, int windowType, boolean isPreview,
int reqWidth, int reqHeight, in Rect padding, int displayId); int reqWidth, int reqHeight, in Rect padding, int displayId, int which);
void detach(); void detach();
} }

View File

@@ -18,6 +18,7 @@ package android.service.wallpaper;
import static android.app.WallpaperManager.COMMAND_FREEZE; import static android.app.WallpaperManager.COMMAND_FREEZE;
import static android.app.WallpaperManager.COMMAND_UNFREEZE; import static android.app.WallpaperManager.COMMAND_UNFREEZE;
import static android.app.WallpaperManager.SetWallpaperFlags;
import static android.graphics.Matrix.MSCALE_X; import static android.graphics.Matrix.MSCALE_X;
import static android.graphics.Matrix.MSCALE_Y; import static android.graphics.Matrix.MSCALE_Y;
import static android.graphics.Matrix.MSKEW_X; import static android.graphics.Matrix.MSKEW_X;
@@ -2427,7 +2428,7 @@ public abstract class WallpaperService extends Service {
@Override @Override
public void attach(IWallpaperConnection conn, IBinder windowToken, public void attach(IWallpaperConnection conn, IBinder windowToken,
int windowType, boolean isPreview, int reqWidth, int reqHeight, Rect padding, int windowType, boolean isPreview, int reqWidth, int reqHeight, Rect padding,
int displayId) { int displayId, @SetWallpaperFlags int which) {
mEngineWrapper = new IWallpaperEngineWrapper(mTarget, conn, windowToken, mEngineWrapper = new IWallpaperEngineWrapper(mTarget, conn, windowToken,
windowType, isPreview, reqWidth, reqHeight, padding, displayId); windowType, isPreview, reqWidth, reqHeight, padding, displayId);
} }

View File

@@ -1166,7 +1166,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
try { try {
connection.mService.attach(connection, mToken, TYPE_WALLPAPER, false, connection.mService.attach(connection, mToken, TYPE_WALLPAPER, false,
wpdData.mWidth, wpdData.mHeight, wpdData.mWidth, wpdData.mHeight,
wpdData.mPadding, mDisplayId); wpdData.mPadding, mDisplayId, FLAG_SYSTEM | FLAG_LOCK);
} catch (RemoteException e) { } catch (RemoteException e) {
Slog.w(TAG, "Failed attaching wallpaper on display", e); Slog.w(TAG, "Failed attaching wallpaper on display", e);
if (wallpaper != null && !wallpaper.wallpaperUpdating if (wallpaper != null && !wallpaper.wallpaperUpdating