diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-09-14 14:27:55 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-09-14 14:40:10 +0200 |
commit | 2fc0bb1a03f624e297d2afdeb95231cf906afc21 (patch) | |
tree | b1f9ed3d59683b5bbe4975821988c0e9ce7f2e84 /ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt | |
parent | dd0ff8fe60daea6ae3666b5fe655c37303b77626 (diff) |
coroutines: convert low-hanging fruits
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt')
-rw-r--r-- | ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt b/ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt index 0734df45..f944233b 100644 --- a/ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt +++ b/ui/src/main/java/com/wireguard/android/preference/VersionPreference.kt @@ -16,6 +16,10 @@ import com.wireguard.android.R import com.wireguard.android.backend.Backend import com.wireguard.android.backend.GoBackend import com.wireguard.android.backend.WgQuickBackend +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.util.Locale class VersionPreference(context: Context, attrs: AttributeSet?) : Preference(context, attrs) { @@ -45,11 +49,12 @@ class VersionPreference(context: Context, attrs: AttributeSet?) : Preference(con init { Application.getBackendAsync().thenAccept { backend -> versionSummary = getContext().getString(R.string.version_summary_checking, getBackendPrettyName(context, backend).toLowerCase(Locale.ENGLISH)) - Application.getAsyncWorker().supplyAsync(backend::getVersion).whenComplete { version, exception -> - versionSummary = if (exception == null) - getContext().getString(R.string.version_summary, getBackendPrettyName(context, backend), version) - else + CoroutineScope(Dispatchers.Main).launch { + versionSummary = try { + getContext().getString(R.string.version_summary, getBackendPrettyName(context, backend), withContext(Dispatchers.IO) { backend.version }) + } catch (_: Exception) { getContext().getString(R.string.version_summary_unknown, getBackendPrettyName(context, backend).toLowerCase(Locale.ENGLISH)) + } notifyChanged() } } |