From dc64fdebddee10cae2866d9ac0f805f25bb555a6 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Wed, 12 Jan 2022 20:02:06 +0100 Subject: [PATCH] Don't crash if the wikipedia URL is invalid --- settings.gradle.kts | 6 +++--- .../services/ServicesSettingsScreenVM.kt | 4 ++++ .../wikipedia/WikipediaRepository.kt | 20 +++++++++---------- 3 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 ui/src/main/java/de/mm20/launcher2/ui/settings/services/ServicesSettingsScreenVM.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 8701ead3..5049e108 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -43,7 +43,7 @@ dependencyResolutionManagement { version("targetSdk", "31") } create("libs") { - version("kotlin", "1.6.0") + version("kotlin", "1.6.10") version("kotlinx.coroutines", "1.6.0-RC2") alias("kotlin.stdlib") .to("org.jetbrains.kotlin", "kotlin-stdlib") @@ -66,7 +66,7 @@ dependencyResolutionManagement { .to("com.android.tools", "desugar_jdk_libs") .version("1.1.5") - version("androidx.compose", "1.1.0-rc01") + version("androidx.compose", "1.2.0-alpha01") alias("androidx.compose.runtime") .to("androidx.compose.runtime", "runtime") .versionRef("androidx.compose") @@ -99,7 +99,7 @@ dependencyResolutionManagement { .versionRef("androidx.compose") alias("androidx.compose.material3") .to("androidx.compose.material3", "material3") - .version("1.0.0-alpha02") + .version("1.0.0-alpha03") version("androidx.lifecycle", "2.4.0-rc01") alias("androidx.lifecycle.viewmodel") diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/services/ServicesSettingsScreenVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/services/ServicesSettingsScreenVM.kt new file mode 100644 index 00000000..e23b30de --- /dev/null +++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/services/ServicesSettingsScreenVM.kt @@ -0,0 +1,4 @@ +package de.mm20.launcher2.ui.settings.services + +class ServicesSettingsScreenVM { +} \ No newline at end of file diff --git a/wikipedia/src/main/java/de/mm20/launcher2/wikipedia/WikipediaRepository.kt b/wikipedia/src/main/java/de/mm20/launcher2/wikipedia/WikipediaRepository.kt index 9440229b..aca822ae 100644 --- a/wikipedia/src/main/java/de/mm20/launcher2/wikipedia/WikipediaRepository.kt +++ b/wikipedia/src/main/java/de/mm20/launcher2/wikipedia/WikipediaRepository.kt @@ -41,21 +41,21 @@ class WikipediaRepositoryImpl( .map { it.wikipediaSearch.customUrl } .distinctUntilChanged() .collectLatest { - retrofit = Retrofit.Builder() - .client(httpClient) - .baseUrl(it.takeIf { !it.isNullOrBlank() } - ?: context.getString(R.string.wikipedia_url)) - .addConverterFactory(GsonConverterFactory.create()) - .build() - wikipediaService = retrofit.create(WikipediaApi::class.java) + try { retrofit = Retrofit.Builder() + .client(httpClient) + .baseUrl(it.takeIf { !it.isNullOrBlank() } + ?: context.getString(R.string.wikipedia_url)) + .addConverterFactory(GsonConverterFactory.create()) + .build() + wikipediaService = retrofit.create(WikipediaApi::class.java) + } catch (e: IllegalArgumentException) { + CrashReporter.logException(e) + } } } } private lateinit var wikipediaService: WikipediaApi - /*by lazy { - retrofit.create(WikipediaApi::class.java) - }*/ override fun search(query: String): Flow = channelFlow {