Fixed
Status Update
Comments
si...@google.com <si...@google.com> #2
Doris, aosp/1546738 handles nearly all uses of Uptime
and Duration
, leaving only Animation. Do you want to handle Animation?
tc...@google.com <tc...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 8c41a2374ae74c5a8b16795a158a9c50672bdb11
Author: George Mount <mount@google.com>
Date: Mon Jan 11 21:13:04 2021
Remove use of Uptime and Duration from pointer input
Relnote: "Duration and Uptime will be replace with Long milliseconds,
and this step removes the dependency of pointer input on those
classes."
Bug: 175142755
Bug: 177420019
Test: ran demo and ui:ui tests
Change-Id: Ia33b2d6835861501019481b388cb2c99441c346c
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/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/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/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.kt
M compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/SuspendingGestureTestUtil.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/TapGestureDetectorTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
M compose/ui/ui-test/api/current.txt
M compose/ui/ui-test/api/public_plus_experimental_current.txt
M compose/ui/ui-test/api/restricted_current.txt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendDoubleClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendLongClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendPinchTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/DelayTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendCancelTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendDownTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendMoveTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeLineTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithDurationTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithKeyTimesAndEventPeriodTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithKeyTimesTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendUpTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/SendMoveByTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/SendMoveToTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/InputDispatcherTestRule.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/PointerInputs.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/GestureScope.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InputDispatcher.kt
M compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.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/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventAdapterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtilsTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/TestUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/MotionEventAdapter.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilter.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidViewConfiguration.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/Constants.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DoubleTapGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressGestureFilter.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/util/VelocityTracker.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerInput.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/PointerInputEventProcessor.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/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopViewConfiguration.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/DoubleTapGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/DragSlopExceededGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/GestureUtilsTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/LongPressGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/PressIndicatorGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawScaleGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/ScaleSlopExceededGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/ScaleUtilsTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TapGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerSetupTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/util/VelocityTrackerTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/PointerInputTest.kt
https://android-review.googlesource.com/1546738
Branch: androidx-main
commit 8c41a2374ae74c5a8b16795a158a9c50672bdb11
Author: George Mount <mount@google.com>
Date: Mon Jan 11 21:13:04 2021
Remove use of Uptime and Duration from pointer input
Relnote: "Duration and Uptime will be replace with Long milliseconds,
and this step removes the dependency of pointer input on those
classes."
Bug: 175142755
Bug: 177420019
Test: ran demo and ui:ui tests
Change-Id: Ia33b2d6835861501019481b388cb2c99441c346c
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/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/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/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.kt
M compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/SuspendingGestureTestUtil.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/TapGestureDetectorTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
M compose/ui/ui-test/api/current.txt
M compose/ui/ui-test/api/public_plus_experimental_current.txt
M compose/ui/ui-test/api/restricted_current.txt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendDoubleClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendLongClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendPinchTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/DelayTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendCancelTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendClickTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendDownTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendMoveTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeLineTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithDurationTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithKeyTimesAndEventPeriodTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendSwipeWithKeyTimesTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/inputdispatcher/SendUpTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/SendMoveByTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/SendMoveToTest.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/InputDispatcherTestRule.kt
M compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/PointerInputs.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/GestureScope.kt
M compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InputDispatcher.kt
M compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.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/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventAdapterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtilsTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/TestUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/MotionEventAdapter.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilter.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidViewConfiguration.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/Constants.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/DoubleTapGestureFilter.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/gesture/LongPressGestureFilter.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/util/VelocityTracker.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerInput.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/PointerInputEventProcessor.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/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerInputEvent.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopViewConfiguration.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/DoubleTapGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/DragSlopExceededGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/GestureUtilsTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/LongPressGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/PressIndicatorGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawDragGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawPressStartGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/RawScaleGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/ScaleSlopExceededGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/ScaleUtilsTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TapGestureFilterTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerSetupTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/ScrollOrientationLockerTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/util/VelocityTrackerTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/PointerInputTest.kt
si...@google.com <si...@google.com>
si...@google.com <si...@google.com>
si...@google.com <si...@google.com>
se...@google.com <se...@google.com>
ap...@google.com <ap...@google.com> #4
This feature/bug is targeting an iteration that has already passed. Can you please update the status or move it to a future iteration? Thank you!
se...@google.com <se...@google.com>
se...@google.com <se...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit fb99ac4f7182d0e99682b536d9e91ebe34e5dc70
Author: Doris Liu <tianliu@google.com>
Date: Thu Jan 21 17:44:05 2021
Remove usage of Uptime in animation
RelNote: "Use Long instead of Uptime as animation time type"
Bug: 177420019
Test: Existing tests updated and passed
Change-Id: Ie3aa71cd8bf9ff66e74daa482b6ca5a6af9d15e2
M compose/animation/animation-core/api/current.txt
M compose/animation/animation-core/api/public_plus_experimental_current.txt
M compose/animation/animation-core/api/restricted_current.txt
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/AnimationSpec.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationState.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InfiniteTransition.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SuspendAnimation.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
M compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SuspendAnimationTest.kt
https://android-review.googlesource.com/1557315
Branch: androidx-main
commit fb99ac4f7182d0e99682b536d9e91ebe34e5dc70
Author: Doris Liu <tianliu@google.com>
Date: Thu Jan 21 17:44:05 2021
Remove usage of Uptime in animation
RelNote: "Use Long instead of Uptime as animation time type"
Bug: 177420019
Test: Existing tests updated and passed
Change-Id: Ie3aa71cd8bf9ff66e74daa482b6ca5a6af9d15e2
M compose/animation/animation-core/api/current.txt
M compose/animation/animation-core/api/public_plus_experimental_current.txt
M compose/animation/animation-core/api/restricted_current.txt
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/AnimationSpec.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationState.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InfiniteTransition.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SuspendAnimation.kt
M compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
M compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SuspendAnimationTest.kt
ap...@google.com <ap...@google.com> #6
Geroge, all Uptime usages have been removed from animation w/ CL in #5. I don't see much usage remained, aside from within ui-unit. I'll defer to you for deprecation or removal of the inline classes.
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit bfb88bdd0266423fe409c1b21946d29bf37e2c06
Author: George Mount <mount@google.com>
Date: Sat Jan 23 00:03:03 2021
Remove Uptime and Duration
Fixes: 177420019
Relnote: Uptime and Duration have been removed.
Test: compiles without the two classes
Change-Id: Ib9bf443043fdcc8ed2b27666b301d52fb3064d65
M compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/Cache.kt
M compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.kt
M compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt
M compose/ui/ui-unit/api/current.txt
M compose/ui/ui-unit/api/public_plus_experimental_current.txt
M compose/ui/ui-unit/api/restricted_current.txt
D compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Duration.kt
D compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Uptime.kt
D compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DurationTest.kt
D compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/UptimeTest.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/desktop/AWTDebounceEventQueue.kt
https://android-review.googlesource.com/1556009
Branch: androidx-main
commit bfb88bdd0266423fe409c1b21946d29bf37e2c06
Author: George Mount <mount@google.com>
Date: Sat Jan 23 00:03:03 2021
Remove Uptime and Duration
Fixes: 177420019
Relnote: Uptime and Duration have been removed.
Test: compiles without the two classes
Change-Id: Ib9bf443043fdcc8ed2b27666b301d52fb3064d65
M compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/Cache.kt
M compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.kt
M compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt
M compose/ui/ui-unit/api/current.txt
M compose/ui/ui-unit/api/public_plus_experimental_current.txt
M compose/ui/ui-unit/api/restricted_current.txt
D compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Duration.kt
D compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Uptime.kt
D compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DurationTest.kt
D compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/UptimeTest.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/desktop/AWTDebounceEventQueue.kt
Description
Specifically, a user wanted to "close the software keyboard in onClick on a button", and Fudge's workaround was to capture the SoftwareKeyboardController in the onTextInputStarted callback and write it into a field in the parent. var controller by remember { mutableStateOf<SoftwareKeyboardController?> { null } } Button("Close", onClick={controller!!.hideSoftwareKeyboard()}) // Pray this doesn't crash (NPE) TextField(value=..., onClick=..., onTextInputStarted={c -> controller = c})
A better pattern would be to have the user create a SoftwareKeyboardController as-if it were a hoisted state object and pass it into the TextField. val controller by remember { SoftwareKeyboardController() } Button("Close", onClick={controller.hideSoftwareKeyboard()}) TextField(value=..., onClick=..., controller=controller)
We realize/expect this requires playing a bit of a trick with the internal implementation of the SoftwareKeyboardController, to make the hideSoftwareKeyboard() function capable of operating as if it were the source of truth, even though the actual source of truth doesn't exist until later when the TextField is initialized by Android, which is probably one reason why it didn't occur to the original author of this widget. But it results in a much cleaner declarative API with less reasoning about the flow of information.
Discussion in API Council back in August, but I don't think a bug ever got filed for this.