summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-12 11:55:09 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-13 12:14:19 +0000
commit91a0523749351ce3d681c33ef6fc52f10125d142 (patch)
tree58c75a30b7745dd56edfecfc57cf2dbf3958d9d0 /android/src
parente18eb7b62d24687b8f5409140d90a24e86cb8f05 (diff)
downloadmullvadvpn-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.kt19
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt4
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)
}