Status Update
Comments
il...@google.com <il...@google.com>
tr...@gmail.com <tr...@gmail.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Set compilationName
for Android Test on JVM in savedstate
Expand for full commit details
Set `compilationName` for Android Test on JVM in `savedstate`
* Fixes "Expect actual declaration for (...) `androidHostTest`"
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: Idb7bd5062a5dc408a83524cbb3ce737058cca14f
Files:
- M
lifecycle/lifecycle-viewmodel-testing/build.gradle
Hash: 512b3f0b2fd331fa346f686f9f473462f02d4174
Date: Tue Nov 26 14:12:55 2024
a....@gmail.com <a....@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Set robolectric
in lifecycle-viewmodel-testing
Expand for full commit details
Set `robolectric` in `lifecycle-viewmodel-testing`
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: Ia5466af402a10291c10e45662b6b5d9a76748a34
Files:
- M
lifecycle/lifecycle-viewmodel-testing/build.gradle
Hash: 52a8c8438f3522eced0edfc243419179796cd9e1
Date: Tue Nov 26 11:46:10 2024
sj...@gmail.com <sj...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Add RobolectricTest
to lifecycle-viewmodel-testing
Expand for full commit details
Add `RobolectricTest` to `lifecycle-viewmodel-testing`
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: Ia80fcf0ccc49f232247de97a3046f445854f5203
Files:
- A
lifecycle/lifecycle-viewmodel-testing/src/androidInstrumentedTest/kotlin/androidx/lifecycle/viewmodel/testing/RobolectricTest.android.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/androidUnitTest/kotlin/androidx/lifecycle/viewmodel/testing/RobolectricTest.android.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/DefaultCreationExtrasTest.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/RobolectricTest.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/ViewModelScenarioTest.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/nonAndroidTest/kotlin/androidx/lifecycle/viewmodel/testing/RobolectricTest.nonAndroid.kt
Hash: 70cfbc46068bdf9899d15020498a7e49641b3a53
Date: Tue Nov 26 11:53:48 2024
sj...@gmail.com <sj...@gmail.com> #5
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Move ViewModelScenarioTest.kt
to commonTest
Expand for full commit details
Move `ViewModelScenarioTest.kt` to `commonTest`
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: I33c5c0722229adbc841ba63e728c6d772e76be14
Files:
- D
lifecycle/lifecycle-viewmodel-testing/src/androidInstrumentedTest/kotlin/androidx/lifecycle/viewmodel/testing/ViewModelScenarioInstrumentedTest.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/ViewModelScenarioTest.kt
Hash: 958948fdd1f1d62bdc73f9440ae21235b9b51410
Date: Tue Nov 26 11:30:08 2024
sa...@google.com <sa...@google.com>
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Move DefaultCreationExtrasInstrumentedTest.kt
to commonTest
Expand for full commit details
Move `DefaultCreationExtrasInstrumentedTest.kt` to ` commonTest`
Bug: 381063087
Test: DefaultCreationExtrasTest
Change-Id: Ia9f21a6f565fe9099c7eeae1e4a4810978d34823
Files:
- M
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/DefaultCreationExtrasTest.kt
Hash: 4efdb54584aec42a44e9cca75034266063c5b525
Date: Tue Nov 26 11:24:24 2024
lm...@gmail.com <lm...@gmail.com> #7
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Set nonAndroidMain
in lifecycle-viewmodel-testing
Expand for full commit details
Set `nonAndroidMain` in `lifecycle-viewmodel-testing`
Bug: 381063087
Test: N/A
Change-Id: I069c3bdb8c760a0a0c57ce1382822a4fe7081b45
Files:
- M
lifecycle/lifecycle-viewmodel-testing/build.gradle
Hash: b246e058d4dbe08bced04661053a7487fe954868
Date: Tue Nov 26 10:58:12 2024
lm...@gmail.com <lm...@gmail.com> #8
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Add recreate
to ViewModelScenario
Expand for full commit details
Add `recreate` to `ViewModelScenario`
* Allows a `ViewModelScenario` to simulate a System Process Death recreating the ViewModel and all associated components.
RelNote: "Add `ViewModelScenario.recreate` to simulate a System Process Death recreating the ViewModel under test and all associated components."
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: Id6a696888ce900c573e47c6c93e4ac9df1881e6b
Files:
- M
lifecycle/lifecycle-viewmodel-testing/api/current.txt
- M
lifecycle/lifecycle-viewmodel-testing/api/restricted_current.txt
- M
lifecycle/lifecycle-viewmodel-testing/bcv/native/current.txt
- A
lifecycle/lifecycle-viewmodel-testing/src/androidMain/kotlin/androidx/lifecycle/viewmodel/testing/internal/ViewModelScenarioOwner.android.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonMain/kotlin/androidx/lifecycle/viewmodel/testing/DefaultCreationExtras.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonMain/kotlin/androidx/lifecycle/viewmodel/testing/ViewModelScenario.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/commonMain/kotlin/androidx/lifecycle/viewmodel/testing/internal/ViewModelScenarioOwner.kt
- M
lifecycle/lifecycle-viewmodel-testing/src/commonTest/kotlin/androidx/lifecycle/viewmodel/testing/ViewModelScenarioTest.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/nonAndroidMain/kotlin/androidx/lifecycle/viewmodel/testing/internal/ViewModelScenarioOwner.nonAndroid.kt
Hash: b6898682f3319ed640cf86f6cb4b578bfad38dba
Date: Tue Nov 26 10:59:19 2024
lm...@gmail.com <lm...@gmail.com> #9
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Add size limit check to ViewModelScenario.recreate
Expand for full commit details
Add size limit check to `ViewModelScenario.recreate`
* Detects excessively large SavedStates.
Bug: 381063087
Test: ViewModelScenarioTest
Change-Id: I61f51bc99cd8679c93f07c2d260ef9291a85346d
Files:
- M
lifecycle/lifecycle-viewmodel-testing/src/androidMain/kotlin/androidx/lifecycle/viewmodel/testing/internal/ViewModelScenarioOwner.android.kt
- A
lifecycle/lifecycle-viewmodel-testing/src/androidUnitTest/kotlin/androidx/lifecycle/viewmodel/testing/AndroidViewModelScenarioTest.kt
Hash: c9717402010d49a1a3ad9aac04ee606bdcd3e389
Date: Wed Dec 04 18:26:56 2024
ap...@google.com <ap...@google.com> #10
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-viewmodel-testing:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-android:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-desktop:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-iosarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-iossimulatorarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-iosx64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-linuxarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-linuxx64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-macosarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-testing-macosx64:2.9.0-alpha08
ap...@google.com <ap...@google.com> #11
Branch: androidx-main
commit 25a2002ab933ea551295483aa3f7e278d60dbe75
Author: sanura <sanura@google.com>
Date: Wed May 03 20:20:56 2023
Create LifecycleResumeEffect composable
Adding LifecycleResumeEffect composable API to be used when
running SideEffects based on ON_RESUME/ON_PAUSE event callbacks.
RelNote: "`LifecycleResumeEffect` API has been added to run side
effects based on both `Lifecycle.Event.ON_RESUME` and
`Lifecycle.Event.ON_PAUSE` event callbacks."
Test: lifecycleResumeEffectTest
Bug: 235529345
Change-Id: I603860f21eb6a433c909d7ae6f8120f6d23179aa
M lifecycle/lifecycle-runtime-compose/api/current.txt
M lifecycle/lifecycle-runtime-compose/api/public_plus_experimental_current.txt
M lifecycle/lifecycle-runtime-compose/api/restricted_current.txt
M lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt
M lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-main
commit 2b090a54b8182927eb0e96062e0a14d065a8561a
Author: sanura <sanura@google.com>
Date: Tue May 02 19:53:55 2023
Create LifecycleStartEffect composable
Adding LifecycleStartEffect composable API to be used when
running SideEffects based on ON_START/ON_STOP event callbacks.
RelNote: "`LifecycleStartEffect` API has been added to run side
effects based on `Lifecycle.Event.ON_START` and
`Lifecycle.Event.ON_STOP` event callbacks."
Test: lifecycleStartEffectTest
Bug: 235529345
Change-Id: I5a8d1e6f152b7083e086146ba97044c4b454db84
M lifecycle/lifecycle-runtime-compose/api/current.txt
M lifecycle/lifecycle-runtime-compose/api/public_plus_experimental_current.txt
M lifecycle/lifecycle-runtime-compose/api/restricted_current.txt
M lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt
M lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
st...@gmail.com <st...@gmail.com> #13
Is there a target API version where this may be released?
il...@google.com <il...@google.com> #14
This is still in progress for inclusion in Lifecycle 2.7.0-alpha01.
ap...@google.com <ap...@google.com> #15
Branch: androidx-main
commit ad273fa4882a38a5a2f72004044ce3173b2c06a9
Author: sanura <sanura@google.com>
Date: Fri May 05 02:02:59 2023
Add samples for LifecycleEffects
Adding samples for LifecycleEventEffect,
LifecycleStartEffect, and LifecycleResumeEffect.
RelNote: "All composables in `LifecycleEffect` now
link sample usages."
Test: ./gradlew bOS
Bug: 235529345
Change-Id: Ib4786f4b586cf9390f3dbe6f3b0fc86c60267a86
M lifecycle/lifecycle-runtime-compose/samples/src/main/java/androidx/lifecycle/compose/samples/LifecycleComposeSamples.kt
M lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
sa...@google.com <sa...@google.com>
lm...@gmail.com <lm...@gmail.com> #16
ka...@gmail.com <ka...@gmail.com> #17
When will this be released?
na...@google.com <na...@google.com> #18
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-runtime-compose:2.7.0-alpha01
sj...@gmail.com <sj...@gmail.com> #19
Just want to say that Lifecycle 2.7.0
stable has been finally released. Thank you very much 🙏🏼
ey...@gmail.com <ey...@gmail.com> #20
jb...@google.com <jb...@google.com> #21
Yes, those are the Lifecycle.State
s that reflect those particular Lifecycle.Event
s. Please take a look at the
ey...@gmail.com <ey...@gmail.com> #22
jb...@google.com <jb...@google.com> #23
Receiving a state from the flow would be the signal that a change has occurred and the new state is that particular change. There are cases where you don't care how you get to a state, just that you are there. We also offer Lifecycle.Event
s.
il...@google.com <il...@google.com> #24
If you look at the Lifecycle.asFlow()
to get a Flow of Lifecycle.Event
) and one for Lifecycle State (where you can use Lifecycle.currentStateFlow
to get the current Lifecycle.State
).
Make sure you are using the right API.
ey...@gmail.com <ey...@gmail.com> #25
il...@google.com <il...@google.com> #26
Lifecycle.asFlow()
works outside of Compose too and gives you Lifecycle.Event
instances as they occur. That's why that API exists separately from currentStateFlow
.
Description
Component used: Lifecycle
Version used: 2.5.0-rc01
Reacting to a Lifecycle.State changes is currently fairly complicated in a Jetpack Compose based app, requiring a with registering a
DisposableEffect
based approachLifecycleObserver
with theLocalLifecycleOwner
.Ideally, this would come in two forms:
Lifecycle.State
asState
, perhaps something likeLocalLifecycleOwner.current.lifecycle.currentStateFlow.collectAsState()
LifecycleEventEffect
that would only run the effect when theLifecycle.State
changes.