summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-05-14 17:11:28 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-05-15 13:23:27 +0200
commit0ff8188be0b1506cb859c137367ab50958dc6193 (patch)
tree7ee2a45611331159fb2170f07898486b031af0c1
parentd42a97b1628eab8207f48e28a9e660632ee4bf5f (diff)
downloadmullvadvpn-0ff8188be0b1506cb859c137367ab50958dc6193.tar.xz
mullvadvpn-0ff8188be0b1506cb859c137367ab50958dc6193.zip
Fix fail & success icon size
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CircularProgressIndicator.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/SaveApiAccessMethodDialog.kt12
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/payment/PaymentDialog.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt22
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreen.kt92
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/OutOfTimeScreen.kt49
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt10
-rw-r--r--android/lib/resource/src/main/res/drawable/icon_fail.xml18
-rw-r--r--android/lib/resource/src/main/res/drawable/icon_success.xml19
10 files changed, 93 insertions, 138 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CircularProgressIndicator.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CircularProgressIndicator.kt
index 8d3def6425..aae37c3f0b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CircularProgressIndicator.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/CircularProgressIndicator.kt
@@ -41,6 +41,7 @@ fun MullvadCircularProgressIndicatorLarge(
) {
CircularProgressIndicator(
modifier
+ .padding(Dimens.tinyPadding)
.size(Dimens.circularProgressBarLargeSize)
.testTag(CIRCULAR_PROGRESS_INDICATOR_TEST_TAG),
color,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/SaveApiAccessMethodDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/SaveApiAccessMethodDialog.kt
index a700c6cdec..528956286c 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/SaveApiAccessMethodDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/SaveApiAccessMethodDialog.kt
@@ -20,7 +20,7 @@ import com.ramcosta.composedestinations.result.ResultBackNavigator
import com.ramcosta.composedestinations.spec.DestinationStyle
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.button.PrimaryButton
-import net.mullvad.mullvadvpn.compose.component.MullvadCircularProgressIndicatorMedium
+import net.mullvad.mullvadvpn.compose.component.MullvadCircularProgressIndicatorLarge
import net.mullvad.mullvadvpn.compose.preview.SaveApiAccessMethodUiStatePreviewParameterProvider
import net.mullvad.mullvadvpn.compose.state.SaveApiAccessMethodUiState
import net.mullvad.mullvadvpn.compose.state.TestApiAccessMethodState
@@ -90,18 +90,14 @@ fun SaveApiAccessMethodDialog(
painter =
painterResource(
id =
- if (
- testingState is TestApiAccessMethodState.Result.Successful
- ) {
+ if (testingState is TestApiAccessMethodState.Result.Successful)
R.drawable.icon_success
- } else {
- R.drawable.icon_fail
- }
+ else R.drawable.icon_fail
),
contentDescription = null,
)
TestApiAccessMethodState.Testing ->
- MullvadCircularProgressIndicatorMedium(
+ MullvadCircularProgressIndicatorLarge(
modifier = Modifier.testTag(SAVE_API_ACCESS_METHOD_LOADING_SPINNER_TEST_TAG)
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/payment/PaymentDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/payment/PaymentDialog.kt
index 9e64e0f037..bf9de7e449 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/payment/PaymentDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/payment/PaymentDialog.kt
@@ -19,7 +19,7 @@ import com.ramcosta.composedestinations.result.ResultBackNavigator
import com.ramcosta.composedestinations.spec.DestinationStyle
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.button.PrimaryButton
-import net.mullvad.mullvadvpn.compose.component.MullvadCircularProgressIndicatorMedium
+import net.mullvad.mullvadvpn.compose.component.MullvadCircularProgressIndicatorLarge
import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle
import net.mullvad.mullvadvpn.lib.payment.model.ProductId
import net.mullvad.mullvadvpn.lib.theme.AppTheme
@@ -169,7 +169,7 @@ fun PaymentDialog(
painter = painterResource(id = R.drawable.icon_fail),
contentDescription = null,
)
- PaymentDialogIcon.LOADING -> MullvadCircularProgressIndicatorMedium()
+ PaymentDialogIcon.LOADING -> MullvadCircularProgressIndicatorLarge()
else -> {}
}
},
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 9d0310e60c..f711938bca 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
@@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
@@ -145,11 +144,15 @@ fun DeviceListScreen(
onAccountClicked = null,
snackbarHostState = snackbarHostState,
) {
- Column(modifier = Modifier.fillMaxSize().padding(it)) {
+ Column(
+ modifier =
+ Modifier.fillMaxSize().padding(it).padding(bottom = Dimens.screenBottomMargin)
+ ) {
val scrollState = rememberScrollState()
Column(
modifier =
Modifier.drawVerticalScrollbar(scrollState, MaterialTheme.colorScheme.onSurface)
+ .padding(top = Dimens.screenTopMargin)
.verticalScroll(scrollState)
.weight(1f)
.fillMaxWidth()
@@ -221,25 +224,17 @@ private fun ColumnScope.DeviceListHeader(state: DeviceListUiState) {
}
),
contentDescription = null, // No meaningful user info or action.
- modifier =
- Modifier.align(Alignment.CenterHorizontally)
- .padding(top = Dimens.iconFailSuccessTopMargin)
- .size(Dimens.bigIconSize),
+ modifier = Modifier.align(Alignment.CenterHorizontally),
)
is DeviceListUiState.Error ->
Image(
painter = painterResource(id = R.drawable.icon_fail),
contentDescription = null, // No meaningful user info or action.
- modifier =
- Modifier.align(Alignment.CenterHorizontally)
- .padding(top = Dimens.iconFailSuccessTopMargin)
- .size(Dimens.bigIconSize),
+ modifier = Modifier.align(Alignment.CenterHorizontally),
)
DeviceListUiState.Loading ->
MullvadCircularProgressIndicatorLarge(
- modifier =
- Modifier.align(Alignment.CenterHorizontally)
- .padding(top = Dimens.iconFailSuccessTopMargin)
+ modifier = Modifier.align(Alignment.CenterHorizontally)
)
}
@@ -301,7 +296,6 @@ private fun DeviceListButtonPanel(
start = Dimens.sideMargin,
end = Dimens.sideMargin,
top = Dimens.spacingAboveButton,
- bottom = Dimens.screenBottomMargin,
)
) {
VariantButton(
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 966e7fd57b..4ab0fba693 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
@@ -3,21 +3,22 @@ package net.mullvad.mullvadvpn.compose.screen
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
+import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
-import androidx.compose.ui.unit.dp
-import androidx.constraintlayout.compose.ConstraintLayout
-import androidx.constraintlayout.compose.Dimension
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.compose.dropUnlessResumed
import com.ramcosta.composedestinations.annotation.Destination
@@ -29,11 +30,13 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.compose.button.DeviceRevokedLoginButton
import net.mullvad.mullvadvpn.compose.component.ScaffoldWithTopBar
+import net.mullvad.mullvadvpn.compose.component.drawVerticalScrollbar
import net.mullvad.mullvadvpn.compose.preview.DeviceRevokedUiStatePreviewParameterProvider
import net.mullvad.mullvadvpn.compose.state.DeviceRevokedUiState
import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle
import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.lib.theme.Dimens
+import net.mullvad.mullvadvpn.lib.theme.color.AlphaScrollbar
import net.mullvad.mullvadvpn.viewmodel.DeviceRevokedSideEffect
import net.mullvad.mullvadvpn.viewmodel.DeviceRevokedViewModel
import org.koin.androidx.compose.koinViewModel
@@ -84,75 +87,62 @@ fun DeviceRevokedScreen(
MaterialTheme.colorScheme.error
}
+ val scrollState = rememberScrollState()
ScaffoldWithTopBar(
topBarColor = topColor,
onSettingsClicked = onSettingsClicked,
onAccountClicked = null,
) {
- ConstraintLayout(
+ Column(
modifier =
Modifier.fillMaxSize()
.padding(it)
+ .padding(
+ top = Dimens.screenTopMargin,
+ bottom = Dimens.screenBottomMargin,
+ start = Dimens.screenTopMargin,
+ end = Dimens.sideMargin,
+ )
+ .verticalScroll(scrollState)
+ .drawVerticalScrollbar(
+ state = scrollState,
+ color = MaterialTheme.colorScheme.onSurface.copy(alpha = AlphaScrollbar),
+ )
.background(color = MaterialTheme.colorScheme.surface)
) {
- val (icon, body, actionButtons) = createRefs()
-
Image(
painter = painterResource(id = R.drawable.icon_fail),
- contentDescription = null, // No meaningful user info or action.
+ contentDescription = null,
modifier =
- Modifier.constrainAs(icon) {
- top.linkTo(parent.top, margin = 30.dp)
- start.linkTo(parent.start)
- end.linkTo(parent.end)
- }
- .padding(horizontal = 12.dp)
- .size(Dimens.bigIconSize),
+ Modifier.align(Alignment.CenterHorizontally)
+ .padding(bottom = Dimens.mediumSpacer),
+ )
+ Text(
+ text = stringResource(id = R.string.device_inactive_title),
+ style = MaterialTheme.typography.headlineLarge,
+ color = MaterialTheme.colorScheme.onSurface,
)
- Column(
- modifier =
- Modifier.constrainAs(body) {
- top.linkTo(icon.bottom, margin = 22.dp)
- start.linkTo(parent.start, margin = 22.dp)
- end.linkTo(parent.end, margin = 22.dp)
- width = Dimension.fillToConstraints
- }
- ) {
- Text(
- text = stringResource(id = R.string.device_inactive_title),
- style = MaterialTheme.typography.headlineLarge,
- color = MaterialTheme.colorScheme.onSurface,
- )
+ Text(
+ text = stringResource(id = R.string.device_inactive_description),
+ style = MaterialTheme.typography.bodySmall,
+ color = MaterialTheme.colorScheme.onSurface,
+ modifier = Modifier.padding(top = Dimens.smallPadding),
+ )
+ if (state == DeviceRevokedUiState.SECURED) {
Text(
- text = stringResource(id = R.string.device_inactive_description),
+ text = stringResource(id = R.string.device_inactive_unblock_warning),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurface,
- modifier = Modifier.padding(top = 10.dp),
+ modifier = Modifier.padding(top = Dimens.mediumPadding),
)
-
- if (state == DeviceRevokedUiState.SECURED) {
- Text(
- text = stringResource(id = R.string.device_inactive_unblock_warning),
- style = MaterialTheme.typography.bodySmall,
- color = MaterialTheme.colorScheme.onSurface,
- modifier = Modifier.padding(top = 10.dp),
- )
- }
}
- Column(
- modifier =
- Modifier.constrainAs(actionButtons) {
- bottom.linkTo(parent.bottom, margin = 22.dp)
- start.linkTo(parent.start, margin = 22.dp)
- end.linkTo(parent.end, margin = 22.dp)
- width = Dimension.fillToConstraints
- }
- ) {
- DeviceRevokedLoginButton(onClick = onGoToLoginClicked, state = state)
- }
+ Spacer(modifier = Modifier.weight(1f).defaultMinSize(minHeight = Dimens.verticalSpace))
+
+ // Button area
+ DeviceRevokedLoginButton(onClick = onGoToLoginClicked, state = state)
}
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
index 021fba19d5..d07fad359f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
@@ -40,7 +40,6 @@ import androidx.compose.ui.autofill.ContentType
import androidx.compose.ui.draw.clip
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusProperties
-import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
@@ -320,14 +319,13 @@ private fun ColumnScope.LoginInput(
@Composable
private fun LoginIcon(loginState: LoginState, modifier: Modifier = Modifier) {
- Box(contentAlignment = Alignment.Center, modifier = modifier.size(Dimens.bigIconSize)) {
+ Box(contentAlignment = Alignment.Center, modifier = modifier) {
when (loginState) {
is Idle ->
if (loginState.loginError != null) {
Image(
painter = painterResource(id = R.drawable.icon_fail),
contentDescription = stringResource(id = R.string.login_fail_title),
- contentScale = ContentScale.Inside,
)
} else {
// If view is Idle, we display empty box to keep the same size as other states
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/OutOfTimeScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/OutOfTimeScreen.kt
index 522c2f99c7..83febe7ea3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/OutOfTimeScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/OutOfTimeScreen.kt
@@ -2,12 +2,12 @@ package net.mullvad.mullvadvpn.compose.screen
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.MaterialTheme
@@ -171,6 +171,12 @@ fun OutOfTimeScreen(
modifier =
Modifier.fillMaxSize()
.padding(it)
+ .padding(
+ top = Dimens.screenTopMargin,
+ start = Dimens.sideMargin,
+ end = Dimens.sideMargin,
+ bottom = Dimens.screenBottomMargin,
+ )
.verticalScroll(scrollState)
.drawVerticalScrollbar(
state = scrollState,
@@ -183,16 +189,13 @@ fun OutOfTimeScreen(
contentDescription = null,
modifier =
Modifier.align(Alignment.CenterHorizontally)
- .padding(vertical = Dimens.screenTopMargin)
- .size(Dimens.bigIconSize),
+ .padding(bottom = Dimens.mediumSpacer),
)
Text(
text = stringResource(id = R.string.out_of_time),
style = MaterialTheme.typography.headlineLarge,
color = MaterialTheme.colorScheme.onSurface,
- modifier =
- Modifier.padding(horizontal = Dimens.sideMargin)
- .testTag(OUT_OF_TIME_SCREEN_TITLE_TEST_TAG),
+ modifier = Modifier.testTag(OUT_OF_TIME_SCREEN_TITLE_TEST_TAG),
)
Text(
text =
@@ -205,12 +208,7 @@ fun OutOfTimeScreen(
},
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurface,
- modifier =
- Modifier.padding(
- top = Dimens.mediumPadding,
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- ),
+ modifier = Modifier.padding(top = Dimens.mediumPadding),
)
Spacer(modifier = Modifier.weight(1f).defaultMinSize(minHeight = Dimens.verticalSpace))
// Button area
@@ -237,17 +235,11 @@ private fun ButtonPanel(
navigateToVerificationPendingDialog: () -> Unit,
) {
- Column {
+ Column(verticalArrangement = Arrangement.spacedBy(Dimens.buttonSpacing)) {
if (state.tunnelState.isSecured()) {
NegativeButton(
onClick = onDisconnectClick,
text = stringResource(id = R.string.disconnect),
- modifier =
- Modifier.padding(
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- bottom = Dimens.buttonSpacing,
- ),
)
}
state.billingPaymentState?.let {
@@ -257,35 +249,16 @@ private fun ButtonPanel(
onPurchaseBillingProductClick(productId)
},
onInfoClick = navigateToVerificationPendingDialog,
- modifier =
- Modifier.padding(
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- bottom = Dimens.buttonSpacing,
- )
- .align(Alignment.CenterHorizontally),
)
}
if (state.showSitePayment) {
SitePaymentButton(
onClick = onSitePaymentClick,
isEnabled = state.tunnelState.enableSitePaymentButton(),
- modifier =
- Modifier.padding(
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- bottom = Dimens.buttonSpacing,
- ),
)
}
RedeemVoucherButton(
onClick = onRedeemVoucherClick,
- modifier =
- Modifier.padding(
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- bottom = Dimens.screenBottomMargin,
- ),
isEnabled = state.tunnelState.enableRedeemButton(),
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
index 06ed29e298..207e5cfc26 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
@@ -242,7 +242,7 @@ fun ProblemMessageTextField(
@Composable
private fun ColumnScope.SendingContent() {
MullvadCircularProgressIndicatorLarge(modifier = Modifier.align(Alignment.CenterHorizontally))
- Spacer(modifier = Modifier.height(Dimens.problemReportIconToTitlePadding))
+ Spacer(modifier = Modifier.height(Dimens.mediumSpacer))
Text(
text = stringResource(id = R.string.sending),
style = MaterialTheme.typography.headlineLarge,
@@ -256,11 +256,11 @@ private fun ColumnScope.SentContent(sendingState: SendingReportUiState.Success)
Icon(
painter = painterResource(id = R.drawable.icon_success),
contentDescription = stringResource(id = R.string.sent),
- modifier = Modifier.align(Alignment.CenterHorizontally).size(Dimens.dialogIconHeight),
+ modifier = Modifier.align(Alignment.CenterHorizontally),
tint = Color.Unspecified,
)
- Spacer(modifier = Modifier.height(Dimens.problemReportIconToTitlePadding))
+ Spacer(modifier = Modifier.height(Dimens.mediumSpacer))
Text(
text = stringResource(id = R.string.sent),
style = MaterialTheme.typography.headlineLarge,
@@ -310,10 +310,10 @@ private fun ColumnScope.ErrorContent(retry: () -> Unit, onDismiss: () -> Unit) {
Icon(
painter = painterResource(id = R.drawable.icon_fail),
contentDescription = stringResource(id = R.string.failed_to_send),
- modifier = Modifier.size(Dimens.dialogIconHeight).align(Alignment.CenterHorizontally),
+ modifier = Modifier.align(Alignment.CenterHorizontally),
tint = Color.Unspecified,
)
- Spacer(modifier = Modifier.height(Dimens.problemReportIconToTitlePadding))
+ Spacer(modifier = Modifier.height(Dimens.mediumSpacer))
Text(
text = stringResource(id = R.string.failed_to_send),
style = MaterialTheme.typography.headlineLarge,
diff --git a/android/lib/resource/src/main/res/drawable/icon_fail.xml b/android/lib/resource/src/main/res/drawable/icon_fail.xml
index 3f934a1300..efe8f0c89d 100644
--- a/android/lib/resource/src/main/res/drawable/icon_fail.xml
+++ b/android/lib/resource/src/main/res/drawable/icon_fail.xml
@@ -1,10 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="44dp"
- android:height="44dp"
- android:viewportWidth="44"
- android:viewportHeight="44">
- <path android:pathData="M22,22m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0"
- android:fillColor="#fff" />
- <path android:pathData="m25.147,22 l7.875,-7.872A2.225,2.225 0,0 0,29.875 10.982l-7.875,7.872L14.125,10.982A2.225,2.225 0,0 0,10.977 14.128l7.875,7.872 -7.875,7.871a2.225,2.225 0,0 0,3.147 3.146l7.875,-7.872 7.875,7.872a2.225,2.225 0,0 0,3.147 -3.146l-7.875,-7.872z"
- android:fillColor="#e34039" />
+ android:width="48dp"
+ android:height="48dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M24,44C35.046,44 44,35.046 44,24C44,12.954 35.046,4 24,4C12.954,4 4,12.954 4,24C4,35.046 12.954,44 24,44Z"
+ android:fillColor="#ffffff"/>
+ <path
+ android:pathData="M26.861,24L34.02,16.844C34.393,16.463 34.602,15.95 34.599,15.417C34.597,14.884 34.384,14.373 34.007,13.996C33.629,13.619 33.118,13.406 32.585,13.404C32.052,13.401 31.539,13.61 31.159,13.984L24,21.14L16.841,13.984C16.461,13.604 15.947,13.391 15.41,13.391C14.874,13.391 14.359,13.603 13.98,13.983C13.6,14.362 13.387,14.876 13.387,15.413C13.387,15.95 13.599,16.464 13.979,16.844L21.138,24L13.979,31.155C13.605,31.536 13.397,32.049 13.399,32.582C13.402,33.115 13.615,33.626 13.992,34.003C14.369,34.38 14.88,34.593 15.413,34.595C15.947,34.598 16.459,34.389 16.84,34.015L23.999,26.859L31.158,34.015C31.538,34.389 32.051,34.598 32.584,34.595C33.118,34.593 33.628,34.38 34.006,34.003C34.383,33.626 34.596,33.115 34.598,32.582C34.601,32.049 34.393,31.536 34.019,31.155L26.86,23.999L26.861,24Z"
+ android:fillColor="#E34039"/>
</vector>
diff --git a/android/lib/resource/src/main/res/drawable/icon_success.xml b/android/lib/resource/src/main/res/drawable/icon_success.xml
index 1b15d4c1c4..2f0cf6d924 100644
--- a/android/lib/resource/src/main/res/drawable/icon_success.xml
+++ b/android/lib/resource/src/main/res/drawable/icon_success.xml
@@ -1,11 +1,12 @@
-<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="44dp"
- android:height="44dp"
- android:viewportWidth="44.0"
- android:viewportHeight="44.0">
- <path android:fillColor="#fff"
- android:pathData="M22,22m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0" />
- <path android:fillColor="#44AD4D"
- android:pathData="M11.4142136,20.5857864 C10.633165,19.8047379 9.366835,19.8047379 8.5857864,20.5857864 C7.8047379,21.366835 7.8047379,22.633165 8.5857864,23.4142136 L16.5857864,31.4142136 C17.366835,32.1952621 18.633165,32.1952621 19.4142136,31.4142136 L35.4142136,15.4142136 C36.1952621,14.633165 36.1952621,13.366835 35.4142136,12.5857864 C34.633165,11.8047379 33.366835,11.8047379 32.5857864,12.5857864 L18,27.1715729 L11.4142136,20.5857864 Z" />
+ android:width="48dp"
+ android:height="48dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M24,44C35.046,44 44,35.046 44,24C44,12.954 35.046,4 24,4C12.954,4 4,12.954 4,24C4,35.046 12.954,44 24,44Z"
+ android:fillColor="#ffffff"/>
+ <path
+ android:pathData="M14.377,22.725C14.034,22.386 13.572,22.197 13.091,22.197C12.61,22.197 12.148,22.386 11.806,22.725C11.638,22.891 11.504,23.089 11.413,23.308C11.322,23.526 11.275,23.761 11.275,23.997C11.275,24.234 11.322,24.468 11.413,24.687C11.504,24.905 11.638,25.103 11.806,25.27L19.078,32.482C19.421,32.82 19.882,33.01 20.364,33.01C20.845,33.01 21.307,32.82 21.649,32.482L36.195,18.057C36.363,17.891 36.496,17.692 36.587,17.474C36.678,17.255 36.725,17.021 36.725,16.785C36.725,16.548 36.678,16.314 36.587,16.095C36.496,15.877 36.363,15.678 36.195,15.512C35.852,15.174 35.39,14.984 34.909,14.984C34.428,14.984 33.966,15.174 33.624,15.512L20.364,28.662L14.377,22.725Z"
+ android:fillColor="#44AD4D"/>
</vector>