Update to Kotlin 1.6.20 and using material3-window-size-class

Change-Id: I30bc9f729ab91f007de530af3a12b281430ac1cb
pull/2/head
Alex Vanyo 3 years ago committed by Don Turner
parent f9d8d45ecb
commit 7ac15771b3

@ -77,7 +77,7 @@ dependencies {
implementation libs.androidx.activity.compose implementation libs.androidx.activity.compose
implementation libs.androidx.appcompat implementation libs.androidx.appcompat
implementation libs.androidx.core.ktx implementation libs.androidx.core.ktx
implementation libs.androidx.compose.material.window implementation libs.androidx.compose.material3.windowSizeClass
implementation libs.androidx.hilt.navigation.compose implementation libs.androidx.hilt.navigation.compose
implementation libs.androidx.navigation.compose implementation libs.androidx.navigation.compose
implementation libs.androidx.window.manager implementation libs.androidx.window.manager

@ -16,7 +16,6 @@
package com.google.samples.apps.nowinandroid.ui package com.google.samples.apps.nowinandroid.ui
import androidx.compose.material.window.ExperimentalMaterialWindowApi
import androidx.compose.ui.test.assertIsOn import androidx.compose.ui.test.assertIsOn
import androidx.compose.ui.test.assertIsSelected import androidx.compose.ui.test.assertIsSelected
import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.compose.ui.test.junit4.createAndroidComposeRule
@ -38,7 +37,6 @@ import org.junit.rules.TemporaryFolder
/** /**
* Tests all the navigation flows that are handled by the navigation library. * Tests all the navigation flows that are handled by the navigation library.
*/ */
@ExperimentalMaterialWindowApi
@HiltAndroidTest @HiltAndroidTest
class NavigationTest { class NavigationTest {

@ -19,13 +19,13 @@ package com.google.samples.apps.nowinandroid
import android.os.Bundle import android.os.Bundle
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.compose.material.window.ExperimentalMaterialWindowApi import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
import androidx.compose.material.window.calculateSizeClass import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass
import androidx.core.view.WindowCompat import androidx.core.view.WindowCompat
import com.google.samples.apps.nowinandroid.ui.NiaApp import com.google.samples.apps.nowinandroid.ui.NiaApp
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ExperimentalMaterialWindowApi @OptIn(ExperimentalMaterial3WindowSizeClassApi::class)
@AndroidEntryPoint @AndroidEntryPoint
class MainActivity : ComponentActivity() { class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -35,7 +35,7 @@ class MainActivity : ComponentActivity() {
// including IME animations // including IME animations
WindowCompat.setDecorFitsSystemWindows(window, false) WindowCompat.setDecorFitsSystemWindows(window, false)
setContent { NiaApp(calculateSizeClass()) } setContent { NiaApp(calculateWindowSizeClass(this)) }
reportFullyDrawn() reportFullyDrawn()
} }
} }

@ -33,8 +33,6 @@ import androidx.compose.material.icons.outlined.Bookmarks
import androidx.compose.material.icons.outlined.Grid3x3 import androidx.compose.material.icons.outlined.Grid3x3
import androidx.compose.material.icons.outlined.Upcoming import androidx.compose.material.icons.outlined.Upcoming
import androidx.compose.material.ripple.LocalRippleTheme import androidx.compose.material.ripple.LocalRippleTheme
import androidx.compose.material.window.SizeClass
import androidx.compose.material.window.WidthSizeClass
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
@ -45,6 +43,8 @@ import androidx.compose.material3.NavigationRailItem
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.windowsizeclass.WindowSizeClass
import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
@ -63,7 +63,7 @@ import com.google.samples.apps.nowinandroid.core.ui.theme.NiaTheme
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun NiaApp(windowSizeClass: SizeClass) { fun NiaApp(windowSizeClass: WindowSizeClass) {
NiaTheme { NiaTheme {
val navController = rememberNavController() val navController = rememberNavController()
val navigationActions = remember(navController) { val navigationActions = remember(navController) {
@ -76,7 +76,7 @@ fun NiaApp(windowSizeClass: SizeClass) {
Scaffold( Scaffold(
modifier = Modifier, modifier = Modifier,
bottomBar = { bottomBar = {
if (windowSizeClass.width == WidthSizeClass.Compact) { if (windowSizeClass.widthSizeClass == WindowWidthSizeClass.Compact) {
NiABottomBar( NiABottomBar(
navigationActions = navigationActions, navigationActions = navigationActions,
currentDestination = currentDestination currentDestination = currentDestination
@ -86,7 +86,7 @@ fun NiaApp(windowSizeClass: SizeClass) {
) { padding -> ) { padding ->
Surface(Modifier.fillMaxSize().statusBarsPadding()) { Surface(Modifier.fillMaxSize().statusBarsPadding()) {
Row { Row {
if (windowSizeClass.width != WidthSizeClass.Compact) { if (windowSizeClass.widthSizeClass != WindowWidthSizeClass.Compact) {
NiANavRail( NiANavRail(
navigationActions = navigationActions, navigationActions = navigationActions,
currentDestination = currentDestination currentDestination = currentDestination

@ -4,9 +4,8 @@ androidDesugarJdkLibs = "1.1.5"
androidGradlePlugin = "7.1.2" androidGradlePlugin = "7.1.2"
androidxActivity = "1.4.0" androidxActivity = "1.4.0"
androidxAppCompat = "1.3.0" androidxAppCompat = "1.3.0"
androidxCompose = "1.2.0-alpha07" androidxCompose = "1.2.0-alpha08"
androidxMaterialWindow = "1.2.0-SNAPSHOT" androidxComposeMaterial3 = "1.0.0-alpha10"
androidxComposeMaterial3 = "1.0.0-alpha07"
androidxCore = "1.7.0" androidxCore = "1.7.0"
androidxDataStore = "1.0.0" androidxDataStore = "1.0.0"
androidxEspresso = "3.3.0" androidxEspresso = "3.3.0"
@ -26,12 +25,12 @@ hilt = "2.41"
hiltExt = "1.0.0" hiltExt = "1.0.0"
jacoco = "0.8.7" jacoco = "0.8.7"
junit4 = "4.13" junit4 = "4.13"
kotlin = "1.6.10" kotlin = "1.6.20"
kotlinxCoroutines = "1.6.0" kotlinxCoroutines = "1.6.0"
kotlinxCoroutinesTest = "1.6.0" kotlinxCoroutinesTest = "1.6.0"
kotlinxDatetime = "0.3.1" kotlinxDatetime = "0.3.1"
kotlinxSerializationJson = "1.3.1" kotlinxSerializationJson = "1.3.1"
ksp = "1.6.10-1.0.2" ksp = "1.6.20-1.0.5"
ktlint = "0.43.0" ktlint = "0.43.0"
material3 = "1.5.0-alpha05" material3 = "1.5.0-alpha05"
mockk = "1.12.1" mockk = "1.12.1"
@ -53,9 +52,9 @@ androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version
androidx-benchmark-macro = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "androidxMacroBenchmark" } androidx-benchmark-macro = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "androidxMacroBenchmark" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "androidxCompose" } androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "androidxCompose" }
androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "androidxCompose" } androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "androidxCompose" }
androidx-compose-material-window = {group = "androidx.compose.material", name = "material-window", version.ref="androidxMaterialWindow"}
androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "androidxCompose" } androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "androidxCompose" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidxComposeMaterial3" } androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidxComposeMaterial3" }
androidx-compose-material3-windowSizeClass = {group = "androidx.compose.material3", name = "material3-window-size-class", version.ref="androidxComposeMaterial3"}
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "androidxCompose" } androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "androidxCompose" }
androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "androidxCompose" } androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "androidxCompose" }
androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "androidxCompose" } androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "androidxCompose" }

@ -29,7 +29,7 @@ dependencyResolutionManagement {
// Register the AndroidX snapshot repository first so snapshots don't attempt (and fail) // Register the AndroidX snapshot repository first so snapshots don't attempt (and fail)
// to download from the non-snapshot repositories // to download from the non-snapshot repositories
maven { maven {
url 'https://androidx.dev/snapshots/builds/8414861/artifacts/repository' url 'https://androidx.dev/snapshots/builds/8455591/artifacts/repository'
content { content {
// The AndroidX snapshot repository will only have androidx artifacts, don't // The AndroidX snapshot repository will only have androidx artifacts, don't
// bother trying to find other ones // bother trying to find other ones

Loading…
Cancel
Save