From acc9225e94a3968f475e4fbfe01cc9367d5fb660 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 11:47:54 +0200 Subject: [PATCH 01/46] Add some debug composable to measure manually items on Preview. --- .../designsystem/ruler/HorizontalRuler.kt | 82 +++++++++++++++++++ .../designsystem/ruler/VerticalRuler.kt | 81 ++++++++++++++++++ .../designsystem/ruler/WithRulers.kt | 80 ++++++++++++++++++ 3 files changed, 243 insertions(+) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/HorizontalRuler.kt create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/VerticalRuler.kt create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/WithRulers.kt diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/HorizontalRuler.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/HorizontalRuler.kt new file mode 100644 index 0000000000..4bb5de7cb4 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/HorizontalRuler.kt @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.ruler + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight + +/** + * Horizontal ruler is a debug composable that displays a horizontal ruler. + * It can be used to display the horizontal ruler in the composable preview. + */ +@Composable +fun HorizontalRuler( + modifier: Modifier = Modifier, +) { + val baseColor = Color.Magenta + val alphaBaseColor = baseColor.copy(alpha = 0.2f) + Row(modifier = modifier.fillMaxWidth()) { + repeat(50) { + HorizontalRulerItem(1.dp, alphaBaseColor) + HorizontalRulerItem(2.dp, baseColor) + HorizontalRulerItem(1.dp, alphaBaseColor) + HorizontalRulerItem(2.dp, baseColor) + HorizontalRulerItem(5.dp, alphaBaseColor) + HorizontalRulerItem(2.dp, baseColor) + HorizontalRulerItem(1.dp, alphaBaseColor) + HorizontalRulerItem(2.dp, baseColor) + HorizontalRulerItem(1.dp, alphaBaseColor) + HorizontalRulerItem(10.dp, baseColor) + } + } +} + +@Composable +private fun HorizontalRulerItem(height: Dp, color: Color) { + Spacer( + modifier = Modifier + .size(height = height, width = 1.dp) + .background(color = color) + ) +} + +@Preview +@Composable +internal fun HorizontalRulerLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun HorizontalRulerDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + HorizontalRuler() +} + diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/VerticalRuler.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/VerticalRuler.kt new file mode 100644 index 0000000000..3557812fcd --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/VerticalRuler.kt @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.ruler + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight + +/** + * Vertical ruler is a debug composable that displays a vertical ruler. + * It can be used to display the vertical ruler in the composable preview. + */ +@Composable +fun VerticalRuler( + modifier: Modifier = Modifier, +) { + val baseColor = Color.Red + val alphaBaseColor = baseColor.copy(alpha = 0.2f) + Column(modifier = modifier.fillMaxHeight()) { + repeat(50) { + VerticalRulerItem(1.dp, alphaBaseColor) + VerticalRulerItem(2.dp, baseColor) + VerticalRulerItem(1.dp, alphaBaseColor) + VerticalRulerItem(2.dp, baseColor) + VerticalRulerItem(5.dp, alphaBaseColor) + VerticalRulerItem(2.dp, baseColor) + VerticalRulerItem(1.dp, alphaBaseColor) + VerticalRulerItem(2.dp, baseColor) + VerticalRulerItem(1.dp, alphaBaseColor) + VerticalRulerItem(10.dp, baseColor) + } + } +} + +@Composable +private fun VerticalRulerItem(width: Dp, color: Color) { + Spacer( + modifier = Modifier + .size(height = 1.dp, width = width) + .background(color = color) + ) +} + +@Preview +@Composable +internal fun VerticalRulerLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun VerticalRulerDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + VerticalRuler() +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/WithRulers.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/WithRulers.kt new file mode 100644 index 0000000000..6db2491f7d --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/ruler/WithRulers.kt @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.ruler + +import androidx.compose.runtime.Composable +import androidx.compose.ui.layout.Layout +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.OutlinedButton +import io.element.android.libraries.designsystem.theme.components.Text + +/** + * Debug tool to add a vertical and a horizontal ruler on top of the content. + */ +@Composable +fun WithRulers( + xRulersOffset: Dp = 0.dp, + yRulersOffset: Dp = 0.dp, + content: @Composable () -> Unit +) { + Layout( + content = { + content() + VerticalRuler() + HorizontalRuler() + }, + measurePolicy = { measurables, constraints -> + val placeables = measurables.map { it.measure(constraints) } + // Use layout size of the first item (the content) + layout( + width = placeables.first().width, + height = placeables.first().height + ) { + placeables.forEachIndexed { index, placeable -> + if (index == 0) { + placeable.place(0, 0) + } else { + placeable.place(xRulersOffset.roundToPx(), yRulersOffset.roundToPx()) + } + } + } + } + ) +} + +@Preview +@Composable +internal fun WithRulerLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun WithRulerDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + WithRulers(xRulersOffset = 20.dp, yRulersOffset = 15.dp) { + OutlinedButton(onClick = {}) { + Text(text = "A Button with rulers on it!") + } + } +} From 8edf7a00f2ba723326fa7c622f02873f7f9acf25 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 11:48:01 +0200 Subject: [PATCH 02/46] Add items in dict. --- .idea/dictionaries/shared.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.idea/dictionaries/shared.xml b/.idea/dictionaries/shared.xml index 9353e11fd9..dc5f8f7504 100644 --- a/.idea/dictionaries/shared.xml +++ b/.idea/dictionaries/shared.xml @@ -4,7 +4,9 @@ backstack homeserver kover + measurables onboarding + placeables showkase textfields From 4083e7b64b3363ac092a84cebcae6ac0c962c895 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 12:17:04 +0200 Subject: [PATCH 03/46] Increase vertical padding around state events. --- .../impl/timeline/components/TimelineItemStateEventRow.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt index cdf3d9112c..d22182d098 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt @@ -19,6 +19,7 @@ package io.element.android.features.messages.impl.timeline.components import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.runtime.Composable @@ -50,6 +51,7 @@ fun TimelineItemStateEventRow( Box( modifier = modifier .fillMaxWidth() + .padding(vertical = 8.dp) .wrapContentHeight(), contentAlignment = Alignment.Center ) { From 2ec0382b3f49821bee48857a77a5999f40f1d94f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 12:56:30 +0200 Subject: [PATCH 04/46] Use our `ModalBottomSheet` --- .../timeline/components/retrysendmenu/RetrySendMessageMenu.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/retrysendmenu/RetrySendMessageMenu.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/retrysendmenu/RetrySendMessageMenu.kt index 66be7d7995..696df16b67 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/retrysendmenu/RetrySendMessageMenu.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/retrysendmenu/RetrySendMessageMenu.kt @@ -25,7 +25,6 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ListItem import androidx.compose.material3.ListItemDefaults import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.SheetState import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable @@ -40,6 +39,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.features.messages.impl.R +import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet import kotlinx.coroutines.launch @Composable From 19792bac8affaf3794ebd750a65792c10268c174 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 14:02:03 +0200 Subject: [PATCH 05/46] When onDismiss is called, the Bottom sheet is already hidden. --- .../features/messages/impl/actionlist/ActionListView.kt | 4 +--- .../components/customreaction/CustomReactionBottomSheet.kt | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index b15ae66c0f..34d93413c2 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -118,9 +118,7 @@ fun ActionListView( } fun onDismiss() { - sheetState.hide(coroutineScope) { - state.eventSink(ActionListEvents.Clear) - } + state.eventSink(ActionListEvents.Clear) } if (targetItem != null) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/CustomReactionBottomSheet.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/CustomReactionBottomSheet.kt index 6ea290cdb8..70c2a7dc10 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/CustomReactionBottomSheet.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/CustomReactionBottomSheet.kt @@ -38,9 +38,7 @@ fun CustomReactionBottomSheet( val coroutineScope = rememberCoroutineScope() fun onDismiss() { - sheetState.hide(coroutineScope) { - state.eventSink(CustomReactionEvents.UpdateSelectedEvent(null)) - } + state.eventSink(CustomReactionEvents.UpdateSelectedEvent(null)) } fun onEmojiSelectedDismiss(emoji: Emoji) { From 319e4eee1f53b4a302437e72855fddb39466ac60 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 14:15:15 +0200 Subject: [PATCH 06/46] Cleanup --- .../features/messages/impl/actionlist/ActionListView.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index 34d93413c2..ecee1c35b0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -39,7 +39,6 @@ import androidx.compose.material.icons.outlined.AddReaction import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.SheetState import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.remember @@ -86,8 +85,8 @@ fun ActionListView( onEmojiReactionClicked: (String, TimelineItem.Event) -> Unit, onCustomReactionClicked: (TimelineItem.Event) -> Unit, modifier: Modifier = Modifier, - sheetState: SheetState = rememberModalBottomSheetState() ) { + val sheetState = rememberModalBottomSheetState() val coroutineScope = rememberCoroutineScope() val targetItem = (state.target as? ActionListState.Target.Success)?.event @@ -125,13 +124,14 @@ fun ActionListView( ModalBottomSheet( sheetState = sheetState, onDismissRequest = ::onDismiss, + modifier = modifier, ) { SheetContent( state = state, onActionClicked = ::onItemActionClicked, onEmojiReactionClicked = ::onEmojiReactionClicked, onCustomReactionClicked = ::onCustomReactionClicked, - modifier = modifier + modifier = Modifier .padding(bottom = 32.dp) // .navigationBarsPadding() - FIXME after https://issuetracker.google.com/issues/275849044 // .imePadding() From dac5d10b6c124e63a6ff9231bce12630e45e038e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 14:28:35 +0200 Subject: [PATCH 07/46] i18n --- .../messages/impl/actionlist/ActionListView.kt | 3 ++- .../actionlist/model/TimelineItemAction.kt | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index ecee1c35b0..6208301a36 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -189,7 +190,7 @@ private fun SheetContent( }, text = { Text( - text = action.title, + text = stringResource(id = action.titleRes), color = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary, ) }, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt index bc912e3d6e..8b2922e1d6 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt @@ -17,20 +17,22 @@ package io.element.android.features.messages.impl.actionlist.model import androidx.annotation.DrawableRes +import androidx.annotation.StringRes import androidx.compose.runtime.Immutable import io.element.android.libraries.designsystem.VectorIcons +import io.element.android.libraries.ui.strings.CommonStrings @Immutable sealed class TimelineItemAction( - val title: String, + @StringRes val titleRes: Int, @DrawableRes val icon: Int, val destructive: Boolean = false ) { - object Forward : TimelineItemAction("Forward", VectorIcons.Forward) - object Copy : TimelineItemAction("Copy", VectorIcons.Copy) - object Redact : TimelineItemAction("Redact", VectorIcons.Delete, destructive = true) - object Reply : TimelineItemAction("Reply", VectorIcons.Reply) - object Edit : TimelineItemAction("Edit", VectorIcons.Edit) - object Developer : TimelineItemAction("Developer", VectorIcons.DeveloperMode) - object ReportContent : TimelineItemAction("Report content", VectorIcons.ReportContent, destructive = true) + object Forward : TimelineItemAction(CommonStrings.action_forward, VectorIcons.Forward) + object Copy : TimelineItemAction(CommonStrings.action_copy, VectorIcons.Copy) + object Redact : TimelineItemAction(CommonStrings.action_remove, VectorIcons.Delete, destructive = true) + object Reply : TimelineItemAction(CommonStrings.action_reply, VectorIcons.Reply) + object Edit : TimelineItemAction(CommonStrings.action_edit, VectorIcons.Edit) + object Developer : TimelineItemAction(CommonStrings.action_view_source, VectorIcons.DeveloperMode) + object ReportContent : TimelineItemAction(CommonStrings.action_report_content, VectorIcons.ReportContent, destructive = true) } From 4a985aac98ecb39150de346f5ee0976f72af85bf Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 28 Jun 2023 15:07:25 +0200 Subject: [PATCH 08/46] Splash theme: remove icon --- app/src/main/res/drawable/splash_icon.xml | 8 -------- app/src/main/res/drawable/transparent.xml | 20 ++++++++++++++++++++ app/src/main/res/values-night/themes.xml | 4 ++-- app/src/main/res/values/colors.xml | 14 +++++--------- app/src/main/res/values/themes.xml | 6 +++--- 5 files changed, 30 insertions(+), 22 deletions(-) delete mode 100644 app/src/main/res/drawable/splash_icon.xml create mode 100644 app/src/main/res/drawable/transparent.xml diff --git a/app/src/main/res/drawable/splash_icon.xml b/app/src/main/res/drawable/splash_icon.xml deleted file mode 100644 index 9b852a657f..0000000000 --- a/app/src/main/res/drawable/splash_icon.xml +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/app/src/main/res/drawable/transparent.xml b/app/src/main/res/drawable/transparent.xml new file mode 100644 index 0000000000..b7e6de414f --- /dev/null +++ b/app/src/main/res/drawable/transparent.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index e2b4f6f471..a6572451d7 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -17,8 +17,8 @@ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index bd16b87387..1716e39012 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,5 +1,4 @@ - - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - #FF000000 - #FFFFFFFF + + #FF101317 + + #FFFFFFFF diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index bee89fe01d..530821a92b 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -16,9 +16,9 @@ --> -