diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 367a932..6d8d08e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -65,11 +65,11 @@ android { } dependencies { - implementation(platform("androidx.compose:compose-bom:2023.08.00")) - implementation("androidx.activity:activity-compose:1.7.2") + implementation(platform("androidx.compose:compose-bom:2023.10.01")) + implementation("androidx.activity:activity-compose:1.8.0") implementation("androidx.compose.material3:material3") implementation("androidx.compose.ui:ui") implementation("androidx.compose.ui:ui-tooling-preview") - implementation("androidx.core:core-ktx:1.10.1") + implementation("androidx.core:core-ktx:1.12.0") debugImplementation("androidx.compose.ui:ui-tooling") } diff --git a/app/src/main/java/com/example/superheroes/MainActivity.kt b/app/src/main/java/com/example/superheroes/MainActivity.kt index 49aea37..15c1101 100644 --- a/app/src/main/java/com/example/superheroes/MainActivity.kt +++ b/app/src/main/java/com/example/superheroes/MainActivity.kt @@ -28,6 +28,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.activity.enableEdgeToEdge import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.example.superheroes.model.HeroesRepository @@ -36,6 +37,7 @@ import com.example.superheroes.ui.theme.SuperheroesTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + enableEdgeToEdge() setContent { SuperheroesTheme { // A surface container using the 'background' color from the theme diff --git a/app/src/main/java/com/example/superheroes/ui/theme/Theme.kt b/app/src/main/java/com/example/superheroes/ui/theme/Theme.kt index 2a40264..80c6d55 100644 --- a/app/src/main/java/com/example/superheroes/ui/theme/Theme.kt +++ b/app/src/main/java/com/example/superheroes/ui/theme/Theme.kt @@ -18,7 +18,6 @@ package com.example.superheroes.ui.theme import android.app.Activity import android.os.Build -import android.view.View import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme @@ -117,7 +116,9 @@ fun SuperheroesTheme( val view = LocalView.current if (!view.isInEditMode) { SideEffect { - setUpEdgeToEdge(view, darkTheme) + val window = (view.context as Activity).window + window.statusBarColor = Color.Transparent.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme } } @@ -128,23 +129,3 @@ fun SuperheroesTheme( content = content ) } - -/** - * Sets up edge-to-edge for the window of this [view]. The system icon colors are set to either - * light or dark depending on whether the [darkTheme] is enabled or not. - */ -private fun setUpEdgeToEdge(view: View, darkTheme: Boolean) { - val window = (view.context as Activity).window - WindowCompat.setDecorFitsSystemWindows(window, false) - window.statusBarColor = Color.Transparent.toArgb() - val navigationBarColor = when { - Build.VERSION.SDK_INT >= 29 -> Color.Transparent.toArgb() - Build.VERSION.SDK_INT >= 26 -> Color(0xFF, 0xFF, 0xFF, 0x63).toArgb() - // Min sdk version for this app is 24, this block is for SDK versions 24 and 25 - else -> Color(0x00, 0x00, 0x00, 0x50).toArgb() - } - window.navigationBarColor = navigationBarColor - val controller = WindowCompat.getInsetsController(window, view) - controller.isAppearanceLightStatusBars = !darkTheme - controller.isAppearanceLightNavigationBars = !darkTheme -} diff --git a/build.gradle.kts b/build.gradle.kts index aeab2e3..74ac9bd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.1.1" apply false - id("com.android.library") version "8.1.1" apply false + id("com.android.application") version "8.1.3" apply false + id("com.android.library") version "8.1.3" apply false id("org.jetbrains.kotlin.android") version "1.9.10" apply false }