Try-catching getColorHints in wallpapermanager compat.
Change-Id: I1b2fbbdfeecb46d1864dad888f4c7e9765a25715
diff --git a/src/com/android/launcher3/compat/WallpaperManagerCompatVOMR1.java b/src/com/android/launcher3/compat/WallpaperManagerCompatVOMR1.java
index 4787514..28b780a 100644
--- a/src/com/android/launcher3/compat/WallpaperManagerCompatVOMR1.java
+++ b/src/com/android/launcher3/compat/WallpaperManagerCompatVOMR1.java
@@ -33,11 +33,15 @@
private static final String TAG = "WMCompatVOMR1";
private final WallpaperManager mWm;
- private final Method mWCColorHintsMethod;
+ private Method mWCColorHintsMethod;
WallpaperManagerCompatVOMR1(Context context) throws Exception {
mWm = context.getSystemService(WallpaperManager.class);
- mWCColorHintsMethod = WallpaperColors.class.getDeclaredMethod("getColorHints");
+ try {
+ mWCColorHintsMethod = WallpaperColors.class.getDeclaredMethod("getColorHints");
+ } catch (Exception exc) {
+ Log.e(TAG, "getColorHints not available", exc);
+ }
}
@Nullable
@@ -49,12 +53,10 @@
@Override
public void addOnColorsChangedListener(final OnColorsChangedListenerCompat listener) {
OnColorsChangedListener onChangeListener = new OnColorsChangedListener() {
+ @Override
public void onColorsChanged(WallpaperColors colors, int which) {
listener.onColorsChanged(convertColorsObject(colors), which);
}
- public void onColorsChanged(WallpaperColors colors, int which, int userId) {
- onColorsChanged(colors, which);
- }
};
mWm.addOnColorsChangedListener(onChangeListener, null);
}
@@ -71,7 +73,9 @@
int tertiaryVal = tertiary != null ? tertiary.toArgb() : 0;
int colorHints = 0;
try {
- colorHints = (Integer) mWCColorHintsMethod.invoke(colors);
+ if (mWCColorHintsMethod != null) {
+ colorHints = (Integer) mWCColorHintsMethod.invoke(colors);
+ }
} catch (Exception exc) {
Log.e(TAG, "error calling color hints", exc);
}