Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ plugins {

android {
namespace "com.telefonica.tweaks.demo"
compileSdk 34
compileSdk 36

defaultConfig {
applicationId "com.telefonica.tweaks.demo"
minSdk 21
targetSdk 34
targetSdk 36
versionCode 1
versionName "1.0"

Expand Down
4 changes: 2 additions & 2 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ plugins {

android {
namespace "com.telefonica.tweaks"
compileSdk 34
compileSdk 36

defaultConfig {
minSdk 21
targetSdk 34
targetSdk 36

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.telefonica.tweaks.ui

import android.content.res.Configuration
import android.widget.Toast
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
Expand All @@ -10,13 +11,19 @@ import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.displayCutout
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.only
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.statusBars
import androidx.compose.foundation.layout.systemGestures
import androidx.compose.foundation.layout.union
import androidx.compose.foundation.layout.windowInsetsBottomHeight
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.layout.windowInsetsTopHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardActions
Expand Down Expand Up @@ -57,6 +64,7 @@ import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.platform.SoftwareKeyboardController
Expand Down Expand Up @@ -99,12 +107,11 @@ fun TweaksScreen(
.fillMaxSize()
.background(TweaksTheme.colors.tweaksBackground)
.padding(horizontal = 16.dp)
.edgeToEdgeInsetsForOrientation()
.verticalScroll(scrollState),
verticalArrangement = Arrangement.spacedBy(8.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Spacer(modifier = Modifier.windowInsetsTopHeight(WindowInsets.statusBars))

tweaksGraph.cover?.let {
TweakGroupBody(
tweakGroup = it,
Expand All @@ -118,7 +125,6 @@ fun TweaksScreen(
text = category.title,
)
}
Spacer(modifier = Modifier.windowInsetsBottomHeight(WindowInsets.navigationBars))
}
}

Expand All @@ -134,6 +140,7 @@ fun TweaksCategoryScreen(
.fillMaxSize()
.background(TweaksTheme.colors.tweaksBackground)
.padding(horizontal = 16.dp)
.edgeToEdgeInsetsForOrientation()
.verticalScroll(scrollState),
verticalArrangement = Arrangement.spacedBy(8.dp),
horizontalAlignment = Alignment.CenterHorizontally,
Expand Down Expand Up @@ -600,4 +607,22 @@ internal fun TweakButton(
color = TweaksTheme.colors.tweaksOnPrimary,
)
}
}

@Composable
fun Modifier.edgeToEdgeInsetsForOrientation(): Modifier {
val isLandscape =
LocalConfiguration.current.orientation == Configuration.ORIENTATION_LANDSCAPE

val sides =
if (isLandscape) WindowInsetsSides.Top + WindowInsetsSides.Horizontal
else WindowInsetsSides.Top + WindowInsetsSides.Bottom

var base = WindowInsets.statusBars
.union(WindowInsets.navigationBars)
.union(WindowInsets.displayCutout)
.union(WindowInsets.systemGestures)
.only(sides)

return this.windowInsetsPadding(base)
}
Loading