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

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

Change-Id: Ib4e2321373420b1c7fdfd47cca372bbf3baa122a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chris Poultney
2022-10-18 15:45:18 +00:00
committed by Automerger Merge Worker
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