Now that most of the critical issues have been worked out of Android 5.0 Lollipop, most of the releases are going to center around cleaning up less pressing oversights and taking care of bugs. However, it seems that we're still not quite through with the device-specific fixes as an update is now rolling out to the 2012 Nexus 7 (Wi-Fi), codenamed Grouper. No official changelog has been posted, but Al Sutton has compiled a list from the AOSP commits, giving us a pretty good insight into what's new. While most of the adjustments are aimed at the Nexus 7, there are a few fixes that will make their way to the remainder of the Nexus family soon enough.


Four changes were made just for Grouper (2012 N7 Wi-Fi), and another two for Tilapia (2012 N7 GSM). Most of these are adjustments in the kernel and startup scripts to boost CPU activity and maintain a bit higher performance.

There has also been another fairly significant update to fstrim, the process responsible for pruning the filesystem of unused blocks to prevent lag when attempting to write to a location in NAND storage containing outdated data. This time the focus is set on scheduling with patch 4f868ed. Previously, fstrim was always called in a window of time shortly after midnight and with the requirement that the device is charging and idle, which was likely since most users would be asleep during these hours. However, this approach did not take into account the possibility that some people turn their devices completely off at night, which meant fstrim may never have an opportunity to run. To solve this, a more aggressive scheduling pattern has been created that ensures fstrim is run at boot-time after 3 days have passed without running it.

The remaining notable adjustments went to the AlarmManager. This is the part of the system responsible for waking up the device when apps need to perform different activities. The first change (5a995f9) fixes a bug that caused recurring alarms to be handled as non-wakeup alarms, which meant that the system would wait to fire them off until a standalone alarm woke the device. This could even cause some standalone alarms not to fire at the correct time. Two other changes (a6e7e6b and 0ac9664) were made to the exact timing of batched alarms to introduce and then subsequently disable "fuzzing," which is intended to keep multiple processes from instantly launching and competing for the processor and other resources simultaneously. The fuzzing implementation was incomplete, resulting in a temporary roll back of the feature; but it will be re-introduced in the future.

Also, I have to give a little credit to this short tale included in patch 0ac9664.

The man bent over his hourglass,
A programmer of sorts. The day was green.

They said, "You have a blue hourglass,
You do not fire alarms when they're asked."

The man replied, "Alarms as they're asked
are changed within the blue hourglass."

And they said then, "But fire, you must
Alarms beyond us, yet themselves,

Alarms within the blue hourglass
That trigger exactly when they're asked."

There weren't a lot of changes in this update, but they are definitely valuable improvements. If you'd like to check them out more closely, hit the link below for the full list.

Changelog 5.0.1_r1 to 5.0.2_r1