Merge androidx.compose 1.13.0-alpha01 - #3351
Igor Demin (igordmn) merged 21 commits into
Conversation
9a42ade to
286ae90
Compare
| @@ -16,7 +16,7 @@ | |||
|
|
|||
| package androidx.compose.runtime.platform | |||
|
|
|||
| internal expect class SynchronizedObject | |||
| @PublishedApi internal expect class SynchronizedObject | |||
There was a problem hiding this comment.
Let's make sure that's an expected change and does not collied with the plan to move to stdlib in the future
There was a problem hiding this comment.
https://android-review.googlesource.com/c/platform/frameworks/support/+/4091011
Looks like it was already published because it needs inline access.
When moving to stdlib, we should keep it if we want compatibility with code that use it.
| actual val failurePolicy: TestFailurePolicy, | ||
| ) { | ||
| @Deprecated("Kept for binary compatibility", level = DeprecationLevel.HIDDEN) | ||
| actual constructor( |
There was a problem hiding this comment.
Should we move such expect to androidMain and remove it from our platforms?
There was a problem hiding this comment.
The author asked me should it be in the common, and I answered - yes, because it is a common feature - it has legit common semantics, just needs platform implementation.
Do you agree, or there is something flawed?
Generally, I see 2 approaches about such kind of features:
- have it in androidMain only, so it doesn't pollute common API.
- support it as common, but emphasize to user that it is not supported in CMP platforms yet - via API (
isSupported, returningnull), or via exception/warning.
There was a problem hiding this comment.
I mean only DeprecationLevel.HIDDEN declarations, they shouldn't be in commonMain. The feature itself is fine
There was a problem hiding this comment.
Why shouldn't they be in commonMain? They provide compatibility for all platforms.
There was a problem hiding this comment.
DeprecationLevel.HIDDEN is supposed to be in binary without accessing from code. Having them duplicated in commonMain buys nothing.
Adding it to a platform that previously didn't ship it - does not make sense. For now it's just to make the compiler happy without any compatibility gain
There was a problem hiding this comment.
Having them duplicated in commonMain buys nothing.
It just a consequence of the actual keyword, I would just not use it if possible in the first place, but still write it in commonMain because if it is for backward compatibility. There is a chance, that CMP needs it too.
Adding it to a platform that previously didn't ship it
I don't want to spend time to figure out if we shipped it or not. If Android added it in their code -> they shipped it -> we probably too.
Adding it to a platform that previously didn't ship it - does not make sense.
Maybe, but it also doesn't make things worse. So, I don't see a reason to spend time on this.
There was a problem hiding this comment.
If Android added it in their code -> they shipped it -> we probably too.
We might not shipped it because it was Android-only before that, but as a general approach I don't want to review commonMain for such things, because they in fact don't affect other platforms.
…ompose/605f107436e/to-jb-main # Conflicts: # compose/animation/animation-core/api/current.txt # compose/animation/animation-core/api/restricted_current.txt # compose/animation/animation-core/bcv/native/current.ignore # compose/animation/animation-core/bcv/native/current.txt # compose/animation/animation/api/current.txt # compose/animation/animation/api/restricted_current.txt # compose/animation/animation/bcv/native/current.txt # compose/foundation/foundation-layout/api/current.txt # compose/foundation/foundation-layout/api/restricted_current.txt # compose/foundation/foundation-layout/bcv/native/current.txt # compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/WindowInsets.commonStubs.kt # compose/foundation/foundation-layout/src/commonStubsMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.commonStubs.kt # compose/foundation/foundation/api/current.txt # compose/foundation/foundation/api/restricted_current.txt # compose/foundation/foundation/bcv/native/current.ignore # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/MediaType.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/content/TransferableContent.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewSpec.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/lazy/layout/Lazy.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/lazy/layout/PrefetchScheduler.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/BasicTextField.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/input/internal/TextInputSession.commonStubs.kt # compose/foundation/foundation/src/commonStubsMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.commonStubs.kt # compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/AlertDialog.jvmStubs.kt # compose/material/material/src/commonStubsMain/kotlin/androidx/compose/material/Menu.commonStubs.kt # compose/material/material/src/linuxx64StubsMain/kotlin/androidx/compose/material/InternalMutatorMutex.linuxx64Stubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/BlendMode.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Canvas.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Paint.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Path.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/PathIterator.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/PathMeasure.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/RenderEffect.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/Shader.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/TileMode.commonStubs.kt # compose/ui/ui-graphics/src/commonStubsMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.commonStubs.kt # compose/ui/ui-test-junit4/src/jvmStubsMain/kotlin/androidx/compose/ui/test/junit4/DesktopComposeTestRule.jvmStubs.kt # compose/ui/ui-test-junit4/src/jvmStubsMain/kotlin/androidx/compose/ui/test/junit4/v2/DesktopComposeTestRule.jvmStubs.kt # compose/ui/ui-test/api/current.txt # compose/ui/ui-test/api/restricted_current.txt # compose/ui/ui-test/bcv/native/current.ignore # compose/ui/ui-test/bcv/native/current.txt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Actions.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/ComposeUiTest.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Mouse.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/Trackpad.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/platform/Synchronization.commonStubs.kt # compose/ui/ui-test/src/commonStubsMain/kotlin/androidx/compose/ui/test/v2/ComposeUiTest.commonStubs.kt # compose/ui/ui-text/bcv/native/current.ignore # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/Paragraph.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/TextStyle.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/input/PlatformImeOptions.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/platform/Synchronization.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/style/LineBreak.commonStubs.kt # compose/ui/ui-text/src/commonStubsMain/kotlin/androidx/compose/ui/text/style/TextMotion.commonStubs.kt # compose/ui/ui-text/src/linuxx64StubsMain/kotlin/androidx/compose/ui/text/intl/Locale.linuxx64Stubs.kt # compose/ui/ui-unit/src/commonStubsMain/kotlin/androidx/compose/ui/unit/FontScaling.commonStubs.kt # compose/ui/ui-util/src/commonStubsMain/kotlin/androidx/compose/ui/util/Trace.commonStubs.kt # compose/ui/ui-util/src/linuxx64StubsMain/kotlin/androidx/compose/ui/util/InlineClassHelper.linuxx64Stubs.kt # compose/ui/ui/api/current.ignore # compose/ui/ui/api/current.txt # compose/ui/ui/api/restricted_current.ignore # compose/ui/ui/api/restricted_current.txt # compose/ui/ui/bcv/native/current.ignore # compose/ui/ui/bcv/native/current.txt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/autofill/ContentDataType.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/autofill/ContentType.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/autofill/FillableData.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/draganddrop/DragAndDrop.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/key/Key.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/key/KeyEvent.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/input/rotary/RotaryScrollEvent.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/CompositionLocals.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformClipboardManager.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputMethodRequest.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/platform/Synchronization.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/viewinterop/InteropView.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/window/Dialog.commonStubs.kt # compose/ui/ui/src/commonStubsMain/kotlin/androidx/compose/ui/window/Popup.commonStubs.kt # compose/ui/ui/src/linuxx64StubsMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.linuxx64Stubs.kt
We already reset them in jb-main, but this branch brought the old wrongly resolved conflicts ``` git checkout --no-overlay androidx/compose-ui/1.13.0-alpha01 -- \ 'compose/**/api/**' \ 'compose/**/bcv/**' \ 'compose/**/**StubsMain/**' \ ':(exclude)**/api/desktop/**' \ ':(exclude)**/api/android/**' \ ':(exclude)**/**.klib.api' ```
We already reset them in jb-main, but this branch brought the old wrongly resolved conflicts ``` git checkout --no-overlay androidx/compose-material3/1.5.0-alpha26 -- \ 'compose/material3/**/api/**' \ 'compose/material3/**/bcv/**' \ 'compose/material3/**/**StubsMain/**' \ ':(exclude)compose/material3/adaptive' \ ':(exclude)compose/material3/material3-xr' \ ':(exclude)compose/material3/material3-xr-adaptive' \ ':(exclude)**/api/desktop/**' \ ':(exclude)**/api/android/**' \ ':(exclude)**/**.klib.api' ```
We already reset them in jb-main, but this branch brought the old wrongly resolved conflicts ``` git checkout --no-overlay androidx/compose-material3-adaptive/1.3.0 -- \ 'compose/material3/adaptive/**/api/**' \ 'compose/material3/adaptive/**/bcv/**' \ 'compose/material3/adaptive/**/**StubsMain/**' \ ':(exclude)**/api/desktop/**' \ ':(exclude)**/api/android/**' \ ':(exclude)**/**.klib.api' ```
|
Ivan Matkov (@MatkovIvan), it looks like I have messed with stubs. Restored them here: and in the navigation PRs. The reason is that these PRs brought pre-reset stub versions that were wrongly resolved conflicts. |
See details in JetBrains/compose-multiplatform-core#3351 ## Release Notes N/A


Fixes https://youtrack.jetbrains.com/issue/CMP-10525/Merge-Jetpack-Compose-1.13.0-alpha01
Version increasing: https://jetbrains.team/p/ui/reviews/197
Integration tests adoption: JetBrains/compose-multiplatform#5698
Android minSdk change
Jetpack Compose 1.13.0-alpha01 raised it to 24, we use the same now
Caught by the teamcity check:
Release Notes
Migration Notes - Android