diff --git a/buildSrc/src/main/java/com/kizitonwose/calendar/buildsrc/Dependencies.kt b/buildSrc/src/main/java/com/kizitonwose/calendar/buildsrc/Dependencies.kt index e9a4d017..6901f89f 100644 --- a/buildSrc/src/main/java/com/kizitonwose/calendar/buildsrc/Dependencies.kt +++ b/buildSrc/src/main/java/com/kizitonwose/calendar/buildsrc/Dependencies.kt @@ -14,23 +14,23 @@ object Android { const val minSdkLibraryCompose = 21 const val minSdkSample = 21 const val targetSdk = 33 - const val compileSdk = 33 + const val compileSdk = 34 // See compose/kotlin version mapping // https://developer.android.com/jetpack/androidx/releases/compose-kotlin - const val composeCompiler = "1.4.7" + const val composeCompiler = "1.5.3" } object Plugins { - const val android = "com.android.tools.build:gradle:8.0.2" + const val android = "com.android.tools.build:gradle:8.1.0" const val kotlin = Kotlin.gradlePlugin - const val kotlinter = "org.jmailen.gradle:kotlinter-gradle:3.14.0" - const val versions = "com.github.ben-manes:gradle-versions-plugin:0.46.0" - const val mavenPublish = "com.vanniktech:gradle-maven-publish-plugin:0.25.1" + const val kotlinter = "org.jmailen.gradle:kotlinter-gradle:3.16.0" + const val versions = "com.github.ben-manes:gradle-versions-plugin:0.48.0" + const val mavenPublish = "com.vanniktech:gradle-maven-publish-plugin:0.25.3" } object Kotlin { - private const val version = "1.8.21" + private const val version = "1.9.10" const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$version" const val stdLib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$version" } @@ -47,10 +47,10 @@ object Libs { object View { const val legacySupport = "androidx.legacy:legacy-support-v4:1.0.0" const val appCompat = "androidx.appcompat:appcompat:1.6.1" - const val coreKtx = "androidx.core:core-ktx:1.10.0" + const val coreKtx = "androidx.core:core-ktx:1.12.0" const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4" const val cardView = "androidx.cardview:cardview:1.0.0" - const val recyclerView = "androidx.recyclerview:recyclerview:1.3.0" + const val recyclerView = "androidx.recyclerview:recyclerview:1.3.1" const val material = "com.google.android.material:material:1.9.0" object Test { @@ -64,14 +64,14 @@ object Libs { } object Compose { - private const val composeVersion = "1.5.0-beta01" + private const val composeVersion = "1.5.2" const val ui = "androidx.compose.ui:ui:$composeVersion" const val foundation = "androidx.compose.foundation:foundation:$composeVersion" const val tooling = "androidx.compose.ui:ui-tooling:$composeVersion" const val runtime = "androidx.compose.runtime:runtime:$composeVersion" const val material = "androidx.compose.material:material:$composeVersion" const val activity = "androidx.activity:activity-compose:1.7.2" - const val navigation = "com.google.accompanist:accompanist-navigation-animation:0.31.3-beta" + const val navigation = "androidx.navigation:navigation-compose:2.7.2" object Test { const val uiJunit = "androidx.compose.ui:ui-test-junit4:$composeVersion" diff --git a/compose/build.gradle b/compose/build.gradle index cd65ef3c..28ae5cb9 100644 --- a/compose/build.gradle +++ b/compose/build.gradle @@ -8,7 +8,7 @@ apply plugin: 'kotlin-android' apply plugin: 'com.vanniktech.maven.publish' android { - compileSdkVersion Android.compileSdk + compileSdk Android.compileSdk namespace 'com.kizitonwose.calendar.compose' defaultConfig { minSdkVersion Android.minSdkLibraryCompose diff --git a/core/build.gradle b/core/build.gradle index 887af7fd..59845487 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -7,7 +7,7 @@ apply plugin: 'kotlin-android' apply plugin: 'com.vanniktech.maven.publish' android { - compileSdkVersion Android.compileSdk + compileSdk Android.compileSdk namespace 'com.kizitonwose.calendar.core' defaultConfig { minSdkVersion Android.minSdkLibraryCore diff --git a/data/build.gradle b/data/build.gradle index 9b89e3da..3da9fe56 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -1,14 +1,14 @@ import com.kizitonwose.calendar.buildsrc.Android import com.kizitonwose.calendar.buildsrc.Config -import com.kizitonwose.calendar.buildsrc.Libs import com.kizitonwose.calendar.buildsrc.Kotlin +import com.kizitonwose.calendar.buildsrc.Libs apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'com.vanniktech.maven.publish' android { - compileSdkVersion Android.compileSdk + compileSdk Android.compileSdk namespace 'com.kizitonwose.calendar.data' defaultConfig { minSdkVersion Android.minSdkLibraryCore diff --git a/sample/build.gradle b/sample/build.gradle index 927cd71a..668aa10e 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,7 +7,7 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android { - compileSdkVersion Android.compileSdk + compileSdk Android.compileSdk namespace 'com.kizitonwose.calendar.sample' defaultConfig { applicationId "com.kizitonwose.calendar.sample" diff --git a/sample/src/main/java/com/kizitonwose/calendar/sample/compose/CalendarComposeActivity.kt b/sample/src/main/java/com/kizitonwose/calendar/sample/compose/CalendarComposeActivity.kt index 983eee6a..e0e6a971 100644 --- a/sample/src/main/java/com/kizitonwose/calendar/sample/compose/CalendarComposeActivity.kt +++ b/sample/src/main/java/com/kizitonwose/calendar/sample/compose/CalendarComposeActivity.kt @@ -3,7 +3,6 @@ package com.kizitonwose.calendar.sample.compose import android.os.Bundle import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.layout.padding import androidx.compose.material.MaterialTheme import androidx.compose.material.Scaffold @@ -20,15 +19,13 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.colorResource import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController -import com.google.accompanist.navigation.animation.AnimatedNavHost -import com.google.accompanist.navigation.animation.composable -import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.kizitonwose.calendar.sample.R import com.kizitonwose.calendar.sample.shared.dateRangeDisplayText import kotlinx.coroutines.launch -@OptIn(ExperimentalAnimationApi::class) class CalendarComposeActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -37,7 +34,7 @@ class CalendarComposeActivity : AppCompatActivity() { val primaryColor = colorResource(id = R.color.colorPrimary) var toolBarTitle by remember { mutableStateOf("") } var toolBarVisible by remember { mutableStateOf(true) } - val navController = rememberAnimatedNavController() + val navController = rememberNavController() val coroutineScope = rememberCoroutineScope() val scaffoldState = rememberScaffoldState() LaunchedEffect(navController) { @@ -96,7 +93,7 @@ class CalendarComposeActivity : AppCompatActivity() { navController: NavHostController = rememberNavController(), showSnack: (String) -> Unit = {}, ) { - AnimatedNavHost( + NavHost( modifier = modifier, navController = navController, startDestination = Page.List.name, diff --git a/sample/src/main/java/com/kizitonwose/calendar/sample/compose/PageAnimation.kt b/sample/src/main/java/com/kizitonwose/calendar/sample/compose/PageAnimation.kt index e7b3f33a..4d6d9685 100644 --- a/sample/src/main/java/com/kizitonwose/calendar/sample/compose/PageAnimation.kt +++ b/sample/src/main/java/com/kizitonwose/calendar/sample/compose/PageAnimation.kt @@ -1,20 +1,16 @@ -@file:OptIn(ExperimentalAnimationApi::class) - package com.kizitonwose.calendar.sample.compose import androidx.compose.animation.AnimatedContentTransitionScope import androidx.compose.animation.AnimatedVisibilityScope -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.runtime.Composable import androidx.navigation.NavBackStackEntry import androidx.navigation.NavGraphBuilder -import com.google.accompanist.navigation.animation.composable +import androidx.navigation.compose.composable -private const val animDurationMillis = 400 -private typealias SlideDirection = AnimatedContentTransitionScope.SlideDirection +private const val ANIM_DURATION_MILLIS = 400 fun NavGraphBuilder.horizontallyAnimatedComposable( route: String, @@ -24,16 +20,28 @@ fun NavGraphBuilder.horizontallyAnimatedComposable( route = route, content = content, enterTransition = { - slideIntoContainer(SlideDirection.Left, animationSpec = tween(animDurationMillis)) + slideIntoContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Left, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, exitTransition = { - slideOutOfContainer(SlideDirection.Left, animationSpec = tween(animDurationMillis)) + slideOutOfContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Left, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, popEnterTransition = { - slideIntoContainer(SlideDirection.Right, animationSpec = tween(animDurationMillis)) + slideIntoContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Right, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, popExitTransition = { - slideOutOfContainer(SlideDirection.Right, animationSpec = tween(animDurationMillis)) + slideOutOfContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Right, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, ) } @@ -46,16 +54,22 @@ fun NavGraphBuilder.verticallyAnimatedComposable( route = route, content = content, enterTransition = { - slideIntoContainer(SlideDirection.Up, animationSpec = tween(animDurationMillis)) + slideIntoContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Up, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, exitTransition = { - fadeOut(animationSpec = tween(animDurationMillis)) + fadeOut(animationSpec = tween(ANIM_DURATION_MILLIS)) }, popEnterTransition = { - fadeIn(animationSpec = tween(animDurationMillis)) + fadeIn(animationSpec = tween(ANIM_DURATION_MILLIS)) }, popExitTransition = { - slideOutOfContainer(SlideDirection.Down, animationSpec = tween(animDurationMillis)) + slideOutOfContainer( + towards = AnimatedContentTransitionScope.SlideDirection.Down, + animationSpec = tween(ANIM_DURATION_MILLIS), + ) }, ) } diff --git a/view/build.gradle b/view/build.gradle index 7c721acd..d4c8caad 100644 --- a/view/build.gradle +++ b/view/build.gradle @@ -8,7 +8,7 @@ apply plugin: 'kotlin-android' apply plugin: 'com.vanniktech.maven.publish' android { - compileSdkVersion Android.compileSdk + compileSdk Android.compileSdk namespace 'com.kizitonwose.calendar.view' defaultConfig { minSdkVersion Android.minSdkLibraryView