Merge "Refactor network policy: paid to metered."
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java
index 11e4aae..31fd078 100644
--- a/src/com/android/settings/applications/ApplicationsState.java
+++ b/src/com/android/settings/applications/ApplicationsState.java
@@ -392,6 +392,14 @@
 
             for (int i=0; i<mApplications.size(); i++) {
                 final ApplicationInfo info = mApplications.get(i);
+                // Need to trim out any applications that are disabled by
+                // something different than the user.
+                if (!info.enabled && info.enabledSetting
+                        != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
+                    mApplications.remove(i);
+                    i--;
+                    continue;
+                }
                 final AppEntry entry = mEntriesMap.get(info.packageName);
                 if (entry != null) {
                     entry.info = info;
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index a0a568b..caf7aef 100644
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -79,7 +79,7 @@
         implements View.OnClickListener, CompoundButton.OnCheckedChangeListener,
         ApplicationsState.Callbacks {
     private static final String TAG="InstalledAppDetails";
-    static final boolean SUPPORT_DISABLE_APPS = false;
+    static final boolean SUPPORT_DISABLE_APPS = true;
     private static final boolean localLOGV = false;
     
     public static final String ARG_PACKAGE_NAME = "package";
@@ -829,7 +829,7 @@
             } else {
                 if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
                     new DisableChanger(this, mAppEntry.info, mAppEntry.info.enabled ?
-                            PackageManager.COMPONENT_ENABLED_STATE_DISABLED
+                            PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
                             : PackageManager.COMPONENT_ENABLED_STATE_DEFAULT).execute((Object)null);
                 } else {
                     uninstallPkg(packageName);