Random Musings on the Android 15 Developer Preview 1

Wow, it���s February again already?

When Google releases a new developer preview, I rummage throughthe API differences reportthe 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.

Last year, a common complaint was how small Android 14 felt. This year, Android 14seems huge by comparison. Android 15 DP1 is so small, Google did not bother writinga high-level overview of the changes, or at least it has not been published in an obviouslocation. Google usually does a bit of ���sandbagging��� in early developer previews,preferring to talk about changes one release later than when they are introduced.Still, this total lack of docs is rather stunning.

What Gives Me Security Concerns

AccessibilityService has long been used for things other than accessibility. Googletried for a while to enforce this at the Play Store level, but if I recall correctly they backed off.

AccessibilityService now offers the ability to attach overlays to displays(and to windows). These are designed for UI that controls the accessibility itself, apparently.

I worry a bit that users will enable accessibility for an app for other reasons (e.g.,help with playing some game), then get bitten by tapjacking attacks initiated by theseoverlays. Hopefully, these overlays have system-supplied ���chrome��� that helps preventthis.

See also getOverlaySupport() on Display.

What Claims to Have Integrity

FileIntegrityManager has beenaround for a few years, but without a lot of functionality. Now we can callsetupFsVerity() for a File,enabling some amount of tampering detection.However, the documentation for applying it (in setupFsVerity()) is seriously confusing.

What We Also Got In Android 14, Sorta

Android 14���s QPR2 added support for partial screen sharing,powered by MediaProjection. This change is also folded into Android 15 DP1.

What Else Is Interesting

PackageManager offers parseAndroidManifest().This is designed for APKs that perhaps have not yet been installed. You get an XmlResourceParserback, letting you traverse the manifest akin to using XmlPullParser.

SystemClock now offers uptimeNanos(), the time since last boot, measured in nanoseconds.

JobManager, via JobInfo, now offers debug tagsand trace tagsfor help with logging and traces.

MediaRoute2Info now supports a bunch of additional remote media routes: to cars, computers,game consoles, other phones, watches, tablets, or docked tablets.

We can now create notifications that have TV extensions,presumably for cases where a phone is tied to an Android TV device.

The parade of screen densities continues, as there is now support for a 390-dpi density.

 •  0 comments  •  flag
Share on Twitter
Published on February 17, 2024 10:03
No comments have been added yet.