summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinson Chiu <chiuwinson@google.com>2023-01-06 21:26:24 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-02-14 18:17:02 +0000
commit37e9ac249bc712eb240a7224ebe09d24de5fb190 (patch)
treed9c8ba257cd1cba4021cabb1454b4f85574f2672
parent107e6377328486fca55131ea06ca9d6a3c1585e0 (diff)
downloadbase-37e9ac249bc712eb240a7224ebe09d24de5fb190.tar.gz
Encode Intent scheme when serializing to URI string RESTRICT AUTOMERGE
Avoids deserialization error when the scheme contains a reserved character. Bug: 261858325 Test: atest android.content.cts.IntentTest#testEncoding Merged-In: Ic34b3f796b762763db5aa7b5d7c109ae70607470 Change-Id: Ic34b3f796b762763db5aa7b5d7c109ae70607470 (cherry picked from commit 0d561708bc4c83cabb6c4c0f404e522b6491ec07) Merged-In: Ic34b3f796b762763db5aa7b5d7c109ae70607470
-rw-r--r--core/java/android/content/Intent.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 2ea0d8235548..a320f1e9509c 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -11488,7 +11488,7 @@ public class Intent implements Parcelable, Cloneable {
private void toUriInner(StringBuilder uri, String scheme, String defAction,
String defPackage, int flags) {
if (scheme != null) {
- uri.append("scheme=").append(scheme).append(';');
+ uri.append("scheme=").append(Uri.encode(scheme)).append(';');
}
if (mAction != null && !mAction.equals(defAction)) {
uri.append("action=").append(Uri.encode(mAction)).append(';');