-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: AmbientAware API change #2472
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change refactors the `AmbientAware` API to make it more intuitive and easier to use. The following changes were made: - The `AmbientAware` composable function now takes a `State<AmbientStateUpdate>` as a parameter instead of an `AmbientStateUpdate`. - A `AmbientStateUpdate` class was added to provide details about the current ambient state, including the time of the change, isInteractive, and isAmbient. - The `AmbientState` sealed interface now has a data class `Interactive` and a data class `Ambient` to store AmbientDetails.
garanj
approved these changes
Dec 4, 2024
kul3r4
approved these changes
Dec 5, 2024
This change refactors the `AmbientAware` API to make it more intuitive and easier to use. The following changes were made: - The `AmbientAware` composable moves to the screen level - The `AmbientStateUpdate` class was merged into `AmbientState`. - The `AmbientState` sealed interface now has a data object `Interactive` and a data class `Ambient` to store AmbientDetails, as well as Inactive.
yschimke
commented
Dec 5, 2024
compose-layout/src/main/java/com/google/android/horologist/compose/ambient/AmbientAware.kt
Outdated
Show resolved
Hide resolved
yschimke
added a commit
to yschimke/horologist
that referenced
this pull request
Dec 6, 2024
This change refactors the `AmbientAware` API to make it more intuitive and easier to use. The following changes were made: - The `AmbientAware` composable moves to the screen level - The `AmbientStateUpdate` class was merged into `AmbientState`. - The `AmbientState` sealed interface now has a data object `Interactive` and a data class `Ambient` to store AmbientDetails, as well as Inactive. --------- Co-authored-by: yschimke <[email protected]> (cherry picked from commit f8ccc68)
4 tasks
yschimke
added a commit
that referenced
this pull request
Dec 6, 2024
* Refactor: AmbientAware API change (#2472) This change refactors the `AmbientAware` API to make it more intuitive and easier to use. The following changes were made: - The `AmbientAware` composable moves to the screen level - The `AmbientStateUpdate` class was merged into `AmbientState`. - The `AmbientState` sealed interface now has a data object `Interactive` and a data class `Ambient` to store AmbientDetails, as well as Inactive. --------- (cherry picked from commit f8ccc68) * Fix: Handle missing AmbientLifecycleObserver in Robolectric (#2474) * Fix: Handle missing AmbientLifecycleObserver in Robolectric Handles missing AmbientLifecycleObserver in Robolectric tests by catching NoClassDefFoundError and returning null instead of crashing. This allows ambient-aware composables to be tested in Robolectric without requiring a real device or emulator. --------- (cherry picked from commit 6cd025b)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHAT
This change refactors the
AmbientAware
API to make it more intuitive and easier to use.The following changes were made:
AmbientAware
composable moves to the screen levelAmbientStateUpdate
class was merged intoAmbientState
.AmbientState
sealed interface now has a data objectInteractive
and a data classAmbient
to store AmbientDetails, as well as Inactive.WHY
HOW
Checklist 📋