From 06c7331584790ff8984863c4fb41574cdc644880 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sat, 26 Oct 2024 19:41:54 +0200 Subject: [PATCH] Move Tag and tag serialization classes to core:base --- .../mm20/launcher2/ui/common/FavoritesTagSelector.kt | 3 +-- .../java/de/mm20/launcher2/ui/common/FavoritesVM.kt | 2 +- .../main/java/de/mm20/launcher2/ui/common/TagChip.kt | 9 +-------- .../ui/launcher/search/favorites/SearchFavorites.kt | 6 +----- .../ui/launcher/sheets/EditFavoritesSheet.kt | 2 +- .../ui/launcher/sheets/EditFavoritesSheetVM.kt | 3 +-- core/base/src/main/java/de/mm20/launcher2/Module.kt | 5 +++++ .../src/main/java/de/mm20/launcher2/search}/Tag.kt | 11 +++++------ .../de/mm20/launcher2/search}/TagSerialization.kt | 6 +----- .../main/java/de/mm20/launcher2/searchable/Module.kt | 3 +-- .../launcher2/services/tags/impl/TagsServiceImpl.kt | 2 +- 11 files changed, 19 insertions(+), 33 deletions(-) rename {data/searchable/src/main/java/de/mm20/launcher2/search/data => core/base/src/main/java/de/mm20/launcher2/search}/Tag.kt (78%) rename {data/searchable/src/main/java/de/mm20/launcher2/searchable => core/base/src/main/java/de/mm20/launcher2/search}/TagSerialization.kt (70%) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesTagSelector.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesTagSelector.kt index 59550404..20402af5 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesTagSelector.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesTagSelector.kt @@ -4,7 +4,6 @@ import androidx.compose.animation.AnimatedContent import androidx.compose.animation.EnterExitState import androidx.compose.animation.core.animateFloat import androidx.compose.foundation.ScrollState -import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -35,7 +34,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.launcher.sheets.LocalBottomSheetManager import de.mm20.launcher2.ui.layout.TopReversed diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesVM.kt index c0db6a3f..fdd8fdcd 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/common/FavoritesVM.kt @@ -7,7 +7,7 @@ import de.mm20.launcher2.data.customattrs.utils.withCustomLabels import de.mm20.launcher2.preferences.search.FavoritesSettings import de.mm20.launcher2.preferences.search.FavoritesSettingsData import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.searchable.PinnedLevel import de.mm20.launcher2.services.favorites.FavoritesService import de.mm20.launcher2.widgets.CalendarWidget diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/common/TagChip.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/common/TagChip.kt index c3cc358b..e5c9531f 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/common/TagChip.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/common/TagChip.kt @@ -1,16 +1,13 @@ package de.mm20.launcher2.ui.common import androidx.compose.animation.animateColor -import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.animateDp -import androidx.compose.animation.core.spring import androidx.compose.animation.core.tween import androidx.compose.animation.core.updateTransition import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable -import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding @@ -22,8 +19,6 @@ import androidx.compose.material.icons.rounded.Tag import androidx.compose.material3.FilterChipDefaults import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.SelectableChipColors -import androidx.compose.material3.SelectableChipElevation import androidx.compose.material3.Text import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.runtime.* @@ -31,13 +26,11 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.ui.ktx.splitLeadingEmoji @Composable diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt index 6c21e292..42080895 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt @@ -1,9 +1,5 @@ package de.mm20.launcher2.ui.launcher.search.favorites -import androidx.compose.animation.AnimatedContent -import androidx.compose.animation.fadeIn -import androidx.compose.animation.fadeOut -import androidx.compose.animation.togetherWith import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -20,7 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.common.FavoritesTagSelector import de.mm20.launcher2.ui.component.Banner diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheet.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheet.kt index f7937f95..a6957f6a 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheet.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheet.kt @@ -77,7 +77,7 @@ import coil.compose.AsyncImage import de.mm20.launcher2.badges.Badge import de.mm20.launcher2.icons.LauncherIcon import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.common.TagChip import de.mm20.launcher2.ui.component.BottomSheetDialog diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheetVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheetVM.kt index 8deffa00..7b4450d3 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheetVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/EditFavoritesSheetVM.kt @@ -21,14 +21,13 @@ import de.mm20.launcher2.search.SavableSearchable import de.mm20.launcher2.appshortcuts.AppShortcut import de.mm20.launcher2.preferences.search.FavoritesSettings import de.mm20.launcher2.search.Searchable -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.searchable.PinnedLevel import de.mm20.launcher2.services.favorites.FavoritesService import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.flow -import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import org.koin.core.component.KoinComponent diff --git a/core/base/src/main/java/de/mm20/launcher2/Module.kt b/core/base/src/main/java/de/mm20/launcher2/Module.kt index feafdd17..e9508bd2 100644 --- a/core/base/src/main/java/de/mm20/launcher2/Module.kt +++ b/core/base/src/main/java/de/mm20/launcher2/Module.kt @@ -1,9 +1,14 @@ package de.mm20.launcher2 import android.content.pm.PackageManager +import de.mm20.launcher2.search.SearchableDeserializer +import de.mm20.launcher2.search.Tag +import de.mm20.launcher2.search.TagDeserializer import org.koin.android.ext.koin.androidContext +import org.koin.core.qualifier.named import org.koin.dsl.module val baseModule = module { factory { androidContext().packageManager } + factory(named(Tag.Domain)) { TagDeserializer() } } \ No newline at end of file diff --git a/data/searchable/src/main/java/de/mm20/launcher2/search/data/Tag.kt b/core/base/src/main/java/de/mm20/launcher2/search/Tag.kt similarity index 78% rename from data/searchable/src/main/java/de/mm20/launcher2/search/data/Tag.kt rename to core/base/src/main/java/de/mm20/launcher2/search/Tag.kt index ae1f5e95..74eb8d8c 100644 --- a/data/searchable/src/main/java/de/mm20/launcher2/search/data/Tag.kt +++ b/core/base/src/main/java/de/mm20/launcher2/search/Tag.kt @@ -1,13 +1,12 @@ -package de.mm20.launcher2.search.data +package de.mm20.launcher2.search import android.content.Context import android.os.Bundle +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Tag import de.mm20.launcher2.icons.ColorLayer import de.mm20.launcher2.icons.StaticLauncherIcon -import de.mm20.launcher2.icons.TextLayer -import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.SearchableSerializer -import de.mm20.launcher2.searchable.TagSerializer +import de.mm20.launcher2.icons.VectorLayer data class Tag( val tag: String, @@ -30,7 +29,7 @@ data class Tag( override fun getPlaceholderIcon(context: Context): StaticLauncherIcon { return StaticLauncherIcon( - foregroundLayer = TextLayer("#"), + foregroundLayer = VectorLayer(Icons.Rounded.Tag), backgroundLayer = ColorLayer() ) } diff --git a/data/searchable/src/main/java/de/mm20/launcher2/searchable/TagSerialization.kt b/core/base/src/main/java/de/mm20/launcher2/search/TagSerialization.kt similarity index 70% rename from data/searchable/src/main/java/de/mm20/launcher2/searchable/TagSerialization.kt rename to core/base/src/main/java/de/mm20/launcher2/search/TagSerialization.kt index 4931f39a..64d1f875 100644 --- a/data/searchable/src/main/java/de/mm20/launcher2/searchable/TagSerialization.kt +++ b/core/base/src/main/java/de/mm20/launcher2/search/TagSerialization.kt @@ -1,9 +1,5 @@ -package de.mm20.launcher2.searchable +package de.mm20.launcher2.search -import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.SearchableDeserializer -import de.mm20.launcher2.search.SearchableSerializer -import de.mm20.launcher2.search.data.Tag import org.json.JSONObject class TagSerializer: SearchableSerializer { diff --git a/data/searchable/src/main/java/de/mm20/launcher2/searchable/Module.kt b/data/searchable/src/main/java/de/mm20/launcher2/searchable/Module.kt index 19e3014c..002ab6a5 100644 --- a/data/searchable/src/main/java/de/mm20/launcher2/searchable/Module.kt +++ b/data/searchable/src/main/java/de/mm20/launcher2/searchable/Module.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.searchable import de.mm20.launcher2.backup.Backupable import de.mm20.launcher2.search.SearchableDeserializer -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import org.koin.core.qualifier.named import org.koin.dsl.module @@ -12,5 +12,4 @@ val searchableModule = module { get() ) } factory { SavableSearchableRepositoryImpl(get(), get()) } - factory(named(Tag.Domain)) { TagDeserializer() } } \ No newline at end of file diff --git a/services/tags/src/main/java/de/mm20/launcher2/services/tags/impl/TagsServiceImpl.kt b/services/tags/src/main/java/de/mm20/launcher2/services/tags/impl/TagsServiceImpl.kt index 354e84cf..b2241f10 100644 --- a/services/tags/src/main/java/de/mm20/launcher2/services/tags/impl/TagsServiceImpl.kt +++ b/services/tags/src/main/java/de/mm20/launcher2/services/tags/impl/TagsServiceImpl.kt @@ -3,7 +3,7 @@ package de.mm20.launcher2.services.tags.impl import de.mm20.launcher2.data.customattrs.CustomAttributesRepository import de.mm20.launcher2.searchable.SavableSearchableRepository import de.mm20.launcher2.search.SavableSearchable -import de.mm20.launcher2.search.data.Tag +import de.mm20.launcher2.search.Tag import de.mm20.launcher2.searchable.PinnedLevel import de.mm20.launcher2.services.tags.TagsService import kotlinx.coroutines.CoroutineScope