From dd0d58af6785f9d7f534201dbcc4c96186b57c75 Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 25 Oct 2021 01:11:53 -0400 Subject: [PATCH] Handle CancellationException --- .../src/freedom/java/be/mygod/vpnhotspot/util/UpdateChecker.kt | 3 +++ mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/mobile/src/freedom/java/be/mygod/vpnhotspot/util/UpdateChecker.kt b/mobile/src/freedom/java/be/mygod/vpnhotspot/util/UpdateChecker.kt index 01a48cfa..9e7da358 100644 --- a/mobile/src/freedom/java/be/mygod/vpnhotspot/util/UpdateChecker.kt +++ b/mobile/src/freedom/java/be/mygod/vpnhotspot/util/UpdateChecker.kt @@ -14,6 +14,7 @@ import timber.log.Timber import java.net.HttpURLConnection import java.net.URL import java.time.Instant +import java.util.concurrent.CancellationException import java.util.concurrent.TimeUnit import kotlin.math.max @@ -56,6 +57,8 @@ object UpdateChecker { putLong(KEY_PUBLISHED, published) } emit(if (myVersion == version) null else GitHubUpdate(version, published)) + } catch (e: CancellationException) { + return@flow } catch (e: Exception) { Timber.w(e) } finally { diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt b/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt index 8adde251..11347aa5 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt @@ -26,6 +26,7 @@ import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import timber.log.Timber import java.net.Inet4Address +import java.util.concurrent.CancellationException class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListener { lateinit var binding: ActivityMainBinding @@ -65,6 +66,7 @@ class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen onAppUpdateAvailable(null) try { UpdateChecker.check().collect(this@MainActivity::onAppUpdateAvailable) + } catch (_: CancellationException) { } catch (e: Exception) { Timber.w(e) SmartSnackbar.make(e).show()