Google's Android P, the newest version of Android, brings features including accurate indoor positioning, improved ways to show apps in various scrren sizes, improved messaging notifications, support for two or more cameras and more.
Google has released a preview of the new OS in order to get feedback from the developer community. This is the first developer preview of Android P, and Google will share more at Google I/O in May.
Android P is mostly focused on the changes that will affect developers and might not have significant user interface (UI) adjustments.
Developers with a Pixel, Pixel XL, Pixel 2 and Pixel 2 XL devices can now download the Android P (Android 9.0) developer preview 1. Support has been dropped for the Google Pixel C, Google Nexus 5X and Google Nexus 6P.
So here is what's new:
Indoor positioning with Wi-Fi RTT
Accurate indoor positioning has been a long-standing challenge that opens new opportunities for location-based services. Android P adds platform support for the IEEE 802.11mc WiFi protocol -- also known as WiFi Round-Trip-Time (RTT) -- to let you take advantage of indoor positioning in your apps.
On Android P devices with hardware support, location permission, and location enabled, your apps can use RTT APIs to measure the distance to nearby WiFi Access Points (APs). The device doesn't need to connect to the APs to use RTT, and to maintain privacy, only the phone is able to determine the distance, not the APs.
Knowing the distance to 3 or more APs, you can calculate the device position with an accuracy of 1 to 2 meters. With this accuracy, you can build new experiences like in-building navigation; fine-grained location-based services such as disambiguated voice control (e.g.,'Turn on this light'); and location-based information (e.g., 'Are there special offers for this product?').
Display cutout support
Now apps can take full advantage of the latest device screens with fullscreen content. Google has added display cutout into the platform, along with APIs that you can use to manage how your content is displayed.
Cutout support works seamlessly for apps, with the system managing status bar height to separate your content from the cutout. If you have critical content, you can also use new APIs to check the cutout shape and request full-screen layout around it. You can check whether the current device has a cutout by calling getDisplayCutout(), and then determine the location and shape of the cutout area using DisplayCutout. A new window layout attribute, ayoutInDisplayCutoutMode, lets you tell the system how and when lay out your content relative to the cutout area.
To make it easier to build and test cutout support in your app, Google has added a Developer Option that simulates a cutout on any device.
Improved messaging notifications
In Android P Google has put a priority on improving visibility and function in notifications. Try the new MessagingStyle notification style -- it highlights who is messaging and how you can reply. You can show conversations, attach photos and stickers, and even suggest smart replies. See the details here.
In MessagingStyle notifications you can now show conversations and smart replies and even attach images and stickers.
You can now access streams simultaneously from two or more physical cameras on devices running Android P. On devices with either dual-front or dual-back cameras, you can create features not possible with just a single camera, such as seamless zoom, bokeh, and stereo vision. The API also lets you call a logical or fused camera stream that automatically switches between two or more cameras.
Other improvements in camera include new Session parameters that help to reduce delays during initial capture, and Surface sharing that lets camera clients handle various use-cases without the need to stop and start camera streaming. Google has also added APIs for display-based flash support and access to OIS timestamps for app-level image stabilization and special effects.
HDR VP9 Video, HEIF image compression, and Media APIs
Android P adds built-in support for HDR VP9 Profile 2, so you can now deliver HDR-enabled movies to your users from YouTube, Play Movies, and other sources on HDR-capable devices.
HEIF is a popular format for photos that improves compression to save on storage and network data. With platform support on Android P devices, it's easy to send and utilize HEIF images from your backend server. Once you've made sure that your app is compatible with this data format for sharing and display, give HEIF a try as an image storage format in your app. You can do a jpeg-to-heic conversion using ImageDecoder or BitmapFactory to obtain a bitmap from jpeg, and you can use HeifWriter in the new Support Library alpha to write HEIF still images from YUV byte buffer, Surface, or Bitmap.
Google is also in the process of enhancing and refactoring the media APIs to make them easier to develop and integrate with.
Neural Networks API 1.1
Google introduced the Neural Networks API in Android 8.1 to accelerate on-device machine learning on Android. In Android P this API has expanded and improved, adding support for nine new ops -- Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub, and Squeeze.
Starting with Android P, Google is taking steps to ensure developers aren't using private APIs when developing apps. In November of 2018, all apps submitted to the Google Play Store will need to target Android Oreo or newer. Also, at some point in 2019, all apps will need to support 64-bit hardware.
You can read more about what the update here.