summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2017-08-07 09:58:23 -0700
committerMakoto Onuki <omakoto@google.com>2017-08-08 14:58:48 -0700
commit812d188afbb6286d6be3e3ad883cfdd31967c266 (patch)
tree4724b5d236b65c7bf7dc32339714d7d6e5606303 /core/java
parentb4dcdd5f45b689d6173d7c29a014485f44cbc927 (diff)
Intern process names.
Bug: 62144301 Test: Boot and start random apps on a secondary user Change-Id: I8a9b475410c52e1063cff5519b0297ad69dd7925
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/content/pm/PackageParser.java2
-rw-r--r--core/java/android/text/TextUtils.java8
2 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index e8eca8ca7aa2..ab0cda717b65 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -2976,7 +2976,7 @@ public class PackageParser {
if (procSeq == null || procSeq.length() <= 0) {
return defProc;
}
- return buildCompoundName(pkg, procSeq, "process", outError);
+ return TextUtils.safeIntern(buildCompoundName(pkg, procSeq, "process", outError));
}
private static String buildTaskAffinityName(String pkg, String defProc,
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index 440c88e8cabb..3e64af47c276 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -484,6 +484,14 @@ public class TextUtils {
}
/**
+ * @return interned string if it's null.
+ * @hide
+ */
+ public static String safeIntern(String s) {
+ return (s != null) ? s.intern() : null;
+ }
+
+ /**
* Returns the length that the specified CharSequence would have if
* spaces and ASCII control characters were trimmed from the start and end,
* as by {@link String#trim}.