Android Wear 2.0 Complications Working On Android Wear 1.0

LG Watch Sport AH NS 20 watch faces

Android Wear 2.0 brought with it Complications that can display other content on a smartwatch’s watch face, and now Reddit user seapip has made a rudimentary effort to bring the ability to run Complications on Android Wear 1.0 devices. This was done by recreating the CanvasWatchFaceService object class present in Android Wear 2.0 as accurately as possible within the constraints of Android Wear 1.0. The Complication code is available on GitHub for watch face developers to try their hand at, and as a bonus, using it means that the same watch face can work with all features on both Android Wear 1.0 and Android Wear 2.0. It may take a while for supporting watch faces to trickle into XDA Developers and the Google Play Store, but once they’re in there, users of Android Wear 1.0 devices can try out Complications for themselves.

seapip’s version of the Complications API’s basic interface, the CanvasWatchFaceService, is a bit buggy because of the way it had to be built, keeping Android Wear 1.0’s limitations in mind. The older version of Android Wear lacks a lot of system calls found in the newer version, so some parts had to be rewritten and rerouted, while others simply could not be written in at all. While some features are missing, the basic ability to call Complications from third-party apps is there, which means that, in theory, Complications should at least load and run, but whether they will work or not all depends on exactly what parts of the CanvasWatchFaceService they use; should they call upon something that is either not present or is broken in seapip’s implementation, they may break or simply not work.

Developers looking to implement seapip’s CanvasWatchFaceService rework will have a good bit of work ahead of them; they will have to write their own complimentary code, such a Complication picker, and individual calls for the Complications that they’re looking for. This means that universal Complication compatibility like what may be found on Android Wear 2.0 will be hard to implement on this system. With the code open-source and openly available on GitHub, it likely won’t be long until some talented coder creates a quick tool or bit of easy-to-use code to make life a bit easier for watch face developers who want to cover both Android Wear versions.