Loading core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/Icons.kt +16 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.material.icons.outlined.AccountCircle import androidx.compose.material.icons.outlined.Archive import androidx.compose.material.icons.outlined.Check import androidx.compose.material.icons.outlined.ChevronLeft import androidx.compose.material.icons.outlined.ChevronRight import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.Drafts import androidx.compose.material.icons.outlined.ErrorOutline Loading @@ -21,10 +23,11 @@ import androidx.compose.material.icons.outlined.Info import androidx.compose.material.icons.outlined.Menu import androidx.compose.material.icons.outlined.Report import androidx.compose.material.icons.outlined.Security import androidx.compose.material.icons.outlined.Send import androidx.compose.material.icons.outlined.Settings 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 app.k9mail.core.ui.compose.designsystem.atom.icon.outlined.FolderManaged 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. Loading Loading @@ -56,6 +59,12 @@ object Icons { val Check: ImageVector get() = MaterialIcons.Outlined.Check val ChevronLeft: ImageVector get() = MaterialIcons.Outlined.ChevronLeft val ChevronRight: ImageVector get() = MaterialIcons.Outlined.ChevronRight val Delete: ImageVector get() = MaterialIcons.Outlined.Delete Loading @@ -80,6 +89,9 @@ object Icons { val Info: ImageVector get() = MaterialIcons.Outlined.Info val FolderManaged: ImageVector get() = MaterialIcons.Outlined.FolderManaged val Menu: ImageVector get() = MaterialIcons.Outlined.Menu Loading @@ -92,6 +104,9 @@ object Icons { val Send: ImageVector get() = MaterialIcons.AutoMirrored.Outlined.Send val Settings: ImageVector get() = MaterialIcons.Outlined.Settings val Report: ImageVector get() = MaterialIcons.Outlined.Report Loading core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/outlined/FolderManaged.kt 0 → 100644 +134 −0 Original line number Diff line number Diff line package app.k9mail.core.ui.compose.designsystem.atom.icon.outlined import androidx.compose.material.icons.Icons import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.PathFillType import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.StrokeJoin import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.unit.dp @Suppress("MagicNumber") val Icons.Outlined.FolderManaged: ImageVector get() { if (instance != null) { return instance!! } instance = ImageVector.Builder( name = "Outlined.FolderManaged", defaultWidth = 24.dp, defaultHeight = 24.dp, viewportWidth = 960f, viewportHeight = 960f, ).apply { path( fill = SolidColor(Color.Black), fillAlpha = 1.0f, stroke = null, strokeAlpha = 1.0f, strokeLineWidth = 1.0f, strokeLineCap = StrokeCap.Butt, strokeLineJoin = StrokeJoin.Miter, strokeLineMiter = 1.0f, pathFillType = PathFillType.NonZero, ) { moveTo(680f, 880f) lineTo(668f, 820f) quadTo(656f, 815f, 645.5f, 809.5f) quadTo(635f, 804f, 624f, 796f) lineTo(566f, 814f) lineTo(526f, 746f) lineTo(572f, 706f) quadTo(570f, 694f, 570f, 680f) quadTo(570f, 666f, 572f, 654f) lineTo(526f, 614f) lineTo(566f, 546f) lineTo(624f, 564f) quadTo(635f, 556f, 645.5f, 550.5f) quadTo(656f, 545f, 668f, 540f) lineTo(680f, 480f) lineTo(760f, 480f) lineTo(772f, 540f) quadTo(784f, 545f, 794.5f, 550.5f) quadTo(805f, 556f, 816f, 564f) lineTo(874f, 546f) lineTo(914f, 614f) lineTo(868f, 654f) quadTo(870f, 666f, 870f, 680f) quadTo(870f, 694f, 868f, 706f) lineTo(914f, 746f) lineTo(874f, 814f) lineTo(816f, 796f) quadTo(805f, 804f, 794.5f, 809.5f) quadTo(784f, 815f, 772f, 820f) lineTo(760f, 880f) lineTo(680f, 880f) close() moveTo(720f, 760f) quadTo(753f, 760f, 776.5f, 736.5f) quadTo(800f, 713f, 800f, 680f) quadTo(800f, 647f, 776.5f, 623.5f) quadTo(753f, 600f, 720f, 600f) quadTo(687f, 600f, 663.5f, 623.5f) quadTo(640f, 647f, 640f, 680f) quadTo(640f, 713f, 663.5f, 736.5f) quadTo(687f, 760f, 720f, 760f) close() moveTo(160f, 720f) lineTo(160f, 720f) quadTo(160f, 720f, 160f, 720f) quadTo(160f, 720f, 160f, 720f) lineTo(160f, 240f) quadTo(160f, 240f, 160f, 240f) quadTo(160f, 240f, 160f, 240f) lineTo(160f, 240f) lineTo(160f, 320f) lineTo(160f, 320f) quadTo(160f, 320f, 160f, 320f) quadTo(160f, 320f, 160f, 320f) lineTo(160f, 412f) quadTo(160f, 406f, 160f, 403f) quadTo(160f, 400f, 160f, 400f) quadTo(160f, 400f, 160f, 482.5f) quadTo(160f, 565f, 160f, 679f) quadTo(160f, 690f, 160f, 699.5f) quadTo(160f, 709f, 160f, 720f) close() moveTo(160f, 800f) quadTo(127f, 800f, 103.5f, 776.5f) quadTo(80f, 753f, 80f, 720f) lineTo(80f, 240f) quadTo(80f, 207f, 103.5f, 183.5f) quadTo(127f, 160f, 160f, 160f) lineTo(400f, 160f) lineTo(480f, 240f) lineTo(800f, 240f) quadTo(833f, 240f, 856.5f, 263.5f) quadTo(880f, 287f, 880f, 320f) lineTo(880f, 451f) quadTo(862f, 438f, 842f, 428.5f) quadTo(822f, 419f, 800f, 412f) lineTo(800f, 320f) quadTo(800f, 320f, 800f, 320f) quadTo(800f, 320f, 800f, 320f) lineTo(447f, 320f) lineTo(367f, 240f) lineTo(160f, 240f) quadTo(160f, 240f, 160f, 240f) quadTo(160f, 240f, 160f, 240f) lineTo(160f, 720f) quadTo(160f, 720f, 160f, 720f) quadTo(160f, 720f, 160f, 720f) lineTo(443f, 720f) quadTo(446f, 741f, 452.5f, 761f) quadTo(459f, 781f, 468f, 800f) lineTo(160f, 800f) close() } }.build() return instance!! } private var instance: ImageVector? = null feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/setting/SettingListItemPreview.kt 0 → 100644 +18 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.setting import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import app.k9mail.core.ui.compose.designsystem.atom.icon.Icons @Composable @Preview(showBackground = true) fun SettingListItemPreview() { PreviewWithThemes { SettingListItem( label = "Settings", onClick = {}, imageVector = Icons.Outlined.Settings, ) } } feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/setting/SettingListPreview.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.setting import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme @Composable @Preview(showBackground = true) fun SettingListPreview() { PreviewWithTheme { SettingList( onAccountSelectorClick = {}, onManageFoldersClick = {}, showAccountSelector = false, ) } } @Composable @Preview(showBackground = true) fun SettingListShowAccountSelectorPreview() { PreviewWithTheme { SettingList( onAccountSelectorClick = {}, onManageFoldersClick = {}, showAccountSelector = true, ) } } feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/FolderDrawer.kt +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ class FolderDrawer( override val parent: AppCompatActivity, private val openAccount: (account: Account) -> Unit, private val openFolder: (folderId: Long) -> Unit, private val openManageFolders: () -> Unit, private val openSettings: () -> Unit, createDrawerListener: () -> DrawerLayout.DrawerListener, ) : NavigationDrawer, KoinComponent { Loading @@ -38,6 +40,8 @@ class FolderDrawer( DrawerView( openAccount = openAccount, openFolder = openFolder, openManageFolders = openManageFolders, openSettings = openSettings, closeDrawer = { close() }, ) } Loading Loading
core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/Icons.kt +16 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.material.icons.outlined.AccountCircle import androidx.compose.material.icons.outlined.Archive import androidx.compose.material.icons.outlined.Check import androidx.compose.material.icons.outlined.ChevronLeft import androidx.compose.material.icons.outlined.ChevronRight import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.Drafts import androidx.compose.material.icons.outlined.ErrorOutline Loading @@ -21,10 +23,11 @@ import androidx.compose.material.icons.outlined.Info import androidx.compose.material.icons.outlined.Menu import androidx.compose.material.icons.outlined.Report import androidx.compose.material.icons.outlined.Security import androidx.compose.material.icons.outlined.Send import androidx.compose.material.icons.outlined.Settings 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 app.k9mail.core.ui.compose.designsystem.atom.icon.outlined.FolderManaged 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. Loading Loading @@ -56,6 +59,12 @@ object Icons { val Check: ImageVector get() = MaterialIcons.Outlined.Check val ChevronLeft: ImageVector get() = MaterialIcons.Outlined.ChevronLeft val ChevronRight: ImageVector get() = MaterialIcons.Outlined.ChevronRight val Delete: ImageVector get() = MaterialIcons.Outlined.Delete Loading @@ -80,6 +89,9 @@ object Icons { val Info: ImageVector get() = MaterialIcons.Outlined.Info val FolderManaged: ImageVector get() = MaterialIcons.Outlined.FolderManaged val Menu: ImageVector get() = MaterialIcons.Outlined.Menu Loading @@ -92,6 +104,9 @@ object Icons { val Send: ImageVector get() = MaterialIcons.AutoMirrored.Outlined.Send val Settings: ImageVector get() = MaterialIcons.Outlined.Settings val Report: ImageVector get() = MaterialIcons.Outlined.Report Loading
core/ui/compose/designsystem/src/main/kotlin/app/k9mail/core/ui/compose/designsystem/atom/icon/outlined/FolderManaged.kt 0 → 100644 +134 −0 Original line number Diff line number Diff line package app.k9mail.core.ui.compose.designsystem.atom.icon.outlined import androidx.compose.material.icons.Icons import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.PathFillType import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.graphics.StrokeJoin import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.unit.dp @Suppress("MagicNumber") val Icons.Outlined.FolderManaged: ImageVector get() { if (instance != null) { return instance!! } instance = ImageVector.Builder( name = "Outlined.FolderManaged", defaultWidth = 24.dp, defaultHeight = 24.dp, viewportWidth = 960f, viewportHeight = 960f, ).apply { path( fill = SolidColor(Color.Black), fillAlpha = 1.0f, stroke = null, strokeAlpha = 1.0f, strokeLineWidth = 1.0f, strokeLineCap = StrokeCap.Butt, strokeLineJoin = StrokeJoin.Miter, strokeLineMiter = 1.0f, pathFillType = PathFillType.NonZero, ) { moveTo(680f, 880f) lineTo(668f, 820f) quadTo(656f, 815f, 645.5f, 809.5f) quadTo(635f, 804f, 624f, 796f) lineTo(566f, 814f) lineTo(526f, 746f) lineTo(572f, 706f) quadTo(570f, 694f, 570f, 680f) quadTo(570f, 666f, 572f, 654f) lineTo(526f, 614f) lineTo(566f, 546f) lineTo(624f, 564f) quadTo(635f, 556f, 645.5f, 550.5f) quadTo(656f, 545f, 668f, 540f) lineTo(680f, 480f) lineTo(760f, 480f) lineTo(772f, 540f) quadTo(784f, 545f, 794.5f, 550.5f) quadTo(805f, 556f, 816f, 564f) lineTo(874f, 546f) lineTo(914f, 614f) lineTo(868f, 654f) quadTo(870f, 666f, 870f, 680f) quadTo(870f, 694f, 868f, 706f) lineTo(914f, 746f) lineTo(874f, 814f) lineTo(816f, 796f) quadTo(805f, 804f, 794.5f, 809.5f) quadTo(784f, 815f, 772f, 820f) lineTo(760f, 880f) lineTo(680f, 880f) close() moveTo(720f, 760f) quadTo(753f, 760f, 776.5f, 736.5f) quadTo(800f, 713f, 800f, 680f) quadTo(800f, 647f, 776.5f, 623.5f) quadTo(753f, 600f, 720f, 600f) quadTo(687f, 600f, 663.5f, 623.5f) quadTo(640f, 647f, 640f, 680f) quadTo(640f, 713f, 663.5f, 736.5f) quadTo(687f, 760f, 720f, 760f) close() moveTo(160f, 720f) lineTo(160f, 720f) quadTo(160f, 720f, 160f, 720f) quadTo(160f, 720f, 160f, 720f) lineTo(160f, 240f) quadTo(160f, 240f, 160f, 240f) quadTo(160f, 240f, 160f, 240f) lineTo(160f, 240f) lineTo(160f, 320f) lineTo(160f, 320f) quadTo(160f, 320f, 160f, 320f) quadTo(160f, 320f, 160f, 320f) lineTo(160f, 412f) quadTo(160f, 406f, 160f, 403f) quadTo(160f, 400f, 160f, 400f) quadTo(160f, 400f, 160f, 482.5f) quadTo(160f, 565f, 160f, 679f) quadTo(160f, 690f, 160f, 699.5f) quadTo(160f, 709f, 160f, 720f) close() moveTo(160f, 800f) quadTo(127f, 800f, 103.5f, 776.5f) quadTo(80f, 753f, 80f, 720f) lineTo(80f, 240f) quadTo(80f, 207f, 103.5f, 183.5f) quadTo(127f, 160f, 160f, 160f) lineTo(400f, 160f) lineTo(480f, 240f) lineTo(800f, 240f) quadTo(833f, 240f, 856.5f, 263.5f) quadTo(880f, 287f, 880f, 320f) lineTo(880f, 451f) quadTo(862f, 438f, 842f, 428.5f) quadTo(822f, 419f, 800f, 412f) lineTo(800f, 320f) quadTo(800f, 320f, 800f, 320f) quadTo(800f, 320f, 800f, 320f) lineTo(447f, 320f) lineTo(367f, 240f) lineTo(160f, 240f) quadTo(160f, 240f, 160f, 240f) quadTo(160f, 240f, 160f, 240f) lineTo(160f, 720f) quadTo(160f, 720f, 160f, 720f) quadTo(160f, 720f, 160f, 720f) lineTo(443f, 720f) quadTo(446f, 741f, 452.5f, 761f) quadTo(459f, 781f, 468f, 800f) lineTo(160f, 800f) close() } }.build() return instance!! } private var instance: ImageVector? = null
feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/setting/SettingListItemPreview.kt 0 → 100644 +18 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.setting import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import app.k9mail.core.ui.compose.designsystem.atom.icon.Icons @Composable @Preview(showBackground = true) fun SettingListItemPreview() { PreviewWithThemes { SettingListItem( label = "Settings", onClick = {}, imageVector = Icons.Outlined.Settings, ) } }
feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/setting/SettingListPreview.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.setting import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme @Composable @Preview(showBackground = true) fun SettingListPreview() { PreviewWithTheme { SettingList( onAccountSelectorClick = {}, onManageFoldersClick = {}, showAccountSelector = false, ) } } @Composable @Preview(showBackground = true) fun SettingListShowAccountSelectorPreview() { PreviewWithTheme { SettingList( onAccountSelectorClick = {}, onManageFoldersClick = {}, showAccountSelector = true, ) } }
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/FolderDrawer.kt +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ class FolderDrawer( override val parent: AppCompatActivity, private val openAccount: (account: Account) -> Unit, private val openFolder: (folderId: Long) -> Unit, private val openManageFolders: () -> Unit, private val openSettings: () -> Unit, createDrawerListener: () -> DrawerLayout.DrawerListener, ) : NavigationDrawer, KoinComponent { Loading @@ -38,6 +40,8 @@ class FolderDrawer( DrawerView( openAccount = openAccount, openFolder = openFolder, openManageFolders = openManageFolders, openSettings = openSettings, closeDrawer = { close() }, ) } Loading