My Leaf and native App Widgets on Android

April 2019 ยท 2 minute read

It’s time for a little status update. My Leaf has matured quite a lot since the first beta release. My Leaf pretty much supports every feature that is possible with the official NissanConnect EV app. I’m very happy with the result. My initial goal of building a simple, great looking, and fast third party Android app competing with the official NissanConnect EV app is maybe reached. By that I mean there is always room for improvement.

I’ve been looking at App Widget support on Android for the past months and have come up with a solution that works.

Currently My Leaf has ~8000 users on Android.

The App Widget support for Android I’ve implemented natively. There is no support for App Widgets within Flutter; I’m pretty sure there never will be. It means that I’ve implemented a client in Java that talks to Nissan’s Carwings API. This client borrows a lot of the code from the dartcarwings library I’ve made. So the hardest part was the re-implementation of some of parts of dartcarwings in Java. This is needed because Flutter channels for communicating with native code requires the Dart VM to be running. Which puts limitation on App Widget support; App Widgets would only work while the Dart VM is running. That’s a no-go.

So today version 1.5.6 is available on Google Play. There are 2 widgets; Climate and Charging Control widgets. These widgets are only available for donators!

Links and references;