RESTRICT AUTOMERGE: Always use safe labels
For display purposes, we should always be using safe labels. This
prevents excessively long labels from preventing app uninstallation.
Bug: 62537081
Test: Manual. Install APK from bug and see that it can be uninstalled
Change-Id: Ic0e0d47f5ff76e4a73b30988d0a024fb3ee651ae
(cherry picked from commit eaa4e6ec82f32d66c053ccc4cb67df1e52d1711b)
diff --git a/src/com/android/packageinstaller/UninstallerActivity.java b/src/com/android/packageinstaller/UninstallerActivity.java
index dbd7ac3..142e95e 100755
--- a/src/com/android/packageinstaller/UninstallerActivity.java
+++ b/src/com/android/packageinstaller/UninstallerActivity.java
@@ -229,7 +229,7 @@
public void startUninstallProgress() {
boolean returnResult = getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false);
- CharSequence label = mDialogInfo.appInfo.loadLabel(getPackageManager());
+ CharSequence label = mDialogInfo.appInfo.loadSafeLabel(getPackageManager());
if (isTv()) {
Intent newIntent = new Intent(Intent.ACTION_VIEW);
diff --git a/src/com/android/packageinstaller/handheld/UninstallAlertDialogFragment.java b/src/com/android/packageinstaller/handheld/UninstallAlertDialogFragment.java
index 417b75a..b50960e 100644
--- a/src/com/android/packageinstaller/handheld/UninstallAlertDialogFragment.java
+++ b/src/com/android/packageinstaller/handheld/UninstallAlertDialogFragment.java
@@ -37,15 +37,14 @@
final PackageManager pm = getActivity().getPackageManager();
final UninstallerActivity.DialogInfo dialogInfo =
((UninstallerActivity) getActivity()).getDialogInfo();
- final CharSequence appLabel = dialogInfo.appInfo.loadLabel(pm);
-
+ final CharSequence appLabel = dialogInfo.appInfo.loadSafeLabel(pm);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity());
StringBuilder messageBuilder = new StringBuilder();
// If the Activity label differs from the App label, then make sure the user
// knows the Activity belongs to the App being uninstalled.
if (dialogInfo.activityInfo != null) {
- final CharSequence activityLabel = dialogInfo.activityInfo.loadLabel(pm);
+ final CharSequence activityLabel = dialogInfo.activityInfo.loadSafeLabel(pm);
if (!activityLabel.equals(appLabel)) {
messageBuilder.append(
getString(R.string.uninstall_activity_text, activityLabel));
diff --git a/src/com/android/packageinstaller/television/UninstallAlertFragment.java b/src/com/android/packageinstaller/television/UninstallAlertFragment.java
index c128174..138a5c3 100644
--- a/src/com/android/packageinstaller/television/UninstallAlertFragment.java
+++ b/src/com/android/packageinstaller/television/UninstallAlertFragment.java
@@ -42,14 +42,14 @@
final PackageManager pm = getActivity().getPackageManager();
final UninstallerActivity.DialogInfo dialogInfo =
((UninstallerActivity) getActivity()).getDialogInfo();
- final CharSequence appLabel = dialogInfo.appInfo.loadLabel(pm);
+ final CharSequence appLabel = dialogInfo.appInfo.loadSafeLabel(pm);
StringBuilder messageBuilder = new StringBuilder();
// If the Activity label differs from the App label, then make sure the user
// knows the Activity belongs to the App being uninstalled.
if (dialogInfo.activityInfo != null) {
- final CharSequence activityLabel = dialogInfo.activityInfo.loadLabel(pm);
+ final CharSequence activityLabel = dialogInfo.activityInfo.loadSafeLabel(pm);
if (!activityLabel.equals(appLabel)) {
messageBuilder.append(
getString(R.string.uninstall_activity_text, activityLabel));