diff --git a/app/src/main/kotlin/org/fdroid/ui/categories/CategoryGroup.kt b/app/src/main/kotlin/org/fdroid/ui/categories/CategoryGroup.kt index dc9959a73..adba266ef 100644 --- a/app/src/main/kotlin/org/fdroid/ui/categories/CategoryGroup.kt +++ b/app/src/main/kotlin/org/fdroid/ui/categories/CategoryGroup.kt @@ -10,6 +10,7 @@ import androidx.compose.material.icons.filled.Forum import androidx.compose.material.icons.filled.NetworkCheck import androidx.compose.material.icons.filled.PhoneAndroid import androidx.compose.material.icons.filled.SdStorage +import androidx.compose.material.icons.filled.SportsEsports import androidx.compose.material.icons.filled.VideogameAsset import androidx.compose.material.icons.filled.Wallet import androidx.compose.ui.graphics.vector.ImageVector @@ -23,6 +24,54 @@ data class CategoryGroup( ) object CategoryGroups { + val communication = + CategoryGroup( + id = "communication", + name = R.string.category_group_communication, + summary = R.string.category_group_summary_communication, + imageVector = Icons.Default.Forum, + ) + val device = + CategoryGroup( + id = "device", + name = R.string.category_group_device, + summary = R.string.category_group_summary_device, + imageVector = Icons.Default.PhoneAndroid, + ) + val games = CategoryGroup( + id = "games", + name = R.string.category_group_games, + summary = R.string.category_group_summary_games, + imageVector = Icons.Default.SportsEsports, + ) + val interests = + CategoryGroup( + id = "interests", + name = R.string.category_group_interests, + summary = R.string.category_group_summary_interests, + imageVector = Icons.Default.FavoriteBorder, + ) + val media = + CategoryGroup( + id = "media", + name = R.string.category_group_media, + summary = R.string.category_group_summary_media, + imageVector = Icons.Default.VideogameAsset, + ) + val misc = + CategoryGroup( + id = "misc", + name = R.string.category_group_misc, + summary = R.string.category_group_summary_misc, + imageVector = Icons.Default.Category, + ) + val network = + CategoryGroup( + id = "network", + name = R.string.category_group_network, + summary = R.string.category_group_summary_network, + imageVector = Icons.Default.NetworkCheck, + ) val productivity = CategoryGroup( id = "productivity", @@ -30,6 +79,13 @@ object CategoryGroups { summary = R.string.category_group_summary_productivity, imageVector = Icons.Default.Factory, ) + val storage = + CategoryGroup( + id = "storage", + name = R.string.category_group_storage, + summary = R.string.category_group_summary_storage, + imageVector = Icons.Default.SdStorage, + ) val tools = CategoryGroup( id = "tools", @@ -44,53 +100,4 @@ object CategoryGroups { summary = R.string.category_group_summary_wallets, imageVector = Icons.Default.Wallet, ) - val media = - CategoryGroup( - id = "media", - name = R.string.category_group_media, - summary = R.string.category_group_summary_media, - imageVector = Icons.Default.VideogameAsset, - ) - val communication = - CategoryGroup( - id = "communication", - name = R.string.category_group_communication, - summary = R.string.category_group_summary_communication, - imageVector = Icons.Default.Forum, - ) - val device = - CategoryGroup( - id = "device", - name = R.string.category_group_device, - summary = R.string.category_group_summary_device, - imageVector = Icons.Default.PhoneAndroid, - ) - val network = - CategoryGroup( - id = "network", - name = R.string.category_group_network, - summary = R.string.category_group_summary_network, - imageVector = Icons.Default.NetworkCheck, - ) - val storage = - CategoryGroup( - id = "storage", - name = R.string.category_group_storage, - summary = R.string.category_group_summary_storage, - imageVector = Icons.Default.SdStorage, - ) - val interests = - CategoryGroup( - id = "interests", - name = R.string.category_group_interests, - summary = R.string.category_group_summary_interests, - imageVector = Icons.Default.FavoriteBorder, - ) - val misc = - CategoryGroup( - id = "misc", - name = R.string.category_group_misc, - summary = R.string.category_group_summary_misc, - imageVector = Icons.Default.Category, - ) } diff --git a/app/src/main/kotlin/org/fdroid/ui/categories/CategoryItem.kt b/app/src/main/kotlin/org/fdroid/ui/categories/CategoryItem.kt index 5278f77f8..cc26b6830 100644 --- a/app/src/main/kotlin/org/fdroid/ui/categories/CategoryItem.kt +++ b/app/src/main/kotlin/org/fdroid/ui/categories/CategoryItem.kt @@ -17,29 +17,38 @@ import androidx.compose.material.icons.filled.BrowserUpdated import androidx.compose.material.icons.filled.Brush import androidx.compose.material.icons.filled.Calculate import androidx.compose.material.icons.filled.CalendarMonth +import androidx.compose.material.icons.filled.Casino +import androidx.compose.material.icons.filled.Castle import androidx.compose.material.icons.filled.Category +import androidx.compose.material.icons.filled.Celebration +import androidx.compose.material.icons.filled.CenterFocusWeak import androidx.compose.material.icons.filled.Church import androidx.compose.material.icons.filled.Cloud import androidx.compose.material.icons.filled.Collections import androidx.compose.material.icons.filled.Contacts +import androidx.compose.material.icons.filled.CrueltyFree import androidx.compose.material.icons.filled.CurrencyExchange +import androidx.compose.material.icons.filled.DeveloperBoard import androidx.compose.material.icons.filled.DeveloperMode import androidx.compose.material.icons.filled.DirectionsBus +import androidx.compose.material.icons.filled.Diversity3 import androidx.compose.material.icons.filled.Dns import androidx.compose.material.icons.filled.Draw import androidx.compose.material.icons.filled.EditNote import androidx.compose.material.icons.filled.EnhancedEncryption +import androidx.compose.material.icons.filled.Extension import androidx.compose.material.icons.filled.Fastfood import androidx.compose.material.icons.filled.FitnessCenter import androidx.compose.material.icons.filled.FlashlightOn -import androidx.compose.material.icons.filled.Games import androidx.compose.material.icons.filled.Groups +import androidx.compose.material.icons.filled.Handyman import androidx.compose.material.icons.filled.HealthAndSafety import androidx.compose.material.icons.filled.Home import androidx.compose.material.icons.filled.Image import androidx.compose.material.icons.filled.Keyboard import androidx.compose.material.icons.filled.Language import androidx.compose.material.icons.filled.LocalPlay +import androidx.compose.material.icons.filled.ModeComment import androidx.compose.material.icons.filled.MonetizationOn import androidx.compose.material.icons.filled.Money import androidx.compose.material.icons.filled.MusicNote @@ -57,6 +66,7 @@ import androidx.compose.material.icons.filled.Podcasts import androidx.compose.material.icons.filled.Radio import androidx.compose.material.icons.filled.RecordVoiceOver import androidx.compose.material.icons.filled.RestaurantMenu +import androidx.compose.material.icons.filled.School import androidx.compose.material.icons.filled.Science import androidx.compose.material.icons.filled.Security import androidx.compose.material.icons.filled.SelfImprovement @@ -64,6 +74,9 @@ import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.SettingsRemote import androidx.compose.material.icons.filled.ShoppingCart import androidx.compose.material.icons.filled.SignalCellularAlt +import androidx.compose.material.icons.filled.Sos +import androidx.compose.material.icons.filled.SportsMartialArts +import androidx.compose.material.icons.filled.SportsSoccer import androidx.compose.material.icons.filled.Storefront import androidx.compose.material.icons.filled.Style import androidx.compose.material.icons.filled.TaskAlt @@ -72,6 +85,7 @@ import androidx.compose.material.icons.filled.TrackChanges import androidx.compose.material.icons.filled.Translate import androidx.compose.material.icons.filled.UploadFile import androidx.compose.material.icons.filled.VideoChat +import androidx.compose.material.icons.filled.VideogameAsset import androidx.compose.material.icons.filled.VoiceChat import androidx.compose.material.icons.filled.VpnLock import androidx.compose.material.icons.filled.Wallet @@ -86,21 +100,27 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "AI Chat" -> Icons.Default.VoiceChat "App Manager" -> Icons.Default.Apps "App Store & Updater" -> Icons.Default.Storefront + "Action Game" -> Icons.Default.SportsMartialArts "Battery" -> Icons.Default.BatteryChargingFull + "Board Game" -> Icons.Default.DeveloperBoard "Bookmark" -> Icons.Default.Bookmarks "Browser" -> Icons.Default.OpenInBrowser "Calculator" -> Icons.Default.Calculate "Calendar & Agenda" -> Icons.Default.CalendarMonth + "Card Game" -> Icons.Default.Style "Clock" -> Icons.Default.AccessTime "Cloud Storage & File Sync" -> Icons.Default.Cloud "Connectivity" -> Icons.Default.SignalCellularAlt "Contact" -> Icons.Default.Contacts "Development" -> Icons.Default.DeveloperMode + "Dice" -> Icons.Default.Casino "Diet" -> Icons.Default.Fastfood "DNS & Hosts" -> Icons.Default.Dns "Draw" -> Icons.Default.Draw "Ebook Reader" -> AutoMirrored.Default.MenuBook + "Educational Game" -> Icons.Default.School "Email" -> Icons.Default.AlternateEmail + "Emulator" -> Icons.Default.VideogameAsset "File Encryption & Vault" -> Icons.Default.EnhancedEncryption "File Transfer" -> Icons.Default.UploadFile "Finance Manager" -> Icons.Default.MonetizationOn @@ -108,7 +128,7 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "Flashlight" -> Icons.Default.FlashlightOn "Forum" -> Icons.Default.Image "Gallery" -> Icons.Default.PhotoSizeSelectActual - "Games" -> Icons.Default.Games + "Game Helper" -> Icons.Default.Handyman "Graphics" -> Icons.Default.Brush "Habit Tracker" -> Icons.Default.TrackChanges "Health Manager" -> Icons.Default.HealthAndSafety @@ -129,22 +149,29 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "News" -> Icons.Default.Newspaper "Note" -> Icons.Default.NoteAlt "Online Media Player" -> Icons.Default.Airplay + "Party Game" -> Icons.Default.Celebration "Pass Wallet" -> Icons.Default.AccountBalanceWallet "Password & 2FA" -> Icons.Default.Password "Phone & SMS" -> Icons.Default.PermPhoneMsg + "Platform Game" -> Icons.Default.CrueltyFree "Podcast" -> Icons.Default.Podcasts "Public Transport" -> Icons.Default.DirectionsBus + "Puzzle Game" -> Icons.Default.Extension "Radio" -> Icons.Default.Radio "Reading" -> AutoMirrored.Default.MenuBook "Recipe Manager" -> Icons.Default.RestaurantMenu "Religion" -> Icons.Default.Church + "Role-Playing Game" -> Icons.Default.Diversity3 "Remote Access" -> Icons.Default.BrowserUpdated "Remote Controller" -> Icons.Default.SettingsRemote "Schedule" -> Icons.Default.CalendarMonth "Science & Education" -> Icons.Default.Science "Security" -> Icons.Default.Security + "Shooter Game" -> Icons.Default.CenterFocusWeak + "Strategy Game" -> Icons.Default.Castle "Shopping List" -> Icons.Default.ShoppingCart "Social Network" -> Icons.Default.Groups + "Sport Game" -> Icons.Default.SportsSoccer "Sports & Health" -> Icons.Default.HealthAndSafety "System" -> Icons.Default.Settings "Task" -> Icons.Default.TaskAlt @@ -154,12 +181,14 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "Time" -> Icons.Default.AccessTime "Time Tracker" -> Icons.Default.Timer "Translation & Dictionary" -> Icons.Default.Translate + "Visual Novel" -> Icons.Default.ModeComment "Voice & Video Chat" -> Icons.Default.VideoChat "Unit Convertor" -> Icons.Default.CurrencyExchange "VPN & Proxy" -> Icons.Default.VpnLock "Wallet" -> Icons.Default.Wallet "Wallpaper" -> Icons.Default.Wallpaper "Weather" -> Icons.Default.WbSunny + "Word Game" -> Icons.Default.Sos "Workout" -> Icons.Default.FitnessCenter "Writing" -> Icons.Default.EditNote else -> Icons.Default.Category @@ -171,21 +200,27 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "AI Chat" -> CategoryGroups.tools "App Manager" -> CategoryGroups.device "App Store & Updater" -> CategoryGroups.device + "Action Game" -> CategoryGroups.games "Battery" -> CategoryGroups.device + "Board Game" -> CategoryGroups.games "Bookmark" -> CategoryGroups.storage "Browser" -> CategoryGroups.network "Calculator" -> CategoryGroups.tools "Calendar & Agenda" -> CategoryGroups.productivity + "Card Game" -> CategoryGroups.games "Clock" -> CategoryGroups.productivity "Cloud Storage & File Sync" -> CategoryGroups.storage "Connectivity" -> CategoryGroups.network "Contact" -> CategoryGroups.communication "Development" -> CategoryGroups.interests + "Dice" -> CategoryGroups.games "Diet" -> CategoryGroups.interests "DNS & Hosts" -> CategoryGroups.network "Draw" -> CategoryGroups.interests "Ebook Reader" -> CategoryGroups.media + "Educational Game" -> CategoryGroups.games "Email" -> CategoryGroups.communication + "Emulator" -> CategoryGroups.games "File Encryption & Vault" -> CategoryGroups.storage "File Transfer" -> CategoryGroups.storage "Finance Manager" -> CategoryGroups.wallets @@ -193,7 +228,7 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "Flashlight" -> CategoryGroups.tools "Forum" -> CategoryGroups.communication "Gallery" -> CategoryGroups.storage - "Games" -> CategoryGroups.media + "Game Helper" -> CategoryGroups.games "Graphics" -> CategoryGroups.interests "Habit Tracker" -> CategoryGroups.productivity "Health Manager" -> CategoryGroups.productivity @@ -214,22 +249,29 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "News" -> CategoryGroups.interests "Note" -> CategoryGroups.storage "Online Media Player" -> CategoryGroups.media + "Party Game" -> CategoryGroups.games "Pass Wallet" -> CategoryGroups.wallets "Password & 2FA" -> CategoryGroups.device "Phone & SMS" -> CategoryGroups.communication + "Platform Game" -> CategoryGroups.games "Podcast" -> CategoryGroups.media "Public Transport" -> CategoryGroups.tools + "Puzzle Game" -> CategoryGroups.games "Radio" -> CategoryGroups.media "Reading" -> CategoryGroups.media "Recipe Manager" -> CategoryGroups.interests "Religion" -> CategoryGroups.interests + "Role-Playing Game" -> CategoryGroups.games "Remote Access" -> CategoryGroups.network "Remote Controller" -> CategoryGroups.tools "Schedule" -> CategoryGroups.productivity "Science & Education" -> CategoryGroups.interests "Security" -> CategoryGroups.device + "Shooter Game" -> CategoryGroups.games + "Strategy Game" -> CategoryGroups.games "Shopping List" -> CategoryGroups.tools "Social Network" -> CategoryGroups.communication + "Sport Game" -> CategoryGroups.games "Sports & Health" -> CategoryGroups.interests "System" -> CategoryGroups.device "Task" -> CategoryGroups.productivity @@ -239,12 +281,14 @@ data class CategoryItem(val id: String, val name: String, val description: Strin "Time" -> CategoryGroups.productivity "Time Tracker" -> CategoryGroups.productivity "Translation & Dictionary" -> CategoryGroups.tools + "Visual Novel" -> CategoryGroups.games "Voice & Video Chat" -> CategoryGroups.communication "Unit Convertor" -> CategoryGroups.tools "VPN & Proxy" -> CategoryGroups.network "Wallet" -> CategoryGroups.wallets "Wallpaper" -> CategoryGroups.device "Weather" -> CategoryGroups.tools + "Word Game" -> CategoryGroups.games "Workout" -> CategoryGroups.interests "Writing" -> CategoryGroups.productivity else -> CategoryGroups.misc diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f9956f0f..8655621e2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -62,28 +62,30 @@ Clear all Hide - Calendars, tasks, clocks & notes - Navigation, weather, calculators & converters - Finance, money & pass managers - Music, podcasts, games & ebook readers - Email, messaging & social networks - Launcher, keyboard, security & theming - Browser, VPNs, proxies & firewall - Files, gallery, cloud sync & encryption - Science, sports, drawing & recipes - Uncategorized - Productivity Tools Finances & Wallets Entertainment & Media Communication Device + Games Network Files & Storage Interests Miscellaneous + Calendars, tasks, clocks & notes + Navigation, weather, calculators & converters + Finance, money & pass managers + Music, podcasts, games & ebook readers + Email, messaging & social networks + Launcher, keyboard, security & theming + Board, card & party games + Browser, VPNs, proxies & firewall + Files, gallery, cloud sync & encryption + Science, sports, drawing & recipes + Uncategorized + Last updated: %1$s Last updated: %1$s (%2$s)