diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-12 11:55:09 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-13 12:14:19 +0000 |
| commit | 91a0523749351ce3d681c33ef6fc52f10125d142 (patch) | |
| tree | 58c75a30b7745dd56edfecfc57cf2dbf3958d9d0 /android/src | |
| parent | e18eb7b62d24687b8f5409140d90a24e86cb8f05 (diff) | |
| download | mullvadvpn-91a0523749351ce3d681c33ef6fc52f10125d142.tar.xz mullvadvpn-91a0523749351ce3d681c33ef6fc52f10125d142.zip | |
Refactor `ForegroundNotificationManager` creation
Only instantiate it when the service is fully created.
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt | 19 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt | 4 |
2 files changed, 10 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt index 22f685daa1..f607b0cf2f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt @@ -18,12 +18,16 @@ val CHANNEL_ID = "vpn_tunnel_status" val FOREGROUND_NOTIFICATION_ID: Int = 1 class ForegroundNotificationManager(val service: Service, val connectionProxy: ConnectionProxy) { - private var listenerId: Int? = null + private val notificationManager = + service.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + + private val listenerId = connectionProxy.onUiStateChange.subscribe { uiState -> + tunnelState = uiState + } + private var reconnecting = false private var showingReconnecting = false - private lateinit var notificationManager: NotificationManager - private var tunnelState: TunnelState = TunnelState.Disconnected() set(value) { field = value @@ -60,14 +64,7 @@ class ForegroundNotificationManager(val service: Service, val connectionProxy: C } } - fun onCreate() { - notificationManager = - service.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - - listenerId = connectionProxy.onUiStateChange.subscribe { uiState -> - tunnelState = uiState - } - + init { if (Build.VERSION.SDK_INT >= 26) { initChannel() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt index 6ecfdb3535..40d12b8082 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt @@ -21,15 +21,15 @@ class MullvadVpnService : VpnService() { private val created = CompletableDeferred<Unit>() private val binder = LocalBinder() + private lateinit var notificationManager: ForegroundNotificationManager private lateinit var versionInfoFetcher: AppVersionInfoFetcher val daemon = startDaemon() val connectionProxy = ConnectionProxy(this, daemon) - val notificationManager = ForegroundNotificationManager(this, connectionProxy) override fun onCreate() { versionInfoFetcher = AppVersionInfoFetcher(daemon, this) - notificationManager.onCreate() + notificationManager = ForegroundNotificationManager(this, connectionProxy) created.complete(Unit) } |
