mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-27 00:19:26 -05:00
082bc48c32
https://review.lineageos.org/q/topic:P_asb_2022-05 https://review.lineageos.org/q/topic:P_asb_2022-06 https://review.lineageos.org/q/topic:P_asb_2022-07 https://review.lineageos.org/q/topic:P_asb_2022-08 https://review.lineageos.org/q/topic:P_asb_2022-09 https://review.lineageos.org/q/topic:P_asb_2022-10 https://review.lineageos.org/q/topic:P_asb_2022-11 https://review.lineageos.org/q/topic:P_asb_2022-12 https://review.lineageos.org/q/topic:P_asb_2023-01 https://review.lineageos.org/q/topic:P_asb_2023-02 https://review.lineageos.org/q/topic:P_asb_2023-03 https://review.lineageos.org/q/topic:P_asb_2023-04 https://review.lineageos.org/q/topic:P_asb_2023-05 https://review.lineageos.org/q/topic:P_asb_2023-06 https://review.lineageos.org/q/topic:P_asb_2023-07 accounted for via manifest change: https://review.lineageos.org/c/LineageOS/android_external_freetype/+/361250 https://review.lineageos.org/q/topic:P_asb_2023-08 accounted for via manifest change: https://review.lineageos.org/c/LineageOS/android_external_freetype/+/364606 accounted for via patches: https://review.lineageos.org/c/LineageOS/android_system_ca-certificates/+/365328 https://review.lineageos.org/q/topic:P_asb_2023-09 https://review.lineageos.org/q/topic:P_asb_2023-10 https://review.lineageos.org/q/topic:P_asb_2023-11 accounted for via patches: https://review.lineageos.org/c/LineageOS/android_system_ca-certificates/+/374916 https://review.lineageos.org/q/topic:P_asb_2023-12 https://review.lineageos.org/q/topic:P_asb_2024-01 https://review.lineageos.org/q/topic:P_asb_2024-02 https://review.lineageos.org/q/topic:P_asb_2024-03 https://review.lineageos.org/q/topic:P_asb_2024-04 Signed-off-by: Tavi <tavi@divested.dev>
63 lines
2.7 KiB
Diff
63 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Orion Hodson <oth@google.com>
|
|
Date: Thu, 7 Apr 2022 21:42:04 +0100
|
|
Subject: [PATCH] Uri: check authority and scheme as part of determining URI
|
|
path
|
|
|
|
The interpretation of the path depends on whether the scheme or
|
|
authority are specified and should be observed when unparcelling
|
|
URIs.
|
|
|
|
Bug: 171966843
|
|
Test: atest FrameworksCoreTests:android.net.UriTest
|
|
Test: atest com.android.devicehealthchecks.SystemAppCheck
|
|
Change-Id: I06981d1c6e387b16df792494523994518848db37
|
|
Merged-In: I06981d1c6e387b16df792494523994518848db37
|
|
(cherry picked from commit f37a94ae920fa5879c557603fc285942ec4b84b1)
|
|
(cherry picked from commit on googleplex-android-review.googlesource.com host: c87f0623be4042c39a9b73f7a6e02aa116925e50)
|
|
Merged-In: I06981d1c6e387b16df792494523994518848db37
|
|
---
|
|
core/java/android/net/Uri.java | 22 +++++++++++++++-------
|
|
1 file changed, 15 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
|
|
index 0fb84b723634..af1c0e8e9178 100644
|
|
--- a/core/java/android/net/Uri.java
|
|
+++ b/core/java/android/net/Uri.java
|
|
@@ -1179,13 +1179,16 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
|
|
}
|
|
|
|
static Uri readFrom(Parcel parcel) {
|
|
- return new HierarchicalUri(
|
|
- parcel.readString(),
|
|
- Part.readFrom(parcel),
|
|
- PathPart.readFrom(parcel),
|
|
- Part.readFrom(parcel),
|
|
- Part.readFrom(parcel)
|
|
- );
|
|
+ final String scheme = parcel.readString();
|
|
+ final Part authority = Part.readFrom(parcel);
|
|
+ // In RFC3986 the path should be determined based on whether there is a scheme or
|
|
+ // authority present (https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3).
|
|
+ final boolean hasSchemeOrAuthority =
|
|
+ (scheme != null && scheme.length() > 0) || !authority.isEmpty();
|
|
+ final PathPart path = PathPart.readFrom(hasSchemeOrAuthority, parcel);
|
|
+ final Part query = Part.readFrom(parcel);
|
|
+ final Part fragment = Part.readFrom(parcel);
|
|
+ return new HierarchicalUri(scheme, authority, path, query, fragment);
|
|
}
|
|
|
|
public int describeContents() {
|
|
@@ -2240,6 +2243,11 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
|
|
}
|
|
}
|
|
|
|
+ static PathPart readFrom(boolean hasSchemeOrAuthority, Parcel parcel) {
|
|
+ final PathPart path = readFrom(parcel);
|
|
+ return hasSchemeOrAuthority ? makeAbsolute(path) : path;
|
|
+ }
|
|
+
|
|
/**
|
|
* Creates a path from the encoded string.
|
|
*
|