diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-01-07 00:55:35 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-16 12:14:04 +0000 |
| commit | 64eff2bbff8265169a7c79e50a8f158843506d2e (patch) | |
| tree | 4e5ccc97a162f62b2caa1fe89d72f21a029740db /android/src/main | |
| parent | 3762ffa51bb744d1c827b666a9e8abbfd15a1b24 (diff) | |
| download | mullvadvpn-64eff2bbff8265169a7c79e50a8f158843506d2e.tar.xz mullvadvpn-64eff2bbff8265169a7c79e50a8f158843506d2e.zip | |
Refactor to improve readability
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AppVersionInfoCache.kt | 38 |
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() + } + } } } |
