Merge "Import translations. DO NOT MERGE" into jb-mr1-lockscreen-dev
diff --git a/res/layout/manage_applications_content.xml b/res/layout/manage_applications_content.xml
index 32d6378..9e415a9 100644
--- a/res/layout/manage_applications_content.xml
+++ b/res/layout/manage_applications_content.xml
@@ -18,7 +18,6 @@
*/
-->
-
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index acb669e..7241fdc 100644
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -358,7 +358,10 @@
if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
enabled = handleDisableable(mUninstallButton);
} else if ((mPackageInfo.applicationInfo.flags
- & ApplicationInfo.FLAG_INSTALLED) == 0) {
+ & ApplicationInfo.FLAG_INSTALLED) == 0
+ && mUserManager.getUsers().size() >= 2) {
+ // When we have multiple users, there is a separate menu
+ // to uninstall for all users.
mUninstallButton.setText(R.string.uninstall_text);
enabled = false;
} else {
@@ -811,14 +814,19 @@
// First time init: are we displaying an uninstalled app?
mInitialized = true;
mShowUninstalled = (mAppEntry.info.flags&ApplicationInfo.FLAG_INSTALLED) == 0;
- } else if (!mShowUninstalled) {
- // All other times: if we did not start out with the app uninstalled,
- // then if it becomes uninstalled we want to go away.
+ } else {
+ // All other times: if the app no longer exists then we want
+ // to go away.
try {
ApplicationInfo ainfo = getActivity().getPackageManager().getApplicationInfo(
mAppEntry.info.packageName, PackageManager.GET_UNINSTALLED_PACKAGES
| PackageManager.GET_DISABLED_COMPONENTS);
- return (ainfo.flags&ApplicationInfo.FLAG_INSTALLED) != 0;
+ if (!mShowUninstalled) {
+ // If we did not start out with the app uninstalled, then
+ // it transitioning to the uninstalled state for the current
+ // user means we should go away as well.
+ return (ainfo.flags&ApplicationInfo.FLAG_INSTALLED) != 0;
+ }
} catch (NameNotFoundException e) {
return false;
}
@@ -1286,11 +1294,7 @@
.execute((Object)null);
}
} else if ((mAppEntry.info.flags & ApplicationInfo.FLAG_INSTALLED) == 0) {
- try {
- mPm.installExistingPackage(packageName);
- refreshUi();
- } catch (NameNotFoundException e) {
- }
+ uninstallPkg(packageName, true, false);
} else {
uninstallPkg(packageName, false, false);
}