Move Tag and tag serialization classes to core:base
This commit is contained in:
parent
a505b25ce9
commit
06c7331584
@ -4,7 +4,6 @@ import androidx.compose.animation.AnimatedContent
|
|||||||
import androidx.compose.animation.EnterExitState
|
import androidx.compose.animation.EnterExitState
|
||||||
import androidx.compose.animation.core.animateFloat
|
import androidx.compose.animation.core.animateFloat
|
||||||
import androidx.compose.foundation.ScrollState
|
import androidx.compose.foundation.ScrollState
|
||||||
import androidx.compose.foundation.combinedClickable
|
|
||||||
import androidx.compose.foundation.horizontalScroll
|
import androidx.compose.foundation.horizontalScroll
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
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.draw.rotate
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
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.R
|
||||||
import de.mm20.launcher2.ui.launcher.sheets.LocalBottomSheetManager
|
import de.mm20.launcher2.ui.launcher.sheets.LocalBottomSheetManager
|
||||||
import de.mm20.launcher2.ui.layout.TopReversed
|
import de.mm20.launcher2.ui.layout.TopReversed
|
||||||
|
|||||||
@ -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.FavoritesSettings
|
||||||
import de.mm20.launcher2.preferences.search.FavoritesSettingsData
|
import de.mm20.launcher2.preferences.search.FavoritesSettingsData
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
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.searchable.PinnedLevel
|
||||||
import de.mm20.launcher2.services.favorites.FavoritesService
|
import de.mm20.launcher2.services.favorites.FavoritesService
|
||||||
import de.mm20.launcher2.widgets.CalendarWidget
|
import de.mm20.launcher2.widgets.CalendarWidget
|
||||||
|
|||||||
@ -1,16 +1,13 @@
|
|||||||
package de.mm20.launcher2.ui.common
|
package de.mm20.launcher2.ui.common
|
||||||
|
|
||||||
import androidx.compose.animation.animateColor
|
import androidx.compose.animation.animateColor
|
||||||
import androidx.compose.animation.animateColorAsState
|
|
||||||
import androidx.compose.animation.core.animateDp
|
import androidx.compose.animation.core.animateDp
|
||||||
import androidx.compose.animation.core.spring
|
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.animation.core.updateTransition
|
import androidx.compose.animation.core.updateTransition
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
import androidx.compose.foundation.border
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
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.FilterChipDefaults
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.SelectableChipColors
|
|
||||||
import androidx.compose.material3.SelectableChipElevation
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.minimumInteractiveComponentSize
|
import androidx.compose.material3.minimumInteractiveComponentSize
|
||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
@ -31,13 +26,11 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
|
||||||
import androidx.compose.ui.draw.shadow
|
import androidx.compose.ui.draw.shadow
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.compose.ui.unit.dp
|
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
|
import de.mm20.launcher2.ui.ktx.splitLeadingEmoji
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|||||||
@ -1,9 +1,5 @@
|
|||||||
package de.mm20.launcher2.ui.launcher.search.favorites
|
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.background
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
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.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
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.R
|
||||||
import de.mm20.launcher2.ui.common.FavoritesTagSelector
|
import de.mm20.launcher2.ui.common.FavoritesTagSelector
|
||||||
import de.mm20.launcher2.ui.component.Banner
|
import de.mm20.launcher2.ui.component.Banner
|
||||||
|
|||||||
@ -77,7 +77,7 @@ import coil.compose.AsyncImage
|
|||||||
import de.mm20.launcher2.badges.Badge
|
import de.mm20.launcher2.badges.Badge
|
||||||
import de.mm20.launcher2.icons.LauncherIcon
|
import de.mm20.launcher2.icons.LauncherIcon
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
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.R
|
||||||
import de.mm20.launcher2.ui.common.TagChip
|
import de.mm20.launcher2.ui.common.TagChip
|
||||||
import de.mm20.launcher2.ui.component.BottomSheetDialog
|
import de.mm20.launcher2.ui.component.BottomSheetDialog
|
||||||
|
|||||||
@ -21,14 +21,13 @@ import de.mm20.launcher2.search.SavableSearchable
|
|||||||
import de.mm20.launcher2.appshortcuts.AppShortcut
|
import de.mm20.launcher2.appshortcuts.AppShortcut
|
||||||
import de.mm20.launcher2.preferences.search.FavoritesSettings
|
import de.mm20.launcher2.preferences.search.FavoritesSettings
|
||||||
import de.mm20.launcher2.search.Searchable
|
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.searchable.PinnedLevel
|
||||||
import de.mm20.launcher2.services.favorites.FavoritesService
|
import de.mm20.launcher2.services.favorites.FavoritesService
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.SharingStarted
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
import kotlinx.coroutines.flow.map
|
|
||||||
import kotlinx.coroutines.flow.stateIn
|
import kotlinx.coroutines.flow.stateIn
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.koin.core.component.KoinComponent
|
import org.koin.core.component.KoinComponent
|
||||||
|
|||||||
@ -1,9 +1,14 @@
|
|||||||
package de.mm20.launcher2
|
package de.mm20.launcher2
|
||||||
|
|
||||||
import android.content.pm.PackageManager
|
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.android.ext.koin.androidContext
|
||||||
|
import org.koin.core.qualifier.named
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
val baseModule = module {
|
val baseModule = module {
|
||||||
factory<PackageManager> { androidContext().packageManager }
|
factory<PackageManager> { androidContext().packageManager }
|
||||||
|
factory<SearchableDeserializer>(named(Tag.Domain)) { TagDeserializer() }
|
||||||
}
|
}
|
||||||
@ -1,13 +1,12 @@
|
|||||||
package de.mm20.launcher2.search.data
|
package de.mm20.launcher2.search
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
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.ColorLayer
|
||||||
import de.mm20.launcher2.icons.StaticLauncherIcon
|
import de.mm20.launcher2.icons.StaticLauncherIcon
|
||||||
import de.mm20.launcher2.icons.TextLayer
|
import de.mm20.launcher2.icons.VectorLayer
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
|
||||||
import de.mm20.launcher2.search.SearchableSerializer
|
|
||||||
import de.mm20.launcher2.searchable.TagSerializer
|
|
||||||
|
|
||||||
data class Tag(
|
data class Tag(
|
||||||
val tag: String,
|
val tag: String,
|
||||||
@ -30,7 +29,7 @@ data class Tag(
|
|||||||
|
|
||||||
override fun getPlaceholderIcon(context: Context): StaticLauncherIcon {
|
override fun getPlaceholderIcon(context: Context): StaticLauncherIcon {
|
||||||
return StaticLauncherIcon(
|
return StaticLauncherIcon(
|
||||||
foregroundLayer = TextLayer("#"),
|
foregroundLayer = VectorLayer(Icons.Rounded.Tag),
|
||||||
backgroundLayer = ColorLayer()
|
backgroundLayer = ColorLayer()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -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
|
import org.json.JSONObject
|
||||||
|
|
||||||
class TagSerializer: SearchableSerializer {
|
class TagSerializer: SearchableSerializer {
|
||||||
@ -2,7 +2,7 @@ package de.mm20.launcher2.searchable
|
|||||||
|
|
||||||
import de.mm20.launcher2.backup.Backupable
|
import de.mm20.launcher2.backup.Backupable
|
||||||
import de.mm20.launcher2.search.SearchableDeserializer
|
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.core.qualifier.named
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
@ -12,5 +12,4 @@ val searchableModule = module {
|
|||||||
get()
|
get()
|
||||||
) }
|
) }
|
||||||
factory <SavableSearchableRepository> { SavableSearchableRepositoryImpl(get(), get()) }
|
factory <SavableSearchableRepository> { SavableSearchableRepositoryImpl(get(), get()) }
|
||||||
factory<SearchableDeserializer>(named(Tag.Domain)) { TagDeserializer() }
|
|
||||||
}
|
}
|
||||||
@ -3,7 +3,7 @@ package de.mm20.launcher2.services.tags.impl
|
|||||||
import de.mm20.launcher2.data.customattrs.CustomAttributesRepository
|
import de.mm20.launcher2.data.customattrs.CustomAttributesRepository
|
||||||
import de.mm20.launcher2.searchable.SavableSearchableRepository
|
import de.mm20.launcher2.searchable.SavableSearchableRepository
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
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.searchable.PinnedLevel
|
||||||
import de.mm20.launcher2.services.tags.TagsService
|
import de.mm20.launcher2.services.tags.TagsService
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user