diff options
Diffstat (limited to 'core/java/android/app/ApplicationPackageManager.java')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index b93771f..0d11e29 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -427,14 +427,17 @@ final class ApplicationPackageManager extends PackageManager { } } - @SuppressWarnings("unchecked") @Override public List<PackageInfo> getInstalledThemePackages() { - try { - return mPM.getInstalledThemePackages(); - } catch (RemoteException e) { - throw new RuntimeException("Package manager has died", e); + // Returns a list of theme APKs. + ArrayList<PackageInfo> finalList = new ArrayList<PackageInfo>(); + List<PackageInfo> installedPackagesList = getInstalledPackages(0); + for (PackageInfo pi : installedPackagesList) { + if (pi != null && pi.isThemeApk) { + finalList.add(pi); + } } + return finalList; } @SuppressWarnings("unchecked") |
