A handful of notes from updating CalWatch for Wear 5.1 (still open source, still free: https://play.google.com/store/apps/details?id=org.dwallach.calwatch
- CalWatch used to use the MessagingAPI, including the standard loop over all available nodes to send the same message to each one. When I connected two watches to my phone, only one of them ever got the message. I switched to the DataAPI and everything is now working as intended. This also let me get rid of a bunch of "hey I need a message" / "okay, here you go, did you get it?" nonsense. (Bug: if you're using the MessagingAPI and haven't tested yet with multiple watches on the same phone, don't expect the obvious code to work in the obvious way.
- I used +Nicolas Pomepuy
's Wear crash reporting library. Works like a charm, although if your watchface doesn't have a companion app on the handheld, it won't do anything for you. (https://github.com/PomepuyN/AndroidWearCrashReport
- I updated my icon. The update appeared everywhere except
for the Android Wear app on my phone. Uninstall. Reinstall. The old icon was still there. Rebooting finally fixed it. (Bug: hey Google, please invalidate the Wear App's image cache when a new APK arrives for an existing app.
- For a user with only a single watch, the only observable change they'll see is transparency of peek cards over the watch face. I don't know when they added that option in, but it definitely looks better than fully opaque peek cards.
- I also removed a bunch of code that never did anything useful. I would really prefer an update frequency greater than once per minute while in ambient mode, but too bad, so sad, that stopped working in Wear 5.0 and it's not coming back.
- The newer Android Studio integrates all this new lint functionality. It was notably unhappy with the way my Handlers worked, so I fixed the ones that seemed most likely to cause trouble. It also found some very subtle opportunities for NullPointerExceptions that have never happened in practice, but which could have
maybe perhaps happened. No longer!
Anyway, that's all there is to it. Meanwhile, if any of you want to integrate stopwatch and timer functions into your watchfaces, XTimer / XWatchface continue to work just fine on Wear 5.1, publishing data that you can use to render timers and such. http://www.cs.rice.edu/~dwallach/xstopwatch/