What’s New in Android O – 17 Added Features and Changes

Google has released a developer preview of its next Android operating system ahead of its annual I/O conference. The first build is available for Nexus and Pixel device, but must be installed manually and is not intended for customer use.

The version O brings along a host of new features and improvements over its predecessor, Android 7 Nougat. Let’s highlight what’s new in Google Android O. We’ll keep this page updated as the best destination to find everything you need to know about Android O.

17. Custom Lock Screen

In Android Nougat, you could swipe from the right corner, or the left corner to open the Phone or Camera app. In version O, you can use the System UI Tuner to set any two apps in those places.

16. Fonts in XML

The new feature, fonts in XML, allows you to use fonts as resources. They are compiled in R file and then can be accessed with the help of new resource type, font. Moreover, Android O provides a technique to retrieve data related to system fonts and provide file descriptors.

15. New StrictMode Detectors for Developers

Android 8 introduces 3 new StrictMode detectors to help you identify potential bugs in an application.

DetectUnbufferedIo() : will detect when app reads or writes data without buffering detectUntaggedSockets() : will detect when app performs network traffic without using setThreadStatsTag(int) in order to tag traffic for debugging process. detectContentUriWithoutPermission() : will detect when an app unexpectedly forgets to grant permission to another app when starting an Activity outside the app.

14. Installing Apps from External Sources

Google has changed the way how installation from external sources works. In Android O, you need to allow installation from unknown sources, on per-app basis.

For instance, if you download an app from Firefox, you’ll have to enable the unknown sources setting for Firefox browser.

13. Wi-Fi Aware and Companion Device Pairing

Android O adds support for devices with the appropriate Wi-Fi Aware hardware that are based on the NAN (Neighbor Awareness Networking). With this, apps and near devices will be able to discover and communicate over Wi-Fi without an internet access point.

Moreover, Android O offers APIs that lets you customize the pairing request dialog while trying to connect with companion devices over Wi-Fi, BLE or Bluetooth.

12. Better Media Playback Handling for Developers

Android O introduces numerous new methods to the MediaPlayer class, which can improve your media app handling. It gives you the ability to fine-grained control when seeking to a frame, improve performance by controlling buffering behavior, and the ability to playback DRM-protected material.

11. Adaptive Icons and Color Management

The new adaptive launcher icon can display a variety of shapes across different device models. For instance, a launcher icon can display using a circular shape on one device, while squircle on another device. They are used in the setting app, shortcuts, sharing dialogs and the overview screen.

Developers can now take advantage of wide-gamut color capable display by enabling a flag in app’s manifest (per activity) and loading bitmaps with an embedded wide color profile.

10. Content Provider Paging and Permissions

Content providers are one of the primary building blocks that encapsulates data and provide it to applications. It is required if you need to share data between different applications. Android O updates content providers so that it can support loading a large dataset one page at a time.

They have integrated a new permission android.permission.ANSWSER_PHONE_CALLS that allows apps to answer incoming phone calls. It’s a part of the PHONE permission group and classified as dangerous.

9. Auto-sizing TextView

Android O allows you to set the size of your text contract or expand automatically based on the size of the TextView. The setting makes it easier to optimize the text size on multiple screens with dynamic content.

8. Better Caching

Android O provides a disk quota for cached data, as returned by getCacheQuotaBytes(File). When the operating system requires to free up disk space, it will begin by removing cached files from apps that consume more than their allocated quota. The oldest cached file (of any app) will be deleted first.

7. Autofill Framework

Repetitive tasks like sign up, login, filling credit card or account information, are sometimes really frustrating. Well, not anymore because the autofill framework feature manages the communication between the app and autofill service.

Both new as well as existing apps work with autofill framework after the user opts in to autofill. This will save time from re-typing information and minimize user input errors.

6. Pinning Widgets and Shortcuts

The latest version of Android now supports in-app pinning of widgets and shortcuts. In app, you can create pinned widgets and shortcuts for supported launchers, subject to user permission.

Like app shortcuts, pinned shortcuts allow you to quickly start a specific task in your app, but they appear in the launcher as separate icons.

5. Smart Sharing

Android O better understands each type of content and which are the right apps to share those contents. For example, if you take a selfie, Android O would suggest a social media app; if you take a photo of a receipt, it will suggest you an expense-tracking app. It also works for types of content other than image like video, audio, URL, text, and more. The system automatically learns all these patterns according to your personalized preferences.

4. Multi-Display

Android O provides enhanced support for multiple displays. That means, more than one app at a time can be displayed on your screen. Only one activity at a time can be in the resumed state, and all other will be paused, but not stopped.

Read: 29 Useful Apps for Rooted Android Devices

When you move an activity from one display to another, Android resizes the activity and issues runtime changes as required. The activity can itself handle the configuration change, or it could allow the system to kill the process (containing activity) and recreate it with the new dimensions.

3. Picture in Picture (PiP) Mode

PiP mode is introduced to Android TV with the release of Android 7.0. This year, Google is bringing the PiP mode to tablets and phones.

The new object, PictureInPictureArgs lets you specify how an activity should behave when it is in PiP mode. It specifies properties like activity’s preferred aspect ratio.

Read: 12 Best Android Testing Tools (and Frameworks)

2. Battery Life Improvement

Android O aims to improve the battery life by putting a high level of restriction on app activities when the device is sleep. These limits will be implemented in 3 major areas – background services, broadcasts and location updates. Hopefully, this doesn’t negatively impact usability.

1. Improved Notification

The notification system has been redesigned to offer easier and more consistent way to manage settings and notification behavior. They have added a “Notification Channel” feature that lets you create custom channel for each type of notification you want to display.

For example, in news app the notifications could be classified as the type of news you are following. You will be able to mute notification for specific news types, like mute politics and sports.

Read: 40+ Useful Tools for Developing Android Apps

Another cool feature is “Snooze“, that lets you snooze notifications to reappear at later time. By default, they get snoozed for 15 minutes but you can increase it to 1 hour. When notifications reappear, they will be pushed back with the same level of importance as it originally was.

The system now distinguishes whether a notification is removed by an app, or dismissed by a user. Moreover, notification using MessageStyle class shows more content in their collapsed form.