From 2e3c75094bde1cfca1b15f66f5ff3d0a85baf0a0 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 23 Aug 2012 18:44:31 -0700 Subject: [PATCH] Make settings a little aware of multi-user install. Change-Id: Id04f137dbc80dfee7b6c436efc2225ceccb88faa --- res/values/strings.xml | 2 ++ .../settings/applications/InstalledAppDetails.java | 9 +++++++++ 2 files changed, 11 insertions(+) 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); }