Support disabled until used apps
Bug: 21782239
Change-Id: I59bef6689a9efb74f64827026add0cbddc18cf53
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 {