Close Menu
geekfence.comgeekfence.com
    What's Hot

    Polish hacker charged seven years after massive Morele.net data breach

    February 15, 2026

    Sweden’s EVs At 63.2% Share In 2025 – Volvo EX40 Best-Seller

    February 15, 2026

    Fatal ‘Index out of range’ error when using macOS simulator in Xcode but not when using iOS simulator

    February 15, 2026
    Facebook X (Twitter) Instagram
    • About Us
    • Contact Us
    Facebook Instagram
    geekfence.comgeekfence.com
    • Home
    • UK Tech News
    • AI
    • Big Data
    • Cyber Security
      • Cloud Computing
      • iOS Development
    • IoT
    • Mobile
    • Software
      • Software Development
      • Software Engineering
    • Technology
      • Green Technology
      • Nanotechnology
    • Telecom
    geekfence.comgeekfence.com
    Home»Mobile»Bringing Androidify to Wear OS with Watch Face Push
    Mobile

    Bringing Androidify to Wear OS with Watch Face Push

    AdminBy AdminJanuary 5, 2026No Comments5 Mins Read2 Views
    Facebook Twitter Pinterest LinkedIn Telegram Tumblr Email
    Bringing Androidify to Wear OS with Watch Face Push
    Share
    Facebook Twitter LinkedIn Pinterest Email



    Bringing Androidify to Wear OS with Watch Face Push

    Posted by Garan Jenkin – Developer Relations Engineer



    A few months ago we
    relaunched Androidify as an app for generating personalized Android bots. Androidify transforms your selfie photo into a playful Android bot using Gemini and Imagen.

    However, given that Android spans multiple form factors, including our most recent addition, XR, we thought, how could we bring the fun of Androidify to Wear OS?

    An Androidify watch face

    As Androidify bots are highly-personalized, the natural place to showcase them is the watch face. Not only is it the most frequently visible surface but also the most personal surface, allowing you to represent who you are.


    Personalized Androidify watch face, generated from selfie image

    Androidify now has the ability to generate a watch face dynamically within the phone app and then send it to your watch, where it will automatically be set as your watch face. All of this happens within seconds!

    High-level design

    End-to-end flow for watch face creation and installation

    In order to achieve the end-to-end experience, a number of technologies need to be combined together, as shown in this high-level design diagram.

    First of all, the user’s avatar is combined with a pre-existing Watch Face Format template, which is then packaged into an APK. This is validated – for reasons which will be explained! – and sent to the watch.

    On being received by the watch, the new Watch Face Push API – part of Wear OS 6- is used to install and activate the watch face.

    Let’s explore the details:

    Creating the watch face templates

    The watch face is created from a template, itself designed in Watch Face Designer. This is our new Figma plugin that allows you to create Watch Face Format watch faces directly within Figma.


    An Androidify watch face template in Watch Face Designer

    The plugin allows the watch face to be exported in a range of different ways, including as Watch Face Format (WFF) resources. These can then be easily incorporated as assets within the Androidify app, for dynamically building the finalized watch face.

    Packaging and validation

    Once the template and avatar have been combined, the Portable Asset Compiler Kit (Pack) is used to assemble an APK.

    In Androidify, Pack is used as a native library on the phone. For more details on how Androidify interfaces with the Pack library, see the GitHub repository.

    As a final step before transmission, the APK is checked by the Watch Face Push validator.

    This validator checks that the APK is suitable for installation. This includes checking the contents of the APK to ensure it is a valid watch face, as well as some performance checks. If it is valid, then the validator produces a token.

    This token is required by the watch for installation.

    Sending the watch face

    The Androidify app on Wear OS uses WearableListenerService to listen for events on the Wearable Data Layer.

    The phone app transfers the watch face by using a combination of MessageClient to set up the process, then ChannelClient to stream the APK.

    Installing the watch face on the watch

    Once the watch face is received on the Wear OS device, the Androidify app uses the new Watch Face Push API to install the watch face:

    val wfpManager = 

        WatchFacePushManagerFactory.createWatchFacePushManager(context)

    val response = wfpManager.listWatchFaces()

    try {

        if (response.remainingSlotCount > 0) {

            wfpManager.addWatchFace(apkFd, token)

        } else {

            val slotId = response.installedWatchFaceDetails.first().slotId

            wfpManager.updateWatchFace(slotId, apkFd, token)

        }

    } catch (a: WatchFacePushManager.AddWatchFaceException) {

        return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

    } catch (u: WatchFacePushManager.UpdateWatchFaceException) {

        return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

    }

    Androidify uses either the addWatchFace or updateWatchFace method, depending on the scenario: Watch Face Push defines a concept of “slots” – how many watch faces a given app can have installed at any time. For Wear OS 6, this value is in fact 1.

    Androidify’s approach is to install the watch face if there is a free slot, and if not, any existing watch face is swapped out for the new one.

    Setting the active watch face

    Installing the watch face programmatically is a great step, but Androidify seeks to ensure the watch face is also the active watch face. 

    Watch Face Push introduces a new runtime permission which must be granted in order for apps to be able to achieve this:

    com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

    Once this permission has been acquired, the wfpManager.setWatchFaceAsActive() method can be called, to set an installed watch face to being the active watch face.

    However, there are a number of considerations that Androidify has to navigate:

    • setWatchFaceAsActive can only be used once.

    • SET_PUSHED_WATCH_FACE_AS_ACTIVE cannot be re-requested after being denied by the user.

    • Androidify might already be in control of the active watch face.

    For more details see how Androidify implements the set active logic.

    Get started with Watch Face Push for Wear OS

    Watch Face Push is a versatile API, equally suited to enhancing Androidify as it is to building fully-featured watch face marketplaces.

    Perhaps you have an existing phone app and are looking for opportunities to further engage and delight your users?

    Or perhaps you’re an existing watch face developer looking to create your own community and gallery through releasing a marketplace app?

    Take a look at these resources:

    And also check out the accompanying video for a greater-depth look at how we brought Androidify to Wear OS!

    We’re looking forward to what you’ll create with Watch Face Push!



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Related Posts

    The great computer science exodus (and where students are going instead)

    February 15, 2026

    [Video] Samsung Teases Galaxy Unpacked 2026 by Turning Global Landmarks Into a Sneak Peek of Effortless Photo Creation With Galaxy AI

    February 14, 2026

    Stream Every Winter Olympic Event With a VPN. Here’s How

    February 13, 2026

    How Automated Prompt Optimization Unlocks Quality Gains for ML Kit’s GenAI Prompt API

    February 12, 2026

    iPhone 18 Pro: 3 design changes you can expect this fall

    February 11, 2026

    Pixel 10a’s store page hints at FaceTime support, but it’s not what you think

    February 10, 2026
    Top Posts

    Hard-braking events as indicators of road segment crash risk

    January 14, 202617 Views

    Understanding U-Net Architecture in Deep Learning

    November 25, 202512 Views

    How to integrate a graph database into your RAG pipeline

    February 8, 20268 Views
    Don't Miss

    Polish hacker charged seven years after massive Morele.net data breach

    February 15, 2026

    A 29-year-old Polish man has been charged in connection with a data breach that exposed…

    Sweden’s EVs At 63.2% Share In 2025 – Volvo EX40 Best-Seller

    February 15, 2026

    Fatal ‘Index out of range’ error when using macOS simulator in Xcode but not when using iOS simulator

    February 15, 2026

    AWS IoT Greengrass nucleus lite – Revolutionizing edge computing on resource-constrained devices

    February 15, 2026
    Stay In Touch
    • Facebook
    • Instagram
    About Us

    At GeekFence, we are a team of tech-enthusiasts, industry watchers and content creators who believe that technology isn’t just about gadgets—it’s about how innovation transforms our lives, work and society. We’ve come together to build a place where readers, thinkers and industry insiders can converge to explore what’s next in tech.

    Our Picks

    Polish hacker charged seven years after massive Morele.net data breach

    February 15, 2026

    Sweden’s EVs At 63.2% Share In 2025 – Volvo EX40 Best-Seller

    February 15, 2026

    Subscribe to Updates

    Please enable JavaScript in your browser to complete this form.
    Loading
    • About Us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • Terms and Conditions
    © 2026 Geekfence.All Rigt Reserved.

    Type above and press Enter to search. Press Esc to cancel.