diff options
Diffstat (limited to 'core/java/android/app/IconPackHelper.java')
-rw-r--r-- | core/java/android/app/IconPackHelper.java | 18 |
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); } |