diff --git a/res/values/strings.xml b/res/values/strings.xml index e8108e0b235..ea7273ca9d3 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2426,6 +2426,8 @@ SD card Uninstall + + Install Disable diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 101764d8f4f..2c1944dd36a 100644 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -322,6 +322,9 @@ public class InstalledAppDetails extends Fragment Log.w(TAG, "Unable to get package info", e); } } + } else if ((mPackageInfo.applicationInfo.flags + & ApplicationInfo.FLAG_INSTALLED) == 0) { + mUninstallButton.setText(R.string.install_text); } else { mUninstallButton.setText(R.string.uninstall_text); } @@ -1042,6 +1045,12 @@ public class InstalledAppDetails extends Fragment PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) .execute((Object)null); } + } else if ((mAppEntry.info.flags & ApplicationInfo.FLAG_INSTALLED) == 0) { + try { + mPm.installExistingPackage(packageName); + refreshUi(); + } catch (NameNotFoundException e) { + } } else { uninstallPkg(packageName); }