Fixed
Status Update
Comments
al...@google.com <al...@google.com>
al...@google.com <al...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 932f4806b2824d047cffda31dcea89a8c526c49c
Author: Jelle Fresen <jellefresen@google.com>
Date: Tue Jul 14 18:29:17 2020
Use MonotonicFrameClock as AnimationClockObservable
Introduces an AnimationClockObservable that takes a MonotonicFrameClock,
so you can use a MonotonicFrameClock in the current animation APIs.
Moved one ScrollableTest to MonotonicFrameClock as a proof of concept.
Bug: 161247083
Test: ./gradlew compose:foundation:foundation:cC \
-Pandroid.testInstrumentationRunnerArguments.class=\
androidx.compose.foundation.ScrollableTest#scrollable_horizontalScroll
Relnote: "Added MonotonicFrameAnimationClock that enables you to use a
MonotonicFrameClock as an AnimationClockObservable to bridge the gap
between the new coroutines based clocks and APIs that still use the old
callback based clocks.
The MonotonicFrameClock equivalent of ManualAnimationClock is now
ManualFrameClock."
Change-Id: I111c7b7182a1495f95eab1bb808d3acd6af82447
M compose/compose-dispatch/api/current.txt
M compose/compose-dispatch/api/public_plus_experimental_current.txt
M compose/compose-dispatch/api/restricted_current.txt
M compose/compose-dispatch/src/commonMain/kotlin/androidx/compose/runtime/dispatch/BroadcastFrameClock.kt
M compose/compose-runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
M ui/ui-animation-core/api/current.txt
M ui/ui-animation-core/api/public_plus_experimental_current.txt
M ui/ui-animation-core/api/restricted_current.txt
M ui/ui-animation-core/build.gradle
A ui/ui-animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ManualFrameClock.kt
A ui/ui-animation-core/src/commonMain/kotlin/androidx/compose/animation/core/MonotonicFrameAnimationClock.kt
M ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
https://android-review.googlesource.com/1362577
Branch: androidx-master-dev
commit 932f4806b2824d047cffda31dcea89a8c526c49c
Author: Jelle Fresen <jellefresen@google.com>
Date: Tue Jul 14 18:29:17 2020
Use MonotonicFrameClock as AnimationClockObservable
Introduces an AnimationClockObservable that takes a MonotonicFrameClock,
so you can use a MonotonicFrameClock in the current animation APIs.
Moved one ScrollableTest to MonotonicFrameClock as a proof of concept.
Bug: 161247083
Test: ./gradlew compose:foundation:foundation:cC \
-Pandroid.testInstrumentationRunnerArguments.class=\
androidx.compose.foundation.ScrollableTest#scrollable_horizontalScroll
Relnote: "Added MonotonicFrameAnimationClock that enables you to use a
MonotonicFrameClock as an AnimationClockObservable to bridge the gap
between the new coroutines based clocks and APIs that still use the old
callback based clocks.
The MonotonicFrameClock equivalent of ManualAnimationClock is now
ManualFrameClock."
Change-Id: I111c7b7182a1495f95eab1bb808d3acd6af82447
M compose/compose-dispatch/api/current.txt
M compose/compose-dispatch/api/public_plus_experimental_current.txt
M compose/compose-dispatch/api/restricted_current.txt
M compose/compose-dispatch/src/commonMain/kotlin/androidx/compose/runtime/dispatch/BroadcastFrameClock.kt
M compose/compose-runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
M ui/ui-animation-core/api/current.txt
M ui/ui-animation-core/api/public_plus_experimental_current.txt
M ui/ui-animation-core/api/restricted_current.txt
M ui/ui-animation-core/build.gradle
A ui/ui-animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ManualFrameClock.kt
A ui/ui-animation-core/src/commonMain/kotlin/androidx/compose/animation/core/MonotonicFrameAnimationClock.kt
M ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 5959a23c5bf00899dfaa732348e93dd889426874
Author: Jelle Fresen <jellefresen@google.com>
Date: Fri Aug 07 16:42:16 2020
Add hasAwaiters, runWithManualClock and TestUiDispatcher
Added hasAwaiters to ManualFrameClock to see if anything is awaiting a
frame from it. Simply exposes BroadcastFrameClock.hasAwaiters.
Added runWithManualClock to run tests that use a ManualFrameClock.
Added TestUiDispatcher.Main to give easy and safe access to the main
coroutine dispatcher on which composition will happen.
Moved all tests in ScrollableTest to use ManualFrameClock to demo the
new features. (Well, actually the new features are the result of moving
these tests to ManualFrameClock)
Bug: 161247083
Test: ./gradlew compose:foundation:foundation:cC \
-Pandroid.testInstrumentationRunnerArguments.class=androidx.compose.foundation.test.ScrollableTest
Relnote: "Added `ManualFrameClock.hasAwaiters` to see if anything is
awaiting a frame from that clock; `runWithManualClock` as a replacement
for `runBlocking` when running tests that need a ManualFrameClock;
`TestUiDispatcher.Main` that gives easy access to the main UI dispatcher
in your tests.
For example:
```
@Test
fun myTest() = runWithManualClock { clock ->
// set some compose content
withContext(TestUiDispatcher.Main) {
clock.advanceClock(1000L)
}
if (clock.hasAwaiters) {
println("The clock has awaiters")
} else {
println("The clock has no more awaiters")
}
}
```
"
Change-Id: I0a85b019ae5f40f52f2c6b78c08958eb7b8e7485
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/ManualFrameClock.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M ui/ui-test/api/current.txt
M ui/ui-test/api/public_plus_experimental_current.txt
M ui/ui-test/api/restricted_current.txt
M ui/ui-test/build.gradle
A ui/ui-test/src/androidMain/kotlin/androidx/ui/test/CoroutineBuilders.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/AnimationClocks.kt
A ui/ui-test/src/commonMain/kotlin/androidx/ui/test/TestUiDispatcher.kt
https://android-review.googlesource.com/1394076
Branch: androidx-master-dev
commit 5959a23c5bf00899dfaa732348e93dd889426874
Author: Jelle Fresen <jellefresen@google.com>
Date: Fri Aug 07 16:42:16 2020
Add hasAwaiters, runWithManualClock and TestUiDispatcher
Added hasAwaiters to ManualFrameClock to see if anything is awaiting a
frame from it. Simply exposes BroadcastFrameClock.hasAwaiters.
Added runWithManualClock to run tests that use a ManualFrameClock.
Added TestUiDispatcher.Main to give easy and safe access to the main
coroutine dispatcher on which composition will happen.
Moved all tests in ScrollableTest to use ManualFrameClock to demo the
new features. (Well, actually the new features are the result of moving
these tests to ManualFrameClock)
Bug: 161247083
Test: ./gradlew compose:foundation:foundation:cC \
-Pandroid.testInstrumentationRunnerArguments.class=androidx.compose.foundation.test.ScrollableTest
Relnote: "Added `ManualFrameClock.hasAwaiters` to see if anything is
awaiting a frame from that clock; `runWithManualClock` as a replacement
for `runBlocking` when running tests that need a ManualFrameClock;
`TestUiDispatcher.Main` that gives easy access to the main UI dispatcher
in your tests.
For example:
```
@Test
fun myTest() = runWithManualClock { clock ->
// set some compose content
withContext(TestUiDispatcher.Main) {
clock.advanceClock(1000L)
}
if (clock.hasAwaiters) {
println("The clock has awaiters")
} else {
println("The clock has no more awaiters")
}
}
```
"
Change-Id: I0a85b019ae5f40f52f2c6b78c08958eb7b8e7485
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/ManualFrameClock.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M ui/ui-test/api/current.txt
M ui/ui-test/api/public_plus_experimental_current.txt
M ui/ui-test/api/restricted_current.txt
M ui/ui-test/build.gradle
A ui/ui-test/src/androidMain/kotlin/androidx/ui/test/CoroutineBuilders.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/AnimationClocks.kt
A ui/ui-test/src/commonMain/kotlin/androidx/ui/test/TestUiDispatcher.kt
to...@google.com <to...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 3291f598f418b82cf361e9f17bb3ac641373dc53
Author: Jelle Fresen <jellefresen@google.com>
Date: Wed Aug 26 11:17:15 2020
Make TestUiDispatcher @ExperimentalTesting API
Bug: 161247083
Test: ./gradlew bOS
Relnote: "TestUiDispatcher is marked experimental"
Change-Id: Iae99dc8853f69819d969d6c1908615e69e28fb18
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M ui/ui-test/api/current.txt
M ui/ui-test/api/public_plus_experimental_current.txt
M ui/ui-test/api/restricted_current.txt
M ui/ui-test/src/androidMain/kotlin/androidx/ui/test/CoroutineBuilders.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/AnimationClocks.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/TestUiDispatcher.kt
https://android-review.googlesource.com/1411720
Branch: androidx-master-dev
commit 3291f598f418b82cf361e9f17bb3ac641373dc53
Author: Jelle Fresen <jellefresen@google.com>
Date: Wed Aug 26 11:17:15 2020
Make TestUiDispatcher @ExperimentalTesting API
Bug: 161247083
Test: ./gradlew bOS
Relnote: "TestUiDispatcher is marked experimental"
Change-Id: Iae99dc8853f69819d969d6c1908615e69e28fb18
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
M ui/ui-test/api/current.txt
M ui/ui-test/api/public_plus_experimental_current.txt
M ui/ui-test/api/restricted_current.txt
M ui/ui-test/src/androidMain/kotlin/androidx/ui/test/CoroutineBuilders.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/AnimationClocks.kt
M ui/ui-test/src/commonMain/kotlin/androidx/ui/test/TestUiDispatcher.kt
ap...@google.com <ap...@google.com> #5
This bug/feature is targeting an iteration that has already passed. Can you please update the status or iteration? Thanks!
Description