11package com.telefonica.mistica.compose.tabs
22
3- import android.app.Activity
43import androidx.annotation.DrawableRes
54import androidx.compose.animation.core.FastOutSlowInEasing
65import androidx.compose.animation.core.animateDpAsState
@@ -11,11 +10,13 @@ import androidx.compose.foundation.clickable
1110import androidx.compose.foundation.horizontalScroll
1211import androidx.compose.foundation.layout.Box
1312import androidx.compose.foundation.layout.Row
13+ import androidx.compose.foundation.layout.WindowInsets
1414import androidx.compose.foundation.layout.fillMaxWidth
1515import androidx.compose.foundation.layout.height
1616import androidx.compose.foundation.layout.offset
1717import androidx.compose.foundation.layout.padding
1818import androidx.compose.foundation.layout.size
19+ import androidx.compose.foundation.layout.systemBars
1920import androidx.compose.foundation.layout.width
2021import androidx.compose.foundation.layout.widthIn
2122import androidx.compose.foundation.layout.wrapContentSize
@@ -37,7 +38,7 @@ import androidx.compose.ui.composed
3738import androidx.compose.ui.draw.clipToBounds
3839import androidx.compose.ui.graphics.Color
3940import androidx.compose.ui.layout.SubcomposeLayout
40- import androidx.compose.ui.platform.LocalContext
41+ import androidx.compose.ui.platform.LocalConfiguration
4142import androidx.compose.ui.platform.LocalDensity
4243import androidx.compose.ui.platform.debugInspectorInfo
4344import androidx.compose.ui.platform.testTag
@@ -48,8 +49,8 @@ import androidx.compose.ui.unit.Constraints
4849import androidx.compose.ui.unit.Density
4950import androidx.compose.ui.unit.Dp
5051import androidx.compose.ui.unit.IntOffset
52+ import androidx.compose.ui.unit.LayoutDirection
5153import androidx.compose.ui.unit.dp
52- import androidx.window.layout.WindowMetricsCalculator
5354import com.telefonica.mistica.compose.theme.MisticaTheme
5455import com.telefonica.mistica.compose.theme.brand.MovistarBrand
5556import kotlinx.coroutines.CoroutineScope
@@ -65,10 +66,18 @@ fun Tabs(
6566 onSelectedTabChanged : (index: Int ) -> Unit ,
6667) {
6768
68- val context = LocalContext .current
69- val windowMetrics = WindowMetricsCalculator .getOrCreate().computeCurrentWindowMetrics(context as Activity )
70- val screenWidthDp = with (LocalDensity .current) {
71- windowMetrics.bounds.width().toDp()
69+ val configuration = LocalConfiguration .current
70+ val density = LocalDensity .current
71+ val screenWidthDp = with (density) {
72+ if (android.os.Build .VERSION .SDK_INT >= 35 ) {
73+ val windowInsets = WindowInsets .systemBars
74+ val insetsWidth = with (density) {
75+ windowInsets.getLeft(density, LayoutDirection .Ltr ) + windowInsets.getRight(density, LayoutDirection .Ltr )
76+ }
77+ (configuration.screenWidthDp.dp.toPx() - insetsWidth).toDp()
78+ } else {
79+ configuration.screenWidthDp.dp
80+ }
7281 }
7382 val isTablet = screenWidthDp > 768 .dp
7483
0 commit comments