Cleanup of the PackageInstaller API - Settings

The PackageInstaller app manages side-loading apps as well
as permission management. It should be updatable, hence
should rely on system APIs to talk to the platform. This
is the first step of defining an API boundary.

Change-Id: Ibb21114a7a9fa28f6db68492fe37c02c1b2f0c6b
This commit is contained in:
Svetoslav Ganov
2016-04-13 18:28:24 -07:00
committed by Svet Ganov
parent 25c0b7bc4e
commit 7f62addc10
3 changed files with 75 additions and 118 deletions

View File

@@ -123,66 +123,23 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements
private final PermissionsResultCallback mPermissionCallback = new PermissionsResultCallback() {
@Override
public void onPermissionSummaryResult(int[] counts, CharSequence[] groupLabels) {
public void onAppWithPermissionsCountsResult(int standardGrantedPermissionAppCount,
int standardUsedPermissionAppCount) {
if (getActivity() == null) {
return;
}
mPermissionReceiver = null;
if (counts != null) {
if (standardUsedPermissionAppCount != 0) {
mAppPermsPreference.setSummary(getContext().getString(
R.string.app_permissions_summary, counts[0], counts[1]));
R.string.app_permissions_summary,
standardGrantedPermissionAppCount,
standardUsedPermissionAppCount));
} else {
mAppPermsPreference.setSummary(null);
}
}
};
private class CountAppsWithOverlayPermission extends
AsyncTask<AppStateOverlayBridge, Void, Integer> {
int numOfPackagesRequestedPermission = 0;
@Override
protected Integer doInBackground(AppStateOverlayBridge... params) {
AppStateOverlayBridge overlayBridge = params[0];
numOfPackagesRequestedPermission = overlayBridge
.getNumberOfPackagesWithPermission();
return overlayBridge.getNumberOfPackagesCanDrawOverlay();
}
@Override
protected void onPostExecute(Integer result) {
// checks if fragment is still there before updating the preference object
if (isAdded()) {
mSystemAlertWindowPreference.setSummary(getContext().getString(
R.string.system_alert_window_summary, result,
numOfPackagesRequestedPermission));
}
}
}
private class CountAppsWithWriteSettingsPermission extends
AsyncTask<AppStateWriteSettingsBridge, Void, Integer> {
int numOfPackagesRequestedPermission = 0;
@Override
protected Integer doInBackground(AppStateWriteSettingsBridge... params) {
AppStateWriteSettingsBridge writeSettingsBridge = params[0];
numOfPackagesRequestedPermission = writeSettingsBridge
.getNumberOfPackagesWithPermission();
return writeSettingsBridge.getNumberOfPackagesCanWriteSettings();
}
@Override
protected void onPostExecute(Integer result) {
// checks if fragment is still there before updating the preference object
if (isAdded()) {
mWriteSettingsPreference.setSummary(getContext().getString(
R.string.write_settings_summary, result,
numOfPackagesRequestedPermission));
}
}
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override