summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-01-07 00:55:35 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-16 12:14:04 +0000
commit64eff2bbff8265169a7c79e50a8f158843506d2e (patch)
tree4e5ccc97a162f62b2caa1fe89d72f21a029740db /android
parent3762ffa51bb744d1c827b666a9e8abbfd15a1b24 (diff)
downloadmullvadvpn-64eff2bbff8265169a7c79e50a8f158843506d2e.tar.xz
mullvadvpn-64eff2bbff8265169a7c79e50a8f158843506d2e.zip
Refactor to improve readability
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt38
1 files changed, 25 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt
index 270abf4eec..7f428a716a 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt
@@ -4,6 +4,7 @@ import android.content.Context
import kotlin.properties.Delegates.observable
import net.mullvad.mullvadvpn.ipc.Event
import net.mullvad.mullvadvpn.model.AppVersionInfo
+import net.mullvad.mullvadvpn.service.MullvadDaemon
class AppVersionInfoCache(context: Context, endpoint: ServiceEndpoint) {
companion object {
@@ -29,26 +30,37 @@ class AppVersionInfoCache(context: Context, endpoint: ServiceEndpoint) {
.commit()
daemon.registerListener(this) { newDaemon ->
- if (currentVersion == null && newDaemon != null) {
- currentVersion = newDaemon.getCurrentVersion()
+ newDaemon?.let { daemon ->
+ initializeCurrentVersion(daemon)
+ registerVersionInfoListener(daemon)
+ fetchInitialVersionInfo(daemon)
}
+ }
+ }
- newDaemon?.onAppVersionInfoChange = { newAppVersionInfo ->
- synchronized(this@AppVersionInfoCache) {
- appVersionInfo = newAppVersionInfo
- }
- }
+ fun onDestroy() {
+ daemon.unregisterListener(this)
+ }
- // Load initial version info
+ private fun initializeCurrentVersion(daemon: MullvadDaemon) {
+ if (currentVersion == null) {
+ currentVersion = daemon.getCurrentVersion()
+ }
+ }
+
+ private fun registerVersionInfoListener(daemon: MullvadDaemon) {
+ daemon.onAppVersionInfoChange = { newAppVersionInfo ->
synchronized(this@AppVersionInfoCache) {
- if (appVersionInfo == null && newDaemon != null) {
- appVersionInfo = newDaemon.getVersionInfo()
- }
+ appVersionInfo = newAppVersionInfo
}
}
}
- fun onDestroy() {
- daemon.unregisterListener(this)
+ private fun fetchInitialVersionInfo(daemon: MullvadDaemon) {
+ synchronized(this@AppVersionInfoCache) {
+ if (appVersionInfo == null) {
+ appVersionInfo = daemon.getVersionInfo()
+ }
+ }
}
}