summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/dynamicui/ExtractionUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/dynamicui/ExtractionUtils.java')
-rw-r--r--src/com/android/launcher3/dynamicui/ExtractionUtils.java15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/com/android/launcher3/dynamicui/ExtractionUtils.java b/src/com/android/launcher3/dynamicui/ExtractionUtils.java
index 6dc0035ee..1e663a9ae 100644
--- a/src/com/android/launcher3/dynamicui/ExtractionUtils.java
+++ b/src/com/android/launcher3/dynamicui/ExtractionUtils.java
@@ -16,18 +16,18 @@
package com.android.launcher3.dynamicui;
+import android.annotation.TargetApi;
import android.app.WallpaperManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
+import android.os.Build;
import android.support.v4.graphics.ColorUtils;
import android.support.v7.graphics.Palette;
import com.android.launcher3.Utilities;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.List;
/**
@@ -37,7 +37,6 @@ public class ExtractionUtils {
public static final String EXTRACTED_COLORS_PREFERENCE_KEY = "pref_extractedColors";
public static final String WALLPAPER_ID_PREFERENCE_KEY = "pref_wallpaperId";
- private static final int FLAG_SET_SYSTEM = 1 << 0; // TODO: use WallpaperManager.FLAG_SET_SYSTEM
private static final float MIN_CONTRAST_RATIO = 2f;
/**
@@ -73,14 +72,10 @@ public class ExtractionUtils {
return wallpaperId != savedWallpaperId;
}
+ @TargetApi(Build.VERSION_CODES.N)
public static int getWallpaperId(WallpaperManager wallpaperManager) {
- // TODO: use WallpaperManager#getWallpaperId(WallpaperManager.FLAG_SET_SYSTEM) directly.
- try {
- Method getWallpaperId = WallpaperManager.class.getMethod("getWallpaperId", int.class);
- return (int) getWallpaperId.invoke(wallpaperManager, FLAG_SET_SYSTEM);
- } catch (InvocationTargetException | NoSuchMethodException | IllegalAccessException e) {
- return -1;
- }
+ return Utilities.isNycOrAbove() ?
+ wallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM) : -1;
}
public static boolean isSuperLight(Palette p) {