Random Musings on the Android 14 Developer Beta 2
When Google releases a new beta, I rummage through
the API differences report
the high-level overviews,
and even the release blog post,
to see if there are things that warrant more attention from
developers. I try to emphasize mainstream features that any developer
might reasonably use, along with things that may not
get quite as much attention, because they are buried in the JavaDocs.
Not surprisingly, the pace of change is down now that Beta 2 is out.
My focus is
on the developer side; see Mishaal Rahman’s Twitter thread for a broader look at Beta 2.
Of note:
-
A fair number of APIs were removed. That is not surprising at this stage and probably
represents ideas that were not going to be “fully baked” in time for the Android 14
release. One example is thePersistableBundle
-based extras onPendingIntent
that I covered in the Beta 1 preview
— those are now removed. -
Similarly, a few things that had been deprecated are now undeprecated. Whether
that is because they found new use cases or their replacements were not yet
ready is unclear. Examples include thegetApplicationRestrictions()
methods
onUserManager
andRestrictionsManager
. -
WindowManager
gained a series ofPROPERTY_COMPAT
constants, such as
PROPERTY_COMPAT_ALLOW_DISPLAY_ORIENTATION_OVERRIDE
. These let you opt out of
certain behaviors, such as forcing activities to landscape. You specify these
via<property>
child elements of<application>
in the manifest. -
MotionEvent
hasgetEventTimeNanos()
andgetHistoricalEventTimeNanos()
,
to get finer-grained resolution than the millisecond-based methods likegetEventTime()
. -
Google continues baking the notion of financed devices into the OS
DeviceManager
, as I mentioned back in musings on Developer Preview 1.
DevicePolicyManager
lets you determine if the device is financed and
find out about changes in the financing state. -
TextView
now explicitly hassetLineHeight()
,
rather than only being able to specify line spacing. -
There is a new
PROVIDE_OWN_AUTOFILL_SUGGESTIONS
permission, but it is only available
to “the Browser application”, however Google is defining that. -
Similarly, there are new permissions related to credentials, such as
PROVIDE_REMOTE_CREDENTIALS
.
It is likely that this is the last set of random musings for Android 14, unless something
unexpected happens with the next release.