Unescape Wifi elements in parseMap()

Instead of unescaping elements selectively in `SimpleDataAccessor`.

This is much simpler and this way the `Map` `parseMap()` returns has
always unescaped values. This `Map` is also layed out in the
`DecodeFragment`, which still displayed the escaped values before
this commit.
This commit is contained in:
Markus Fisch
2025-05-07 18:47:34 +02:00
parent 7bef77b96e
commit 46930ddea6
@@ -102,7 +102,7 @@ object WifiConnector {
input.trimAndTerminate()
)?.groupValues?.get(1)?.let { pairs ->
pairRegex.findAll(pairs).map { pair ->
pair.groupValues[1].uppercase(Locale.US) to pair.groupValues[2]
pair.groupValues[1].uppercase(Locale.US) to pair.groupValues[2].unescape
}.toMap()
}
}
@@ -112,17 +112,17 @@ object WifiConnector {
) {
// This should be private but because of testing it isn't possible.
internal val ssid: String
get() = inputMap.getValue("S").unescape
get() = inputMap.getValue("S")
internal val securityType: String
get() = inputMap["T"]?.unescape ?: ""
get() = inputMap["T"] ?: ""
internal val password: String?
get() = inputMap["P"]?.unescape
get() = inputMap["P"]
internal val hidden: Boolean
get() = inputMap["H"]?.unescape == "true"
get() = inputMap["H"] == "true"
internal val anonymousIdentity: String
get() = inputMap["AI"]?.unescape ?: inputMap["A"]?.unescape ?: ""
get() = inputMap["AI"] ?: inputMap["A"] ?: ""
internal val identity: String
get() = inputMap["I"]?.unescape ?: ""
get() = inputMap["I"] ?: ""
internal val eapMethod: Int?
get() = if (inputMap["E"].isNullOrEmpty()) {
requireSdk(Build.VERSION_CODES.JELLY_BEAN_MR2) {