Merge "Support disabled until used apps" into mnc-dev
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index b344644..6fd3d95 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -166,7 +166,7 @@
                 || Utils.isSystemPackage(mPm, mPackageInfo)) {
             // Disable button for core system applications.
             button.setText(R.string.disable_text);
-        } else if (mAppEntry.info.enabled) {
+        } else if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
             button.setText(R.string.disable_text);
             disableable = true;
         } else {
@@ -177,6 +177,11 @@
         return disableable;
     }
 
+    private boolean isDisabledUntilUsed() {
+        return mAppEntry.info.enabledSetting
+                == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
+    }
+
     private void initUninstallButtons() {
         final boolean isBundled = (mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
         boolean enabled = true;
@@ -690,7 +695,7 @@
         String packageName = mAppEntry.info.packageName;
         if(v == mUninstallButton) {
             if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                if (mAppEntry.info.enabled) {
+                if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
                     if (mUpdatedSysApp) {
                         showDialogInner(DLG_SPECIAL_DISABLE, 0);
                     } else {