Every yr, Google releases a modern model of the Android operating system. Google launched the first Android 11 Developer Preview encourage in February followed by the 2d, third, and fourth developer previews over the last few months. Earlier this month, Google unveiled the first Android 11 Beta and talked in-depth about the appropriate parts for users to relish and for builders to implement. Nonetheless, we’ve now realized that three of the tip parts in Android 11 received’t be obtainable on every Android software program.
To achieve how that’s conceivable, now we need to temporarily exhibit how the Android OS is dispensed from Google to smartphone software program makers. Android is an originate-provide operating system licensed below Apache 2.0, that suggests that anyone, from indie builders to broad corporations, is free to change and distribute the OS on their very hang devices. Many of the modern OS parts that Google unveiled for Android 11 shall be segment of the Android Delivery Offer Challenge (AOSP) that smartphone software program makers execrable their very hang software program on, however the Apache 2.0 license, as I mentioned earlier than, lets anyone regulate the software program as they witness match. In repeat to preserve consistency in APIs and platform behavior between Android devices, Google bundles the distribution of Google Mobile Providers and products (which contains purposes and frameworks love the Google Play Store and Google Play Providers and products) with license agreements mandating that devices adhere to the principles below Google’s “Android Compatibility Program” (amongst other necessities). The Android Compatibility Program consists of multiple automated check suites and a discipline of principles enumerated within the Android Compatibility Definition Document (CDD).
In the CDD, Google lists software program and hardware parts that software program makers “MUST” implement, are splendid “STRONGLY RECOMMENDED” to implement, or “SHOULD NOT” implement. If a characteristic is listed as “MUST” implement, then the software program maker has to add that characteristic or they might be able to’t ship Google apps on their devices. If a characteristic is listed as “SHOULD NOT” implement, then the software program maker can’t add that characteristic or they might be able to’t bundle Google apps. In a roundabout procedure, if a characteristic is listed as “STRONGLY RECOMMENDED,” then it’s as much as the software program maker whether or no longer or no longer they wish to implement the characteristic. The CDD is a continuously altering doc, even earlier than its publication yearly following the final public release of a modern Android model. Google incessantly updates the doc to obtain away parts, switch the language to be clearer, and chill out necessities in maintaining with feedback from its companions. Nonetheless, as soon as Google makes a CDD public for a explicit Android model, these necessities shall be discipline in stone for Google-licensed devices working that Android OS model.
The Android 11 CDD received’t change into public till later this yr, seemingly in early September. Nonetheless, developer @deletescape shared a pre-release reproduction of a doc that facts changes coming to the CDD, giving us an early count on at how Google is shaping Android 11 across the ecosystem. The overwhelming majority of the over 60 changes to the CDD aren’t very intriguing to users—they picture how software program makers need to implement certain APIs, suppose certain parts, and implement certain kernel parts. Nonetheless, 3 of the changes to the CDD caught our attention because they present to some of essentially the most intriguing parts in Android 11. Here’s what we uncovered.
Tool Controls is a characteristic in Android 11 that lets in for tidy dwelling automation controls to be shown within the energy menu. You might maybe turn off your lights, originate your storage door, open your vacuum cleaner, switch your dwelling’s temperature, and attain great extra without opening up a dozen diversified tidy dwelling apps. Google added APIs that builders of tidy dwelling apps can tell to surface controls within the energy menu. We deem here is a orderly characteristic that sooner or later brings your smartphone into the tidy dwelling. Unfortunately, there’s no requirement for OEMs to if truth be told implement it. If an OEM thinks the characteristic is lame or they wish to tear a particular route (corresponding to splendid allowing tidy dwelling controls from devices of their very hang ecosystem), then they might be able to merely disable make stronger for Tool Controls.
When Google first added Tool Controls to the CDD on February 25th, 2020, they mandated its inclusion by alongside with a “MUST” requirement in Fragment 2.2.3 – Handheld Instrument Necessities. Nonetheless, on Can also 20th, 2020, Google as much as date the textual notify material to obtain away the proposed “MUST”. The modern Fragment 3.8.16 – Tool Controls outlines how the characteristic has to be implemented however doesn’t if truth be told require that or no longer or no longer it is implemented within the first effect aside! We hope OEMs received’t disable this nifty characteristic, however there’s no means for us to grab within the occasion that they’ve disabled it till they’re prepared to unveil their very hang flavors of Android constructed on top of Android 11, which received’t happen till several months from now.
Proposed Fragment 3.8.16 (New) – Tool Controls (Updated 5/20/2020)
3.8.16 Tool Controls
Android involves ControlsProviderService and Take watch over APIs to allow builders to submit software program controls for fleet discipline and action for users.
184.108.40.206 Tool Controls User Affordance
If devices implement Tool Controls, then they:
- [C-1-1] MUST document the android.software program.controls.characteristic flag to be TRUE
- [C-1-2] MUST present a user affordance with the means to add, edit, obtain and characteristic the user’s favorites from the controls registered by the Third-celebration apps by procedure of the android.carrier.controls.ControlsProviderService and the android.carrier.controls.Take watch over APIs.
- [C-1-3] MUST present come by entry to to this user affordance inner three interactions from the Launcher
- [C-1-4] MUST accurately render in this user affordance the name and icon of each and every Third-celebration app that offers controls by the android.carrier.controls.ControlsProviderService API as smartly as any specified icon, discipline textual notify material , software program form, name, structure, zone, customized color, and subtitle equipped by the android.carrier.controls.Take watch over API
Conversely, If software program implementations attain no longer implement such controls, then they
- [C-2-1] MUST document Null for the ControlsProviderService and the Take watch over APIs.
Conversations in Notifications
Regarded as one of Android’s splendid advantages when in contrast to iOS is how the extinct handles notifications. That gap in usability will come by even wider in Android 11 with the introduction of “Conversations.” In Android 11, notifications from messaging apps are grouped together and are shown in a separate allotment within the notification panel above most other notifications. This lets you instant witness and acknowledge to messages without needing to scroll by procedure of all your other pending notifications. Unfortunately, this nifty switch to notifications might maybe well also just no longer be obtainable on all devices. Google is giving OEMs the components to obtain whether or no longer they wish to “neighborhood and rate dialog notifications earlier than non-dialog notifications.” OEMs incessantly customise the notification panel, and so it’s no shock that Google is giving OEMs a exchange here. Unexcited, it’s dejected that Google isn’t selecting to effect aside in force extra consistency in notifications in Android 11.
Proposed changes to Fragment 220.127.116.11 – Presentation of Notifications (Updated 4/08/2020)
If software program implementations allow third celebration apps to say users of fundamental occasions, they:
Android R introduces make stronger for dialog notification, which is a notification that uses NotificationManager.MessageStyle and offers a published Folks Shortcut ID.
Tool implementations are:
- [H-SR] STRONGLY RECOMMENDED to neighborhood and rate dialog notifications earlier than non dialog notifications excluding ongoing foreground carrier notifications and significance:high notifications.
If dialog notifications are grouped into a separate allotment, software program implementations
- [H-1-8] MUST rate dialog notifications earlier than non dialog notifications excluding ongoing foreground carrier notifications and significance:high notifications.
Tool implementations are:
- [H-SR] STRONGLY RECOMMENDED to give come by entry to to the next actions from dialog notifications: rate this dialog as a bubble if the app provides the desired data for bubbles
The AOSP implementation meets these necessities with the default Machine UI, Settings, and Launcher.
IdentityCredential – Mobile Driver’s Licenses
In a roundabout procedure, one among the parts that I’m most excited by is the IdentityCredential API. As we detailed final yr, the IdentityCredential API is designed to allow purposes to store identity documents, corresponding to mobile driver’s licenses, on the software program. Plenty of countries (and some U.S. States) world broad already allow their voters to store their driver’s licenses in a mobile app. Nonetheless, Google is working to assemble this extra exact by having the guidelines saved offline in a exact ambiance.
The provide code for Android 11 involves the IdentityCredential API (which builders will name to store identity documents within the mobile phone’s exact ambiance) and the IdentityCredential HAL (which interfaces with the mobile phone’s exact ambiance), however OEMs are no longer required to implement them. When Google first proposed the inclusion of IdentityCredential within the CDD on January 10, 2020, they listed it as a requirement. Nonetheless, they relaxed this requirement on March 18, 2020, and now splendid strongly indicate that OEMs make stronger this characteristic. We’re no longer bowled over that Google relaxed this requirement—alongside with a switch that impacts the relied on execution ambiance would require effort from OEMs to implement. It’s conceivable that OEMs merely need extra time to come by prepared for this switch. For users, despite the indisputable truth that, that suggests there’s no guarantee your explicit Android 11 smartphone will make stronger securely storing a mobile driver’s license within the mobile phone’s exact ambiance.
We should always present that there’s no technical limitation stopping the frequent adoption of the IdentityCredential system amongst Android 11 devices. Regarded as one of many necessities for enforcing the IdentityCredential system is that the software program has a Depended on Execution Ambiance (TEE) or a proper exact processor in which a “relied on application” interacts with the saved identity documents. Since Android 7.0 Nougat, Google has required all current Android devices to enhance an “isolated execution ambiance” (per Fragment 2.2.5 – Security Model within the CDD). Devices with ARM processors fundamentally characteristic ARM’s TrustZone TEE, and Google provides the Exact OS that runs on TrustZone. The presence of a TEE is enough to enhance the IdentityCredential system, despite the indisputable truth that it might maybe maybe well be extra exact if the credentials are saved in an embedded exact CPU (corresponding to within the Actual Processing Unit of some Qualcomm Snapdragon processors) or a discrete exact CPU (corresponding to in Google’s Titan M or Samsung’s modern safety chips). Notably, devices with discrete exact CPUs will even be in a residence to enhance the “Tell Receive admission to mode” characteristic of the IdentityCredential system, that might maybe well also just allow the user to pull up their identity doc even when there isn’t enough energy left within the software program to boot up the major OS.
Proposed Fragment 9.11.3 (New) – Id Credential (Updated 3/18/2020)
The Id Credential Machine permits app builders to store and retrieve user identity documents.
- [C-SR] are STRONGLY RECOMMENDED to implement the Id Credential Machine.
If software program implementations implement the Id Credential Machine they:
- [C-0-1] MUST return non-null for the IdentityCredentialStore#getInstance() procedure.
- [C-0-2] MUST implement the `android.safety.identity.*` APIs with code communicating with a relied on application working in both a Depended on Execution Ambiance (TEE) or on a proper exact processor. The relied on application needs to be implemented such that the Depended on Computing Contaminated for the Id Credential Machine doesn’t include the Android Operating Machine.
Google is also engaged on an IdentityCredential Jetpack library to assemble it more uncomplicated for builders to add make stronger for securely storing identity documents on Android, however the exact misfortune shall be getting governments to authorize apps the tell of this API to safely store executive IDs. In maintaining with Engadget, South Korea upright rolled out make stronger for storing driver licenses in a mobile app, so we’re starting to witness an uptick in acceptance for this technology. I, for one, am excited to witness where this goes because it’ll mean one less factor to lift with me when I exit of doorways.
The doc that we got listed changes to the CDD by the date these changes were made. The most up-to-date changes were made on June 10, 2020, which implies that the doc that now we maintain is quite up-to-date. It’s conceivable that Google might maybe well renege on these changes and assemble all of them necessities every other time earlier than the final public release of Android 11, however we doubt Google will all of a surprising assemble the CDD extra stringent. These changes were seemingly relaxed as a result of feedback from OEMs who’re these that would possibly want to tear encourage and implement these parts within the occasion that they weren’t already deliberate on doing so. That takes time, effort, and money, which would upright extend the discharge of Android 11 for non-Google devices even extra. Unexcited, if Google does assemble these parts required as soon as extra, we’ll put up an exchange on the XDA Portal.