Navigation Android 10 introduces a revamped full-screen gesture navigation system and new app open and close animations, with gestures such as swiping from either side edge of the display to go back, swiping up to go to the home screen, swiping up and holding to access Overview, swiping diagonally from a bottom corner of the screen to activate the
Google Assistant, and swiping along the gesture bar at the bottom of the screen to switch apps. The use of an edge-swiping gesture as a "Back" command was noted as potentially causing conflicts with apps that use
sidebar menus and other functions accessible via swiping. Apps can use an API to opt out of handling back gestures in specific areas of the screen. A sensitivity control was added to adjust the size of the target area to activate the gesture. Google later stated that the drawer widget would support being "peeked" by long-pressing near the edge of the screen, then swiping open. The traditional three-key navigation system used since
Android "Honeycomb" remains supported as an option, along with the two-button "pill" style navigation introduced in
Android 9.0 Pie. Per Google certification requirements, OEMs must support Android 10's default gestures and three-key navigation. OEMs are free to add their own gestures alongside them. However, they must not be enabled by default; they must be listed in a separate area, one level deeper than other navigation settings, and they cannot be promoted via notifications. The two-key gesture navigation system used on
Android Pie is deprecated, and may not be included on devices that ship with Android 10. However, it can still be included as an option for continuity purposes on devices upgraded from Pie.
User experience Android 10 includes a system-level
dark mode. Third-party apps can automatically engage a dark mode when it is active. Apps can also present "settings panels" for specific settings (such as, for example, internet connection and Wi-Fi settings if an app requires internet) via overlay panels, so that the user does not have to be taken outside of the app to configure them. There are also new restrictions on the launching of activities by background apps. For security (due to its use by
clickjacking malware) and performance reasons, Android 10 Go Edition forbids use of overlays, except for apps that received the permission before a device was upgraded to Android 10.
Encryption In February 2019, Google unveiled
Adiantum, an encryption algorithm designed primarily for use on devices without hardware-accelerated support for the
Advanced Encryption Standard (AES), such as low-end devices. Google stated that this cipher was five times faster than AES-256-XTS on an
ARM Cortex-A7 CPU. Therefore, device encryption is now mandatory on all Android 10 devices, regardless of specifications, using Adiantum if their CPU is not capable of hardware-accelerated AES. In addition, implementation of "file-based encryption" (first introduced in
Android Nougat) is also mandatory for all devices. On devices shipping with Android 10, security patches for selected system components (such as
ANGLE, Conscrypt, media frameworks, networking components, and others) may be serviced via
Google Play Store, without requiring a complete system update ("Project Mainline"). To license
Google Mobile Services, manufacturers must support these updates for specific modules, while the remainder are marked as "recommended" but optional. Selected modules within this system use the new APEX package format, a variation of
APK files designed to host and run low-level system components.
Scoped storage A major change to storage access permissions, known as "Scoped storage," is supported on Android 10 and became mandatory for all apps beginning with Android 11. Apps are only allowed to access files in external storage that they created themselves (preferably in an app-specific directory), and audio, image, and video files in the Music, Pictures, or Videos directories. Any other file may only be accessed via user intervention through the
backwards-incompatible Google Storage Access Frameworks. Apps must have a new "read privileged phone state" permission to read non-resettable device identifiers, such as
IMEI number.
Transport Layer Security TLS 1.3 support is also enabled by default.
Platform Platform optimizations have been made for
foldable smartphones, including app continuity across modes, changes to multi-window mode to allow all apps to run simultaneously (rather than only the actively used app running, with all others considered "paused"), and additional support for multiple displays. "Direct Share" has been succeeded by "sharing shortcuts". As before, it allows apps to return lists of direct targets for sharing (such as a combination of an app and a specific contact) for use within share menus. Unlike Direct Share, apps publish their targets in advance and do not have to be polled at runtime, improving performance. Native support has been added for
MIDI controllers, the
AV1 video codec, the
Opus audio codec, and
HDR10+. Native support for
aptX Adaptive,
LHDC,
LLAC,
CELT and AAC LATM codecs was added as well. Android 10 supports
WPA3 encryption protocol and Enhanced Open, which introduce opportunistic encryption for Wi-Fi. Android 10
Go Edition has performance improvements, with Google stating that apps would launch 10% quicker than on Pie.
RISC-V support In 2021, Android 10 was ported to the
RISC-V architecture by
Alibaba Group-owned
T-Head. T-Head managed to get Android 10 running on a triple-core, 64-bit, RISC-V CPU of their own design. == See also ==