summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/IconPackHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/app/IconPackHelper.java')
-rw-r--r--core/java/android/app/IconPackHelper.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/app/IconPackHelper.java b/core/java/android/app/IconPackHelper.java
index 321a1d496c4..ceea8987c24 100644
--- a/core/java/android/app/IconPackHelper.java
+++ b/core/java/android/app/IconPackHelper.java
@@ -16,6 +16,7 @@
package android.app;
import java.io.File;
+import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@@ -603,6 +604,23 @@ public class IconPackHelper {
getCachedIconName(pkgName, resId, density));
}
+
+ // Returns paths for all densities
+ public static String[] getCachedIconPaths(String pkgName) {
+ File iconCache = new File(ThemeUtils.SYSTEM_THEME_ICON_CACHE_DIR);
+ final String prefix = String.format("%s", pkgName);
+
+ FilenameFilter filter = new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String filename) {
+ return filename.startsWith(prefix);
+ }
+ };
+
+ String[] validPaths = iconCache.list(filter);
+ return validPaths != null ? validPaths : new String[0];
+ }
+
private static String getCachedIconName(String pkgName, int resId, int density) {
return String.format("%s_%08x_%d.png", pkgName, resId, density);
}