Skip to content

Commit 1219de3

Browse files
authored
Merge pull request #198 from Bumblebee202111/patch-1
Fix NPE in DeepLinkMatcher when URL contains extra query parameters
2 parents bc0831b + 6e467f0 commit 1219de3

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

app/src/main/java/com/example/nav3recipes/deeplink/basic/util/DeepLinkMatcher.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ internal class DeepLinkMatcher<T : NavKey>(
5050
// match queries (if any)
5151
request.queries.forEach { query ->
5252
val name = query.key
53-
val queryStringParser = deepLinkPattern.queryValueParsers[name]
53+
// If the pattern does not define this query parameter, ignore it.
54+
// This prevents a NullPointerException.
55+
val queryStringParser = deepLinkPattern.queryValueParsers[name]?: return@forEach
56+
5457
val queryParsedValue = try {
55-
queryStringParser!!.invoke(query.value)
58+
queryStringParser.invoke(query.value)
5659
} catch (e: IllegalArgumentException) {
5760
Log.e(TAG_LOG_ERROR, "Failed to parse query name:[$name] value:[${query.value}].", e)
5861
return null

0 commit comments

Comments
 (0)