Skip to content

Commit 3567ece

Browse files
committed
Migrate to Materials 3
1 parent d41afa5 commit 3567ece

56 files changed

Lines changed: 515 additions & 399 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ dependencies {
125125
def accompanist_version = "0.28.0"
126126
implementation "com.google.accompanist:accompanist-pager:$accompanist_version"
127127
implementation "com.google.accompanist:accompanist-pager-indicators:$accompanist_version"
128+
implementation "com.google.accompanist:accompanist-flowlayout:$accompanist_version"
128129
}
129130

130131
kapt {

app/src/main/java/com/mathewsachin/fategrandautomata/ui/DimmedIcon.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.mathewsachin.fategrandautomata.ui
22

3-
import androidx.compose.material.ContentAlpha
4-
import androidx.compose.material.Icon
5-
import androidx.compose.material.LocalContentAlpha
3+
import androidx.compose.material3.Icon
4+
import androidx.compose.material3.LocalContentColor
5+
import androidx.compose.material3.MaterialTheme
66
import androidx.compose.runtime.Composable
77
import androidx.compose.runtime.CompositionLocalProvider
88
import androidx.compose.ui.Modifier
@@ -13,7 +13,7 @@ fun DimmedIcon(
1313
modifier: Modifier = Modifier,
1414
contentDescription: String = "icon"
1515
) {
16-
CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
16+
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant) {
1717
Icon(
1818
icon.asPainter(),
1919
contentDescription = contentDescription,

app/src/main/java/com/mathewsachin/fategrandautomata/ui/FgaDialog.kt

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import androidx.compose.foundation.layout.*
66
import androidx.compose.foundation.lazy.LazyColumn
77
import androidx.compose.foundation.lazy.items
88
import androidx.compose.foundation.shape.CircleShape
9-
import androidx.compose.material.*
109
import androidx.compose.material.icons.Icons
1110
import androidx.compose.material.icons.filled.Check
11+
import androidx.compose.material3.*
1212
import androidx.compose.runtime.Composable
1313
import androidx.compose.runtime.mutableStateOf
1414
import androidx.compose.runtime.remember
@@ -59,7 +59,7 @@ class FgaDialog private constructor() {
5959

6060
Text(
6161
text,
62-
style = MaterialTheme.typography.h6
62+
style = MaterialTheme.typography.titleLarge
6363
)
6464
}
6565
}
@@ -89,32 +89,32 @@ class FgaDialog private constructor() {
8989
.fillMaxWidth()
9090
.padding(16.dp, 5.dp)
9191
) {
92-
if (showCancel) {
93-
TextButton(
94-
onClick = { hide() }
95-
) {
96-
Text(cancelLabel.uppercase())
97-
}
92+
if (showCancel) {
93+
TextButton(
94+
onClick = { hide() }
95+
) {
96+
Text(cancelLabel.uppercase())
9897
}
98+
}
9999

100-
if (showOk) {
101-
TextButton(
102-
onClick = {
103-
onSubmit()
104-
hide()
105-
},
106-
enabled = okEnabled
107-
) {
108-
Text(okLabel.uppercase())
109-
}
100+
if (showOk) {
101+
TextButton(
102+
onClick = {
103+
onSubmit()
104+
hide()
105+
},
106+
enabled = okEnabled
107+
) {
108+
Text(okLabel.uppercase())
110109
}
111110
}
111+
}
112112
}
113113

114114
@Composable
115115
fun build(
116116
shape: Shape = MaterialTheme.shapes.medium,
117-
color: Color = MaterialTheme.colors.surface,
117+
color: Color = MaterialTheme.colorScheme.surface,
118118
contentColor: Color = contentColorFor(color),
119119
content: @Composable FgaDialog.() -> Unit
120120
) {
@@ -191,20 +191,13 @@ fun ChoiceListItem(
191191
onClick: () -> Unit,
192192
content: @Composable RowScope.() -> Unit
193193
) {
194-
val background =
195-
if (isSelected)
196-
MaterialTheme.colors.secondary
197-
else MaterialTheme.colors.surface
198-
199-
val foreground =
200-
if (isSelected)
201-
MaterialTheme.colors.onSecondary
202-
else MaterialTheme.colors.onSurface
203-
204194
Card(
205195
shape = CircleShape,
206-
backgroundColor = background,
207-
contentColor = foreground,
196+
colors = CardDefaults.cardColors(
197+
containerColor =
198+
if (isSelected) MaterialTheme.colorScheme.primaryContainer
199+
else MaterialTheme.colorScheme.surfaceVariant
200+
),
208201
modifier = Modifier
209202
.padding(bottom = 7.dp)
210203
) {

app/src/main/java/com/mathewsachin/fategrandautomata/ui/GroupSelector.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.mathewsachin.fategrandautomata.ui
22

33
import androidx.compose.foundation.layout.padding
4-
import androidx.compose.material.MaterialTheme
5-
import androidx.compose.material.Surface
6-
import androidx.compose.material.Text
4+
import androidx.compose.material3.ExperimentalMaterial3Api
5+
import androidx.compose.material3.MaterialTheme
6+
import androidx.compose.material3.Surface
7+
import androidx.compose.material3.Text
78
import androidx.compose.runtime.Composable
89
import androidx.compose.ui.Modifier
910
import androidx.compose.ui.graphics.Color
@@ -17,7 +18,7 @@ fun GroupSelectorItem(
1718
enabled: Boolean = true
1819
) {
1920
Surface(
20-
color = if (isSelected) MaterialTheme.colors.primary else Color.Transparent,
21+
color = if (isSelected) MaterialTheme.colorScheme.primary else Color.Transparent,
2122
shape = MaterialTheme.shapes.medium,
2223
modifier = Modifier
2324
.padding(end = 5.dp),
@@ -26,7 +27,7 @@ fun GroupSelectorItem(
2627
) {
2728
Text(
2829
item,
29-
color = if (isSelected) MaterialTheme.colors.onPrimary else Color.Unspecified,
30+
color = if (isSelected) MaterialTheme.colorScheme.onPrimary else Color.Unspecified,
3031
modifier = Modifier.padding(5.dp, 2.dp)
3132
)
3233
}

app/src/main/java/com/mathewsachin/fategrandautomata/ui/Heading.kt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import androidx.compose.foundation.layout.*
77
import androidx.compose.foundation.lazy.LazyListScope
88
import androidx.compose.foundation.lazy.LazyRow
99
import androidx.compose.foundation.shape.CircleShape
10-
import androidx.compose.material.Card
11-
import androidx.compose.material.Icon
12-
import androidx.compose.material.MaterialTheme
13-
import androidx.compose.material.Text
10+
import androidx.compose.material3.*
1411
import androidx.compose.runtime.Composable
1512
import androidx.compose.ui.Alignment
1613
import androidx.compose.ui.Modifier
@@ -30,7 +27,7 @@ fun Heading(
3027

3128
Text(
3229
if (landscape) text.uppercase() else text,
33-
style = if (landscape) MaterialTheme.typography.subtitle2 else MaterialTheme.typography.h4,
30+
style = if (landscape) MaterialTheme.typography.titleSmall else MaterialTheme.typography.headlineMedium,
3431
modifier = Modifier
3532
.padding(start = 16.dp)
3633
)
@@ -57,8 +54,10 @@ fun HeadingButton(
5754
) {
5855
Card(
5956
shape = CircleShape,
60-
backgroundColor = if (isDanger) MaterialTheme.colors.error else MaterialTheme.colors.primary,
61-
contentColor = if (isDanger) MaterialTheme.colors.onError else MaterialTheme.colors.onPrimary,
57+
colors = CardDefaults.cardColors(
58+
containerColor = if (isDanger) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary,
59+
contentColor = if (isDanger) MaterialTheme.colorScheme.onError else MaterialTheme.colorScheme.onPrimary
60+
),
6261
modifier = modifier
6362
.padding(end = 5.dp)
6463
.animateContentSize()
@@ -81,7 +80,7 @@ fun HeadingButton(
8180

8281
Text(
8382
text.uppercase(),
84-
style = MaterialTheme.typography.subtitle2
83+
style = MaterialTheme.typography.titleSmall
8584
)
8685
}
8786
}

app/src/main/java/com/mathewsachin/fategrandautomata/ui/Stepper.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package com.mathewsachin.fategrandautomata.ui
33
import androidx.compose.foundation.layout.Row
44
import androidx.compose.foundation.layout.padding
55
import androidx.compose.foundation.shape.CircleShape
6-
import androidx.compose.material.MaterialTheme
7-
import androidx.compose.material.Surface
8-
import androidx.compose.material.Text
6+
import androidx.compose.material3.MaterialTheme
7+
import androidx.compose.material3.Surface
8+
import androidx.compose.material3.Text
99
import androidx.compose.runtime.*
1010
import androidx.compose.ui.Alignment
1111
import androidx.compose.ui.Modifier
@@ -29,7 +29,7 @@ private fun DeltaButton(
2929

3030
Surface(
3131
color = Color.Transparent,
32-
contentColor = MaterialTheme.colors.onBackground,
32+
contentColor = MaterialTheme.colorScheme.onBackground,
3333
shape = CircleShape
3434
) {
3535
StatusWrapper(enabled = isEnabled) {

app/src/main/java/com/mathewsachin/fategrandautomata/ui/Tabbed.kt

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package com.mathewsachin.fategrandautomata.ui
22

33
import androidx.compose.foundation.layout.Column
4-
import androidx.compose.material.MaterialTheme
5-
import androidx.compose.material.ScrollableTabRow
6-
import androidx.compose.material.Tab
7-
import androidx.compose.material.TabRowDefaults
4+
import androidx.compose.material3.MaterialTheme
5+
import androidx.compose.material3.ScrollableTabRow
6+
import androidx.compose.material3.Tab
87
import androidx.compose.runtime.Composable
98
import androidx.compose.runtime.rememberCoroutineScope
109
import androidx.compose.ui.Alignment
1110
import androidx.compose.ui.Modifier
1211
import androidx.compose.ui.unit.dp
1312
import com.google.accompanist.pager.HorizontalPager
14-
import com.google.accompanist.pager.pagerTabIndicatorOffset
1513
import com.google.accompanist.pager.rememberPagerState
1614
import kotlinx.coroutines.launch
1715

@@ -30,13 +28,8 @@ fun <T> Tabbed(
3028
) {
3129
ScrollableTabRow(
3230
selectedTabIndex = pagerState.currentPage,
33-
indicator = { tabPositions ->
34-
TabRowDefaults.Indicator(
35-
Modifier.pagerTabIndicatorOffset(pagerState, tabPositions)
36-
)
37-
},
3831
edgePadding = 0.dp,
39-
backgroundColor = MaterialTheme.colors.surface
32+
containerColor = MaterialTheme.colorScheme.surfaceVariant
4033
) {
4134
// Add tabs for all of our pages
4235
items.forEachIndexed { index, it ->

0 commit comments

Comments
 (0)