Random Musings on the Android 15 Beta 1

When Google releases a new beta, I rummage throughthe 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 developermight reasonably use, along with things that may notget quite as much attention, because they are buried in the JavaDocs.

As often happens with the first beta, we had a bunch of stuff deleted, meaningit shipped in a developer preview then was removed. My assumption is that theserepresent things that did not quite ���make the cut��� and are going to be revisited.

That said, we did get a decent bunch of new things as well.

What Might Break You Next Year

Edge-to-edge will be enabled by default on Android 15,for apps that target Android 15. This means that new apps should be built from the ground up tobe edge-to-edge. Ideally, existing apps that do not fully support edge-to-edge shouldtake the next 1.5 years to adopt an edge-to-edge presentation. There is a newandroid:windowOptOutEdgeToEdgeEnforcement attribute,probably for , that you can set to true to perhaps buy more time.However, the docs for that attribute say that it will be deprecated and disabled���in a future SDK level���. If they do that in next year���s Android 16, the attributewill not buy you any meaningful time. Frankly, Google���s penchant for mandating theirparticular preferred aesthetics is annoying ��� as somebody told me on Stack Overflowover a decade ago, if I wanted somebody forcing their designs on me, I���d be programmingfor iOS.

What Makes Me Go ����

They added E2eeContactKeysManager.On the one hand, it provides first-class supportfor end-to-end encryption keys. On the other hand, it is tied to the user���s contactsapp, which seems rather limiting.

They added cover screen supportin an earlier developer preview, and the docs still refer to it. Butthey removed the actual property (COMPAT_SMALL_COVER_SCREEN_OPT_IN) from the SDK.My guess is that the docs are wrong and thisfeature was removed.

WindowManager now has the concept of ���trusted presentations���.Basically, you can find out if your window is only partially shown or is beingshown mostly translucent. For a multi-window environment, I can see the value inknowing these things, as it might impact how often you update your UI, or you mightpause media playback. The ���trusted���, though, makes me wonder if there is a securityaspect.

They re-added FINGERPRINT_SERVICE.

The blog post���s section on ���Secured background activity launches��� doesn���t seem topoint to anything new to Beta 1, so I am uncertain what they are referring to.

What Has Nothing to Do With Police Procedural Dramas

We now have access to a ProfilingManager system servicefor requesting certain types of profiling, including heap dumps and system traces.

What Else Is Interesting

ACTION_CHOOSER, which powers the ���share sheet���, now supportsEXTRA_CHOOSER_CONTENT_TYPE_HINT.The one documented value for this hint isCHOOSER_CONTENT_TYPE_ALBUM,to hint that the content being shared represents an ���album���.

There is a new SecurityStateManager system service,which can return the system patch level and kernel version.

A View can now have an associated ���credential request���tied to CredentialManager.

Wallet apps can now be set as the default recipient of NFC contactless payments viaa new wallet role.

The concept of parent and child activities is being unwound:getParent() and isChild() on Activity are deprecated.There are better solutions for this nowadays, as multi-activity UIs slowly fadefrom existence.

 •  0 comments  •  flag
Share on Twitter
Published on April 13, 2024 14:02
No comments have been added yet.