Class ShadowWallpaperManager

    • Constructor Detail

      • ShadowWallpaperManager

        public ShadowWallpaperManager()
    • Method Detail

      • sendWallpaperCommand

        @Implementation
        protected void sendWallpaperCommand​(IBinder windowToken,
                                            String action,
                                            int x,
                                            int y,
                                            int z,
                                            Bundle extras)
      • setResource

        @Implementation(maxSdk=23)
        protected void setResource​(int resid)
        Sets a resource id as the current wallpaper.

        This only caches the resource id in memory. Calling this will override any previously set resource and does not differentiate between users.

      • setResource

        @Implementation(minSdk=24)
        protected int setResource​(int resid,
                                  int which)
      • hasResourceWallpaper

        @Implementation(minSdk=17)
        protected boolean hasResourceWallpaper​(int resid)
        Returns whether the current wallpaper has been set through setResource(int) or setResource(int, int) with the same resource id.
      • setBitmap

        @Implementation(minSdk=24)
        protected int setBitmap​(Bitmap fullImage,
                                Rect visibleCropHint,
                                boolean allowBackup,
                                int which)
        Caches fullImage in the memory based on which.

        After a success call, any previously set live wallpaper is removed,

        Parameters:
        fullImage - the bitmap image to be cached in the memory
        visibleCropHint - not used
        allowBackup - not used
        which - either WallpaperManager.FLAG_LOCK or {WallpaperManager#FLAG_SYSTEM}
        Returns:
        0 if fails to cache. Otherwise, 1.
      • getBitmap

        @Nullable
        public Bitmap getBitmap​(int which)
        Returns the memory cached Bitmap associated with which.
        Parameters:
        which - either WallpaperManager.FLAG_LOCK or {WallpaperManager#FLAG_SYSTEM}.
        Returns:
        The memory cached Bitmap associated with which. null if no bitmap was set.
      • getWallpaperFile

        @Implementation(minSdk=24)
        @Nullable
        protected ParcelFileDescriptor getWallpaperFile​(int which)
        Gets a wallpaper file associated with which.
        Parameters:
        which - either WallpaperManager.FLAG_LOCK or {WallpaperManager#FLAG_SYSTEM}
        Returns:
        An open, readable file descriptor to the requested wallpaper image file; null if no such wallpaper is configured.
      • isSetWallpaperAllowed

        @Implementation(minSdk=24)
        protected boolean isSetWallpaperAllowed()
      • setIsSetWallpaperAllowed

        public void setIsSetWallpaperAllowed​(boolean allowed)
      • isWallpaperSupported

        @Implementation(minSdk=23)
        protected boolean isWallpaperSupported()
      • setIsWallpaperSupported

        public void setIsWallpaperSupported​(boolean supported)
      • setStream

        @Implementation(minSdk=24)
        protected int setStream​(InputStream bitmapData,
                                Rect visibleCropHint,
                                boolean allowBackup,
                                int which)
        Caches bitmapData in the memory based on which.
        Parameters:
        bitmapData - the input stream which contains a bitmap image to be cached in the memory
        visibleCropHint - not used
        allowBackup - not used
        which - either WallpaperManager.FLAG_LOCK or {WallpaperManager#FLAG_SYSTEM}
        Returns:
        0 if fails to cache. Otherwise, 1.
      • setWallpaperComponent

        @Implementation(minSdk=23)
        protected boolean setWallpaperComponent​(ComponentName wallpaperService)
                                         throws IOException,
                                                XmlPullParserException
        Sets a live wallpaper, wallpaperService, as the current wallpaper.

        This only caches the live wallpaper info in the memory. Calling this will remove any previously set static wallpaper.

        Throws:
        IOException
        XmlPullParserException
      • getWallpaperInfo

        @Implementation
        protected WallpaperInfo getWallpaperInfo()
        Returns the information about the wallpaper if the current wallpaper is a live wallpaper component. Otherwise, if the wallpaper is a static image, this returns null.
      • setWallpaperDimAmount

        @Implementation(minSdk=33)
        protected void setWallpaperDimAmount​(float dimAmount)
      • getWallpaperDimAmount

        @Implementation(minSdk=33)
        protected float getWallpaperDimAmount()