summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2023-07-06 11:20:49 +0200
committerLinus Färnstrand <faern@faern.net>2023-07-06 11:20:49 +0200
commitd1bfe4b7107ed2ed98214dbcc3976b3ce42be044 (patch)
treef80bd3ec2852e2250249a061858a626b159ff1d3 /android
parent81d8ad7f85296b2bb34c0d88b083cddcf3a19369 (diff)
parenta6cab19b6699080a611a884eaaad80c2973fd0e2 (diff)
downloadmullvadvpn-d1bfe4b7107ed2ed98214dbcc3976b3ce42be044.tar.xz
mullvadvpn-d1bfe4b7107ed2ed98214dbcc3976b3ce42be044.zip
Merge branch 'replace-material-components-with-material-3-components-droid-161'
Diffstat (limited to 'android')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt29
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/BaseCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/DnsCell.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ExpandableComposeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/InformationComposeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/MtuComposeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/NavigationComposeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Button.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Chevron.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CollapsingTopBar.kt12
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Text.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/ChangelogDialog.kt18
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeviceRemovalDialog.kt92
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt24
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/InfoDialog.kt20
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialog.kt24
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/extensions/LazyListExtensions.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoadingScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/PrivacyDisclaimerScreen.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt7
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/textfield/CustomTextField.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/theme/Theme.kt7
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt2
29 files changed, 145 insertions, 160 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
index 728dce08d9..e66e779313 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
@@ -1,6 +1,5 @@
package net.mullvad.mullvadvpn.compose.screen
-import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsNotEnabled
import androidx.compose.ui.test.hasTestTag
@@ -39,7 +38,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDefaultState() {
// Arrange
composeTestRule.setContent {
@@ -62,7 +60,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuCustomValue() {
// Arrange
composeTestRule.setContent {
@@ -77,7 +74,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuClick() {
// Arrange
val mockedClickHandler: () -> Unit = mockk(relaxed = true)
@@ -97,7 +93,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogWithDefaultValue() {
// Arrange
composeTestRule.setContent {
@@ -112,7 +107,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogWithEditValue() {
// Arrange
composeTestRule.setContent {
@@ -127,7 +121,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogTextInput() {
// Arrange
val mockedInputHandler: (String) -> Unit = mockk(relaxed = true)
@@ -147,7 +140,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogSubmitOfValidValue() {
// Arrange
val mockedSubmitHandler: () -> Unit = mockk(relaxed = true)
@@ -167,7 +159,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogSubmitButtonDisabledWhenInvalidInput() {
// Arrange
composeTestRule.setContent {
@@ -183,7 +174,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogResetClick() {
// Arrange
val mockedClickHandler: () -> Unit = mockk(relaxed = true)
@@ -203,7 +193,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testMtuDialogCancelClick() {
// Arrange
val mockedClickHandler: () -> Unit = mockk(relaxed = true)
@@ -223,7 +212,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testCustomDnsAddressesAndAddButtonVisibleWhenCustomDnsEnabled() {
// Arrange
composeTestRule.setContent {
@@ -255,7 +243,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testCustomDnsAddressesAndAddButtonNotVisibleWhenCustomDnsDisabled() {
// Arrange
composeTestRule.setContent {
@@ -277,7 +264,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testLanWarningNotShownWhenLanTrafficEnabledAndLocalAddressIsUsed() {
// Arrange
composeTestRule.setContent {
@@ -298,7 +284,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testLanWarningNotShowedWhenLanTrafficDisabledAndLocalAddressIsNotUsed() {
// Arrange
composeTestRule.setContent {
@@ -319,7 +304,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testLanWarningNotShowedWhenLanTrafficEnabledAndLocalAddressIsNotUsed() {
// Arrange
composeTestRule.setContent {
@@ -340,7 +324,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testLanWarningShowedWhenAllowLanEnabledAndLocalDnsAddressIsUsed() {
// Arrange
composeTestRule.setContent {
@@ -366,7 +349,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testClickAddDns() {
// Arrange
val mockedClickHandler: (Int?) -> Unit = mockk(relaxed = true)
@@ -389,7 +371,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testShowDnsDialogForNewDnsServer() {
// Arrange
composeTestRule.setContent {
@@ -410,7 +391,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testShowDnsDialogForUpdatingDnsServer() {
// Arrange
composeTestRule.setContent {
@@ -432,7 +412,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogLanWarningShownWhenLanTrafficDisabledAndLocalAddressUsed() {
// Arrange
composeTestRule.setContent {
@@ -455,7 +434,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogLanWarningNotShownWhenLanTrafficEnabledAndLocalAddressUsed() {
// Arrange
composeTestRule.setContent {
@@ -478,7 +456,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogLanWarningNotShownWhenLanTrafficEnabledAndNonLocalAddressUsed() {
// Arrange
composeTestRule.setContent {
@@ -501,7 +478,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogLanWarningNotShownWhenLanTrafficDisabledAndNonLocalAddressUsed() {
// Arrange
composeTestRule.setContent {
@@ -524,7 +500,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogSubmitButtonDisabledOnInvalidDnsAddress() {
// Arrange
composeTestRule.setContent {
@@ -546,7 +521,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testDnsDialogSubmitButtonDisabledOnDuplicateDnsAddress() {
// Arrange
composeTestRule.setContent {
@@ -568,7 +542,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testShowSelectedTunnelQuantumOption() {
// Arrange
composeTestRule.setContent {
@@ -589,7 +562,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testSelectTunnelQuantumOption() {
// Arrange
val mockSelectQuantumResistantSettingListener: (QuantumResistantState) -> Unit =
@@ -618,7 +590,6 @@ class VpnSettingsScreenTest {
}
@Test
- @OptIn(ExperimentalMaterialApi::class)
fun testShowTunnelQuantumInfo() {
// Arrange
composeTestRule.setContent {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/BaseCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/BaseCell.kt
index afc21a8e1f..6025abb281 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/BaseCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/BaseCell.kt
@@ -11,8 +11,8 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Text
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/DnsCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/DnsCell.kt
index 603c2f60df..81b9195498 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/DnsCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/DnsCell.kt
@@ -2,8 +2,8 @@ package net.mullvad.mullvadvpn.compose.cell
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Icon
-import androidx.compose.material.Text
+import androidx.compose.material3.Icon
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ExpandableComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ExpandableComposeCell.kt
index c845db3ff6..70b975bd98 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ExpandableComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ExpandableComposeCell.kt
@@ -6,7 +6,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Icon
+import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/InformationComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/InformationComposeCell.kt
index 21a3af926e..283aa17591 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/InformationComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/InformationComposeCell.kt
@@ -5,7 +5,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Icon
+import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/MtuComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/MtuComposeCell.kt
index b7fe9ee7a1..d390bb20e5 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/MtuComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/MtuComposeCell.kt
@@ -3,8 +3,8 @@ package net.mullvad.mullvadvpn.compose.cell
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth as wrapContentWidth1
-import androidx.compose.material.Text
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/NavigationComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/NavigationComposeCell.kt
index 87ef0cbfe5..fb8a5e89d1 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/NavigationComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/NavigationComposeCell.kt
@@ -3,7 +3,7 @@ package net.mullvad.mullvadvpn.compose.cell
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Text
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
index 196ae9c89d..2a47581056 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/RelayLocationCell.kt
@@ -15,8 +15,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.shape.CircleShape
-import androidx.compose.material.Text
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
index 9c81d24b39..50756ef32e 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SwitchComposeCell.kt
@@ -5,9 +5,9 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Icon
-import androidx.compose.material.Text
+import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Button.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Button.kt
index f8c7127d1a..e3885078fd 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Button.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Button.kt
@@ -4,9 +4,10 @@ import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonColors
-import androidx.compose.material.Text
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonColors
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.dimensionResource
@@ -37,7 +38,8 @@ fun ActionButton(
minHeight = dimensionResource(id = R.dimen.button_height)
)
.fillMaxWidth(),
- colors = colors
+ colors = colors,
+ shape = MaterialTheme.shapes.small
) {
Text(
text = text,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Chevron.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Chevron.kt
index 49546aa8f4..b348ca733f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Chevron.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Chevron.kt
@@ -6,9 +6,7 @@ import androidx.compose.animation.core.tween
import androidx.compose.foundation.Image
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.rotate
import androidx.compose.ui.res.painterResource
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CollapsingTopBar.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CollapsingTopBar.kt
index 9a9b852013..f6679f2c58 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CollapsingTopBar.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CollapsingTopBar.kt
@@ -10,9 +10,10 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -73,8 +74,9 @@ fun CollapsingTopBar(
colors =
ButtonDefaults.buttonColors(
contentColor = Color.White,
- backgroundColor = MullvadDarkBlue
- )
+ containerColor = MullvadDarkBlue
+ ),
+ shape = MaterialTheme.shapes.small
) {
Image(
painter = painterResource(id = backIcon ?: R.drawable.icon_back),
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt
index f31e9052dd..8f1196bddf 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt
@@ -13,9 +13,9 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
-import androidx.compose.material.CircularProgressIndicator
-import androidx.compose.material.Text
+import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Text.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Text.kt
index cfa999194e..9f8527a021 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Text.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Text.kt
@@ -1,7 +1,7 @@
package net.mullvad.mullvadvpn.compose.component
-import androidx.compose.material.LocalTextStyle
-import androidx.compose.material.Text
+import androidx.compose.material3.LocalTextStyle
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
index 4395f1b0cf..3e42faba80 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
@@ -8,7 +8,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
-import androidx.compose.material.Icon
+import androidx.compose.material3.Icon
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/ChangelogDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/ChangelogDialog.kt
index cca158c3c0..27cc1c221b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/ChangelogDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/ChangelogDialog.kt
@@ -5,10 +5,11 @@ import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
-import androidx.compose.material.AlertDialog
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -50,7 +51,7 @@ fun ChangelogDialog(changesList: List<String>, version: String, onDismiss: () ->
changesList.forEach { changeItem -> ChangeListItem(text = changeItem) }
}
},
- buttons = {
+ confirmButton = {
Button(
modifier =
Modifier.wrapContentHeight()
@@ -59,10 +60,11 @@ fun ChangelogDialog(changesList: List<String>, version: String, onDismiss: () ->
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = colorResource(id = R.color.blue),
+ containerColor = colorResource(id = R.color.blue),
contentColor = colorResource(id = R.color.white)
),
- onClick = { onDismiss() }
+ onClick = { onDismiss() },
+ shape = MaterialTheme.shapes.small
) {
Text(
text = stringResource(R.string.changes_dialog_dismiss_button),
@@ -75,7 +77,7 @@ fun ChangelogDialog(changesList: List<String>, version: String, onDismiss: () ->
dismissOnClickOutside = true,
dismissOnBackPress = true,
),
- backgroundColor = colorResource(id = R.color.darkBlue)
+ containerColor = colorResource(id = R.color.darkBlue)
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeviceRemovalDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeviceRemovalDialog.kt
index e83a4a42ac..4d962d5e89 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeviceRemovalDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeviceRemovalDialog.kt
@@ -8,15 +8,16 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
-import androidx.compose.material.AlertDialog
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
-import androidx.compose.ui.focus.focusOrder
+import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.dimensionResource
@@ -63,47 +64,48 @@ fun ShowDeviceRemovalDialog(viewModel: DeviceListViewModel, device: Device) {
HtmlText(htmlFormattedString = htmlFormattedDialogText, textSize = 16.sp.value)
},
- buttons = {
- Column(Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp)) {
- Button(
- modifier =
- Modifier.height(dimensionResource(id = R.dimen.button_height))
- .defaultMinSize(
- minWidth = 0.dp,
- minHeight = dimensionResource(id = R.dimen.button_height)
- )
- .fillMaxWidth(),
- colors =
- ButtonDefaults.buttonColors(
- backgroundColor = colorResource(id = R.color.red),
- contentColor = Color.White
- ),
- onClick = { viewModel.confirmRemovalOfStagedDevice() }
- ) {
- Text(text = stringResource(id = R.string.confirm_removal), fontSize = 18.sp)
- }
- Button(
- contentPadding = PaddingValues(0.dp),
- modifier =
- Modifier.focusOrder(FocusRequester())
- .padding(top = 16.dp)
- .height(dimensionResource(id = R.dimen.button_height))
- .defaultMinSize(
- minWidth = 0.dp,
- minHeight = dimensionResource(id = R.dimen.button_height)
- )
- .fillMaxWidth(),
- colors =
- ButtonDefaults.buttonColors(
- backgroundColor = colorResource(id = R.color.blue),
- contentColor = Color.White
- ),
- onClick = { viewModel.clearStagedDevice() }
- ) {
- Text(text = stringResource(id = R.string.back), fontSize = 18.sp)
- }
+ dismissButton = {
+ Button(
+ modifier =
+ Modifier.height(dimensionResource(id = R.dimen.button_height))
+ .defaultMinSize(
+ minWidth = 0.dp,
+ minHeight = dimensionResource(id = R.dimen.button_height)
+ )
+ .fillMaxWidth(),
+ colors =
+ ButtonDefaults.buttonColors(
+ containerColor = colorResource(id = R.color.red),
+ contentColor = Color.White
+ ),
+ onClick = { viewModel.confirmRemovalOfStagedDevice() },
+ shape = MaterialTheme.shapes.small
+ ) {
+ Text(text = stringResource(id = R.string.confirm_removal), fontSize = 18.sp)
+ }
+ },
+ confirmButton = {
+ Button(
+ contentPadding = PaddingValues(0.dp),
+ modifier =
+ Modifier.focusRequester(FocusRequester())
+ .height(dimensionResource(id = R.dimen.button_height))
+ .defaultMinSize(
+ minWidth = 0.dp,
+ minHeight = dimensionResource(id = R.dimen.button_height)
+ )
+ .fillMaxWidth(),
+ colors =
+ ButtonDefaults.buttonColors(
+ containerColor = colorResource(id = R.color.blue),
+ contentColor = Color.White
+ ),
+ onClick = { viewModel.clearStagedDevice() },
+ shape = MaterialTheme.shapes.small
+ ) {
+ Text(text = stringResource(id = R.string.back), fontSize = 18.sp)
}
},
- backgroundColor = colorResource(id = R.color.darkBlue)
+ containerColor = colorResource(id = R.color.darkBlue)
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt
index 1f72107eed..ad2c80d2ae 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt
@@ -9,9 +9,10 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentSize
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
@@ -127,13 +128,14 @@ fun DnsDialog(
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = MullvadWhite,
disabledContentColor = MullvadWhite60,
- disabledBackgroundColor = MullvadWhite20
+ disabledContainerColor = MullvadWhite20
),
onClick = { onAttemptToSave() },
- enabled = stagedDns.isValid()
+ enabled = stagedDns.isValid(),
+ shape = MaterialTheme.shapes.small
) {
Text(
text = stringResource(id = R.string.submit_button),
@@ -150,10 +152,11 @@ fun DnsDialog(
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = MullvadWhite
),
- onClick = { onRemove() }
+ onClick = { onRemove() },
+ shape = MaterialTheme.shapes.small
) {
Text(
text = stringResource(id = R.string.remove_button),
@@ -170,10 +173,11 @@ fun DnsDialog(
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = Color.White
),
- onClick = { onDismiss() }
+ onClick = { onDismiss() },
+ shape = MaterialTheme.shapes.small
) {
Text(text = stringResource(id = R.string.cancel), fontSize = textMediumSize)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/InfoDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/InfoDialog.kt
index b7a6e4ba0d..dd52abc492 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/InfoDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/InfoDialog.kt
@@ -6,11 +6,12 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
-import androidx.compose.material.AlertDialog
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Icon
-import androidx.compose.material.Text
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -77,7 +78,7 @@ fun InfoDialog(message: String, additionalInfo: String? = null, onDismiss: () ->
}
}
},
- buttons = {
+ confirmButton = {
Button(
modifier =
Modifier.wrapContentHeight()
@@ -86,10 +87,11 @@ fun InfoDialog(message: String, additionalInfo: String? = null, onDismiss: () ->
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = colorResource(id = R.color.blue),
+ containerColor = colorResource(id = R.color.blue),
contentColor = colorResource(id = R.color.white)
),
- onClick = { onDismiss() }
+ onClick = { onDismiss() },
+ shape = MaterialTheme.shapes.small
) {
Text(
text = stringResource(R.string.changes_dialog_dismiss_button),
@@ -102,6 +104,6 @@ fun InfoDialog(message: String, additionalInfo: String? = null, onDismiss: () ->
dismissOnClickOutside = true,
dismissOnBackPress = true,
),
- backgroundColor = colorResource(id = R.color.darkBlue)
+ containerColor = colorResource(id = R.color.darkBlue)
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialog.kt
index d5dbde3ab0..fe04575de2 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialog.kt
@@ -9,9 +9,10 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentSize
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
@@ -114,13 +115,14 @@ fun MtuDialog(
Modifier.padding(top = mediumPadding).height(buttonSize).fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = MullvadWhite,
disabledContentColor = MullvadWhite60,
- disabledBackgroundColor = MullvadWhite20
+ disabledContainerColor = MullvadWhite20
),
enabled = isValidMtu,
- onClick = { onSave() }
+ onClick = { onSave() },
+ shape = MaterialTheme.shapes.small
) {
Text(text = stringResource(R.string.submit_button), fontSize = textMediumSize)
}
@@ -133,10 +135,11 @@ fun MtuDialog(
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = MullvadWhite
),
- onClick = { onRestoreDefaultValue() }
+ onClick = { onRestoreDefaultValue() },
+ shape = MaterialTheme.shapes.small
) {
Text(
text = stringResource(R.string.reset_to_default_button),
@@ -152,10 +155,11 @@ fun MtuDialog(
.fillMaxWidth(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = Color.White
),
- onClick = { onDismiss() }
+ onClick = { onDismiss() },
+ shape = MaterialTheme.shapes.small
) {
Text(text = stringResource(R.string.cancel), fontSize = textMediumSize)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/extensions/LazyListExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/extensions/LazyListExtensions.kt
index 383b745746..ddddd6c078 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/extensions/LazyListExtensions.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/extensions/LazyListExtensions.kt
@@ -2,7 +2,7 @@ package net.mullvad.mullvadvpn.compose.extensions
import androidx.compose.foundation.lazy.LazyItemScope
import androidx.compose.foundation.lazy.LazyListScope
-import androidx.compose.material.Divider
+import androidx.compose.material3.Divider
import androidx.compose.runtime.Composable
inline fun LazyListScope.itemWithDivider(
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 70082e9f3a..d2bc588443 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
@@ -13,9 +13,9 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
@@ -174,8 +174,8 @@ fun DeviceListScreen(
isEnabled = state.hasTooManyDevices.not() && state.isLoading.not(),
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadGreen,
- disabledBackgroundColor = MullvadGreen40,
+ containerColor = MullvadGreen,
+ disabledContainerColor = MullvadGreen40,
disabledContentColor = MullvadWhite80,
contentColor = MullvadWhite
)
@@ -186,7 +186,7 @@ fun DeviceListScreen(
onClick = onBackClick,
colors =
ButtonDefaults.buttonColors(
- backgroundColor = MullvadBlue,
+ containerColor = MullvadBlue,
contentColor = MullvadWhite
),
modifier = Modifier.padding(top = 16.dp)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt
index dcbc32befb..242494ba1a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt
@@ -8,8 +8,8 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
@@ -99,7 +99,7 @@ fun DeviceRevokedScreen(deviceRevokedViewModel: DeviceRevokedViewModel) {
colors =
ButtonDefaults.buttonColors(
contentColor = Color.White,
- backgroundColor =
+ containerColor =
colorResource(
if (state == DeviceRevokedUiState.SECURED) {
R.color.red60
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoadingScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoadingScreen.kt
index 0189fc4df6..48d86fd2f8 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoadingScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoadingScreen.kt
@@ -9,7 +9,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
-import androidx.compose.material.Text
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/PrivacyDisclaimerScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/PrivacyDisclaimerScreen.kt
index 7c1cfdcf1a..b932a63686 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/PrivacyDisclaimerScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/PrivacyDisclaimerScreen.kt
@@ -10,8 +10,8 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.ClickableText
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Text
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -105,7 +105,7 @@ fun PrivacyDisclaimerScreen(
colors =
ButtonDefaults.buttonColors(
contentColor = Color.White,
- backgroundColor = colorResource(R.color.blue)
+ containerColor = colorResource(R.color.blue)
)
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
index 83e0ea5921..735c9464dc 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
@@ -13,10 +13,9 @@ import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.lazy.rememberLazyListState
-import androidx.compose.material.Divider
-import androidx.compose.material.ExperimentalMaterialApi
-import androidx.compose.material.Text
+import androidx.compose.material3.Divider
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
@@ -77,7 +76,6 @@ import net.mullvad.mullvadvpn.model.QuantumResistantState
import net.mullvad.mullvadvpn.model.SelectedObfuscation
import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem
-@OptIn(ExperimentalMaterialApi::class)
@Preview
@Composable
private fun PreviewVpnSettings() {
@@ -125,7 +123,6 @@ private fun PreviewVpnSettings() {
}
@OptIn(ExperimentalFoundationApi::class)
-@ExperimentalMaterialApi
@Composable
fun VpnSettingsScreen(
lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/textfield/CustomTextField.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/textfield/CustomTextField.kt
index 4b3138b7ea..2eeffce8dd 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/textfield/CustomTextField.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/textfield/CustomTextField.kt
@@ -12,7 +12,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
-import androidx.compose.material.Text
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/theme/Theme.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/theme/Theme.kt
index 527f9430f9..c2cc862b8d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/theme/Theme.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/theme/Theme.kt
@@ -9,6 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.TextUnit
@@ -61,14 +62,16 @@ private val MullvadColorPalette =
onPrimary = MullvadWhite,
onSecondary = MullvadWhite60,
inversePrimary = MullvadGreen,
- error = MullvadRed
+ error = MullvadRed,
+ outlineVariant = Color.Transparent // Used by divider
)
val Shapes =
Shapes(
small = RoundedCornerShape(4.dp),
medium = RoundedCornerShape(4.dp),
- large = RoundedCornerShape(0.dp)
+ large = RoundedCornerShape(0.dp),
+ extraLarge = RoundedCornerShape(4.dp)
)
val Dimens: Dimensions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
index 6f689ff2c4..f90186e548 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
@@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.platform.ComposeView
import net.mullvad.mullvadvpn.R
@@ -16,7 +15,6 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
class VpnSettingsFragment : BaseFragment() {
private val vm by viewModel<VpnSettingsViewModel>()
- @OptIn(ExperimentalMaterialApi::class)
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,