diff options
| author | Jeff Sharkey <jsharkey@google.com> | 2018-03-01 18:04:16 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-03-01 18:04:16 +0000 |
| commit | 341c2366cce599da1b4fb9db502bdfbe4dbfd84b (patch) | |
| tree | 83b2001e644c255904151d10db93f9d020d69512 /core/java/android | |
| parent | 3f6bd7b6088b1eddfe3fe0353eb524d5bf3bc48d (diff) | |
| parent | b0613dceb0db9d75edc19f104af4cd198745d991 (diff) | |
Merge "Force loading of safe labels in system_server."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/content/pm/PackageItemInfo.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java index 2c0c6ad0723e..53ffd55d5510 100644 --- a/core/java/android/content/pm/PackageItemInfo.java +++ b/core/java/android/content/pm/PackageItemInfo.java @@ -43,6 +43,14 @@ import java.util.Comparator; */ public class PackageItemInfo { private static final float MAX_LABEL_SIZE_PX = 500f; + + private static volatile boolean sForceSafeLabels = false; + + /** {@hide} */ + public static void setForceSafeLabels(boolean forceSafeLabels) { + sForceSafeLabels = forceSafeLabels; + } + /** * Public name of this item. From the "android:name" attribute. */ @@ -128,7 +136,16 @@ public class PackageItemInfo { * @return Returns a CharSequence containing the item's label. If the * item does not have a label, its name is returned. */ - public CharSequence loadLabel(PackageManager pm) { + public @NonNull CharSequence loadLabel(@NonNull PackageManager pm) { + if (sForceSafeLabels) { + return loadSafeLabel(pm); + } else { + return loadUnsafeLabel(pm); + } + } + + /** {@hide} */ + public CharSequence loadUnsafeLabel(PackageManager pm) { if (nonLocalizedLabel != null) { return nonLocalizedLabel; } @@ -163,7 +180,7 @@ public class PackageItemInfo { @SystemApi public @NonNull CharSequence loadSafeLabel(@NonNull PackageManager pm) { // loadLabel() always returns non-null - String label = loadLabel(pm).toString(); + String label = loadUnsafeLabel(pm).toString(); // strip HTML tags to avoid <br> and other tags overwriting original message String labelStr = Html.fromHtml(label).toString(); |
