Status Update
Comments
ap...@google.com <ap...@google.com> #3
Thanks for the report!
ap...@google.com <ap...@google.com> #4
The release notes documentation has been edited to clarify this change in behavior for line height.
To support non-standard text sizes, we encourage users to follow the Material design system and use a different style = LocalTextStyle.current.copy(lineHeight = TextUnit.Unspecified)
, or create a custom Typography
entirely.
ap...@google.com <ap...@google.com> #5
ap...@google.com <ap...@google.com> #6
In my case, I have multiple font sizes in the same Text
(using SpanStyle
in AnnotatedString
). There are legitimate reasons for this. For example, when combining Chinese and English (phonetic) together (for language-learning purposes).
ap...@google.com <ap...@google.com> #7
Branch: androidx-main
commit c287d1b0da25548a814ff18496b1101e6a9fbeb8
Author: Matvei Malkov <malkov@google.com>
Date: Tue Jan 26 15:04:34 2021
Deprecate drag-related input filters
This CL deprecated and supressed all the usages of the drag-related gesture filters as well as provides the alternatives for them where applicable
Change-Id: I0ba93559f565fc2a277f322e53dce9df9855ea46
Relnote: "Modifier.dragGestureFilter has been deprecated. Use Modifier.pointerInput { detectDragGestures (...)} instead. Alternatively, use Modifier.draggable for one axis drags"
Bug: 175294473
Test: just a deprecation, tests should pass
M compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/ui/window/WindowDraggableArea.kt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DragGestureDetectorSamples.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/DragGestureDetector.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldGestureModifiers.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionContainer.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelection.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionManager.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextSelectionLongPressDragTest.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ColorPickerDemo.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DragSlopExceededGestureFilterDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/LongPressDragGestureDetectorDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/PopupDragDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/RawDragGestureDetectorDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/TouchSlopDragGestureDetectorDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
M compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterComposeTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilterComposeTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/ScrollGestureFilterComposeTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/TouchSlopDragGestureFilterTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragSlopExceededGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/GestureUtils.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/RawDragGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/ScrollGestureFilter.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterTest.kt
ap...@google.com <ap...@google.com> #8
Branch: androidx-main
commit 79be98f4fe7e15665d8137b923b5732ad894981f
Author: Matvei Malkov <malkov@google.com>
Date: Wed Feb 03 21:36:55 2021
Legacy gesture filters deletion part 1
Where I remove most of the ulitities from the public API and merge files so it's easy to mark them internal later and move to other modules.
Plus this CL removes some of the gesture filters complitely, unblocking future work for removal of the CustomEvents
Bug: 175294473
Change-Id: I2fedf3814840157c278cd91988da3c5ab493c9eb
Relnote: "longPressGestureFilter and doubleClickGestureFilter have been removed. use Modifier.pointerInput with helper functions e.g detectTapGestures"
Relnote: "legacy scroll orientation locking and helper functions have been removed"
Test: some deleted, the rest should pass
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Clickable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Draggable.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/TapGestureDetectorTest.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/GestureScope.kt
M compose/ui/ui/api/api_lint.ignore
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedLongPressDemo.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/ScrollGestureFilterComposeTest.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/Constants.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/Direction.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DoubleTapGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragSlopExceededGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/RawDragGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/ScaleUtil.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/ScrollGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/customevents/DelayUpEvent.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/customevents/LongPressFiredEvent.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLocker.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/GestureUtilsTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/LongPressGestureFilterTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/ScaleUtilsTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerSetupTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerTest.kt
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 5aa53ce898e78c0847c0de471be8628d6f81d5c8
Author: Matvei Malkov <malkov@google.com>
Date: Thu Feb 04 22:50:05 2021
Delete CustomEvents from poiner input and a few other APIs
This CL deleted custom events infrastructure as well as other related APIs: scroll orientation locking, pointer input filter initialisation with custom events dispatcher, etc.
Change-Id: I0270780d7b8e6fddaf76f49194713d8eb2b44452
Relnote: CustomEvens support from PointerInputModifier has been removed
Test: pass
Bug: 175294473
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterComposeTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/ScrollGestureFilterComposeTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/TestUtils.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusManager.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/GestureUtils.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/PressIndicatorGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/ScrollGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/TapGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/customevents/DelayUpEvent.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/customevents/LongPressFiredEvent.kt
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/Orientation.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLocker.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/util/PolyFitLeastSquares.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/util/VelocityTracker.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/HitPathTracker.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerInputTestUtil.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilter.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerMoveFilter.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/DragSlopExceededGestureFilterTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/PressIndicatorGestureFilterTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilterTest.kt
D compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TapGestureFilterTest.kt
ap...@google.com <ap...@google.com> #10
Branch: androidx-main
commit 7899f7ffd9246f6f35bdbe3a2f9dcd9eaee1e56d
Author: Matvei Malkov <malkov@google.com>
Date: Thu Feb 04 17:08:26 2021
Refine draggable API to allow for suspend motion intergration.
In order to use draggable in swipeable and scrollable, draggable need to provide suspend drag capabilities.
This CL refined draggable API to allow to suspend while processing onDragStart / onDragEnd to launch fling and other processed async, while also introducing dragScope for suspend drag support.
All that makes it possible for scrollable, swipeable and any other drag + animation component to be based on draggable
Change-Id: Ica70f33e73b6691375c9bdf07d008bae7546d48a
Relnote: "Modifier.draggable now accepts DraggableState instead of a simple lambda. you can create state via rememberDraggableState { delta -> } to get the same behaviour as before"
Test: should pass
Bug: 175294473
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/FancyScrollingDemo.kt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Draggable.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
ap...@google.com <ap...@google.com> #11
Branch: androidx-main
commit 9a2619b3be01cd4c49b30517a41e48e96597bee1
Author: Matvei Malkov <malkov@google.com>
Date: Mon Feb 01 19:21:25 2021
Rework Modifier.scrollable to simplify the API and migrate to suspend motion.
Migrated Modifier.scrollable to suspend motion fully, adjusted nested scroll APIs to acommodate this.
This CL also simplifies scrollable API by the removal of ScrollableController and leaving only the interface with default implementation.
Change-Id: I4f5a5189b90cdff631ffb7166ce2e847b92db205
Relnote: "Modifier.scrollable has been reworked. Now it uses Scrollable interface instead of ScrollableController class"
Relnote: "Modifier.nestedScroll APIs has been adjusted to accommodate for suspend animations and fling"
Relnote: "isAnimationRunning and stopAnimation methods on ScrollState and LazyScrollState were removed. Use isScrollInProgress and stopScroll() instead"
Relnote: "ScrollableColumn and ScrollableRow were deleted. Use regular Column and Row with Modifier.verticalScroll() and Modifier.horizontalScroll()"
Fixes: 174485541
Bug: 175294473
Fixes: 178494033
Test: adjusted accordingly, all pass except one @Ignored for now. Also extensively tested in demos
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/NestedScrollDemos.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/animation/FlingConfig.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/animation/Scrolling.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
D compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableInterface.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyDsl.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyList.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.kt
M compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt
M compose/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/NestedScrollerBenchmark.kt
M compose/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/ScrollerBenchmark.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
M compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/nestedscroll/NestedScrollModifierTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/nestedscroll/NestedScrollDelegatingWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/nestedscroll/NestedScrollModifier.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-main
commit 3e445ba49456250526a726de4dbdbfd330ba37d5
Author: Matvei Malkov <malkov@google.com>
Date: Thu Feb 04 19:27:05 2021
Migrate Modifier.swipeable and all its users to suspend motion.
Following after draggable rework, it's possible right now to make idiaomatic swipeable modifier with whole suspend motion support.
This CL migrates swipeable and updates the API of all the users accordingly, so now all non suspend callback-y functions are suspending until the animation is done.
Change-Id: I16f608d016fa82a59e3e68b96cb4931dcebb57a6
Relnote: drawerState.open() and drawerState.close() are now suspending functions. Use rememberCoroutineScope() to get the scope of the composition to call them
Relnote: BottomSheet, Backdrop, BottomDrawer APIs that are related to opening, revealing, closing, expanding etc are now suspend
Test: all broken, waiting for Jelle's CL
Bug: 175294473
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Draggable.kt
M compose/material/material/api/current.txt
M compose/material/material/api/public_plus_experimental_current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/BackdropScaffoldSamples.kt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/BottomSheetScaffoldSamples.kt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/DrawerSamples.kt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/ModalBottomSheetSamples.kt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/ScaffoldSamples.kt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BackdropScaffoldTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BottomSheetScaffoldTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/DrawerTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ModalBottomSheetTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ScaffoldTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeToDismissTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.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/Drawer.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
ap...@google.com <ap...@google.com> #13
Branch: androidx-main
commit 693e3ccfea4b69cf46676bd85dc4d314d8e62282
Author: Matvei Malkov <malkov@google.com>
Date: Fri Feb 05 19:18:12 2021
Delete all unnecessary ui.gesture API expect 4 gesture filters. Also move some API to where it belongs.
I've moved Orientation to foundation since we don't use it in ui anymore, I moved nested scrol land velocity tracker under ui.input and deleted all that is not needed expect for 4 gesture filter files.
Bug: 175294473
Change-Id: Iff4a887648735c4850dca0d8d95fd99d782d04bb
Relnote: Orientation has been moved to foundation package. VelocirtTracker moved from ui.gesture to ui.input.pointer.
Test: tested demos, tests should pass
M compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/FancyScrollingDemo.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/FlingGame.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/SpringBackScrollingDemo.kt
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/SwipeToDismissDemo.kt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Draggable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyList.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.kt
M compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
M compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt
M compose/material/material/api/current.txt
M compose/material/material/api/public_plus_experimental_current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.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/Drawer.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Switch.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/PointerInputs.kt
M compose/ui/ui/api/api_lint.ignore
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
M compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifierTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DragGestureFilter.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/ScrollGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollDelegatingWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/InnerPlaceable.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNode.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeWrapper.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/desktop/ComposeLayer.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilter.kt
M compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilterTest.kt
M compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopOwnerTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/PolyFitLeastSquaresTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTrackerTest.kt
ap...@google.com <ap...@google.com> #14
Branch: androidx-main
commit 0506aa7959e71a4a898dc3a2251fee6a6b456c0f
Author: Matvei Malkov <malkov@google.com>
Date: Sun Feb 07 17:02:32 2021
Remove last lecagy gesture filter APIs from ui.gesture and delete this package.
Final CL to remove/hide gesture filters API. All usages have been either converted or nailed down to internal copy-pasted version of the same api to remove later.
Change-Id: I266ed741ca484924409a4a3a7d5afbbfffbd66d3
Relnote: Modifier.tapGestureFilter has been removed. Use Modifier.pointerInput { detectTapGestures(...) } instead.
Relnote: Modifier.dragGestureDetector has been removed. Use Modifier.draggable or Modifier.pointerInput { detectDragGestures(...) } instead.
Relnote: Modifier.pressIndicationGestureFilter has been removed. Use Modifier.indication to show just indication or use Modifier.pointerInput { detectTapGestures(onPress = {... }) } instead.
Bug: 175294473
Test: removed, the rest should pass
M compose/desktop/desktop/build.gradle
M compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/ui/window/DragGestureFilter.kt
M compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/ui/window/WindowDraggableArea.kt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Clickable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/legacygestures/DragGestureFilter.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/legacygestures/PressIndicatorGestureFilter.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/legacygestures/TapGestureFilter.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/Toggleable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldGestureModifiers.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldPressGestureFilter.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionContainer.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelection.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionManager.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextSelectionLongPressDragTest.kt
M compose/integration-tests/benchmark/src/androidTest/java/androidx/ui/pointerinput/ComposeTapIntegrationBenchmark.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilterTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/LongPressGestureFilterComposeTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/PressIndicatorGestureFilterComposeTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilterComposeTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/TouchSlopDragGestureFilterTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusManager.kt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressDragGestureFilter.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.kt
ap...@google.com <ap...@google.com> #15
Branch: androidx-main
commit b1670cdbfffb9d60a6d79eb06a3f80a7d1745322
Author: Matvei Malkov <malkov@google.com>
Date: Sat Feb 06 17:28:29 2021
Remove animation package from foundation and trasfer default spline based curves to aniamtion module.
Change-Id: I3f7c18be72b1b4e8d7958194b10d63d749f7d948
Relnote: smoothScrollBy and scrollBy methods' packages changed to androidx.compose.foundation.gestures.*
Relnote: android spline based decay curve moved from foundation to animation module
Test: pass + demos
Bug: 175294473
M compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Animatable.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SuspendAnimation.kt
M compose/animation/animation/api/current.txt
M compose/animation/animation/api/public_plus_experimental_current.txt
M compose/animation/animation/api/restricted_current.txt
M compose/animation/animation/build.gradle
M compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/SwipeToDismissDemo.kt
M compose/animation/animation/src/androidMain/kotlin/androidx/compose/animation/AndroidActualDefaultDecayAnimationSpec.android.kt
M compose/animation/animation/src/androidMain/kotlin/androidx/compose/animation/AndroidFlingCalculator.android.kt
M compose/animation/animation/src/androidMain/kotlin/androidx/compose/animation/AndroidFlingSpline.android.kt
M compose/animation/animation/src/androidMain/kotlin/androidx/compose/animation/SplineBasedFloatDecayAnimationSpec.android.kt
A compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.kt
M compose/animation/animation/src/desktopMain/kotlin/androidx/compose/animation/AndroidFlingCalculator.desktop.kt
M compose/animation/animation/src/desktopMain/kotlin/androidx/compose/animation/AndroidFlingSpline.desktop.kt
M compose/animation/animation/src/desktopMain/kotlin/androidx/compose/animation/DesktopActualDefaultDecayAnimationSpec.desktop.kt
M compose/animation/animation/src/desktopMain/kotlin/androidx/compose/animation/DesktopDefaultDecayAnimationSpec.desktop.kt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyListsContentPaddingTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyRowTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyScrollTest.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/animation/AndroidFlingConfig.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/FlingBehavior.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollExtensions.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyDsl.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyList.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
ap...@google.com <ap...@google.com> #16
Branch: androidx-main
commit a414d089eadff2812d68146969008e006295e965
Author: Matvei Malkov <malkov@google.com>
Date: Fri Feb 05 14:47:28 2021
Make FlingBehavior to be a suspend based function as opposed to animation oriented concept.
This CL remakes FlingConfig into FlingBehavior to me an idiomatic customization fling + removed all the usages of the old FlingConfig and TargetAnimation
Test: ScrollableTest, LazyScrollTest, ScrollTest, SliderTest + new demo
Bug: 175294473
Change-Id: I02b8639c646d24fd19ef7ac504ef6660b8906d54
Relnote: FlingConfig has been renamed to FlingBehavior now allows for customization of suspend animation rather than predefined Decays.
Relnote: LazyColumn/Row now accept FlingBehavior to allow for fling curve granular customizations
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/animation/AndroidFlingConfig.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/animation/FlingBehavior.kt
D compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/animation/FlingConfig.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyDsl.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyList.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/animation/DesktopFlingConfig.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
ap...@google.com <ap...@google.com> #17
Branch: androidx-main
commit 687e953d4f41088db7f0ea02a066be81f73817a0
Author: Matvei Malkov <malkov@google.com>
Date: Mon Feb 08 15:33:41 2021
Convert zoomable to suspend motion and add missing functionality.
Similar to Draggable and Scrollable, zoomable now works via priority-based suspend motion. While there, I migrated zoomable to transformable to handle pan and rotation as well because those 3 go hand by hand most of the time.
Change-Id: Ifc32b264ce6a99e17f38ac339bde498fe5b2337a
Relnote: Modifier.zoomable has been replaced my Modifier.transformable. smoothPanBy, smoothRotationBy have been added as a functionality.
Test: Added for new functionality
Bug: 175294473
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/HighLevelGesturesDemo.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformableSample.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TransformableTest.kt
D compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ZoomableTest.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Transformable.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformableState.kt
D compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Zoomable.kt
M development/build_log_simplifier/messages.ignore
ap...@google.com <ap...@google.com> #18
Branch: androidx-main
commit 6f03bb3277c8328d0dd5670824ae7b0307cb10c8
Author: Matvei Malkov <malkov@google.com>
Date: Tue Feb 09 20:29:34 2021
Fix documentation issues in foundational gestures
Bug: 175294473
Test: n/a
Change-Id: Ia586fdffd4bd9e8bbed3e663363e0909789914ca
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformGestureDetector.kt
cl...@google.com <cl...@google.com> #19
Done?
ma...@google.com <ma...@google.com> #20
Yes. Fully migrated to the idiomatic suspend animation and input, deprecated and removed all the legacy gesture filters.
What's left is the internal implementation of the old filters internal to foundation, used in:
- text/ textfield selection (bug:
)b/179988949 - clickable due to alpha11 bug (bug:
andb/179988949 )b/179239764 - focus in ui uses it's own implementation of the old filter (bug:
)b/179602539
Description
We need to migrate what we have in foundation (clickable, toggleable, draggable, scrollable, etc) to suspend input.