Status Update
Comments
ni...@google.com <ni...@google.com> #2
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
ra...@google.com <ra...@google.com> #3
Branch: androidx-main
commit 39cd1e9f7579513bde139c17f9c51f9012d56152
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jun 27 15:25:02 2024
Expand native target support for annotation and collection libraries
Reland
- 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: Ic795af8486db48b31633799e06665717d08398db
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
ma...@gmail.com <ma...@gmail.com> #4
Branch: androidx-main
commit c3a06e79cf427aef1cf0ede1bacb463eb89472be
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jun 27 15:25:02 2024
Expand native target support for annotation and collection libraries
Reland
moving to project(":annotation:annotation") in commonMain as due to
project in one source set and prebuilt in the other.
- 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: I7f2a1bddbe79ab5e920cdb01ca6a428950a8c2c3
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 busytown/androidx_multiplatform_mac_host_tests_arm64.sh
M camera/integration-tests/avsynctestapp/build.gradle
M collection/collection/build.gradle
M development/build_log_simplifier/messages.ignore
M development/importMaven/src/main/kotlin/androidx/build/importMaven/KmpConfig.kt
M test/uiautomator/integration-tests/testapp/build.gradle
M wear/compose/integration-tests/navigation/build.gradle
wa...@reaktor.fi <wa...@reaktor.fi> #5
Branch: androidx-main
commit c56a2faf24c82bf961cb10440156745bf3cf30bd
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 03 11:10:40 2024
Add linuxX64Stubs for compose runtime libraries
- Add support for linuxX64Stubs
- Add these linuxX64Stubs to compose runtime projects
- Move OperationsTest from commonTest to jvmTest as it has
jvm-reflection usages
Bug: 349894318
Test: ./gradlew -p compose/runtime build
Change-Id: Ia600fafb174b585cf5a0d7a7f3c3726d10b4cc92
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
M buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
M compose/runtime/runtime-saveable/build.gradle
M compose/runtime/runtime-test-utils/build.gradle
A compose/runtime/runtime-test-utils/src/commonMain/kotlin/androidx/compose/runtime/mock/SynchronizedObject.kt
M compose/runtime/runtime-test-utils/src/commonMain/kotlin/androidx/compose/runtime/mock/TestMonotonicFrameClock.kt
A compose/runtime/runtime-test-utils/src/jvmMain/kotlin/androidx/compose/runtime/mock/SynchronizedObject.jvm.kt
A compose/runtime/runtime-test-utils/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/mock/SynchronizedObject.linuxx64Stubs.kt
M compose/runtime/runtime/build.gradle
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Stack.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/ScopeMap.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotStateSet.kt
M compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTestExtensions.kt
M compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/changelist/OperationsTest.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/NotImplemented.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/SynchronizedObject.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/TestOnly.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/Atomic.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/ComposableLambda.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/Thread.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/Utils.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/internal/WeakReference.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElement.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsTest/kotlin/kotlinx/test/IgnoreAndroidUnitTestTarget.linuxx64Stubs.kt
A compose/runtime/runtime/src/linuxx64StubsTest/kotlin/kotlinx/test/IgnoreJsTarget.linuxx64Stubs.kt
hv...@gmail.com <hv...@gmail.com> #6
Branch: androidx-main
commit 2363176cf646e7eb7647fcda7186746757fa9353
Author: Aurimas Liutikas <aurimas@google.com>
Date: Mon Jul 08 10:48:51 2024
Convert first batch of compose ui projects to add linuxX64Stubs target
- Disable running linuxx64StubsTest, as they are not representative
of a real environment
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/ui build
Change-Id: I6abbf8d425714a1c6c492e5ea25897fe6f226584
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
M compose/ui/ui-geometry/build.gradle
M compose/ui/ui-graphics/build.gradle
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.android.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Bezier.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Float16.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/BlendMode.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Canvas.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/ColorFilter.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/ImageBitmap.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/NotImplemented.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Paint.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Path.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/PathEffect.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/PathIterator.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/PathMeasure.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/RenderEffect.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Shader.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/TileMode.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.commonStubs.kt
M compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.commonStubs.kt
M compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/vector/FastFloatParserTest.kt
M compose/ui/ui-unit/build.gradle
M compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Constraints.kt
M compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Dp.kt
M compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntOffset.kt
M compose/ui/ui-unit/src/linuxx64StubsMain/kotlin/androidx/compose/ui/unit/FontScaling.linuxx64Stubs.kt
M compose/ui/ui-unit/src/linuxx64StubsMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.linuxx64Stubs.kt
M compose/ui/ui-util/build.gradle
M compose/ui/ui-util/src/commonStubsMain/kotlin/androidx/compose/ui/util/NotImplemented.commonStubs.kt
M compose/ui/ui-util/src/commonStubsMain/kotlin/androidx/compose/ui/util/Trace.commonStubs.kt
M compose/ui/ui-util/src/linuxx64StubsMain/kotlin/androidx/compose/ui/util/InlineClassHelper.linuxx64Stubs.kt
na...@vitruvian.me <na...@vitruvian.me> #7
Branch: androidx-main
commit 2df44b893c1b8ac2f29610fb5d3581c6e6fa4d08
Author: Aurimas Liutikas <aurimas@google.com>
Date: Mon Jul 08 13:29:56 2024
Convert compose ui-text project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/ui build
Change-Id: I9631b90838a22c1d38c51e1c0e53caee3747f083
M compose/ui/ui-text/build.gradle
M compose/ui/ui-text/src/androidUnitTest/kotlin/androidx/compose/ui/text/SaversTest.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphStyle.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/StringAnnotation.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextGranularity.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextStyle.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/GapBuffer.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/Hyphens.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineHeightStyle.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextForegroundStyle.kt
M compose/ui/ui-text/src/jvmStubsMain/kotlin/androidx/compose/ui/text/style/LineBreak.jvmStubs.kt
M compose/ui/ui-text/src/jvmStubsMain/kotlin/androidx/compose/ui/text/style/TextMotion.jvmStubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/ActualAtomicReferenceJvm.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/AnnotatedString.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/NotImplemented.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/Paragraph.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/Savers.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/TextStyle.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/input/GapBuffer.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/input/PlatformImeOptions.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/intl/DesktopPlatformLocale.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/intl/PlatformLocale.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/Synchronization.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/style/LineBreak.linuxx64Stubs.kt
A compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/style/TextMotion.linuxx64Stubs.kt
ra...@google.com <ra...@google.com>
sz...@gmail.com <sz...@gmail.com> #8
Branch: androidx-main
commit 2aaa6124959e14e6982a5d6c88308bdb34b2c186
Author: Aurimas Liutikas <aurimas@google.com>
Date: Mon Jul 08 17:06:43 2024
Convert compose ui-test project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/ui build
Change-Id: I65c0edbda876c7b9965a9144eae58f521c45967f
M compose/ui/ui-test/build.gradle
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Actions.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/GlobalAssertions.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TextActions.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Actions.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Assertions.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/ComposeUiTest.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/DensityForcedSize.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Expect.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/InputDispatcher.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Mouse.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/NotImplemented.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Output.commonStubs.kt
A compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/TextActions.commonStubs.kt
M compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.commonStubs.kt
A compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/TextActions.jvm.kt
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 9ec4bcf90fa4f214ba0bc52cbb494896da661cfa
Author: Aurimas Liutikas <aurimas@google.com>
Date: Mon Jul 08 14:48:37 2024
Convert compose ui project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/ui build
Change-Id: I778f6f9ea095bf06656bd70cc49bf6fdfd0d7b2c
M compose/ui/ui/build.gradle
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ComposedModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Modifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/SessionMutex.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusDirection.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusEventModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusRequesterModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/Focusability.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/OneDimensionalFocusSearch.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/ImageVector.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Layout.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutCoordinates.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatingNode.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DepthSortedSet.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MyersDiff.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.kt
A compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/Modifier.jvm.kt
A compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.jvm.kt
A compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.jvm.kt
M compose/ui/ui/src/jvmStubsMain/kotlin/androidx/compose/ui/platform/PlatformClipboardManager.jvmStubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/Actual.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/AtomicReference.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/Modifier.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/NotImplemented.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/autofill/ContentDataType.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/autofill/ContentType.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/draganddrop/DragAndDrop.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/key/Key.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/key/KeyEvent.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/rotary/RotaryScrollEvent.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/node/JvmTreeSet.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/node/WeakReference.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/AtomicInt.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/ClassHelpers.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/DebugUtils.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformClipboardManager.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputMethodRequest.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/Synchronization.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/Wrapper.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/viewinterop/InteropView.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/window/Dialog.linuxx64Stubs.kt
A compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/window/Popup.linuxx64Stubs.kt
ap...@google.com <ap...@google.com> #10
Branch: androidx-main
commit 25969d8585b6735cf7b56bf4dc118c68d3a1704f
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 09 14:51:32 2024
Convert compose foundation-layout project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/foundation build
Change-Id: I69eb81436264648db175a6d865ca7bc29e2851d5
M compose/foundation/foundation-layout/build.gradle
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Column.kt
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/ContextualFlowLayout.kt
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/FlowLayout.kt
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Row.kt
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnImpl.kt
M compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurePolicy.kt
M compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/NotImplemented.commonStubs.kt
A compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurePolicy.commonStubs.kt
M compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/WindowInsets.commonStubs.kt
M compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.commonStubs.kt
A compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.commonStubs.kt
A compose/foundation/foundation-layout/src/jvmMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurePolicy.jvm.kt
ap...@google.com <ap...@google.com> #11
Branch: androidx-main
commit cae205daf0f36453c2334fe5ab6a158477503420
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 09 13:09:41 2024
Convert compose animation-core project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/animation build
Change-Id: I872bcb0e1d1b5b9be13f35a7645a9704a2411e14
M compose/animation/animation-core/build.gradle
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Animation.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ArcSpline.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/IntListExtension.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InternalMutatorMutex.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorizedAnimationSpec.kt
A compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.kt
A compose/animation/animation-core/src/commonStubsMain/kotlin/androidx/compose/animation/core/ArcSpline.commonStubs.kt
A compose/animation/animation-core/src/commonStubsMain/kotlin/androidx/compose/animation/core/Expect.commonStubs.kt
A compose/animation/animation-core/src/commonStubsMain/kotlin/androidx/compose/animation/core/InternalMutatorMutex.commonStubs.kt
A compose/animation/animation-core/src/commonStubsMain/kotlin/androidx/compose/animation/core/NotImplemented.commonStubs.kt
A compose/animation/animation-core/src/commonStubsMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.commonStubs.kt
A compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/ArcSpline.jvm.kt
A compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/InternalMotatorMutex.jvm.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-main
commit dd908bb91d5d71617c2e5b20402ff801c16de0bb
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 09 15:13:15 2024
Convert compose animation projects to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/animation build
Change-Id: I5af188f28e9ab251623adfcf6916fc50d959f75a
M compose/animation/animation-graphics/build.gradle
M compose/animation/animation/build.gradle
M compose/animation/animation/src/commonStubsMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.commonStubs.kt
M compose/animation/animation/src/commonStubsMain/kotlin/androidx/compose/animation/NotImplemented.commonStubs.kt
M compose/animation/animation/src/commonStubsMain/kotlin/androidx/compose/animation/SplineBasedDecayAnimationSpec.commonStubs.kt
A compose/animation/animation/src/commonStubsMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.commonStubs.kt
ap...@google.com <ap...@google.com> #13
Branch: androidx-main
commit 64c19e2612ecaca5c53a3f7b96d7b4fec2991709
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 09 20:32:43 2024
Convert compose foundation project to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/foundation build
Change-Id: I102625214a9299e77d32cf1e627d3d2f159f4541
M compose/foundation/foundation/build.gradle
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BasicMarquee.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/MutatorMutex.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/content/TransferableContent.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/internal/JvmSynchronized.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/ObservableScopeInvalidator.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasure.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/Pager.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/ScrollIntoViewRequester.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ValidatingOffsetMapping.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/input/TextFieldBuffer.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/input/TextFieldCharSequence.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/input/TextObfuscationMode.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/input/internal/GapBuffer.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/input/internal/TextFieldDragAndDropNode.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/InlineDensity.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegate.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/BasicTooltip.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/Clickable.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/DarkTheme.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/DesktopOverscroll.commonStubs.kt
A compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/Expect.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/MutatorMutex.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/NotImplemented.commonStubs.kt
A compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/MediaType.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/TransferableContent.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/internal/DragAndDropRequestPermission.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/internal/ReceiveContentDragAndDropNode.commonStubs.kt
A compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewSpec.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/internal/JvmSynchronized.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/lazy/layout/Lazy.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/lazy/layout/PrefetchScheduler.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/ContextMenu.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/CursorHandle.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/DeadKeyCombiner.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/KeyMapping.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/StringHelpers.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/TouchMode.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/UndoManager.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/handwriting/StylusHandwriting.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/CodepointHelpers.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/LegacyPlatformTextInputServiceAdapter.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/TextFieldDragAndDropNode.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/TextFieldKeyEventHandler.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/TextFieldLayoutStateCache.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/TextInputSession.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/ToCharArray.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/selection/TextFieldMagnifier.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/selection/SelectionHandles.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.commonStubs.kt
M compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.commonStubs.kt
A compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/MutatorMutex.jvm.kt
A compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.jvm.kt
M compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/internal/JvmSynchronized.jvm.kt
M compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState.jvm.kt
D compose/foundation/foundation/src/jvmStubsMain/kotlin/androidx/compose/foundation/content/MediaType.jvmStubs.kt
ap...@google.com <ap...@google.com> #14
Branch: androidx-main
commit cec36ac792a749f139f04404d8ca327ec0711dc9
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 10 13:43:42 2024
Convert compose material projects to add linuxX64Stubs target
- Add all needed stub actuals
Bug: 349894318
Test: ./gradlew -p compose/material build
Change-Id: Id9f289348121c28e6e81875049143af92bde4bc1
M compose/material/material-ripple/build.gradle
M compose/material/material-ripple/src/commonStubsMain/kotlin/androidx/compose/material/ripple/NotImplemented.commonStubs.kt
M compose/material/material-ripple/src/commonStubsMain/kotlin/androidx/compose/material/ripple/Ripple.commonStubs.kt
M compose/material/material/build.gradle
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/AnchoredDraggable.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Chip.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/InteractiveComponentSize.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Scaffold.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/AlertDialog.jvmStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/AnchoredDraggable.commonStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/DefaultPlatformTextStyle.jvmStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/InteractiveComponentSize.commonStubs.kt
A compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/InternalMutatorMutex.commonStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/MaterialTheme.jvmStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/Menu.commonStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/NotImplemented.jvmStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/Strings.jvmStubs.kt
M compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/SystemBarsDefaultInsets.jvmStubs.kt
M compose/material/material/src/jvmMain/kotlin/androidx/compose/material/AnchoredDraggable.jvm.kt
M compose/material/material/src/jvmMain/kotlin/androidx/compose/material/InteractiveComponentSize.jvm.kt
D compose/material/material/src/jvmStubsMain/kotlin/androidx/compose/material/DesktopMenu.jvmStubs.kt
ni...@google.com <ni...@google.com> #15
Branch: androidx-main
commit effae92803db9492dba05942e0d18c47df191932
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 16 11:36:11 2024
Migrate compose library to always use commonStubsMain for no-op actuals
Test: ./gradlew -p compose build
Bug: 349894318
Change-Id: Ic2f4685c65adc276bfee531d248a8577166dbba2
M compose/runtime/runtime-saveable/build.gradle
M compose/runtime/runtime-test-utils/build.gradle
M compose/runtime/runtime-test-utils/src/commonStubsMain/kotlin/androidx/compose/runtime/mock/SynchronizedObject.commonStubs.kt
M compose/runtime/runtime/build.gradle
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/NotImplemented.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/SynchronizedObject.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/TestOnly.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/Atomic.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/ComposableLambda.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/Thread.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/Utils.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/internal/WeakReference.commonStubs.kt
M compose/runtime/runtime/src/commonStubsMain/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElement.commonStubs.kt
D compose/runtime/runtime/src/jvmStubsMain/kotlin/androidx/compose/runtime/internal/Utils.jvmStubs.kt
D compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.linuxx64Stubs.kt
D compose/runtime/runtime/src/linuxx64StubsMain/kotlin/androidx/compose/runtime/NotImplemented.linuxx64Stubs.kt
M compose/ui/ui-text/build.gradle
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineBreak.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/ActualAtomicReferenceJvm.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/AnnotatedString.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/NotImplemented.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/Paragraph.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/Savers.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/TextStyle.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/input/GapBuffer.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/input/PlatformImeOptions.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/intl/DesktopPlatformLocale.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/intl/PlatformLocale.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/Synchronization.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/style/LineBreak.commonStubs.kt
M compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/style/TextMotion.commonStubs.kt
D compose/ui/ui-text/src/jvmStubsMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.jvmStubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/NotImplemented.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/Paragraph.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/Savers.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/TextStyle.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/input/PlatformImeOptions.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/intl/DesktopPlatformLocale.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/style/LineBreak.linuxx64Stubs.kt
D compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/style/TextMotion.linuxx64Stubs.kt
M compose/ui/ui-unit/build.gradle
M compose/ui/ui-unit/src/commonStubsMain/kotlin/androidx/compose/ui/unit/FontScaling.commonStubs.kt
M compose/ui/ui-unit/src/commonStubsMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.commonStubs.kt
D compose/ui/ui-unit/src/linuxx64StubsMain/kotlin/androidx/compose/ui/unit/FontScaling.linuxx64Stubs.kt
M compose/ui/ui-util/build.gradle
M compose/ui/ui-util/src/commonStubsMain/kotlin/androidx/compose/ui/util/InlineClassHelper.commonStubs.kt
M compose/ui/ui/build.gradle
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/Actual.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/AtomicReference.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/Modifier.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/NotImplemented.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/autofill/ContentDataType.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/autofill/ContentType.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/draganddrop/DragAndDrop.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/key/Key.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/key/KeyEvent.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/rotary/RotaryScrollEvent.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/node/JvmTreeSet.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/node/WeakReference.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/AtomicInt.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/ClassHelpers.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/DebugUtils.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformClipboardManager.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputMethodRequest.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/Synchronization.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/Wrapper.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/viewinterop/InteropView.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/window/Dialog.commonStubs.kt
M compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/window/Popup.commonStubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/NotImplemented.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/autofill/ContentDataType.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/autofill/ContentType.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/draganddrop/DragAndDrop.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/key/Key.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/key/KeyEvent.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/rotary/RotaryScrollEvent.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformClipboardManager.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputMethodRequest.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/platform/Wrapper.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/viewinterop/InteropView.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/window/Dialog.linuxx64Stubs.kt
D compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/window/Popup.linuxx64Stubs.kt
ap...@google.com <ap...@google.com> #16
Branch: androidx-main
commit 932720ab79c7fd016cff7adec4358606209662cc
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 10 16:54:13 2024
Add additional targets to graphics:graphics-shapes library
These targets are needed to add support for these targets to
compose.material3 library
Bug: 349894318
Test: ./gradlew graphics:graphics-shapes:build
Change-Id: I10d41346cd9555e5a76b267e8cb305e13487b208
M graphics/graphics-shapes/build.gradle
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/CornerRounding.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/Cubic.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/FeatureMapping.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/FloatMapping.kt
A graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/Format.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/Morph.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/RoundedPolygon.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/Shapes.kt
M graphics/graphics-shapes/src/commonMain/kotlin/androidx/graphics/shapes/Utils.kt
A graphics/graphics-shapes/src/jvmMain/kotlin/androidx/graphics/shapes/Format.jvm.kt
A graphics/graphics-shapes/src/nativeMain/kotlin/androidx/graphics/shapes/Format.native.kt
ap...@google.com <ap...@google.com> #17
Branch: androidx-main
commit 0c6639ccf4cc18be4c3a461125c52af8c483dc9d
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jul 18 13:35:49 2024
Add support for mingwX64 target in annotation:annotation
This will help in the effort to allow jetbrains' compose to stop forking
this library.
Bug: 349894318
Relnote: Adding support for mingwX64 platform
Test: ./gradlew annotation:annotation:publish
Change-Id: I461cad1935cd2c29aa7eb05f5e6971215292f11c
M annotation/annotation/bcv/native/current.txt
M annotation/annotation/build.gradle
M buildSrc-tests/src/test/java/androidx/build/KmpPlatformsTest.kt
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
M buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
ap...@google.com <ap...@google.com> #18
Branch: androidx-main
commit c2551dbbb12c9d690b1e52c854ff72103aed4935
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 10 16:10:02 2024
Convert first batch of compose material3 projects to add linuxX64Stubs target
- Add all needed stub actuals
- Remove dependency on material-icons-core from material3 by copying
relevant icons over
Relnote: """material3 no longer adds a dependency to material-icons-core so if
your project relied on that, you will have to explicitly add that
dependency in your build.gradle[.kts] files."""
Bug: 349894318
Test: ./gradlew -p compose/material3 build
Change-Id: I735ffb809330e77356492b3f63ad4bd5081cdd8e
M compose/material3/adaptive/samples/build.gradle
M compose/material3/integration-tests/macrobenchmark-target/build.gradle
M compose/material3/material3-adaptive-navigation-suite/samples/build.gradle
M compose/material3/material3-common/build.gradle
M compose/material3/material3-common/src/commonMain/kotlin/androidx/compose/material3/common/InteractiveComponentSize.kt
A compose/material3/material3-common/src/commonStubsMain/kotlin/androidx/compose/material3/common/InteractiveComponentSize.commonStubs.kt
A compose/material3/material3-common/src/commonStubsMain/kotlin/androidx/compose/material3/common/NotImplemented.commonStubs.kt
A compose/material3/material3-common/src/jvmMain/kotlin/androidx/compose/material3/common/InteractiveComponentSize.jvm.kt
M compose/material3/material3-window-size-class/build.gradle
A compose/material3/material3-window-size-class/src/commonStubsMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.stubsCommon.kt
M compose/material3/material3/build.gradle
A compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DateInput.android.kt
A compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DatePicker.android.kt
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/ExposedDropdownMenu.android.kt
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/InteractiveComponentSize.android.kt
A compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/AnchoredDraggable.android.kt
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/CalendarModel.android.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/AppBar.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DateInput.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/InteractiveComponentSize.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ListItem.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationItem.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ProgressIndicator.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SegmentedButton.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SheetDefaults.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ShortNavigationBar.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Slider.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Snackbar.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimePicker.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/WideNavigationRail.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/carousel/Carousel.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/internal/AnchoredDraggable.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/internal/CalendarModel.kt
A compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/internal/Icons.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/internal/Strings.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/AlertDialog.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/CalendarLocale.commonStubs.kt
A compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/DateInput.commonStubs.kt
A compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/DatePicker.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/InteractiveComponentSize.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/ModalBottomSheet.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/NavigationDrawer.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/NotImplemented.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/SkikoMenu.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/TimeFormat.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/TimePicker.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/Tooltip.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/AccessibilityServiceStateProvider.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/AnchoredDraggable.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/BasicTooltip.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/CalendarModel.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/DefaultPlatformTextStyle.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/InternalMutatorMutex.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/Strings.commonStubs.kt
M compose/material3/material3/src/commonStubsMain/kotlin/androidx/compose/material3/internal/SystemBarsDefaultInsets.commonStubs.kt
ap...@google.com <ap...@google.com> #19
Branch: androidx-main
commit 1d1abef790da93325a83fe19b50ccdec06be6956
Author: Aurimas Liutikas <aurimas@google.com>
Date: Tue Jul 23 12:56:48 2024
Remove material-icons-core dependency from the material library
Copies the single icon used in ExposedDropdownMenu into the library.
This helps make sure that Jetbrains copy of compose does not need this
library.
Relnote: """material no longer adds a dependency to material-icons-core so if
your project relied on that, you will have to explicitly add that
dependency in your build.gradle[.kts] files."""
Bug: 349894318
Test: ./gradlew -p compose:material build assembleAndroidTest
Change-Id: Ie8fb35d07ce22063d5daf175927dd5a094016cae
M camera/integration-tests/avsynctestapp/build.gradle
M compose/animation/animation-core/samples/build.gradle
M compose/animation/animation/integration-tests/animation-demos/build.gradle
M compose/animation/animation/samples/build.gradle
M compose/foundation/foundation-layout/benchmark/build.gradle
M compose/foundation/foundation-layout/integration-tests/layout-demos/build.gradle
M compose/foundation/foundation/integration-tests/foundation-demos/build.gradle
M compose/foundation/foundation/samples/build.gradle
M compose/integration-tests/macrobenchmark-target/build.gradle
M compose/integration-tests/material-catalog/build.gradle
M compose/material/material/build.gradle
M compose/material/material/samples/build.gradle
M compose/material/material/src/androidMain/kotlin/androidx/compose/material/ExposedDropdownMenu.android.kt
A compose/material/material/src/commonMain/kotlin/androidx/compose/material/internal/Icons.kt
M compose/ui/ui-inspection/build.gradle
M compose/ui/ui-tooling/build.gradle
M compose/ui/ui/build.gradle
M compose/ui/ui/integration-tests/ui-demos/build.gradle
M constraintlayout/constraintlayout-compose/build.gradle
M constraintlayout/constraintlayout-compose/integration-tests/demos/build.gradle
M constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/build.gradle
M navigation/navigation-compose/integration-tests/navigation-demos/build.gradle
ap...@google.com <ap...@google.com> #20
Branch: androidx-main
commit 41f67627c98f52328685113382cc67d0676d40af
Author: Aurimas Liutikas <aurimas@google.com>
Date: Thu Jul 25 14:10:45 2024
Add additional native platforms to window-core library
Test: ./gradlew window:window-core:build
Bug: 349894318
Change-Id: I488534b84bb0b646c422bb28349ed391290d3c1d
M window/window-core/build.gradle
M window/window-core/src/commonMain/kotlin/androidx/window/core/layout/WindowSizeClass.kt
ap...@google.com <ap...@google.com> #21
r.android.com/3205674 will be the last change adding linux stubs to androidx.compose.material3.adaptive
an...@nrk.no <an...@nrk.no> #22
For adaptive, follow along on
ap...@google.com <ap...@google.com> #24
Branch: androidx-main
commit ed9efae72e56ea2e3750ece34f914fa8d0bacd0d
Author: Ralston Da Silva <ralu@google.com>
Date: Tue May 24 12:26:35 2022
Fix focus search in nested lazylists
We weren't sending a pin request to grandparents, which is needed
to support focus search through nested lazylists. This CL fixes
that so that we can move focus among nested lazylists.
Bug: 184670295
Bug: 232033100
Fixes: 232033100
Test: ./gradlew compose:f:f:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.foundation.lazy.list.LazyListFocusMoveTest
Change-Id: Ia7603f3844160010ed75aaebd80a7ad83a9c1a73
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListPinningModifier.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListFocusMoveTest.kt
A compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/NestedLazyListFocusSearchDemo.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusSearch.kt
ar...@gmail.com <ar...@gmail.com> #25
Good day!
What if I need to provide concrete focus order on the page (focusProperties: next, previous) on the device with only two nav buttons left direction and right direction, how does should it look like?
I've tried to do example with fixes regarding focus in LazyColumn but it doesn't work for this case. Focus is going crazy.
Compose version: 1.2.0-beta02
Example 1 - Without setting Focus options for each element of list (will fail if go to the 'After btn 1' by pressing left btn direction 2 times and then one more time left)
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.OutlinedButton
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.*
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.key.*
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@OptIn(ExperimentalComposeUiApi::class)
@Preview
@Composable
fun FocusTestPage() {
val focusManager = LocalFocusManager.current
val beforeFocus1 = remember { FocusRequester() }
val beforeFocus2 = remember { FocusRequester() }
val afterFocus1 = remember { FocusRequester() }
val afterFocus2 = remember { FocusRequester() }
val firstItemFocus = remember { FocusRequester() }
val lastItemFocus = remember { FocusRequester() }
Column(
modifier = Modifier.onKeyEvent {
if (it.type != KeyEventType.KeyDown)
return@onKeyEvent false
return@onKeyEvent when (it.key) {
Key.DirectionDown, Key.DirectionRight -> {
focusManager.moveFocus(FocusDirection.Next)
true
}
Key.DirectionUp, Key.DirectionLeft -> {
focusManager.moveFocus(FocusDirection.Previous)
true
}
else -> false
}
}
) {
Row {
FocusableBtn(
text = "Before btn 1",
modifier = Modifier.focusProperties {
previous = afterFocus2
next = beforeFocus2
},
focusRequester = beforeFocus1
)
FocusableBtn(
text = "Before btn 2",
modifier = Modifier.focusProperties {
previous = beforeFocus1
next = firstItemFocus
},
focusRequester = beforeFocus2
)
}
LazyColumn(
modifier = Modifier.height(300.dp)
) {
items(20) { i ->
when (i) {
0 -> {
FocusableBtn(
text = "First list btn $i",
modifier = Modifier.focusProperties {
previous = beforeFocus2
},
focusRequester = firstItemFocus
)
}
19 -> {
FocusableBtn(
text = "Last list btn $i",
modifier = Modifier.focusProperties {
next = afterFocus1
},
focusRequester = lastItemFocus
)
}
else -> {
FocusableBtn(
text = "List btn $i"
)
}
}
}
}
Row {
FocusableBtn(
text = "After btn 1",
modifier = Modifier.focusProperties {
previous = lastItemFocus
next = afterFocus2
},
focusRequester = afterFocus1
)
FocusableBtn(
text = "After btn 2",
modifier = Modifier.focusProperties {
previous = afterFocus1
next = beforeFocus1
},
focusRequester = afterFocus2
)
}
}
}
@Composable
fun FocusableBtn(
text: String,
modifier: Modifier = Modifier,
focusRequester: FocusRequester = FocusRequester(),
) {
var color by remember { mutableStateOf(Color.White) }
OutlinedButton(
modifier = Modifier
.focusRequester(focusRequester)
.onFocusChanged {
color = if (it.isFocused) Color.Red else Color.White
}
.then(modifier)
.focusable(),
onClick = { /*TODO*/ },
border = BorderStroke(2.dp, color)
) {
Text(text = text)
}
}
Example 2 - Setting focus options for each LazyList item (will fail with java.lang.IllegalStateException: FocusRequester is not initialized.
)
package com.augvantis.careviewjetpack.pages
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.OutlinedButton
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.*
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.key.*
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@OptIn(ExperimentalComposeUiApi::class)
@Preview
@Composable
fun FocusTestPage() {
val focusManager = LocalFocusManager.current
val beforeFocus1 = remember { FocusRequester() }
val beforeFocus2 = remember { FocusRequester() }
val afterFocus1 = remember { FocusRequester() }
val afterFocus2 = remember { FocusRequester() }
val focusList = remember { List(20) { FocusRequester() } }
Column(
modifier = Modifier.onKeyEvent {
if (it.type != KeyEventType.KeyDown)
return@onKeyEvent false
return@onKeyEvent when (it.key) {
Key.DirectionDown, Key.DirectionRight -> {
focusManager.moveFocus(FocusDirection.Next)
true
}
Key.DirectionUp, Key.DirectionLeft -> {
focusManager.moveFocus(FocusDirection.Previous)
true
}
else -> false
}
}
) {
Row {
FocusableBtn(
text = "Before btn 1",
modifier = Modifier.focusProperties {
previous = afterFocus2
next = beforeFocus2
},
focusRequester = beforeFocus1
)
FocusableBtn(
text = "Before btn 2",
modifier = Modifier.focusProperties {
previous = beforeFocus1
next = focusList[0]
},
focusRequester = beforeFocus2
)
}
LazyColumn(
modifier = Modifier.height(300.dp)
) {
items(20) { i ->
when (i) {
0 -> {
FocusableBtn(
text = "First list btn $i",
modifier = Modifier.focusProperties {
previous = beforeFocus2
next = focusList[1]
},
focusRequester = focusList[0]
)
}
19 -> {
FocusableBtn(
text = "Last list btn $i",
modifier = Modifier.focusProperties {
previous = focusList[18]
next = afterFocus1
},
focusRequester = focusList[19]
)
}
else -> {
FocusableBtn(
text = "List btn $i",
modifier = Modifier.focusProperties {
previous = focusList[i-1]
next = focusList[i+1]
},
focusRequester = focusList[i]
)
}
}
}
}
Row {
FocusableBtn(
text = "After btn 1",
modifier = Modifier.focusProperties {
previous = focusList[19]
next = afterFocus2
},
focusRequester = afterFocus1
)
FocusableBtn(
text = "After btn 2",
modifier = Modifier.focusProperties {
previous = afterFocus1
next = beforeFocus1
},
focusRequester = afterFocus2
)
}
}
}
@Composable
fun FocusableBtn(
text: String,
modifier: Modifier = Modifier,
focusRequester: FocusRequester = FocusRequester(),
) {
var color by remember { mutableStateOf(Color.White) }
OutlinedButton(
modifier = Modifier
.focusRequester(focusRequester)
.onFocusChanged {
color = if (it.isFocused) Color.Red else Color.White
}
.then(modifier)
.focusable(),
onClick = { /*TODO*/ },
border = BorderStroke(2.dp, color)
) {
Text(text = text)
}
}
Example of focus ordering in image attachment
Thanks, Vadim
ap...@google.com <ap...@google.com> #26
Branch: androidx-main
commit b1fbc771c5675eed692fd69fda1653f5147f9594
Author: Ralston Da Silva <ralu@google.com>
Date: Thu Jun 02 16:10:27 2022
Add 1D Focus Search support for Lazylists
1D focus search currently traverses items in the order they
were composed. However this doesn't work for lazylists which
reuses composed items. So we use placement order instead.
Bug: 184670295
Fixes: 184670295
Test: ./gradlew compose:f:f:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.foundation.lazy.list.LazyListFocusMoveTest
Change-Id: I77bfa2a3017934726d3c4149ccfd30d8f682a5ae
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/OneDimensionalFocusSearch.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ScrollableLazyRowFocusDemo.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListFocusMoveTest.kt
M compose/ui/ui/lint-baseline.xml
ra...@google.com <ra...@google.com> #27
Hi Vadim,
In your example above, the issue seems to be that you are adding a focusable to OutlinedButton. Buttons use a focusable internally, so you don't need to add another one. I tried out your example, and just commenting out the line with focusable()
from FocusableBtn
seems to fix the issue.
However we can simplify your sample a little, after you switch to a build that includes
@OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class)
@Preview
@Composable
fun FocusTestPage2() {
val focusManager = LocalFocusManager.current
fun Modifier.only1DFocusSearch() = onKeyEvent {
if (it.type != KeyDown) return@onKeyEvent false
when (it.key) {
DirectionDown, DirectionRight -> { focusManager.moveFocus(Next); true }
DirectionUp, DirectionLeft -> { focusManager.moveFocus(Previous); true }
else -> false
}
}
Column(Modifier.only1DFocusSearch().focusGroup()) {
Row(Modifier.focusGroup()) {
FocusableBtn("Before btn 1")
FocusableBtn("Before btn 2")
}
LazyColumn(Modifier.height(300.dp)) {
items(20) {
FocusableBtn("List btn $it")
}
}
Row(Modifier.focusGroup()) {
FocusableBtn("After btn 1")
FocusableBtn("After btn 2")
}
}
}
@Composable
fun FocusableBtn(text: String, modifier: Modifier = Modifier) {
var color by remember { mutableStateOf(White) }
OutlinedButton(
modifier = modifier.onFocusChanged { color = if (it.isFocused) Red else White },
onClick = { /*TODO*/ },
border = BorderStroke(2.dp, color)
) {
Text(text = text)
}
}
Note: An additional unrelated suggestion: Outlined Button already provides focused indication so you don't have to add the border around the box when it is focused, (unless of course, you have some use-case that needs it).
na...@vitruvian.me <na...@vitruvian.me> #28
Hi Ralston,
Apologies for pinging this issue. Not sure if its the right place but I just wanted to follow up what control we have on the scroll behaviour / if I have missed something. This is based on the Android TV DPAD use case.
We have a layout similar to below (i've also attached a sample at the end + a screenshot)
LazyColumn(state = lazyColumnListState) {
items(COLUMN_ITEM_COUNT) { columnIndex ->
Column(
modifier = Modifier
) {
Text(
"I am section $columnIndex"
)
LazyRow(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
items(ROW_ITEM_COUNT) { rowIndex ->
FocusableItem()
..........................
If we rely on the bringinto view provided by the lazy list then when scrolling up only the row is brought into view (without the title).
We then naturally end up trying to use animateScrollToItem which then runs into the issues of cancelled scrolls caused by bring into view.
This / workarounds are talked about here
Is there better way to control the behaviour of lazy list scrolling that I have missed or is the best workaround to copy focusable and clickable (clickable is harder as it references package internal items) into source and remove the bringintoview call?
Examples of all the stuff mentioned above with comments available here
Thanks! Nathan
ra...@google.com <ra...@google.com> #29
Hi Nathan,
Thanks for raising this issue. Instead of trying to cancel the default bringIntoView behavior and start a new animation, you can intercept the bringIntoView request instead:
@OptIn(ExperimentalFoundationApi::class)
@Composable
fun BringTitleIntoView(){
LazyColumn {
items(10) { columnIndex ->
val bringIntoViewRequester = remember { BringIntoViewRequester() }
val bringIntoViewResponder = remember { CustomBringIntoViewResponder(bringIntoViewRequester) }
Column(
modifier = Modifier
.bringIntoViewRequester(bringIntoViewRequester)
.bringIntoViewResponder(bringIntoViewResponder)
) {
Text("I am section $columnIndex")
LazyRow(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
items(10) { rowIndex ->
Text(text = "$columnIndex $rowIndex", Modifier.focusable())
}
}
}
}
}
}
@OptIn(ExperimentalFoundationApi::class)
private class CustomBringIntoViewResponder(private val parent: BringIntoViewRequester) : BringIntoViewResponder {
@ExperimentalFoundationApi
override fun calculateRectForParent(localRect: Rect): Rect {
return localRect
}
@ExperimentalFoundationApi
override suspend fun bringChildIntoView(localRect: Rect) {
parent.bringIntoView()
}
}
an...@nrk.no <an...@nrk.no> #30
Hi Ralston.
Thanks for your replies here and in the other thread. In our case we want to center the focused row (so whatever is focused is in the middle of the screen), but struggle to do so. Seems like CustomBringIntoViewResponder
is quite relevant in this case, but we experience that we "overshoot" when using the localrect
provided by bringChildIntoView
- at least for the views that aren't visible when you move focus.
We have tried to dig a bit into the implementation and think it might be related to that the underlying scrollable starts the scroll and thus localRect
isn't up to date when we receive it (or when we cancel the scroll by start scrolling). In that case we might need to implement our own LazyColumn/LazyRow (as you also suggest here:
We've tried to return various rects for calculateRectForParent
without any luck. We'll be happy to provide more info if helps.
Best regards Anders
an...@nrk.no <an...@nrk.no> #31
Hi again.
Just tried to make a simple example that shows our issue. It's really a simple version of it, but it still happens in this case. Here we're only using a lazy row, but happens for columns. If you uncomment the to log-statmenst (and print them to log) it's clear that when you navigate to item with index 4 (that's not fully visible) we're basing out calculations on an outdated localRect
.
Hope this shows what our issue is.
Best regards Anders
@OptIn(ExperimentalFoundationApi::class)
@Composable
private fun BringIntoViewCentered() {
val rowListState = rememberLazyListState()
val bringIntoViewResponder = remember(rowListState) { BringIntoViewCenterResponder(rowListState) }
LazyRow(
state = rowListState,
modifier = Modifier.bringIntoViewResponder(bringIntoViewResponder)
) {
listOf(1.until(10), 8.downTo(1)).flatten().forEachIndexed { index, itemFraction ->
item {
val interactionSource = remember { MutableInteractionSource() }
val isFocused by interactionSource.collectIsFocusedAsState()
Text(
text = "#$index",
textAlign = TextAlign.Center,
modifier = Modifier
.fillParentMaxWidth(fraction = itemFraction.toFloat() / 10)
.focusable(interactionSource = interactionSource)
.background(if (isFocused) Color.Green else if (itemFraction % 2 == 0) Color.Red else Color.Blue)
.padding(vertical = 16.dp)
)
}
}
}
}
@OptIn(ExperimentalFoundationApi::class)
class BringIntoViewCenterResponder(private val listState: LazyListState) : BringIntoViewResponder {
@ExperimentalFoundationApi
override fun calculateRectForParent(localRect: Rect): Rect {
return localRect
}
@ExperimentalFoundationApi
override suspend fun bringChildIntoView(localRect: Rect) {
val parentWidth = listState.layoutInfo.viewportSize.width
val destinationLeft = (parentWidth / 2) - (localRect.width / 2)
val scrollDelta = localRect.left - destinationLeft
listState.stopScroll() // Just for debug purposes, animateScrollBy would normally do this
// When scrolling to item #4 (zero-indexed) this clearly shows that the list has been scrolled after localRect was calculated
// LOG - expected left offset: "Local rect left: ${localRect.left}"
// LOG - actual left offset: "Visible items offset after scroll cancel: ${listState.layoutInfo.visibleItemsInfo.joinToString("; ") { "#${it.index}: ${it.offset}" }}"
listState.animateScrollBy(scrollDelta)
}
}
fa...@gmail.com <fa...@gmail.com> #32
With 1.2.0-rc03, we are also running into the same D-Pad focus issues with nested LazyLists as described in #22. I'm guessing that the fix described in #23 hasn't landed in a release yet?
is...@fubo.tv <is...@fubo.tv> #33
ap...@google.com <ap...@google.com> #34
Branch: androidx-main
commit ec0b0c6c04008d708ffa52cd6413a48ff50ff34a
Author: Ralston Da Silva <ralu@google.com>
Date: Mon Aug 01 16:30:34 2022
Fix Incorrect Traversal Order in 1D Focus Search
1D Focus search visits children in composition order. However,
if items are re-used (Eg. LazyList), we use placement order.
When we added a fix for LazyLists, we ended up introducing a
bug where we have an incorrect traversal order if focusable
siblings have different layoutnode parents. This CL fixes this
issue by using the placement order relative to the nearest
common ancestor instead of using the placement order of the
layout node the focus modifier is connected to.
Bug: 238210250
Bug: 184670295
Fixes: 238210250
Test: ./gradlew compose:f:f:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.foundation.lazy.list.LazyListFocusMoveTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.OneDimensionalFocusSearchNextTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.OneDimensionalFocusSearchPreviousTest
Change-Id: I400efc722521516aef9449db6bd3ef403fa710e0
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/OneDimensionalFocusSearch.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/OneDimensionalFocusSearchPreviousTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/OneDimensionalFocusSearchNextTest.kt
vr...@gmail.com <vr...@gmail.com> #35
Hi there,
I'm trying to use LazyVerticalGrid
with Dpad and noticing that the items do not scroll past the visible items. I assume as per LazyVerticalGrid
as well.
Using compose version: 1.3.0-alpha03
Here is an example to test the focus behavior:
@Composable
fun GridExample() {
LazyVerticalGrid(columns = GridCells.Adaptive(minSize = 128.dp)) {
items(100) { index ->
FocusableBox() {
Text("$index")
}
}
}
}
@Composable
private fun FocusableBox(
modifier: Modifier = Modifier,
content: @Composable BoxScope.() -> Unit = {}
) {
var borderColor by remember { mutableStateOf(Color.Black) }
Box(
modifier = modifier
.size(100.dp)
.padding(2.dp)
.onFocusChanged { borderColor = if (it.isFocused) Color.Red else Color.Black }
.border(2.dp, borderColor)
.focusable(),
content = content
)
}
ra...@google.com <ra...@google.com> #36
@vrkovvuru: The code changed over time, and now LazyGrid uses a separate implementation. We need to repeat this implementation for LazyGrid. Filed
do...@gmail.com <do...@gmail.com> #37
Hi there,
I'm trying to use LazyRow in LazyColumn with Dpad and I saw some delay with move focus to down. It seems to be due to the recomposition of all items in the LazyRow from which the focus is moved. Then more elements in LazyRaw, the greater the delay when moving focus
Using compose version: 1.2.0
Here is an example to test the focus behavior:
LazyColumn {
items(20) { verticalIndex ->
LazyRow{
items(500) { horizontalIndex ->
println("There is recomposition item with index=$verticalIndex,$horizontalIndex")
var color by remember { mutableStateOf(Color.White) }
Text(
text = "$verticalIndex,$horizontalIndex",
fontSize = 50.sp,
textAlign = TextAlign.Center,
modifier = Modifier
.size(100.dp)
.border(2.dp, Color.Gray)
.onFocusChanged { color = if (it.isFocused) Color.Red else Color.White }
.background(color)
.focusable()
)
}
}
}
}
sa...@gmail.com <sa...@gmail.com> #38
Hello, I'm trying to replicate Leanback focus behavior and failed. What I'm came up with is that I totally abandoned LazyColumn DPad handling and overrided keyEvent. I store focus requesters for each item in the hashmap and track selected position in a state variable. Then I animate scroll gallery row to the center of the window and then request focus.
.onKeyEvent {
// completeley custom focus handling
// the relevant issue https://issuetracker.google.com/issues/184670295
// it may be better in the future
val code = it.nativeKeyEvent.keyCode
var pos = focusedItemPosition.value
var move = false
var isUp = false
var direction = FocusDirection.Next
if (it.nativeKeyEvent.action == KeyEvent.ACTION_DOWN) {
when (code) {
KeyEvent.KEYCODE_DPAD_LEFT -> {
direction = FocusDirection.Left
move = true
pos--
}
KeyEvent.KEYCODE_DPAD_RIGHT -> {
direction = FocusDirection.Right
move = true
pos++
}
KeyEvent.KEYCODE_DPAD_UP -> {
direction = FocusDirection.Up
move = true
pos -= columnsCount
}
KeyEvent.KEYCODE_DPAD_DOWN -> {
direction = FocusDirection.Down
move = true
pos += columnsCount
}
else -> Unit
}
isUp = pos < 0
pos = pos.coerceIn(0, collectionItems.lastIndex)
focusedItemPosition.value = pos
}
if (move) {
scope.launchSafe {
if (focusedItemPosition.value != pos) return@launchSafe
if (isUp) {
lazyGridState.animateScrollToItem(0, 0)
focusManager.moveFocus(FocusDirection.Up)
} else {
val animateTo = (pos / columnsCount) + 1
lazyGridState.animateScrollToItem(animateTo, -150)
val fr = focusRequesterByPosition[pos]?.invoke()
if (fr == null) {
focusManager.moveFocus(direction) // possible fix crash
} else {
fr.requestFocus()
}
}
}
}
return@onKeyEvent move
}
Sometimes, however, focus jumps to unknown location and causing a crash :(
pi...@gmail.com <pi...@gmail.com> #39
Compose 1.3.2.
na...@google.com <na...@google.com> #41
The following release(s) address this bug:
androidx.compose.foundation:foundation:1.3.0
androidx.compose.ui:ui:1.3.0
pi...@gmail.com <pi...@gmail.com> #42
It still looks broken/slow in 1.4.0-alpha01
.
[Deleted User] <[Deleted User]> #43
Very slow in 1.4.0-alpha02
. The issue seems to be when BringIntoViewRequester is used
ni...@svt.se <ni...@svt.se> #44
Problem seems to be happening directly when using FocusGroup and FocusProperties on both LazyRow an TvLazyRow.
el...@gmail.com <el...@gmail.com> #45
I investigated the issue mentioned in #37, #39, #42, #43 and #44 because it also critically impacts me and created a new bug:
wa...@gmail.com <wa...@gmail.com> #46
I am using androidx.compose.ui:ui:1.5.0. I found focus will jump to unexpected item when using LazyVerticalGrid.
@Composable
fun GridView() {
LazyVerticalGrid(columns = GridCells.Adaptive(minSize = 128.dp)) {
items(100) { index ->
FocusableBox(index = index) {
Text("$index")
}
}
}
}
@Composable
private fun FocusableBox(
modifier: Modifier = Modifier,
index: Int,
content: @Composable BoxScope.() -> Unit = {}
) {
var borderColor by remember { mutableStateOf(Color.Black) }
Box(
modifier = modifier
.size(100.dp)
.padding(2.dp)
.onFocusChanged {
Log.d("Test", "onFocusChanged index: $index $it")
borderColor = if (it.isFocused) Color.Red else Color.Black
}
.border(2.dp, borderColor)
.focusable(),
content = content
)
}
Each row has 7 items. Current focus item is 0. After press Dpad key down, the expected focus item should be 7. But it moved to 8.
Output log:
2023-08-29 14:52:01.493 23514-23514 onFocusChanged index: 0 Inactive
2023-08-29 14:52:01.504 23514-23514 onFocusChanged index: 7 Active
2023-08-29 14:52:01.550 23514-23514 onFocusChanged index: 7 Inactive
2023-08-29 14:52:01.551 23514-23514 onFocusChanged index: 8 Active
Description
Add support for moving focus in a LazyList. When we reach the end of the list, the list should automatically scroll.