For #26759 - Crash fix for UnsupportedOperationException

This commit is contained in:
sarah541 2022-09-01 16:33:43 -04:00 committed by mergify[bot]
parent 4dfec35b73
commit b432436859
2 changed files with 11 additions and 1 deletions

View File

@ -16,7 +16,7 @@ import android.net.Uri
* - "key=value" - Search param named "key" with value "value"
*/
fun Uri.containsQueryParameters(searchParameters: String): Boolean {
if (searchParameters.isBlank()) {
if (searchParameters.isBlank() || this.isOpaque) {
return false
}
val params = searchParameters.split("=")

View File

@ -43,4 +43,14 @@ class UriTest {
assertTrue(querySite.containsQueryParameters(searchParameters))
assertFalse(blankQuerySite.containsQueryParameters(searchParameters))
}
@Test
fun `WHEN an opaque url is checked for query parameters THEN then the result should be false`() {
val searchParameters = "q"
val opaqueUrl = Uri.parse("about:config")
val mailToUrl = Uri.parse("mailto:a@b.com")
assertFalse(opaqueUrl.containsQueryParameters(searchParameters))
assertFalse(mailToUrl.containsQueryParameters(searchParameters))
}
}