Fixed
Status Update
Comments
va...@google.com <va...@google.com> #2
I cannot repro this exactly do you need?
var isRefreshing by rememberSaveable { mutableStateOf(false) }
I think my latest change helps with these kind of issues too
But It hasn't been released yet.
Any chance you can upload the full sample on github, so I can double check?
ci...@google.com <ci...@google.com> #3
deleted
ap...@google.com <ap...@google.com> #5
Thanks I think I was able to identify the issue and a potential fix
va...@google.com <va...@google.com>
pr...@google.com <pr...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit f1515ea14143b5754df3dcbcb47537eee49c30f2
Author: Mariano Martin <ymarian@google.com>
Date: Thu Sep 05 13:12:04 2024
[PullToRefresh] Fix issue where graphics layer doesnt invalidate
Test: tested manually that now graphics layer invalidates, in some edge cases
where pullToRefresh is used in fragments
Bug: 356039090
Change-Id: Ib80663f6dcf2f7f05bda4189b0931ee697230698
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/pulltorefresh/PullToRefresh.kt
https://android-review.googlesource.com/3256138
Branch: androidx-main
commit f1515ea14143b5754df3dcbcb47537eee49c30f2
Author: Mariano Martin <ymarian@google.com>
Date: Thu Sep 05 13:12:04 2024
[PullToRefresh] Fix issue where graphics layer doesnt invalidate
Test: tested manually that now graphics layer invalidates, in some edge cases
where pullToRefresh is used in fragments
Bug: 356039090
Change-Id: Ib80663f6dcf2f7f05bda4189b0931ee697230698
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/pulltorefresh/PullToRefresh.kt
Description
Jetpack Compose version:
Material Library Version (M2, M3 or Both?):
Material Compose component used:
androidx.compose.material3.Scaffold
Steps to Reproduce:
MainActivity.kt
, (a)enableEdgeToEdge
is called and (b)Scaffold's PaddingValues
(calledinnerPadding
here) is applied to the entire content.See attached image (
Scaffold_DisplayCutout.png
). I've modified the sample code to make the issue more apparent. Notice the Composable, which is usinginnerPadding
, avoids the system bars region but does not avoid the display cutout region.Severity: To ensure Scaffold's edge-to-edge is enforced in Android 15.
PaddingValues
makes going edge-to-edge easy, it should account for display cutouts. Otherwise, developers shouldn't use Scaffold'sPaddingValues
and should instead use alternatives likeWindowInsets.safeDrawing
,WindowInsets.safeGestures
, orWindowInsets.safeContent
. This is especially important as