Skip to content

Conversation

@garanj
Copy link
Contributor

@garanj garanj commented Sep 23, 2025

Updates the Open on phone behavior in the app and default watch face on the watch.

Previously this would just try to launch Androidify, making the assumption it was installed.

Changes

  • Added a static capability to the phone, which can be detected on the Data Layer network
  • Added a check in the Wear OS app for the presence of this capability, before launching on phone. If the capability is present on the data layer network, then Androidify is launched on the phone, if it is absent, then the Play store is opened on the phone on the Androidify details page.

Potential temporary edge case

If the user launches Androidify from the watch, using this latest change, but the Androidify on the phone has not yet been updated (but is installed), then this will launch the Play store details page, not the Androidify app: This is because older versions of the Androidify app do not have the static capability defined.

However, this case will soon disappear as the app updates, and even if it does happen, the Play store offers an immediate "open" button so those affected users will not be significantly impacted.

It is also deemed to be unlikely that users will have the watch app and not the phone app anyway.

An alternative would be to roll out the static capability first, wait for adoption and then roll out the changes to the Wear OS app.

@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 significantly improves the user experience when interacting with the 'Open on phone' feature in the Androidify Wear OS app. Instead of blindly attempting to launch the phone app, the system now intelligently verifies the phone app's presence and capability via the Data Layer. This ensures that users are either seamlessly directed to the running Androidify app or gracefully guided to its Play Store page for installation or update, preventing broken links and enhancing reliability.

Highlights

  • Phone Capability Declaration: The Androidify phone application now declares a static capability, androidify_phone, which can be detected on the Wear OS Data Layer network. This allows the Wear OS app to determine if the phone app is installed and updated.
  • Intelligent 'Open on Phone' Behavior: The 'Open on phone' functionality in the Wear OS app has been enhanced. It now checks for the presence of the androidify_phone capability on the connected phone. If detected, the Androidify app is launched directly; otherwise, the user is redirected to the Androidify details page in the Play Store.
  • Wearable Constants Refactoring: The WearableConstants have been updated to clearly differentiate between Wear OS and phone capabilities. The constant ANDROIDIFY_INSTALLED was renamed to ANDROIDIFY_INSTALLED_WEAR, and a new constant ANDROIDIFY_INSTALLED_PHONE was introduced.
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

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 effectively updates the 'Open on phone' behavior by introducing a capability check, which makes the interaction more robust. The switch from runBlocking to lifecycleScope.launch is an excellent improvement for performance and responsiveness. The code is well-structured, and the new constants improve clarity. My review includes a few suggestions focused on improving code style and maintainability by refactoring some logic and extracting hardcoded strings into constants.

@garanj garanj merged commit ed1078c into android:main Sep 23, 2025
4 checks passed
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