Tiramusu Thoughts

Dhanisa Mashilfa

Tiramusu Ideas

Leaks about what will be coming up Android 13 / Android T / Tiramusu are earning
the rounds, in sites like XDA Builders
and Android Law enforcement. Some of what
is mentioned will have minor impact on builders. Other factors will be your
standard “double-edged sword” of option and agony.

So, let us slice some tiramisu with a sword.

Notification Permission

It seems as even though staying in a position to elevate notifications will have to have a runtime
permission. XDA has screenshots
showing “Notifications” as a permission together with other common runtime permissions
like “Camera” and “Contacts”. This suggests that there will be a new unsafe
permission for notifications.

On the other hand, “notifications” is a somewhat wide bucket. Application builders are going to have to
do a honest bit of perform to teach consumers about how the app utilizes notifications right before
presenting the authorization. Probably that training process by itself will assist to get companies
to slice back on the amount of superfluous notifications that are offered.

My greatest worry listed here, though, is what happens when the authorization is declined by the
person. Ordinarily, with these permissions, that triggers a SecurityException when you
endeavor to use an API tied to the permission. So, in this scenario, possibly notify() on NotificationManager
would throw a SecurityException.

My honest hope is that both this does not take place or it is something we can choose out of
(e.g., by way of StrictMode). Ideally, this is a quiet failure, logging messages to Logcat
but not crashing the app.

Google went out of their way, for a much better portion of a 10 years, to shove notifications
down the throats of developers. With really much all the other harmful permissions,
Google simply just designed APIs readily available, then restricted them afterwards. In the case of notifications,
nevertheless, Google proactively took actions to attempt to influence developers to depend upon
notifications. Saying that “OK, now what we instructed you to do is at chance of crashing your app”
is just basic impolite.

We also have to deal with specific notification eventualities. For illustration, does this authorization suggest that
foreground providers are extremely hard if people drop the permission? What takes place if
libraries raise notifications? And so on.

Of all the proposed changes, this a person scares me the most, just in conditions of how Google
could possibly go about applying it and the impacts it can have on builders.

TARE: The Android Useful resource Economic climate

XDA also talks about TARE: The Android Useful resource Economic system.

The strategy that buyers may well have some way of providing good-grained tips on what
they want to make it possible for apps to do in the track record is attention-grabbing. The UI demonstrated in that
XDA report is dreadful (WTAF is a “satiated balance”?), but the idea has some benefit.

Nevertheless, each individual yr Google goes in and variations the policies as part of The War on Track record Processing
that has been going on for 6+ yrs. Blend that with
maker-particular variations and builders are wholly
dropped as to what we can and can’t do on any offered gadget. That in flip qualified prospects buyers to think
that applications or units are broken, just because builders are unable to keep apace with documented
and undocumented rules.

IOW, it would be seriously somewhat great if Google trapped with a prepare for extra than a yr and
took ways (e.g., CDD rules) to get brands to stick with that exact same system.

For every-Application Locale Options

For a very long time, builders have resorted to hacks to make it possible for a one app to help
numerous languages, by messing with Locale. Although this seems to have held up better
than I would have envisioned about the many years, there are still critical gaps. The most important
is any UI that comes from other procedures, these as notification dialogs — all those
procedures will not have the personalized Locale and will show their contents in the
default language specified for the machine as a total.

By a “panlingual” characteristic,
Android 13 may possibly allow for people to select a locale per app through Settings.

On the one particular hand, this looks superb.

On the other hand…

  • Wherever does the language adjust conclude? It will be interesting to see how they distinguish
    “showing the procedure file UI via Action_Open_Document” and “launching Snapchat”.
    The former, in concept, ought to follow the language picked out for the app that can make
    the ask for the latter ought to stick to the language of the app that is started out. But, in
    both instances, the requesting application is just contacting startActivity() or startActivityForResult().

  • Will Google supply Compat code that will incorporate the new Android 13 capacity
    with Google-supported kinds of Locale switching for more mature devices? If indeed, how will
    they handle manufacturers that fail to assist the Intent for permitting end users to switch a language?
    If no, how will Google recommend developers on supporting both of those the new method and the outdated
    hacks in the same application?


These are early leaks. The issues shown in these leaks may perhaps not ship, or they could ship in considerably
various kind. And Android 13 is probable to have numerous more new functions than these,
which includes some that impact builders. With luck, all my problems will vanish in the
breeze and it will flip out that almost everything is wonderful.

I’m a Murphy, nevertheless, so I’m not counting on that.