Random Musings on the Android 15 Beta 1
When Google releases a brand new beta, I rummage by
the API variations report,
the high-level overviews,
and even the discharge weblog publish,
to see if there are issues that warrant extra consideration from
builders. I attempt to emphasize mainstream options that any developer
may moderately use, together with issues that will not
get fairly as a lot consideration, as a result of they’re buried within the JavaDocs.
As typically occurs with the primary beta, we had a bunch of stuff deleted, which means
it shipped in a developer preview then was eliminated. My assumption is that these
signify issues that didn’t fairly “make the lower” and are going to be revisited.
That stated, we did get an honest bunch of latest issues as effectively.
What Would possibly Break You Subsequent Yr
Edge-to-edge will likely be enabled by default on Android 15,
for apps that focus on Android 15. Because of this new apps needs to be constructed from the bottom as much as
be edge-to-edge. Ideally, present apps that don’t totally assist edge-to-edge ought to
take the following 1.5 years to undertake an edge-to-edge presentation. There’s a new
android:windowOptOutEdgeToEdgeEnforcement attribute,
most likely for <exercise>, you could set to true to maybe purchase extra time.
Nonetheless, the docs for that attribute say that it will likely be deprecated and disabled
“in a future SDK degree”. In the event that they do this in subsequent 12 months’s Android 16, the attribute
is not going to purchase you any significant time. Frankly, Google’s penchant for mandating their
specific most popular aesthetics is annoying — as someone informed me on Stack Overflow
over a decade in the past, if I wished someone forcing their designs on me, I’d be programming
for iOS.
What Makes Me Go 🤨
They added E2eeContactKeysManager.
On the one hand, it supplies first-class assist
for end-to-end encryption keys. However, it’s tied to the person’s contacts
app, which appears somewhat limiting.
They added cowl display screen assist
in an earlier developer preview, and the docs nonetheless check with it. However
they eliminated the precise property (COMPAT_SMALL_COVER_SCREEN_OPT_IN) from the SDK.
My guess is that the docs are flawed and this
function was eliminated.
WindowManager now has the idea of “trusted displays”.
Mainly, you’ll find out in case your window is just partially proven or is being
proven principally translucent. For a multi-window surroundings, I can see the worth in
realizing this stuff, as it’d affect how typically you replace your UI, otherwise you may
pause media playback. The “trusted”, although, makes me surprise if there’s a safety
facet.
They re-added FINGERPRINT_SERVICE.
The weblog publish’s part on “Secured background exercise launches” doesn’t appear to
level to something new to Beta 1, so I’m unsure what they’re referring to.
What Has Nothing to Do With Police Procedural Dramas
We now have entry to a ProfilingManager system service
for requesting sure sorts of profiling, together with heap dumps and system traces.
What Else Is Fascinating
ACTION_CHOOSER, which powers the “share sheet”, now helps
EXTRA_CHOOSER_CONTENT_TYPE_HINT.
The one documented worth for this trace is
CHOOSER_CONTENT_TYPE_ALBUM,
to trace that the content material being shared represents an “album”.
There’s a new SecurityStateManager system service,
which may return the system patch degree and kernel model.
A View can now have an related “credential request”
tied to CredentialManager.
Pockets apps can now be set because the default recipient of NFC contactless funds through
a brand new pockets position.
The idea of guardian and youngster actions is being unwound:
getParent() and isChild() on Exercise are deprecated.
There are higher options for this these days, as multi-activity UIs slowly fade
from existence.
— Apr 13, 2024