diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 32d77d4c..387303a6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -92,7 +92,7 @@ dependencies { implementation(libs.androidx.core) implementation(libs.androidx.exifinterface) implementation(libs.androidx.media2) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.gridlayout) diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 8cc80b4e..6d2a5a28 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -39,7 +39,7 @@ dependencies { implementation(libs.androidx.core) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) implementation(libs.androidx.palette) diff --git a/compat/build.gradle.kts b/compat/build.gradle.kts index 392a13ed..8a133cbd 100644 --- a/compat/build.gradle.kts +++ b/compat/build.gradle.kts @@ -38,5 +38,5 @@ dependencies { implementation(libs.androidx.core) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) } \ No newline at end of file diff --git a/crashreporter/build.gradle.kts b/crashreporter/build.gradle.kts index c8ab041c..4997b4c6 100644 --- a/crashreporter/build.gradle.kts +++ b/crashreporter/build.gradle.kts @@ -37,7 +37,7 @@ android { dependencies { implementation(libs.kotlin.stdlib) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) implementation(libs.androidx.recyclerview) diff --git a/currencies/build.gradle.kts b/currencies/build.gradle.kts index a6b7fea6..0f36549f 100644 --- a/currencies/build.gradle.kts +++ b/currencies/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { implementation(libs.bundles.kotlin) implementation(libs.androidx.core) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) implementation(libs.androidx.work) implementation(libs.okhttp) diff --git a/icons/build.gradle.kts b/icons/build.gradle.kts index ed461b43..d6b7cdc7 100644 --- a/icons/build.gradle.kts +++ b/icons/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { implementation(libs.androidx.core) implementation(libs.androidx.appcompat) implementation(libs.androidx.palette) - implementation(libs.materialcomponents) implementation(libs.bundles.androidx.lifecycle) diff --git a/nextcloud/build.gradle.kts b/nextcloud/build.gradle.kts index 1987bd4b..854884ca 100644 --- a/nextcloud/build.gradle.kts +++ b/nextcloud/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { implementation(libs.bundles.kotlin) implementation(libs.androidx.core) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) implementation(libs.androidx.browser) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.securitycrypto) diff --git a/owncloud/build.gradle.kts b/owncloud/build.gradle.kts index 931e1df9..77a36250 100644 --- a/owncloud/build.gradle.kts +++ b/owncloud/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { implementation(libs.bundles.kotlin) implementation(libs.androidx.core) implementation(libs.androidx.appcompat) - implementation(libs.materialcomponents) + implementation(libs.materialcomponents.core) implementation(libs.androidx.browser) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.securitycrypto) diff --git a/settings.gradle.kts b/settings.gradle.kts index 4bd8806b..42d5367c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -252,9 +252,15 @@ dependencyResolutionManagement { .to("androidx.navigation", "navigation-compose") .version("2.4.0-alpha10") - alias("materialcomponents") + alias("materialcomponents.core") .to("com.google.android.material", "material") .version("1.5.0-beta01") + alias("materialcomponents.composethemeadapter3") + .to("com.google.android.material", "compose-theme-adapter-3") + .version("1.0.1") + alias("materialcomponents.composethemeadapter") + .to("com.google.android.material", "compose-theme-adapter") + .version("1.1.1") version("lottie", "4.1.0") alias("lottie.core") diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index 99047f15..0a3606e4 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -66,7 +66,11 @@ dependencies { // Legacy dependencies implementation(libs.androidx.transition) - implementation(libs.materialcomponents) + + implementation(libs.materialcomponents.core) + implementation(libs.materialcomponents.composethemeadapter) + implementation(libs.materialcomponents.composethemeadapter3) + implementation(libs.viewpropertyobjectanimator) implementation(libs.glide) implementation(libs.draglinearlayout) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/LegacyAppTheme.kt b/ui/src/main/java/de/mm20/launcher2/ui/LegacyAppTheme.kt index 499f3156..2e3b7dd7 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/LegacyAppTheme.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/LegacyAppTheme.kt @@ -14,6 +14,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp +import com.google.android.material.composethemeadapter.MdcTheme +import com.google.android.material.composethemeadapter3.Mdc3Theme import androidx.compose.material.MaterialTheme as Material2Theme val legacyTypography = Typography( @@ -82,84 +84,8 @@ val legacyTypography = Typography( @Composable fun LegacyLauncherTheme(content: @Composable () -> Unit) { - val theme = LocalContext.current.theme - val colorSurface = TypedValue() - theme.resolveAttribute(R.attr.colorSurface, colorSurface, true) - val colorSurfaceVariant = TypedValue() - theme.resolveAttribute(R.attr.colorSurfaceVariant, colorSurfaceVariant, true) - - val colorPrimary = TypedValue() - theme.resolveAttribute(R.attr.colorPrimary, colorPrimary, true) - val colorOnPrimary = TypedValue() - theme.resolveAttribute(R.attr.colorOnPrimary, colorOnPrimary, true) - val colorPrimaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorPrimaryContainer, colorPrimaryContainer, true) - val colorOnPrimaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorOnPrimaryContainer, colorOnPrimaryContainer, true) - - val colorSecondary = TypedValue() - theme.resolveAttribute(R.attr.colorSecondary, colorSecondary, true) - val colorOnSecondary = TypedValue() - theme.resolveAttribute(R.attr.colorOnSecondary, colorOnSecondary, true) - val colorSecondaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorSecondaryContainer, colorSecondaryContainer, true) - val colorOnSecondaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorOnSecondaryContainer, colorOnSecondaryContainer, true) - - val colorTertiary = TypedValue() - theme.resolveAttribute(R.attr.colorTertiary, colorTertiary, true) - val colorOnTertiary = TypedValue() - theme.resolveAttribute(R.attr.colorOnTertiary, colorOnTertiary, true) - val colorTertiaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorTertiaryContainer, colorTertiaryContainer, true) - val colorOnTertiaryContainer = TypedValue() - theme.resolveAttribute(R.attr.colorOnTertiaryContainer, colorOnTertiaryContainer, true) - - - MaterialTheme( - typography = legacyTypography, - colorScheme = if (isSystemInDarkTheme()) darkColorScheme( - surface = Color(colorSurface.data), - surfaceVariant = Color(colorSurfaceVariant.data), - primary = Color(colorPrimary.data), - onPrimary = Color(colorOnPrimary.data), - primaryContainer = Color(colorPrimaryContainer.data), - onPrimaryContainer = Color(colorOnPrimaryContainer.data), - secondary = Color(colorSecondary.data), - onSecondary = Color(colorOnSecondary.data), - secondaryContainer = Color(colorSecondaryContainer.data), - onSecondaryContainer = Color(colorOnSecondaryContainer.data), - tertiary = Color(colorTertiary.data), - onTertiary = Color(colorOnTertiary.data), - tertiaryContainer = Color(colorTertiaryContainer.data), - onTertiaryContainer = Color(colorOnTertiaryContainer.data), - ) else lightColorScheme( - surface = Color(colorSurface.data), - surfaceVariant = Color(colorSurfaceVariant.data), - primary = Color(colorPrimary.data), - onPrimary = Color(colorOnPrimary.data), - primaryContainer = Color(colorPrimaryContainer.data), - onPrimaryContainer = Color(colorOnPrimaryContainer.data), - secondary = Color(colorSecondary.data), - onSecondary = Color(colorOnSecondary.data), - secondaryContainer = Color(colorSecondaryContainer.data), - onSecondaryContainer = Color(colorOnSecondaryContainer.data), - tertiary = Color(colorTertiary.data), - onTertiary = Color(colorOnTertiary.data), - tertiaryContainer = Color(colorTertiaryContainer.data), - onTertiaryContainer = Color(colorOnTertiaryContainer.data), - ) - ) { - Material2Theme( - colors = if (isSystemInDarkTheme()) darkColors( - surface = Color(colorSurface.data), - primary = Color(colorPrimary.data), - ) else lightColors( - surface = Color(colorSurface.data), - primary = Color(colorPrimary.data), - ), - content = content - ) + Mdc3Theme { + MdcTheme(content = content) } } \ No newline at end of file diff --git a/widgets/build.gradle.kts b/widgets/build.gradle.kts index f7576c16..79ddeb87 100644 --- a/widgets/build.gradle.kts +++ b/widgets/build.gradle.kts @@ -43,8 +43,6 @@ dependencies { implementation(libs.bundles.androidx.lifecycle) - implementation(libs.materialcomponents) - implementation(libs.koin.android) implementation(project(":weather"))