horde

Sunday, December 7 2014

Lollipop/ART issues; Firefox Weave
[18:37:08] matt [wronka.org]/Psi.cor I've switched back to Android 4.4 (CM-11, "Kitkat"). The following were issues I found with Android 5.0 ("Lollipop"):
* fdroid repos don't work, which is annoying (https://gitlab.com/fdroid/fdroidclient/issues/111)
* some Activesync servers don't work—I've only seen this reported with Horde (and I had the issue with both 5.0 and 5.2; https://bugs.horde.org/ticket/13702)

Back on CM-11, using the ART runtime, Firefox Sync (Weave/"Deprecated") also fails, apparently with a Unicode string error. It works fine with Dalvik. I don't know if this would have been an issue on Lollipop as well which uses ART by default. I didn't look for a specific bug for this, but was surprised that this sync was still supported since it was supposed to go away several versions ago (https://bugs.horde.org/ticket/13702). Apparently work on making the new service easy to use by third parties is either hard or just not a priority—the whole issue seems to have been bungled and now everyone's stuck with a mess. (https://bugzilla.mozilla.org/show_bug.cgi?id=989756#c14)

I also missed some of the UI elements from CM-11, like the circular battery indicator (is this a theme added by CM?) The settings menu was also more usable on CM-11. In general, Lollipop seemed to waste space, although I had mixed feelings about the task switching interface (it did seem to show more options at once, but made the active surface a bit small on a phone screen). A lot of Lollipop was flat, and Apple-like, looking pretty without giving the user any indication of whether interfaces were scrollable or otherwise how to interact with the device.

Unlike other reports, I did not run into any issues with WiFi or battery life on Lollipop—in fact, both seemed to be at least as good if not more reliable than on CM-11 and CM-10.2 but I don't have any objective tests for that. Specifically, I thnk my worst battery behaviour was in part to K9 synching my mail, and I haven't set that back up.

Saturday, December 6 2014

Hacking Android/Cyanogen Email in KitKat and Lollipop
[17:51:38] matt [wronka.org]/Psi.cor Work switched from Zimbra to MicroSoft Exchange some time back, and I've stopped synchronizing my calendar with my Nexus 4 since then (instead using my Handspring Visor Edge). The reason was straight forward: the MicroSoft server wanted the ability to wipe my entire device.

This seemed like overreach, and after talking with people in IT, it wasn't intentional, it was just the default. The changes in the AOSP code are pretty straightforward to disable this. I've posted diffs for both KitKat and Lollipop: http://matt.wronka.org/stuff/projects/icpp/android/cyanogenmod/

The KitKat changes also include some clean-up of CM code I didn't find useful (CMUpdater, CMAccounts), these aren't in CM12 yet. If you'd rather cherry-pick the changes for CM11 or AOSP 4.4 there are two AOSP applications to patch: http://matt.wronka.org/stuff/projects/icpp/android/aosp/4.4/

It looks like a lot of refactoring went into the Exchange services in 5.0, the patchset is smaller, but there's a new issue as reported to horde: https://bugs.horde.org/ticket/13702
I can confirm that this is an issue with Android 5.0—the effect is that the device appears to sync, but when it is about to complete it removes all data it received. I have not looked into fixing this yet but appears unrelated to Horde itself.

For now, full builds are at:
http://hume.matt.wronka.org/~matt/tmp/cm-12-20141204-SNAPSHOT-CNJ-mako.zip (Nexus 4, Android 5.0/CM12/Lollipop)
http://hume.matt.wronka.org/~matt/tmp/cm-11-20141122-SNAPSHOT-CNJ-mako.zip (Nexus 4, Android 4.4/CM11/KitKat)
http://hume.matt.wronka.org/~matt/tmp/cm-11-20141114-SNAPSHOT-CNJ-crespo.zip (Nexus S, Android 4.4/CM11/KitKat)