summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-07-25 22:24:39 +0200
committerAlbin <albin@mullvad.net>2023-07-25 22:24:39 +0200
commit6d57800a24833e53c5cc161d9afb4dffe4381365 (patch)
tree30bb60dc8194d9a2c1a44fa1d13ff866808b95ef /android
parent3fb0a7b1928bd32b4454cca74a258820dce5cd15 (diff)
parentc57796d3a13840740ef31c1efc7f6d1022da2de6 (diff)
downloadmullvadvpn-6d57800a24833e53c5cc161d9afb4dffe4381365.tar.xz
mullvadvpn-6d57800a24833e53c5cc161d9afb4dffe4381365.zip
Merge branch 'move-models-to-its-own-module-droid-222'
Diffstat (limited to 'android')
-rw-r--r--android/app/build.gradle.kts1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ListItemData.kt)3
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemListener.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ActionListItemView.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ListItemView.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WidgetState.kt)2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/GeoIpLocationExtensions.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/LocationConstraintExtensions.kt5
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt3
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt3
-rw-r--r--android/buildSrc/src/main/kotlin/Dependencies.kt1
-rw-r--r--android/lib/model/build.gradle.kts38
-rw-r--r--android/lib/model/src/main/AndroidManifest.xml1
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt)5
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt)0
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt)0
-rw-r--r--android/settings.gradle.kts1
70 files changed, 62 insertions, 21 deletions
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index ec787deeaa..835aa9cba0 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -209,6 +209,7 @@ play {
dependencies {
implementation(project(Dependencies.Mullvad.endpointLib))
+ implementation(project(Dependencies.Mullvad.modelLib))
implementation(project(Dependencies.Mullvad.talpidLib))
implementation(Dependencies.androidMaterial)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ListItemData.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt
index 26ea17f083..c04b4637bb 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ListItemData.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt
@@ -1,8 +1,9 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.mullvadvpn.applist
import androidx.annotation.DrawableRes
import androidx.annotation.IntDef
import androidx.annotation.StringRes
+import net.mullvad.mullvadvpn.ui.widget.WidgetState
data class ListItemData
private constructor(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt
index 47391f2971..5db52ca295 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt
@@ -1,7 +1,5 @@
package net.mullvad.mullvadvpn.applist
-import net.mullvad.mullvadvpn.model.ListItemData
-
sealed class ViewIntent {
// In future we will have search intent
data class ChangeApplicationGroup(val item: ListItemData) : ViewIntent()
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt
index 27824c5b28..4ec1792f48 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt
@@ -42,6 +42,7 @@ import net.mullvad.mullvadvpn.compose.theme.MullvadWhite80
import net.mullvad.mullvadvpn.model.Device
import net.mullvad.mullvadvpn.util.capitalizeFirstCharOfEachWord
import net.mullvad.mullvadvpn.util.formatDate
+import net.mullvad.mullvadvpn.util.parseAsDateTime
@Composable
@Preview
@@ -193,7 +194,8 @@ fun DeviceListScreen(
text =
deviceUiState.device.name.capitalizeFirstCharOfEachWord(),
subText =
- deviceUiState.device.creationDate?.let { creationDate ->
+ deviceUiState.device.created.parseAsDateTime()?.let {
+ creationDate ->
stringResource(
id = R.string.created_x,
creationDate.formatDate()
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemListener.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemListener.kt
index 72cc32196c..07c5520d34 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemListener.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemListener.kt
@@ -1,6 +1,6 @@
package net.mullvad.mullvadvpn.ui
-import net.mullvad.mullvadvpn.model.ListItemData
+import net.mullvad.mullvadvpn.applist.ListItemData
interface ListItemListener {
fun onItemAction(item: ListItemData)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ActionListItemView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ActionListItemView.kt
index 3966e0d7b9..e80807427b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ActionListItemView.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ActionListItemView.kt
@@ -9,7 +9,7 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.core.view.isVisible
import net.mullvad.mullvadvpn.R
-import net.mullvad.mullvadvpn.model.WidgetState
+import net.mullvad.mullvadvpn.ui.widget.WidgetState
open class ActionListItemView
@JvmOverloads
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ListItemView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ListItemView.kt
index 5b8bb39b4b..981d6d0813 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ListItemView.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/ListItemView.kt
@@ -6,7 +6,7 @@ import android.view.LayoutInflater
import androidx.annotation.DimenRes
import androidx.annotation.LayoutRes
import androidx.constraintlayout.widget.ConstraintLayout
-import net.mullvad.mullvadvpn.model.ListItemData
+import net.mullvad.mullvadvpn.applist.ListItemData
import net.mullvad.mullvadvpn.ui.ListItemListener
abstract class ListItemView
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt
index 73076fbad8..07463e1920 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt
@@ -6,7 +6,7 @@ import android.widget.ImageView
import androidx.annotation.LayoutRes
import androidx.appcompat.widget.SwitchCompat
import net.mullvad.mullvadvpn.R
-import net.mullvad.mullvadvpn.model.WidgetState
+import net.mullvad.mullvadvpn.ui.widget.WidgetState
sealed class WidgetViewController<T : WidgetState>(val parent: ViewGroup) {
@get:LayoutRes protected abstract val layoutRes: Int
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WidgetState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt
index 3877c2d564..484f0262c1 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WidgetState.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.mullvadvpn.ui.widget
import androidx.annotation.DrawableRes
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/GeoIpLocationExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/GeoIpLocationExtensions.kt
index dcde072970..b978caad53 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/GeoIpLocationExtensions.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/GeoIpLocationExtensions.kt
@@ -4,8 +4,8 @@ import net.mullvad.mullvadvpn.model.GeoIpLocation
fun GeoIpLocation.toOutAddress(): String =
when {
- ipv6 != null && ipv4 != null -> "${ipv4.hostAddress} / ${ipv6.hostAddress}"
- ipv6 != null -> ipv6.hostAddress ?: ""
- ipv4 != null -> ipv4.hostAddress ?: ""
+ ipv6 != null && ipv4 != null -> "${ipv4!!.hostAddress} / ${ipv6!!.hostAddress}"
+ ipv6 != null -> ipv6!!.hostAddress ?: ""
+ ipv4 != null -> ipv4!!.hostAddress ?: ""
else -> ""
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/LocationConstraintExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/LocationConstraintExtensions.kt
index 2637028111..c96a8b8247 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/LocationConstraintExtensions.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/LocationConstraintExtensions.kt
@@ -14,8 +14,9 @@ fun Constraint<LocationConstraint>.toGeographicLocationConstraint():
Constraint<GeographicLocationConstraint> =
when (this) {
is Constraint.Only ->
- when (this.value) {
- is LocationConstraint.Location -> Constraint.Only(this.value.location)
+ when (value) {
+ is LocationConstraint.Location ->
+ Constraint.Only((value as LocationConstraint.Location).location)
is LocationConstraint.CustomList -> Constraint.Any()
}
is Constraint.Any -> Constraint.Any()
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt
index d9a682c0c8..0e4a115ed6 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt
@@ -24,6 +24,7 @@ import net.mullvad.mullvadvpn.model.Device
import net.mullvad.mullvadvpn.model.DeviceList
import net.mullvad.mullvadvpn.model.RemoveDeviceResult
import net.mullvad.mullvadvpn.repository.DeviceRepository
+import net.mullvad.mullvadvpn.util.parseAsDateTime
typealias DeviceId = String
@@ -54,7 +55,7 @@ class DeviceListViewModel(
}
val deviceUiItems =
devices
- ?.sortedBy { it.creationDate }
+ ?.sortedBy { it.created.parseAsDateTime() }
?.map { device ->
DeviceListItemUiState(
device,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
index 084e525d77..7ebb448207 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt
@@ -417,7 +417,8 @@ class VpnSettingsViewModel(
private fun Settings.getWireguardPort() =
when (relaySettings) {
RelaySettings.CustomTunnelEndpoint -> Constraint.Any()
- is RelaySettings.Normal -> relaySettings.relayConstraints.wireguardConstraints.port
+ is RelaySettings.Normal ->
+ (relaySettings as RelaySettings.Normal).relayConstraints.wireguardConstraints.port
}
private fun String.isValidIp(): Boolean {
diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt
index 172aa0adda..c68925ee68 100644
--- a/android/buildSrc/src/main/kotlin/Dependencies.kt
+++ b/android/buildSrc/src/main/kotlin/Dependencies.kt
@@ -90,6 +90,7 @@ object Dependencies {
object Mullvad {
const val endpointLib = ":lib:endpoint"
+ const val modelLib = ":lib:model"
const val talpidLib = ":lib:talpid"
}
diff --git a/android/lib/model/build.gradle.kts b/android/lib/model/build.gradle.kts
new file mode 100644
index 0000000000..0efad3b31f
--- /dev/null
+++ b/android/lib/model/build.gradle.kts
@@ -0,0 +1,38 @@
+plugins {
+ id(Dependencies.Plugin.androidLibraryId)
+ id(Dependencies.Plugin.kotlinAndroidId)
+ id(Dependencies.Plugin.kotlinParcelizeId)
+}
+
+android {
+ namespace = "net.mullvad.mullvadvpn.model"
+ compileSdk = Versions.Android.compileSdkVersion
+
+ defaultConfig {
+ minSdk = Versions.Android.minSdkVersion
+ targetSdk = Versions.Android.targetSdkVersion
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
+
+ kotlinOptions {
+ jvmTarget = Versions.jvmTarget
+ }
+
+ lint {
+ lintConfig = file("${rootProject.projectDir}/config/lint.xml")
+ abortOnError = true
+ warningsAsErrors = true
+ }
+}
+
+dependencies {
+ implementation(project(Dependencies.Mullvad.talpidLib))
+
+ implementation(Dependencies.jodaTime)
+ implementation(Dependencies.Kotlin.stdlib)
+ implementation(Dependencies.KotlinX.coroutinesAndroid)
+}
diff --git a/android/lib/model/src/main/AndroidManifest.xml b/android/lib/model/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..cc947c5679
--- /dev/null
+++ b/android/lib/model/src/main/AndroidManifest.xml
@@ -0,0 +1 @@
+<manifest />
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt
index f5137ebbb7..f5137ebbb7 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountAndDevice.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt
index 4bb4c61384..4bb4c61384 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountCreationResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt
index 6dda6b8352..6dda6b8352 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountData.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt
index a91ce46148..a91ce46148 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountExpiry.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt
index 008eb1ea7a..008eb1ea7a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AccountHistory.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
index bbe99ce656..bbe99ce656 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
index c6dc2bb091..c6dc2bb091 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt
index bbf029dd4d..bbf029dd4d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomDnsOptions.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt
index 05dd38a80b..05dd38a80b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/CustomTunnelEndpoint.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt
index eb22c93994..eb22c93994 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DefaultDnsOptions.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt
index c497f296ba..a9ad4ec874 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt
@@ -1,9 +1,7 @@
package net.mullvad.mullvadvpn.model
import android.os.Parcelable
-import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
-import net.mullvad.mullvadvpn.util.parseAsDateTime
@Parcelize
data class Device(
@@ -13,9 +11,6 @@ data class Device(
val ports: ArrayList<DevicePort>,
val created: String
) : Parcelable {
-
- @IgnoredOnParcel val creationDate by lazy { created.parseAsDateTime() }
-
// Generated by Android Studio
override fun equals(other: Any?): Boolean {
if (this === other) return true
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt
index 741108612d..741108612d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEvent.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt
index b4c1d21761..b4c1d21761 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceEventCause.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt
index de1acb0e23..de1acb0e23 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt
index 7a2883617b..7a2883617b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceListEvent.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt
index e43eae3e6b..e43eae3e6b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DevicePort.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt
index 440d03de55..440d03de55 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceState.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt
index 1ce3acc095..1ce3acc095 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt
index 9c8677ba7d..9c8677ba7d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsState.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt
index e15ab20376..e15ab20376 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeoIpLocation.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt
index 04f92a72ac..04f92a72ac 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GeographicLocationConstraint.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt
index cbed622df6..cbed622df6 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt
index de7dd4e99b..de7dd4e99b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt
index 29fb68203d..29fb68203d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LoginResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt
index 19b5c0e5f2..19b5c0e5f2 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ObfuscationSettings.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt
index 52f495a7a7..52f495a7a7 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Port.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt
index 376f5ef7a4..376f5ef7a4 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PortRange.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
index 169b6c3856..169b6c3856 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt
index a19267388a..a19267388a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/QuantumResistantState.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt
index b1abdc3c75..b1abdc3c75 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Relay.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt
index da2acb39f6..da2acb39f6 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt
index bd5bfb9605..bd5bfb9605 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt
index 86b3f0fa35..86b3f0fa35 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayEndpointData.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt
index 60d8b6dd35..60d8b6dd35 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
index 2376609ced..2376609ced 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
index d6d4b8ec6a..d6d4b8ec6a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt
index 7832a00e77..7832a00e77 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt
index 85f5de2a32..85f5de2a32 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt
index cc6e7db2bb..cc6e7db2bb 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceEvent.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt
index 67bf165a37..67bf165a37 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RemoveDeviceResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt
index 8124bcc6a6..8124bcc6a6 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SelectedObfuscation.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt
index e597797e5a..e597797e5a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/ServiceResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt
index 0d45b38179..0d45b38179 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt
index 108fd32e04..108fd32e04 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
index c3d58d2ca7..c3d58d2ca7 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt
index f01bb35c6f..f01bb35c6f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Udp2TcpObfuscationSettings.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt
index efe05e2f5c..efe05e2f5c 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmission.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt
index 1cf778400a..1cf778400a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionError.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt
index 4163b782d4..4163b782d4 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/VoucherSubmissionResult.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt
index 1725b01f0f..1725b01f0f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardConstraints.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt
index 0a21221bb0..0a21221bb0 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardEndpointData.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt
index 4a1930dd43..4a1930dd43 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardRelayEndpointData.kt
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt
index f4a869a4ea..f4a869a4ea 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt
diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts
index 9e838aedfd..511cf03b9e 100644
--- a/android/settings.gradle.kts
+++ b/android/settings.gradle.kts
@@ -1,6 +1,7 @@
include(":app")
include(
":lib:endpoint",
+ ":lib:model:",
":lib:talpid:"
)
include(