Status Update
Comments
he...@google.com <he...@google.com> #2
The internal systemBarsForVisualComponents
right now only uses systemBars
, which doesn't include the display cutout:
Updating to systemBars.union(displayCutout)
should fix this, if that's a change we can make.
ap...@google.com <ap...@google.com> #3
Thank you for looking into this! It would be crucial to get this right soon as the edge2edge project depends on handling this properly :)
he...@google.com <he...@google.com> #4
Not taking the display cutout into account will impact cars heavily, since some have very large display cutouts:
pr...@google.com <pr...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
Author: Alex Vanyo <
Link:
Add displayCutout to default Material insets
Expand for full commit details
Add displayCutout to default Material insets
Relnote: "Adds displayCutout to the group of insets that Material
components take into account by default, to avoid content overlapping
with the display cutout.
This is a behavior change that will impact how inset-aware
components behave around a display cutout. This includes the default
value of the WindowInsets parameter for inset-aware Material 3
components, and the WindowInsets values provided in the component
Defaults objects for both Material 2 and Material 3.
If this change causes undesirable behavior,
manually specify the WindowInsets parameter on a per-component basis."
Fixes: 362508045
Change-Id: I43ee9ad12db0450ebb9c65ce10d5c39d12628b6c
Files:
- M
compose/material/material/src/androidMain/kotlin/androidx/compose/material/SystemBarsDefaultInsets.android.kt
- M
compose/material3/material3/src/androidInstrumentedTest/kotlin/androidx/compose/material3/MaterialComponentsInsetSupportTest.kt
- M
compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/SystemBarsDefaultInsets.android.kt
Hash: 692b440ac97b1831d5b35aafff241a98aeeacb93
Date: Wed Dec 18 19:49:15 2024
sh...@gmail.com <sh...@gmail.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material:material:1.8.0-alpha08
androidx.compose.material:material-android:1.8.0-alpha08
androidx.compose.material:material-jvmstubs:1.8.0-alpha08
androidx.compose.material:material-linuxx64stubs:1.8.0-alpha08
androidx.compose.material3:material3:1.4.0-alpha06
androidx.compose.material3:material3-android:1.4.0-alpha06
androidx.compose.material3:material3-jvmstubs:1.4.0-alpha06
androidx.compose.material3:material3-linuxx64stubs:1.4.0-alpha06
va...@shopify.com <va...@shopify.com> #7
I also confirm that the issue still exists in 1.0.0-alpha05
va...@shopify.com <va...@shopify.com> #8
I think the error type changed from ConstraintError to NotAllowedError for alpha05, but still not CreateCredentialCancellationException as expected.
he...@google.com <he...@google.com> #9
It's possible that ConstraintError is thrown once the passkey flow is started. This is according to the webauthn spec:
"If the user does not consent, return an error code equivalent to "NotAllowedError" and terminate the operation."
"If the user exercises a user agent user-interface option to cancel the process" ... "Throw a "NotAllowedError" DOMException."
Therefore, for a passkey request, you should be ready to handle both the CancellationException and the PublicKeyCredentialException(ConstraintError) as a signal for user cancellation.
va...@shopify.com <va...@shopify.com> #10
Therefore, for a passkey request, you should be ready to handle both the CancellationException and the PublicKeyCredentialException(ConstraintError) as a signal for user cancellation.
You mean NotAllowedError
?
he...@google.com <he...@google.com> #11
Oops good catch. Yes by ConstraintError
I meant NotAllowedError
Description
Component used: Credentials
Version used: 1.0.0-alpha03
Devices/Android versions reproduced on: Huawei P30 Pro (VOG-L29)
I have multiple Google accounts on my phone. After triggering the passkey registration modal, I pressed the "Cancel" button and I got a CreatePublicKeyCredentialDomException with ConstraintError instead of the expected CreateCredentialCancellationException
Here are some logs (PasskeyUtils is from my application):