Loading app-ui-catalog/src/main/java/app/k9mail/ui/catalog/ui/atom/items/IconItems.kt +25 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package app.k9mail.ui.catalog.ui.atom.items import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment Loading @@ -24,6 +25,28 @@ fun LazyGridScope.iconItems() { sectionHeaderItem( text = "Compose Icons", ) sectionSubtitleItem(text = "Sizes") defaultItem { IconItem( name = "Small", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.iconSmall), ) } defaultItem { IconItem( name = "Default", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.icon), ) } defaultItem { IconItem( name = "Large", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.iconLarge), ) } sectionSubtitleItem(text = "Filled") getIconsFor(Icons.Filled) sectionSubtitleItem(text = "Outlined") Loading Loading @@ -81,13 +104,13 @@ private fun IconItem( ) { Column( modifier = Modifier .padding(defaultItemPadding()) .then(modifier), .padding(defaultItemPadding()), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default), ) { Icon( imageVector = imageVector, modifier = modifier, ) TextBodySmall(text = name) } Loading core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/Icons.kt +10 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.filled.Cancel import androidx.compose.material.icons.filled.CheckCircle import androidx.compose.material.icons.filled.Outbox import androidx.compose.material.icons.filled.Star import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.material.icons.outlined.AccountCircle import androidx.compose.material.icons.outlined.Check Loading @@ -16,16 +17,23 @@ import androidx.compose.material.icons.outlined.Menu import androidx.compose.material.icons.outlined.Security import androidx.compose.material.icons.outlined.Visibility import androidx.compose.ui.graphics.vector.ImageVector import app.k9mail.core.ui.compose.designsystem.atom.icon.filled.Dot import androidx.compose.material.icons.Icons as MaterialIcons // We're using getters so not all icons are loaded into memory as soon as one of the nested objects is accessed. object Icons { object Filled { val Cancel: ImageVector get() = MaterialIcons.Filled.Cancel val CheckCircle: ImageVector get() = MaterialIcons.Filled.CheckCircle val Cancel: ImageVector get() = MaterialIcons.Filled.Cancel val Dot: ImageVector get() = MaterialIcons.Filled.Dot val Star: ImageVector get() = MaterialIcons.Filled.Star } object Outlined { Loading core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/filled/Dot.kt 0 → 100644 +27 −0 Original line number Diff line number Diff line package app.k9mail.core.ui.compose.designsystem.atom.icon.filled import androidx.compose.material.icons.Icons import androidx.compose.material.icons.materialIcon import androidx.compose.material.icons.materialPath import androidx.compose.ui.graphics.vector.ImageVector @Suppress("MagicNumber") val Icons.Filled.Dot: ImageVector get() { if (instance != null) { return instance!! } instance = materialIcon(name = "Filled.Dot") { materialPath { moveTo(12.0f, 6.0f) curveToRelative(-3.31f, 0.0f, -6.0f, 2.69f, -6.0f, 6.0f) reflectiveCurveToRelative(2.69f, 6.0f, 6.0f, 6.0f) reflectiveCurveToRelative(6.0f, -2.69f, 6.0f, -6.0f) reflectiveCurveToRelative(-2.69f, -6.0f, -6.0f, -6.0f) close() } } return instance!! } private var instance: ImageVector? = null core/ui/compose/theme2/common/src/main/kotlin/app/k9mail/core/ui/compose/theme2/ThemeSizes.kt +2 −1 Original line number Diff line number Diff line Loading @@ -14,8 +14,9 @@ data class ThemeSizes( val huge: Dp, val huger: Dp, val iconSmall: Dp, val icon: Dp, val largeIcon: Dp, val iconLarge: Dp, val topBarHeight: Dp, val bottomBarHeight: Dp, Loading core/ui/compose/theme2/common/src/main/kotlin/app/k9mail/core/ui/compose/theme2/default/DefaultThemeSizes.kt +2 −1 Original line number Diff line number Diff line Loading @@ -12,8 +12,9 @@ val defaultThemeSizes = ThemeSizes( huge = 256.dp, huger = 384.dp, iconSmall = 16.dp, icon = 24.dp, largeIcon = 32.dp, iconLarge = 32.dp, topBarHeight = 64.dp, bottomBarHeight = 80.dp, Loading Loading
app-ui-catalog/src/main/java/app/k9mail/ui/catalog/ui/atom/items/IconItems.kt +25 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package app.k9mail.ui.catalog.ui.atom.items import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment Loading @@ -24,6 +25,28 @@ fun LazyGridScope.iconItems() { sectionHeaderItem( text = "Compose Icons", ) sectionSubtitleItem(text = "Sizes") defaultItem { IconItem( name = "Small", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.iconSmall), ) } defaultItem { IconItem( name = "Default", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.icon), ) } defaultItem { IconItem( name = "Large", imageVector = Icons.Outlined.Info, modifier = Modifier.size(MainTheme.sizes.iconLarge), ) } sectionSubtitleItem(text = "Filled") getIconsFor(Icons.Filled) sectionSubtitleItem(text = "Outlined") Loading Loading @@ -81,13 +104,13 @@ private fun IconItem( ) { Column( modifier = Modifier .padding(defaultItemPadding()) .then(modifier), .padding(defaultItemPadding()), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default), ) { Icon( imageVector = imageVector, modifier = modifier, ) TextBodySmall(text = name) } Loading
core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/Icons.kt +10 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.filled.Cancel import androidx.compose.material.icons.filled.CheckCircle import androidx.compose.material.icons.filled.Outbox import androidx.compose.material.icons.filled.Star import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.material.icons.outlined.AccountCircle import androidx.compose.material.icons.outlined.Check Loading @@ -16,16 +17,23 @@ import androidx.compose.material.icons.outlined.Menu import androidx.compose.material.icons.outlined.Security import androidx.compose.material.icons.outlined.Visibility import androidx.compose.ui.graphics.vector.ImageVector import app.k9mail.core.ui.compose.designsystem.atom.icon.filled.Dot import androidx.compose.material.icons.Icons as MaterialIcons // We're using getters so not all icons are loaded into memory as soon as one of the nested objects is accessed. object Icons { object Filled { val Cancel: ImageVector get() = MaterialIcons.Filled.Cancel val CheckCircle: ImageVector get() = MaterialIcons.Filled.CheckCircle val Cancel: ImageVector get() = MaterialIcons.Filled.Cancel val Dot: ImageVector get() = MaterialIcons.Filled.Dot val Star: ImageVector get() = MaterialIcons.Filled.Star } object Outlined { Loading
core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/filled/Dot.kt 0 → 100644 +27 −0 Original line number Diff line number Diff line package app.k9mail.core.ui.compose.designsystem.atom.icon.filled import androidx.compose.material.icons.Icons import androidx.compose.material.icons.materialIcon import androidx.compose.material.icons.materialPath import androidx.compose.ui.graphics.vector.ImageVector @Suppress("MagicNumber") val Icons.Filled.Dot: ImageVector get() { if (instance != null) { return instance!! } instance = materialIcon(name = "Filled.Dot") { materialPath { moveTo(12.0f, 6.0f) curveToRelative(-3.31f, 0.0f, -6.0f, 2.69f, -6.0f, 6.0f) reflectiveCurveToRelative(2.69f, 6.0f, 6.0f, 6.0f) reflectiveCurveToRelative(6.0f, -2.69f, 6.0f, -6.0f) reflectiveCurveToRelative(-2.69f, -6.0f, -6.0f, -6.0f) close() } } return instance!! } private var instance: ImageVector? = null
core/ui/compose/theme2/common/src/main/kotlin/app/k9mail/core/ui/compose/theme2/ThemeSizes.kt +2 −1 Original line number Diff line number Diff line Loading @@ -14,8 +14,9 @@ data class ThemeSizes( val huge: Dp, val huger: Dp, val iconSmall: Dp, val icon: Dp, val largeIcon: Dp, val iconLarge: Dp, val topBarHeight: Dp, val bottomBarHeight: Dp, Loading
core/ui/compose/theme2/common/src/main/kotlin/app/k9mail/core/ui/compose/theme2/default/DefaultThemeSizes.kt +2 −1 Original line number Diff line number Diff line Loading @@ -12,8 +12,9 @@ val defaultThemeSizes = ThemeSizes( huge = 256.dp, huger = 384.dp, iconSmall = 16.dp, icon = 24.dp, largeIcon = 32.dp, iconLarge = 32.dp, topBarHeight = 64.dp, bottomBarHeight = 80.dp, Loading