summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-07-28 14:21:01 +0200
committerAlbin <albin@mullvad.net>2022-07-29 13:01:20 +0200
commitcf5e29771c3e2baa1f19c9a135d247c51e449c15 (patch)
tree3f61d81e0820af6bec13d9b2dc0f8f3f01ff4daa
parent732c8925964aa7bb46f8beecec966a3dc1b9dc35 (diff)
downloadmullvadvpn-cf5e29771c3e2baa1f19c9a135d247c51e449c15.tar.xz
mullvadvpn-cf5e29771c3e2baa1f19c9a135d247c51e449c15.zip
Add loading capability to list item
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/List.kt13
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt1
2 files changed, 13 insertions, 1 deletions
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 dcac2be044..3babb29a21 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
@@ -8,6 +8,8 @@ import androidx.compose.foundation.layout.Box
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.CircularProgressIndicator
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
@@ -22,6 +24,7 @@ import net.mullvad.mullvadvpn.R
@Composable
fun ListItem(
text: String,
+ isLoading: Boolean,
@DrawableRes iconResourceId: Int? = null,
onClick: () -> Unit
) {
@@ -50,7 +53,15 @@ fun ListItem(
.align(Alignment.CenterEnd)
.padding(horizontal = 12.dp)
) {
- if (iconResourceId != null) {
+ if (isLoading) {
+ CircularProgressIndicator(
+ strokeWidth = 3.dp,
+ color = Color.White,
+ modifier = Modifier
+ .height(24.dp)
+ .width(24.dp)
+ )
+ } else if (iconResourceId != null) {
Image(
painter = painterResource(id = iconResourceId),
contentDescription = "Remove",
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 5d3e028d59..374f2f7275 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
@@ -144,6 +144,7 @@ fun DeviceListScreen(
state.devices.forEach { device ->
ListItem(
text = device.name.capitalizeFirstCharOfEachWord(),
+ isLoading = false,
iconResourceId = R.drawable.icon_close
) {
viewModel.stageDeviceForRemoval(device)