From d5b58df6af6607bfed6da2877cb38d17d929e966 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sat, 19 Nov 2022 16:24:46 +0100 Subject: [PATCH] Add more quick action icons --- .../searchactions/actions/SearchAction.kt | 63 ++++++++----------- .../ui/component/SearchActionIcon.kt | 29 ++++++++- 2 files changed, 53 insertions(+), 39 deletions(-) diff --git a/search-actions/src/main/java/de/mm20/launcher2/searchactions/actions/SearchAction.kt b/search-actions/src/main/java/de/mm20/launcher2/searchactions/actions/SearchAction.kt index c5e62d91..fc1748c0 100644 --- a/search-actions/src/main/java/de/mm20/launcher2/searchactions/actions/SearchAction.kt +++ b/search-actions/src/main/java/de/mm20/launcher2/searchactions/actions/SearchAction.kt @@ -12,48 +12,35 @@ interface SearchAction : Searchable { fun start(context: Context) } -enum class SearchActionIcon { - Search, - Custom, - Website, - Alarm, - Timer, - Contact, - Phone, - Email, - Message, - Calendar, - Translate; +enum class SearchActionIcon(private val value: Int) { + Search(0), + Custom(1), + Website(2), + Alarm(3), + Timer(4), + Contact(5), + Phone(6), + Email(7), + Message(8), + Calendar(9), + Translate(10), + WebSearch(11), + PersonSearch(12), + StatsSearch(13), + SearchPage(14), + SearchList(15), + ImageSearch(16), + Location(17), + Movie(18), + Music(19), + Game(20), + Note(21); fun toInt(): Int { - return when (this) { - Search -> 0 - Custom -> 1 - Website -> 2 - Alarm -> 3 - Timer -> 4 - Contact -> 5 - Phone -> 6 - Email -> 7 - Message -> 8 - Calendar -> 9 - Translate -> 10 - } + return value } companion object { fun fromInt(value: Int?): SearchActionIcon { - return when (value) { - 1 -> Custom - 2 -> Website - 3 -> Alarm - 4 -> Timer - 5 -> Contact - 6 -> Phone - 7 -> Email - 8 -> Message - 9 -> Calendar - 10 -> Translate - else -> Search - } + return values().firstOrNull { it.value == value } ?: Search } } } \ No newline at end of file diff --git a/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt b/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt index c150a81b..752a0fb7 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt @@ -7,14 +7,29 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Alarm import androidx.compose.material.icons.rounded.Call import androidx.compose.material.icons.rounded.Email +import androidx.compose.material.icons.rounded.Error import androidx.compose.material.icons.rounded.Event +import androidx.compose.material.icons.rounded.FindInPage +import androidx.compose.material.icons.rounded.Games +import androidx.compose.material.icons.rounded.ImageSearch import androidx.compose.material.icons.rounded.Language +import androidx.compose.material.icons.rounded.LocationOn +import androidx.compose.material.icons.rounded.ManageSearch +import androidx.compose.material.icons.rounded.Movie +import androidx.compose.material.icons.rounded.MusicNote import androidx.compose.material.icons.rounded.Person import androidx.compose.material.icons.rounded.PersonAdd +import androidx.compose.material.icons.rounded.PersonSearch +import androidx.compose.material.icons.rounded.Place +import androidx.compose.material.icons.rounded.QueryStats import androidx.compose.material.icons.rounded.Search import androidx.compose.material.icons.rounded.Sms +import androidx.compose.material.icons.rounded.SportsEsports +import androidx.compose.material.icons.rounded.StickyNote2 import androidx.compose.material.icons.rounded.Timer import androidx.compose.material.icons.rounded.Translate +import androidx.compose.material.icons.rounded.TravelExplore +import androidx.compose.material.icons.rounded.Warning import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -119,6 +134,18 @@ fun getSearchActionIconVector(icon: SearchActionIcon): ImageVector { SearchActionIcon.Message -> Icons.Rounded.Sms SearchActionIcon.Calendar -> Icons.Rounded.Event SearchActionIcon.Translate -> Icons.Rounded.Translate - else -> Icons.Rounded.Search + SearchActionIcon.Search -> Icons.Rounded.Search + SearchActionIcon.Custom -> Icons.Rounded.Warning + SearchActionIcon.WebSearch -> Icons.Rounded.TravelExplore + SearchActionIcon.PersonSearch -> Icons.Rounded.PersonSearch + SearchActionIcon.StatsSearch -> Icons.Rounded.QueryStats + SearchActionIcon.SearchPage -> Icons.Rounded.FindInPage + SearchActionIcon.SearchList -> Icons.Rounded.ManageSearch + SearchActionIcon.ImageSearch -> Icons.Rounded.ImageSearch + SearchActionIcon.Location -> Icons.Rounded.Place + SearchActionIcon.Movie -> Icons.Rounded.Movie + SearchActionIcon.Music -> Icons.Rounded.MusicNote + SearchActionIcon.Game -> Icons.Rounded.SportsEsports + SearchActionIcon.Note -> Icons.Rounded.StickyNote2 } } \ No newline at end of file