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)) {
// 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 @@ public class InstalledAppDetails extends AppInfoBase
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 @@ public class InstalledAppDetails extends AppInfoBase
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 {