Fixed
Status Update
Comments
st...@google.com <st...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 0154910724cdc44253af1d2f8cede76264783226
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jun 27 15:25:02 2024
Expand native target support for annotation and collection libraries
- Enable watchos and tvos download in importMaven
- Add support for watchos and tvos targets in AndroidXMultiplatformExtension
- Enable watchos and tvos in :annotation:annotation
- Enable linuxArm64, watchos, and tvos in :collection:collection
This work is required as we work towards setting up native stubs for
compose projects.
Test: ./gradlew collection:collection:publish
Bug: 349894318
Change-Id: Idfd1faa3a826bb91ee14722f7437bdcf99cf0018
M annotation/annotation/build.gradle
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
M buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
M collection/collection/build.gradle
M development/build_log_simplifier/messages.ignore
M development/importMaven/src/main/kotlin/androidx/build/importMaven/KmpConfig.kt
https://android-review.googlesource.com/3151736
Branch: androidx-main
commit 0154910724cdc44253af1d2f8cede76264783226
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jun 27 15:25:02 2024
Expand native target support for annotation and collection libraries
- Enable watchos and tvos download in importMaven
- Add support for watchos and tvos targets in AndroidXMultiplatformExtension
- Enable watchos and tvos in :annotation:annotation
- Enable linuxArm64, watchos, and tvos in :collection:collection
This work is required as we work towards setting up native stubs for
compose projects.
Test: ./gradlew collection:collection:publish
Bug: 349894318
Change-Id: Idfd1faa3a826bb91ee14722f7437bdcf99cf0018
M annotation/annotation/build.gradle
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
M buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
M collection/collection/build.gradle
M development/build_log_simplifier/messages.ignore
M development/importMaven/src/main/kotlin/androidx/build/importMaven/KmpConfig.kt
Description
implementation("androidx.wear.compose:compose-navigation:1.4.0-alpha07")
SwipeDismissableNavHost
Version used: 1.4.0-alpha07
Device: Samsung SM-890, Android 13, Wear OS 4.0
The following exception is thrown randomly when changing screens on a Wear OS app using the latest compose navigation library:
FATAL EXCEPTION: main
java.lang.IllegalArgumentException: red = 1.0, green = 1.0, blue = 1.0, alpha = -8.34465E-9 outside the range for sRGB IEC61966-2.1 (id=0, model=Rgb)
at androidx.compose.ui.graphics.InlineClassHelperKt.throwIllegalArgumentException(InlineClassHelper.kt:26)
at androidx.compose.ui.graphics.ColorKt.Color(Color.kt:722)
at androidx.compose.ui.graphics.Color.copy-wmQWz5c(Color.kt:259)
at androidx.compose.ui.graphics.Color.copy-wmQWz5c$default(Color.kt:254)
at androidx.wear.compose.navigation.SwipeDismissableNavHostKt$BoxedStackEntryContent$2$2$1.invoke(SwipeDismissableNavHost.kt:499)
at androidx.wear.compose.navigation.SwipeDismissableNavHostKt$BoxedStackEntryContent$2$2$1.invoke(SwipeDismissableNavHost.kt:492)
at androidx.compose.ui.draw.DrawBackgroundModifier.draw(DrawModifier.kt:127)
It looks like the error is in this code inside SwipeDismissableNavHost, that calculates the alpha using lerp. The value is not 0f as expected, but -8.34465E-9 which is not accepted by sRGB IEC61966-2.1
if (layerColor != Color.Unspecified) {
Canvas(Modifier.fillMaxSize()) {
val absoluteProgression =
((animatable.value - 0.25f).coerceAtLeast(0f) / 0.75f).coerceAtMost(1f)
val easedProgression = NAV_HOST_ENTER_TRANSITION_EASING_STANDARD
.transform(absoluteProgression)
val alpha = lerp(0.07f, 0f, easedProgression)
if (isRoundDevice) {
drawCircle(color = layerColor.copy(alpha))
} else {
drawRect(color = layerColor.copy(alpha))
}
}
}