From 4dc5f2e269147b8364ad8ea44c74807cdd90a3fa Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Fri, 9 May 2025 21:38:11 +0200 Subject: [PATCH] update libraries --- .../mm20/launcher2/ui/base/ProvideSettings.kt | 6 +-- .../de/mm20/launcher2/ui/common/TagChip.kt | 4 +- .../launcher/sheets/ConfigureWidgetSheet.kt | 7 +-- .../ui/launcher/widgets/clock/ClockWidget.kt | 4 +- .../mm20/launcher2/ui/theme/LauncherTheme.kt | 6 +-- .../launcher2/ui/theme/colorscheme/Custom.kt | 4 +- .../searchable/SavableSearchableRepository.kt | 4 +- .../launcher2/websites/WebsiteRepository.kt | 2 +- gradle/libs.versions.toml | 52 +++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- 10 files changed, 46 insertions(+), 45 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/base/ProvideSettings.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/base/ProvideSettings.kt index 2ae2d0ec..da3e46b2 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/base/ProvideSettings.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/base/ProvideSettings.kt @@ -13,14 +13,14 @@ import de.mm20.launcher2.widgets.FavoritesWidget import de.mm20.launcher2.widgets.WidgetRepository import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged -import org.koin.androidx.compose.inject +import org.koin.compose.koinInject @Composable fun ProvideSettings( content: @Composable () -> Unit ) { - val settings: UiSettings by inject() - val widgetRepository: WidgetRepository by inject() + val settings: UiSettings = koinInject() + val widgetRepository: WidgetRepository = koinInject() val cardStyle by remember { settings.cardStyle.distinctUntilChanged() 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 95d38379..1a1480be 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 @@ -41,7 +41,7 @@ import de.mm20.launcher2.icons.VectorLayer import de.mm20.launcher2.search.Tag import de.mm20.launcher2.ui.component.ShapedLauncherIcon import de.mm20.launcher2.ui.ktx.toPixels -import org.koin.androidx.compose.inject +import org.koin.compose.koinInject @Composable fun TagChip( @@ -92,7 +92,7 @@ fun TagChip( if (it >= 2) 8.dp else 0.dp } - val iconService by inject() + val iconService: IconService = koinInject() val iconSize = InputChipDefaults.AvatarSize.toPixels() val icon by remember(tag, iconSize) { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/ConfigureWidgetSheet.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/ConfigureWidgetSheet.kt index 5435ed94..7148613f 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/ConfigureWidgetSheet.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/sheets/ConfigureWidgetSheet.kt @@ -96,6 +96,7 @@ import de.mm20.launcher2.widgets.WeatherWidget import de.mm20.launcher2.widgets.Widget import kotlinx.coroutines.flow.map import org.koin.androidx.compose.get +import org.koin.compose.koinInject import java.time.ZonedDateTime import java.time.format.DateTimeFormatter import kotlin.math.roundToInt @@ -501,9 +502,9 @@ fun ColumnScope.ConfigureCalendarWidget( widget: CalendarWidget, onWidgetUpdated: (CalendarWidget) -> Unit ) { - val calendarRepository: CalendarRepository = get() - val permissionsManager: PermissionsManager = get() - val pluginRepository: PluginRepository = get() + val calendarRepository: CalendarRepository = koinInject() + val permissionsManager: PermissionsManager = koinInject() + val pluginRepository: PluginRepository = koinInject() val calendars by remember { calendarRepository.getCalendars().map { it.sortedBy { it.name } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt index 0ccee478..d6a18a2c 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt @@ -86,7 +86,7 @@ import de.mm20.launcher2.ui.launcher.widgets.clock.parts.PartProvider import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper import de.mm20.launcher2.ui.settings.clockwidget.ClockWidgetSettingsScreenVM import de.mm20.launcher2.ui.utils.isTwentyFourHours -import org.koin.androidx.compose.inject +import org.koin.compose.koinInject @Composable fun ClockWidget( @@ -270,7 +270,7 @@ fun Clock( ) { val time = LocalTime.current val context = LocalContext.current - val clockSettings: ClockWidgetSettings by inject() + val clockSettings: ClockWidgetSettings = koinInject() val showSeconds by clockSettings.showSeconds.collectAsState(initial = false) val useThemeColor by clockSettings.useThemeColor.collectAsState(initial = false) val timeFormat by clockSettings.timeFormat.collectAsState(null) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt index cb0b716b..aede1043 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt @@ -20,7 +20,7 @@ import de.mm20.launcher2.ui.theme.typography.DefaultTypography import de.mm20.launcher2.ui.theme.typography.getDeviceDefaultTypography import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.map -import org.koin.androidx.compose.inject +import org.koin.compose.koinInject import de.mm20.launcher2.preferences.ColorScheme as ColorSchemePref @@ -30,8 +30,8 @@ fun LauncherTheme( ) { val context = LocalContext.current - val uiSettings: UiSettings by inject() - val themeRepository: ThemeRepository by inject() + val uiSettings: UiSettings = koinInject() + val themeRepository: ThemeRepository = koinInject() val theme by remember { uiSettings.theme.flatMapLatest { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/theme/colorscheme/Custom.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/theme/colorscheme/Custom.kt index 52235e6d..35fd8e93 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/theme/colorscheme/Custom.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/theme/colorscheme/Custom.kt @@ -20,7 +20,7 @@ import de.mm20.launcher2.themes.Theme import de.mm20.launcher2.themes.get import de.mm20.launcher2.themes.merge import de.mm20.launcher2.ui.locals.LocalWallpaperColors -import org.koin.androidx.compose.inject +import org.koin.compose.koinInject @Composable fun lightColorSchemeOf(theme: Theme): ColorScheme { @@ -80,7 +80,7 @@ fun colorSchemeOf(colorScheme: FullColorScheme, corePalette: PartialCorePalette) @Composable fun systemCorePalette(): CorePalette { - val uiSettings: UiSettings by inject() + val uiSettings: UiSettings = koinInject() val compatModeColors by remember { uiSettings.compatModeColors }.collectAsState(false) diff --git a/data/searchable/src/main/java/de/mm20/launcher2/searchable/SavableSearchableRepository.kt b/data/searchable/src/main/java/de/mm20/launcher2/searchable/SavableSearchableRepository.kt index e185e51f..7e6cb269 100644 --- a/data/searchable/src/main/java/de/mm20/launcher2/searchable/SavableSearchableRepository.kt +++ b/data/searchable/src/main/java/de/mm20/launcher2/searchable/SavableSearchableRepository.kt @@ -28,7 +28,7 @@ import org.json.JSONException import org.koin.core.component.KoinComponent import org.koin.core.component.get import org.koin.core.error.InstanceCreationException -import org.koin.core.error.NoBeanDefFoundException +import org.koin.core.error.NoDefinitionFoundException import org.koin.core.qualifier.named import java.io.File @@ -404,7 +404,7 @@ internal class SavableSearchableRepositoryImpl( private suspend fun fromDatabaseEntity(entity: SavedSearchableEntity): SavedSearchable { val deserializer: SearchableDeserializer? = try { get(named(entity.type)) - } catch (e: NoBeanDefFoundException) { + } catch (e: NoDefinitionFoundException) { CrashReporter.logException(e) null } catch (e: InstanceCreationException) { diff --git a/data/websites/src/main/java/de/mm20/launcher2/websites/WebsiteRepository.kt b/data/websites/src/main/java/de/mm20/launcher2/websites/WebsiteRepository.kt index 8990a520..c749a930 100644 --- a/data/websites/src/main/java/de/mm20/launcher2/websites/WebsiteRepository.kt +++ b/data/websites/src/main/java/de/mm20/launcher2/websites/WebsiteRepository.kt @@ -17,8 +17,8 @@ import okhttp3.HttpUrl import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.Jsoup -import org.jsoup.UncheckedIOException import java.io.IOException +import java.io.UncheckedIOException import java.net.MalformedURLException import java.net.URISyntaxException import java.net.URL diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c2965b2c..9f56f8ae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -mustache = "0.9.7" -jacksonCore = "2.12.7" -jacksonDataformatYaml = "2.12.7" +mustache = "0.9.14" +jacksonCore = "2.19.0" +jacksonDataformatYaml = "2.19.0" minSdk = "26" compileSdk = "36" targetSdk = "36" @@ -9,20 +9,20 @@ targetSdk = "36" pluginSdk = "2.2.0" gradle = "8.1.2" -android-gradle-plugin = "8.6.1" +android-gradle-plugin = "8.10.0" ksp-gradle-plugin = "2.1.20-2.0.0" kotlin = "2.1.20" -kotlinx-coroutines = "1.9.0" -kotlinx-immutable = "0.3.5" -kotlinx-serialization = "1.8.0" +kotlinx-coroutines = "1.10.2" +kotlinx-immutable = "0.3.8" +kotlinx-serialization = "1.8.1" jetbrains-markdown = "0.7.3" -androidx-compose = "1.8.0-rc03" -androidx-compose-material3 = "1.4.0-alpha12" +androidx-compose = "1.9.0-alpha02" +androidx-compose-material3 = "1.4.0-alpha14" androidx-compose-materialicons = "1.7.8" -androidx-lifecycle = "2.8.7" +androidx-lifecycle = "2.9.0" androidx-core = "1.16.0" androidx-appcompat = "1.7.0" androidx-activity = "1.10.1" @@ -32,19 +32,19 @@ androidx-work = "2.9.0" androidx-browser = "1.8.0" androidx-palette = "1.0.0" androidx-media2 = "1.3.0" -androidx-room = "2.7.0" +androidx-room = "2.7.1" androidx-constraint-layout = "1.1.1" androidx-emojipicker = "1.5.0" -accompanist = "0.33.2-alpha" -coil = "2.3.0" -koin = "3.2.0" -retrofit = "2.9.0" +accompanist = "0.36.0" +coil = "2.7.0" +koin = "4.0.4" +retrofit = "2.11.0" junit = "4.13.2" -junitVersion = "1.1.5" -espressoCore = "3.5.1" +junitVersion = "1.2.1" +espressoCore = "3.6.1" -osmOpeningHours = "0.1.0" +osmOpeningHours = "0.2.0" [libraries] mustache-compiler = { module = "com.github.spullara.mustache.java:compiler", version.ref = "mustache" } @@ -97,13 +97,13 @@ accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist accompanist-navigationanimation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" } androidx-constraintlayout-compose = { group = "androidx.constraintlayout", name = "constraintlayout-compose", version.ref = "androidx-constraint-layout" } -androidx-transition = { group = "androidx.transition", name = "transition", version = "1.5.1" } -androidx-exifinterface = { group = "androidx.exifinterface", name = "exifinterface", version = "1.4.0" } +androidx-transition = { group = "androidx.transition", name = "transition", version = "1.6.0" } +androidx-exifinterface = { group = "androidx.exifinterface", name = "exifinterface", version = "1.4.1" } androidx-securitycrypto = { group = "androidx.security", name = "security-crypto", version = "1.1.0-alpha07" } -androidx-datastore = { group = "androidx.datastore", name = "datastore", version = "1.1.4" } +androidx-datastore = { group = "androidx.datastore", name = "datastore", version = "1.1.6" } androidx-emojipicker = { group = "androidx.emoji2", name = "emoji2-emojipicker", version.ref = "androidx-emojipicker" } -androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version = "2.9.0-beta01" } +androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version = "2.9.0" } okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version = "4.12.0" } retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } @@ -114,9 +114,9 @@ coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" } coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary", version = "2.10" } -suncalc = { group = "org.shredzone.commons", name = "commons-suncalc", version = "3.7" } -jsoup = { group = "org.jsoup", name = "jsoup", version = "1.16.1" } -commons-text = { group = "org.apache.commons", name = "commons-text", version = "1.10.0" } +suncalc = { group = "org.shredzone.commons", name = "commons-suncalc", version = "3.11" } +jsoup = { group = "org.jsoup", name = "jsoup", version = "1.20.1" } +commons-text = { group = "org.apache.commons", name = "commons-text", version = "1.13.1" } stringsimilarity = { group = "com.aallam.similarity", name = "string-similarity-kotlin", version = "0.1.0" } # 4.4.2 is the last GPL compatible version, don't update to 5.x @@ -126,7 +126,7 @@ koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = koin-androidxcompose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin" } tinypinyin = { group = "com.github.promeg", name = "tinypinyin", version = "2.0.3" } -emoji4j = { group = "com.sigpwned", name = "emoji4j-core", version = "15.0.1" } +emoji4j = { group = "com.sigpwned", name = "emoji4j-core", version = "16.0.0" } junit = { group = "junit", name = "junit", version.ref = "junit" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bfe16dda..8f16c9dc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Feb 09 12:41:42 CET 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists