Merge "Handle READ_EXTERNAL enforced by default."

This commit is contained in:
Jeff Sharkey
2012-04-13 10:42:37 -07:00
committed by Android (Google) Code Review

View File

@@ -17,8 +17,6 @@
package com.android.settings.deviceinfo;
import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
import static android.content.pm.PackageManager.ENFORCEMENT_DEFAULT;
import static android.content.pm.PackageManager.ENFORCEMENT_YES;
import android.app.ActivityThread;
import android.app.AlertDialog;
@@ -180,15 +178,15 @@ public class Memory extends SettingsPreferenceFragment {
final MenuItem usb = menu.findItem(R.id.storage_usb);
usb.setVisible(!isMassStorageEnabled());
final int enforcement;
final boolean enforced;
try {
enforcement = mPackageService.getPermissionEnforcement(READ_EXTERNAL_STORAGE);
enforced = mPackageService.isPermissionEnforced(READ_EXTERNAL_STORAGE);
} catch (RemoteException e) {
throw new RuntimeException("Problem talking with PackageManager", e);
}
final MenuItem enforceReadExternal = menu.findItem(R.id.storage_enforce_read_external);
enforceReadExternal.setChecked(enforcement == ENFORCEMENT_YES);
enforceReadExternal.setChecked(enforced);
}
@Override
@@ -209,10 +207,9 @@ public class Memory extends SettingsPreferenceFragment {
final boolean checked = !item.isChecked();
item.setChecked(checked);
final int enforcement = checked ? ENFORCEMENT_YES : ENFORCEMENT_DEFAULT;
try {
// TODO: offload to background thread
mPackageService.setPermissionEnforcement(READ_EXTERNAL_STORAGE, enforcement);
mPackageService.setPermissionEnforced(READ_EXTERNAL_STORAGE, checked);
} catch (RemoteException e) {
throw new RuntimeException("Problem talking with PackageManager", e);
}