Skip to content

Removes need for Horologist#197

Merged
garanj merged 3 commits intomainfrom
wear-horologist
Feb 4, 2026
Merged

Removes need for Horologist#197
garanj merged 3 commits intomainfrom
wear-horologist

Conversation

@garanj
Copy link
Contributor

@garanj garanj commented Feb 4, 2026

Wear Compose now has the ResponsiveTransformingLazyColumn component, and as part of this, there is no longer the need to use the Horologist library to ensure responsive padding in the list.

This PR removes the Horologist dependency.

@garanj garanj requested review from riggaroo and tiwiz as code owners February 4, 2026 13:37
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @garanj, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the project's dependency management by removing the Horologist library. This removal is facilitated by the adoption of the new ResponsiveTransformingLazyColumn component, now natively available in Wear Compose, which provides equivalent functionality for responsive list padding. The change also includes various dependency version updates and integration of new lifecycle and preview support for Compose.

Highlights

  • Horologist Dependency Removal: The Horologist library, specifically horologist-compose-layout, has been entirely removed from the project's dependencies, simplifying the project's dependency graph.
  • Migration to Native Wear Compose Components: The project now leverages the newly available ResponsiveTransformingLazyColumn component from Wear Compose, eliminating the need for the external Horologist library for responsive list padding.
  • Dependency Updates: Several Wear Compose related dependencies, including wearCompose, wearComposeTooling, validatorPush, and watchFacePush, have been updated to their latest versions, ensuring the use of the most recent features and bug fixes.
  • Lifecycle Compose Integration: New androidx.lifecycle.runtime.compose and androidx.lifecycle.viewmodel.compose dependencies have been added to support Compose-specific lifecycle handling within the application.
  • Compose Preview Support: Dependencies for Compose Preview (androidx.ui.tooling and androidx.ui.tooling.preview) have been added to the wear/build.gradle.kts file, enhancing development workflow for UI components.
  • Codebase Refactoring: The CallToActionScreen.kt and TransmissionScreen.kt files have been updated to remove Horologist imports and usage, adopt ResponsiveTransformingLazyColumn, and adjust CircularProgressIndicator styling to align with the new Wear Compose Material3 APIs.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • gradle/gradle-daemon-jvm.properties
    • Added a new file defining toolchain URLs for various OS/architecture combinations and setting toolchainVersion=21.
  • gradle/libs.versions.toml
    • Removed the horologist version reference.
    • Updated validatorPush from 1.0.0-alpha08 to 1.0.0-alpha09.
    • Updated watchFacePush from 1.0.0-alpha01 to 1.0.0-beta01.
    • Updated wearCompose from 1.5.0 to 1.6.0-alpha09.
    • Updated wearComposeTooling from 1.4.1 to 1.5.6.
    • Added androidx-lifecycle-runtime-compose and androidx-lifecycle-viewmodel-compose library definitions.
    • Removed the horologist-compose-layout library definition.
  • wear/build.gradle.kts
    • Added implementation(libs.androidx.lifecycle.runtime.compose).
    • Added implementation(libs.androidx.lifecycle.viewmodel.compose).
    • Removed implementation(libs.horologist.compose.layout).
    • Added debugImplementation(libs.androidx.ui.tooling) and implementation(libs.androidx.ui.tooling.preview) for Compose Preview support.
  • wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt
    • Removed imports for ColumnItemType and rememberResponsiveColumnPadding from Horologist.
    • Removed the contentPadding parameter using rememberResponsiveColumnPadding from ScreenScaffold.
  • wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt
    • Removed imports for TransformingLazyColumn (from androidx.wear.compose.foundation.lazy), ColumnItemType, and rememberResponsiveColumnPadding (from Horologist).
    • Added imports for ProgressIndicatorDefaults, ResponsiveItemType, and ResponsiveTransformingLazyColumn (from androidx.wear.compose.material3.lazy).
    • Changed CircularProgressIndicator import from androidx.wear.compose.material to androidx.wear.compose.material3.
    • Removed the contentPadding parameter using rememberResponsiveColumnPadding from ScreenScaffold.
    • Replaced TransformingLazyColumn with ResponsiveTransformingLazyColumn.
    • Updated item { ... } calls to item(itemType = ResponsiveItemType....) { ... } to specify item types for responsive padding.
    • Updated CircularProgressIndicator usage to include colors = ProgressIndicatorDefaults.colors().copy(indicatorColor = animatedColor).
Activity
  • No activity to report on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully removes the Horologist dependency and migrates to the new ResponsiveTransformingLazyColumn in Wear Compose. The dependency updates and removal of Horologist code are done correctly. However, I've found a couple of issues: one screen was not fully migrated, losing its responsive padding, and another screen has a compilation error due to a type mismatch when using the new component. My review includes suggestions to fix these issues.

@garanj garanj merged commit 1aeb832 into main Feb 4, 2026
5 checks passed
@garanj garanj deleted the wear-horologist branch February 4, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants