Support disabled until used apps

Bug: 21782239
Change-Id: I59bef6689a9efb74f64827026add0cbddc18cf53
This commit is contained in:
Jason Monk
2015-06-16 16:18:30 -04:00
parent 744f2adb56
commit 77537b697b

View File

@@ -166,7 +166,7 @@ public class InstalledAppDetails extends AppInfoBase
|| Utils.isSystemPackage(mPm, mPackageInfo)) { || Utils.isSystemPackage(mPm, mPackageInfo)) {
// Disable button for core system applications. // Disable button for core system applications.
button.setText(R.string.disable_text); button.setText(R.string.disable_text);
} else if (mAppEntry.info.enabled) { } else if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
button.setText(R.string.disable_text); button.setText(R.string.disable_text);
disableable = true; disableable = true;
} else { } else {
@@ -177,6 +177,11 @@ public class InstalledAppDetails extends AppInfoBase
return disableable; return disableable;
} }
private boolean isDisabledUntilUsed() {
return mAppEntry.info.enabledSetting
== PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
}
private void initUninstallButtons() { private void initUninstallButtons() {
final boolean isBundled = (mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0; final boolean isBundled = (mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
boolean enabled = true; boolean enabled = true;
@@ -690,7 +695,7 @@ public class InstalledAppDetails extends AppInfoBase
String packageName = mAppEntry.info.packageName; String packageName = mAppEntry.info.packageName;
if(v == mUninstallButton) { if(v == mUninstallButton) {
if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
if (mAppEntry.info.enabled) { if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
if (mUpdatedSysApp) { if (mUpdatedSysApp) {
showDialogInner(DLG_SPECIAL_DISABLE, 0); showDialogInner(DLG_SPECIAL_DISABLE, 0);
} else { } else {