I'm trying to add an array of strings to a deep link.
I'm creating my deep link like this
fun byCategoryDeepLink(
category: String,
subCategories: Array<String>
) = DeepLink("my-app://com.app/venues/${category}/$subCategories")
Which is declared as
<deepLink
android:autoVerify="true"
app:action="android.intent.action.VIEW"
app:uri="my-app://com.app/venues/{category}/{subCategories}" />
<argument
android:name="subCategories"
app:argType="string[]"
app:nullable="true"
android:defaultValue="@null" />
<argument
android:name="category"
app:argType="string" />
But when trying to navigate I get "Arrays don't support default values."
which comes from the NavType.kt class when parseValue is called.
public val StringArrayType: NavType<Array<String>?> = object : NavType<Array<String>?>(
true
) {
override val name: String
get() = "string[]"
override fun put(bundle: Bundle, key: String, value: Array<String>?) {
bundle.putStringArray(key, value)
}
@Suppress("UNCHECKED_CAST", "DEPRECATION")
override fun get(bundle: Bundle, key: String): Array<String>? {
return bundle[key] as Array<String>?
}
override fun parseValue(value: String): Array<String>? {
throw UnsupportedOperationException("Arrays don't support default values.")
}
}
I'm assuming this means I'm passing my data in the wrong format, but I can't find anything about the correct format.