commit | f2584527086576e1398e643c8a83ace1fd1d02f4 | [log] [tgz] |
---|---|---|
author | Tony Wickham <twickham@google.com> | Fri Mar 25 09:24:08 2016 -0700 |
committer | Tony Wickham <twickham@google.com> | Fri Mar 25 09:53:30 2016 -0700 |
tree | 33fb855484c4d01c92e63a4457b735676118c270 | |
parent | 4d797968a61e19954edb21961b51a8c4c5058d5a [diff] |
Add WallpaperManagerCompat#getWallpaperId(). This is necessary for the wallpaper color extraction, which uses the id to only do the extraction if the wallpaper has changed. Change-Id: I69df0352b26d972c3ac507679c6bf5e9eb993b60
diff --git a/src/com/android/wallpaperpicker/common/WallpaperManagerCompat.java b/src/com/android/wallpaperpicker/common/WallpaperManagerCompat.java index 96df749..92f24f2 100644 --- a/src/com/android/wallpaperpicker/common/WallpaperManagerCompat.java +++ b/src/com/android/wallpaperpicker/common/WallpaperManagerCompat.java
@@ -30,4 +30,6 @@ int whichWallpaper) throws IOException; public abstract void clear(int whichWallpaper) throws IOException; + + public abstract int getWallpaperId(int whichWallpaper); }
diff --git a/src/com/android/wallpaperpicker/common/WallpaperManagerCompatV16.java b/src/com/android/wallpaperpicker/common/WallpaperManagerCompatV16.java index a320beb..ea3dc98 100644 --- a/src/com/android/wallpaperpicker/common/WallpaperManagerCompatV16.java +++ b/src/com/android/wallpaperpicker/common/WallpaperManagerCompatV16.java
@@ -24,4 +24,9 @@ public void clear(int whichWallpaper) throws IOException { mWallpaperManager.clear(); } + + @Override + public int getWallpaperId(int whichWallpaper) { + return -1; + } }
diff --git a/src/com/android/wallpaperpicker/common/WallpaperManagerCompatVN.java b/src/com/android/wallpaperpicker/common/WallpaperManagerCompatVN.java index 2eb9c51..d044d1f 100644 --- a/src/com/android/wallpaperpicker/common/WallpaperManagerCompatVN.java +++ b/src/com/android/wallpaperpicker/common/WallpaperManagerCompatVN.java
@@ -40,4 +40,15 @@ super.clear(whichWallpaper); } } + + @Override + public int getWallpaperId(int whichWallpaper) { + try { + // TODO: use mWallpaperManager.getWallpaperId(whichWallpaper) without reflection. + Method getWallpaperId = WallpaperManager.class.getMethod("getWallpaperId", int.class); + return (int) getWallpaperId.invoke(mWallpaperManager, whichWallpaper); + } catch (InvocationTargetException | NoSuchMethodException | IllegalAccessException e) { + return -1; + } + } }