Random Musings on the O Developer Preview 3
Each time Google releases a new developer preview, I poke at
the API differences report
and the high-level overviews,
to see if there are things that warrant more attention from
developers, with an emphasis on mainstream features that any developer
might reasonably use. I also tend to emphasize things that may not
get quite as much attention, because they are buried in the JavaDocs.
So, here are my notes on O Developer Preview 3 (ODP3).
Wait, Didn���t We Just Have ODP2?
Yes. In fact, I am somewhat surprised to be writing another developer preview musings
post already.
Overall, ODP3 is mostly cleanups regarding names ��� the sort of thing that
gets caught at a code review.
Of particular note, since the APIs are finalized, Google is now admitting that
the next version of Android is 8.0 and that the API level is 26. None of that
is unexpected, but these ���oh, let���s keep the developers guessing and make it a pain
to test backwards compatibility��� games are part and parcel of these developer
previews.
What Did I Say Last Time That Is No Longer a Concern?
A bit less than 3 weeks ago,
I published my random musings on ODP2,
which in turn followed
my ODP1 musings.
Some things from the previous developer previews are now gone, such as:
onMovedToDisplay(), added in ODP2 to Activity and View
getMaxNumPictureInPictureActions(), added in ODP1 to ActivityManager
some, but not all, of the IpSec... classes added in ODP2
getUuid() and putUuid() from Bundle
What���s Interesting in the Release Notes
Each developer preview has its section of the release notes.
In the case of ODP3, nothing leaps out at me.
What���s Interesting in the API Diffs Report?
Where most of the ���under the covers��� stuff shows up is in seeing the diffs
between the ODP2 and ODP3 APIs.
Of note:
Autofill underwent yet another round of changes (which I find interesting,
considering they still have not materially responded to two of my security bugs regarding
autofill). Of particular note, there is now ACTION_REQUEST_SET_AUTOFILL_SERVICE
on Settings, which appears to allow you to ask the user to enable your app as the user���s
autofill service.
I am curious as to what setAppVerificationBundle() on ActivityOptions
really does. It is described as ���Set the Bundle that is provided to the app
installer for additional verification if the call to startActivity(Intent) results
in an app being installed���. It is unclear what this ���additional verification���
is and what would go into this Bundle.
What���s Interesting When You Try to Use ODP3?
Android Studio 2.3.3 ��� released in tandem with ODP3 ��� now lets you
work with Android O. ODP1 worked with Android Studio 2.x; ODP2 worked��� less well.
You can also download the Android 8.0 SDK bits in Android Studio without having
to switch to the canary channel.
What To Expect Now?
Since the API is supposed to be finalized, ODP4, if/when it ships, should
not have any API changes. However, this also impacts Google���s ability to address
bugs, as bug fixes that would result in API changes would need to get pushed
out to an O MR1 release or something.
Hence, it is rather unlikely that anything notable will change in ODP4 or
in the final shipping Android O from what we see today. At most, some things
might become deprecated or be stubbed out (e.g., the API calls are there
but have no effect), if something gets canned late in the development cycle.


