Allow hidden apps to opt-out

When a system app doesn't have any UI, it wasn't being considered for
opt-out. Check for all system apps that want to opt-out and mark them
for uninstallation.

Bug: 8908632
Change-Id: Iad7ccbe544cc7c7ebf73f430fbab8d295eb40219
This commit is contained in:
Amith Yamasani
2013-06-06 14:48:07 -07:00
parent adc3a2825c
commit 48b8b8fd18

View File

@@ -513,6 +513,17 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
info.activityName = info.appName; info.activityName = info.appName;
info.icon = app.loadIcon(pm); info.icon = app.loadIcon(pm);
mVisibleApps.add(info); mVisibleApps.add(info);
} else {
try {
PackageInfo pi = pm.getPackageInfo(app.packageName, 0);
// If it's a system app that requires an account and doesn't see restricted
// accounts, mark for removal. It might get shown in the UI if it has an icon
// but will still be marked as false and immutable.
if (pi.requiredAccountType != null && pi.restrictedAccountType == null) {
mSelectedPackages.put(app.packageName, false);
}
} catch (NameNotFoundException re) {
}
} }
} }