summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-06-07 10:35:34 +0200
committerAlbin <albin@mullvad.net>2022-06-22 11:57:30 +0200
commiteb0f89feb04fbe18ceded9f51cf3e22baf0797c8 (patch)
treeaadc431b932eb040600ba2d676bc88e6481ebd45 /android
parent57c9732ccc5fe52f77032089867902870e83004e (diff)
downloadmullvadvpn-eb0f89feb04fbe18ceded9f51cf3e22baf0797c8.tar.xz
mullvadvpn-eb0f89feb04fbe18ceded9f51cf3e22baf0797c8.zip
Add device events
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt9
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt16
3 files changed, 29 insertions, 0 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
index 7871dc2d73..c351cc8130 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
@@ -7,6 +7,7 @@ import net.mullvad.mullvadvpn.model.AccountCreationResult
import net.mullvad.mullvadvpn.model.AccountExpiry
import net.mullvad.mullvadvpn.model.AccountHistory
import net.mullvad.mullvadvpn.model.AppVersionInfo as AppVersionInfoData
+import net.mullvad.mullvadvpn.model.DeviceListEvent
import net.mullvad.mullvadvpn.model.DeviceState
import net.mullvad.mullvadvpn.model.GeoIpLocation
import net.mullvad.mullvadvpn.model.LoginResult
@@ -41,6 +42,9 @@ sealed class Event : Message.EventMessage() {
data class DeviceStateEvent(val newState: DeviceState) : Event()
@Parcelize
+ data class DeviceListUpdate(val event: DeviceListEvent) : Event()
+
+ @Parcelize
data class ListenerReady(val connection: Messenger, val listenerId: Int) : Event()
@Parcelize
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
index 5937954fc2..f7328caf1b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
@@ -44,6 +44,15 @@ sealed class Request : Message.RequestMessage() {
object RefreshDeviceState : Request()
@Parcelize
+ object GetDevice : Request()
+
+ @Parcelize
+ data class GetDeviceList(val accountToken: String) : Request()
+
+ @Parcelize
+ data class RemoveDevice(val accountToken: String, val deviceId: String) : Request()
+
+ @Parcelize
object Logout : Request()
@Parcelize
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt
new file mode 100644
index 0000000000..1e0f78e985
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt
@@ -0,0 +1,16 @@
+package net.mullvad.mullvadvpn.model
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+sealed class DeviceListEvent : Parcelable {
+ @Parcelize
+ data class Available(val accountToken: String, val devices: List<Device>) : DeviceListEvent()
+
+ @Parcelize
+ object Error : DeviceListEvent()
+
+ fun isAvailable(): Boolean {
+ return (this is Available)
+ }
+}