From 9fedc72a0bd3bbdee0b1ed19357546dfe686e1a8 Mon Sep 17 00:00:00 2001 From: Filip Gruszczynski Date: Wed, 28 Jan 2015 15:59:46 -0800 Subject: Add wallpaper controlling system apis. Change-Id: Ibaa8009e9b9d2e58254a4d9107a316c7f1de2211 --- api/system-current.txt | 2 ++ core/java/android/app/WallpaperManager.java | 41 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index d84b1dc..d55c281 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5327,6 +5327,7 @@ package android.app { public class WallpaperManager { method public void clear() throws java.io.IOException; + method public void clearWallpaper(); method public void clearWallpaperOffsets(android.os.IBinder); method public void forgetLoadedWallpaper(); method public android.graphics.drawable.Drawable getBuiltInDrawable(); @@ -5347,6 +5348,7 @@ package android.app { method public void setDisplayPadding(android.graphics.Rect); method public void setResource(int) throws java.io.IOException; method public void setStream(java.io.InputStream) throws java.io.IOException; + method public boolean setWallpaperComponent(android.content.ComponentName); method public void setWallpaperOffsetSteps(float, float); method public void setWallpaperOffsets(android.os.IBinder, float, float); method public void suggestDesiredDimensions(int, int); diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 8bfe6d3..90d84ee 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -994,6 +994,47 @@ public class WallpaperManager { } /** + * Clear the wallpaper. + * + * @hide + */ + @SystemApi + public void clearWallpaper() { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return; + } + try { + sGlobals.mService.clearWallpaper(); + } catch (RemoteException e) { + // Ignore + } + } + + /** + * Set the live wallpaper. + * + * This can only be called by packages with android.permission.SET_WALLPAPER_COMPONENT + * permission. + * + * @hide + */ + @SystemApi + public boolean setWallpaperComponent(ComponentName name) { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return false; + } + try { + sGlobals.mService.setWallpaperComponent(name); + return true; + } catch (RemoteException e) { + // Ignore + } + return false; + } + + /** * Set the position of the current wallpaper within any larger space, when * that wallpaper is visible behind the given window. The X and Y offsets * are floating point numbers ranging from 0 to 1, representing where the -- cgit v1.1