Profile cover photo
Profile photo
Patrick Baumann
106 followers
106 followers
About
Posts

I love that waking up to rain is a thing again now that I've moved away from southern California.
Add a comment...

Post has shared content
Add a comment...

Post has shared content
A step forward for the Android Open Source world

There's a hidden gem in Nexus 9, which was announced by a short sentence in the middle of a reply in a long mailing-list thread:

"No proprietary binaries are needed for Volantis. The proprietary vendor binaries are on a separate 'vendor' partition."

Until now, in Android devices, the proprietary device-specific files that live underneath Android itself were stored in the same /system partition as the Android files.

This made sense from the point of view of software architecture, but it had a major drawback in the Open Source world: in order to distribute a functional system image of Android, it was necessary to also distribute those proprietary device-specific files, since those files were aggregated into the same distribution medium.

Starting with Nexus S, those files had been somewhat available, with two caveats: not all files were available for all devices, and the files that were available were controlled by licenses that allowed the most common use cases but didn't give the same freedom that can be expected for Open Source components.

On Nexus 9, things are different: those proprietary device-specific files are stored in a separate partition. As a result, it is now practical to distribute functional versions of the Android system without having to distribute or copy those proprietary files. Therefore it becomes possible to enjoy the freedoms associated with Open Source in a broader range of situations, including (e.g.) commercial distribution.

While Android has always been distributed under Open Source licenses (i.e. in the world of lawyers), this brings it closer to the spirit of the Free Software definition in the real world (i.e. in the world of hackers).

This makes me happy, as this is the conclusion of a task that had been started 3 1/2 years ago with Galaxy Nexus, and in which I had been closely involved when I worked on AOSP. Chances are, this is probably also the last aspect of Android to get released in which I've been closely involved while at Google.

https://groups.google.com/d/msg/android-building/bm3iwCrjO2s/wvtma5pYEEsJ

As usual, I'm not speaking on behalf of any past, present or future employer. Also, I'm not a lawyer, and this is therefore obviously not legal advice.
Add a comment...

Post has attachment
A useful guide to material design. Good stuff.
Material Design on Android Checklist
Material Design on Android Checklist
android-developers.blogspot.com
Add a comment...

Post has shared content
A great introduction to Dagger on Android and dependency injection in general.
Amazing Presentation of the day: "Architecting #Android Applications with #Dagger" by Jake Wharton at Devoxx. Now available for FREE!
Add a comment...

Post has shared content
Part useful, part funny flow-chart diagram on how to clean up your Git mess.
Add a comment...

Post has shared content
Another great support library update.
Change log for support-v4 library v20.0.0.

Since the change log for support-v4 20.0.0 isn't up yet[1] I made a diff of the public API of the JAR (it's actually now an AAR) against 19.1.0: https://gist.github.com/JakeWharton/b9873c3bc9e04c270909

Highlights:
* ViewCompat.animate() replaces NineOldAndroids[2]! Animate views on any API level with this mirror of the ViewPropertyAnimator API. Presumably it has the same restrictions as NineOldAndroids.
* Pool replaces Snooker[3]! Pooling is essential for reducing GC in tight loops or hot code paths that require a lot of temporary objects.
* NotificationCompat now includes wearable APIs but still doesn't include setShowWhen[4]
* CircularArray adds to the optimized utility data structures for specific use cases. Classes like these are extremely useful for certain situations but not all.

And like in nearly everything I do, I generalized the script and open sourced it! https://github.com/JakeWharton/jardiff

#AndroidDev   #PoorLibraryNamingConventions  

[1]: http://developer.android.com/tools/support-library/index.html
[2]: http://nineoldandroids.com/
[3]: http://github.com/JakeWharton/snooker
[4]: http://r.android.com/70542
Add a comment...

Post has attachment
I didn't realize the chooser ignores export status of an activity... Yikes, good to know.
Add a comment...

Post has attachment
This would be fantastic to see.
Add a comment...

Post has attachment
Looking forward to this update... So long as there is an easy way to control which communication channel I'm sending with.
Add a comment...
Wait while more posts are being loaded