Reset app preferences now resets all app ops.
Change-Id: I7966245b5f322f55e139b2da661c02cd58530f11
diff --git a/res/values/strings.xml b/res/values/strings.xml
index dbdec2d..d17a1f1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2609,6 +2609,7 @@
<li>Disabled app notifications</li>\n
<li>Default applications for actions</li>\n
<li>Background data restrictions for apps</li>\n\n
+ <li>Any permission restrictions</li>\n\n
You will not lose any app data.</string>
<!-- [CHAR LIMIT=25] Manage applications screen, menu item. Confirmation button of dialog to confirm resetting user's app preferences. -->
<string name="reset_app_preferences_button">Reset apps</string>
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index a223e20..3599a43 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -22,6 +22,7 @@
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
+import android.app.AppOpsManager;
import android.app.Fragment;
import android.app.INotificationManager;
import android.content.ComponentName;
@@ -1116,10 +1117,12 @@
if (mResetDialog == dialog) {
final PackageManager pm = getActivity().getPackageManager();
final IPackageManager mIPm = IPackageManager.Stub.asInterface(
- ServiceManager.getService("package"));
+ ServiceManager.getService("package"));
final INotificationManager nm = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
final NetworkPolicyManager npm = NetworkPolicyManager.from(getActivity());
+ final AppOpsManager aom = (AppOpsManager)getActivity().getSystemService(
+ Context.APP_OPS_SERVICE);
final Handler handler = new Handler(getActivity().getMainLooper());
(new AsyncTask<Void, Void, Void>() {
@Override protected Void doInBackground(Void... params) {
@@ -1146,6 +1149,7 @@
mIPm.resetPreferredActivities(UserHandle.myUserId());
} catch (RemoteException e) {
}
+ aom.resetAllModes();
final int[] restrictedUids = npm.getUidsWithPolicy(
POLICY_REJECT_METERED_BACKGROUND);
final int currentUserId = ActivityManager.getCurrentUser();