Skip to content

Commit 397aafd

Browse files
authored
ANDROID-16185 - Update compile and targetSdk to Android 16 (#52)
* ANDROID-16185/update-a16: Update compileSdk and targetSdk from 34 -> 36 * ANDROID-16185/update-a16: Update client :app module * ANDROID-16185/update-a16: Include a Modifier composable function to provide WindowInsets spaces in portrait and landscape mode * ANDROID-16185/update-a16: Remove commented lines * ANDROID-16185/update-a16: Remove unused code
1 parent 1d0a4c1 commit 397aafd

File tree

3 files changed

+32
-7
lines changed

3 files changed

+32
-7
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ plugins {
55

66
android {
77
namespace "com.telefonica.tweaks.demo"
8-
compileSdk 34
8+
compileSdk 36
99

1010
defaultConfig {
1111
applicationId "com.telefonica.tweaks.demo"
1212
minSdk 21
13-
targetSdk 34
13+
targetSdk 36
1414
versionCode 1
1515
versionName "1.0"
1616

library/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ plugins {
66

77
android {
88
namespace "com.telefonica.tweaks"
9-
compileSdk 34
9+
compileSdk 36
1010

1111
defaultConfig {
1212
minSdk 21
13-
targetSdk 34
13+
targetSdk 36
1414

1515
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1616
consumerProguardFiles "consumer-rules.pro"

library/src/enabled/java/com/telefonica/tweaks/ui/TweakComponents.kt

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.telefonica.tweaks.ui
22

3+
import android.content.res.Configuration
34
import android.widget.Toast
45
import androidx.compose.foundation.ExperimentalFoundationApi
56
import androidx.compose.foundation.background
@@ -10,13 +11,19 @@ import androidx.compose.foundation.layout.ColumnScope
1011
import androidx.compose.foundation.layout.Row
1112
import androidx.compose.foundation.layout.Spacer
1213
import androidx.compose.foundation.layout.WindowInsets
14+
import androidx.compose.foundation.layout.WindowInsetsSides
15+
import androidx.compose.foundation.layout.displayCutout
1316
import androidx.compose.foundation.layout.fillMaxSize
1417
import androidx.compose.foundation.layout.fillMaxWidth
1518
import androidx.compose.foundation.layout.navigationBars
19+
import androidx.compose.foundation.layout.only
1620
import androidx.compose.foundation.layout.padding
1721
import androidx.compose.foundation.layout.size
1822
import androidx.compose.foundation.layout.statusBars
23+
import androidx.compose.foundation.layout.systemGestures
24+
import androidx.compose.foundation.layout.union
1925
import androidx.compose.foundation.layout.windowInsetsBottomHeight
26+
import androidx.compose.foundation.layout.windowInsetsPadding
2027
import androidx.compose.foundation.layout.windowInsetsTopHeight
2128
import androidx.compose.foundation.rememberScrollState
2229
import androidx.compose.foundation.text.KeyboardActions
@@ -57,6 +64,7 @@ import androidx.compose.ui.focus.FocusRequester
5764
import androidx.compose.ui.focus.focusRequester
5865
import androidx.compose.ui.graphics.compositeOver
5966
import androidx.compose.ui.platform.LocalClipboardManager
67+
import androidx.compose.ui.platform.LocalConfiguration
6068
import androidx.compose.ui.platform.LocalContext
6169
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
6270
import androidx.compose.ui.platform.SoftwareKeyboardController
@@ -99,12 +107,11 @@ fun TweaksScreen(
99107
.fillMaxSize()
100108
.background(TweaksTheme.colors.tweaksBackground)
101109
.padding(horizontal = 16.dp)
110+
.edgeToEdgeInsetsForOrientation()
102111
.verticalScroll(scrollState),
103112
verticalArrangement = Arrangement.spacedBy(8.dp),
104113
horizontalAlignment = Alignment.CenterHorizontally,
105114
) {
106-
Spacer(modifier = Modifier.windowInsetsTopHeight(WindowInsets.statusBars))
107-
108115
tweaksGraph.cover?.let {
109116
TweakGroupBody(
110117
tweakGroup = it,
@@ -118,7 +125,6 @@ fun TweaksScreen(
118125
text = category.title,
119126
)
120127
}
121-
Spacer(modifier = Modifier.windowInsetsBottomHeight(WindowInsets.navigationBars))
122128
}
123129
}
124130

@@ -134,6 +140,7 @@ fun TweaksCategoryScreen(
134140
.fillMaxSize()
135141
.background(TweaksTheme.colors.tweaksBackground)
136142
.padding(horizontal = 16.dp)
143+
.edgeToEdgeInsetsForOrientation()
137144
.verticalScroll(scrollState),
138145
verticalArrangement = Arrangement.spacedBy(8.dp),
139146
horizontalAlignment = Alignment.CenterHorizontally,
@@ -600,4 +607,22 @@ internal fun TweakButton(
600607
color = TweaksTheme.colors.tweaksOnPrimary,
601608
)
602609
}
610+
}
611+
612+
@Composable
613+
fun Modifier.edgeToEdgeInsetsForOrientation(): Modifier {
614+
val isLandscape =
615+
LocalConfiguration.current.orientation == Configuration.ORIENTATION_LANDSCAPE
616+
617+
val sides =
618+
if (isLandscape) WindowInsetsSides.Top + WindowInsetsSides.Horizontal
619+
else WindowInsetsSides.Top + WindowInsetsSides.Bottom
620+
621+
var base = WindowInsets.statusBars
622+
.union(WindowInsets.navigationBars)
623+
.union(WindowInsets.displayCutout)
624+
.union(WindowInsets.systemGestures)
625+
.only(sides)
626+
627+
return this.windowInsetsPadding(base)
603628
}

0 commit comments

Comments
 (0)