fix: converter backwards compatibility

Fixes database converter to allow for backwards compatabilty.
This commit is contained in:
Zane Schepke 2023-10-27 00:11:31 -04:00
parent b70ecbdfff
commit e0cce8fba4
3 changed files with 13 additions and 7 deletions

View File

@ -14,8 +14,8 @@ android {
applicationId = "com.zaneschepke.wireguardautotunnel"
minSdk = 26
targetSdk = 34
versionCode = 31900
versionName = "3.1.9"
versionCode = 32000
versionName = "3.2.0"
ksp {
arg("room.schemaLocation", "$projectDir/schemas")

View File

@ -12,6 +12,12 @@ class DatabaseListConverters {
@TypeConverter
fun stringToList(value: String): MutableList<String> {
if(value.isEmpty()) return mutableListOf()
return Json.decodeFromString<MutableList<String>>(value)
return try {
Json.decodeFromString<MutableList<String>>(value)
} catch (e : Exception) {
val list = value.split(",").toMutableList()
val json = listToString(list)
Json.decodeFromString<MutableList<String>>(json)
}
}
}

View File

@ -159,8 +159,8 @@ fun MainScreen(
scope.launch(Dispatchers.IO) {
try {
viewModel.onTunnelFileSelected(data)
} catch (e : Exception) {
showSnackbarMessage(e.message ?: context.getString(R.string.unknown_error))
} catch (e : WgTunnelException) {
showSnackbarMessage(e.message)
}
}
}
@ -171,8 +171,8 @@ fun MainScreen(
scope.launch {
try {
viewModel.onTunnelQrResult(it.contents)
} catch (e: Exception) {
showSnackbarMessage(context.getString(R.string.qr_result_failed))
} catch (e: WgTunnelException) {
showSnackbarMessage(e.message)
}
}
}