Google announced Android O developer preview on March 21, 2017. From that on there have been speculations on what is new on Android O.
Let us see in detail on what is there in Android for developers –

User Experience –
1) Picture in Picture
Available on Phones. Not just TV – Set supportsPictureInPicture to true in manifest to the activity in PiP mode
2) Color management –
Display wide gamut devices by changing the attribute in the manifest file and loading bitmap with embedded wide color profile
3) Multi display support
Multi window enabled apps will run automatically on the multi display supported devices
4) Pointer Capture –
getX and getY provides the coordinates of the mouse pointer on the view
5) App Categories –
Add android:appCategory to <application> tag in manifest file to declare category of the application
6) Android TV Launcher –
Applications can populate the content-centric TV experience by utilizing APIs provided by android O. Earlier these APIs were provided by TV providers only
7) Webview –
Google safe browsing – Enable safe browsing in manifest
8) Animator Set –
Seeking and playing in reverse – Seek to a specific point of time in the animation – Reverse animations for actions like ‘Undone’.
9) Autofill –
Service – Google provided – Custom created
Client – AutoFill API’s for custom views, opaque hierarchies
10) Fonts –
Brand new ‘Font’ directory under res folder – Font Files – Font Families
Configurable using both Layout and Code
11) Downloadable Fonts –
Supported from Google Play Services -v11
Can use 800 predefined google fonts
Configurable using both Layout and Code
12) Autosizing TextView –
Provision to set Step Increments on font size for different screen sizes/zoom levels
Configurable using both Layout and Code
All of the text view features are also available in support libraries. So these features can be supported on older android versions too. Not just Android ‘O’.
13) Accessibility Service Utilities –
Language detection
Accessibility Button
Separate volume controls
Fingerprint gestures
14) Adaptive Icons –
2 layers – Background or Foreground
Set it as manifest attributes
Same app icon can be different on different OEM’s based on the mask they use
15) Shortcuts and widgets –
Pinning shortcuts to start a specific task in a app
Pinning widgets allows you to pin app widgets from within the application scope
16)Notifications –
Notification channels are must from Android O
User can pick and choose actions on selected channels
17) Maximum Aspect Ratio –
Set maxAspectRatio in manifest file that defines the activity
18) Unified Layout margins and padding –
New property to make both sides of the view element has the same margin and padding
layout_marginVertical
layout_marginHorizontal
paddingVertical
paddingHorizontal
19) Keyboard navigation clusters –
Same group of UI elements can be grouped as clusters for faster and easy navigation
Meta+Tab or Search+Tab to navigate between clusters
System
1) Strict mode detectors –
detectUnbufferedIO
detectContentUriWithoutPermission
detectUntaggedSockets
2) Cached Data –
getCacheQuotaBytes – Cache quota as determined by OS for every app installed on the device
When the app uses cache data within the limit, then the device won’t clear the cache.
Use getAllocatableBytes rather than getUsableBytes to ensure the available size on the disk.
3) Content refresh requests –
refresh method to ensure that the request content by the app is up-to-date or not
4) findViewById signature change –
TextView TV = findViewById (R.id.mytextview) – Cast away 🙂
5) JobScheduler improvements –
Run jobs based on,
a) Storage level
b) Battery level
c) Metered network
6) Content provider paging –
Paging – Load some content at a time from a large data set
7) Custom data store –
Preferences can be stored in custom data store other than Shared Preferences
Connectivity –
1) Wi-Fi Aware –
Communicate over Wi-Fi without internet access point. NAN – Neighbor Awareness Networking – In Preview – Hardware support needed
2) Companion device pairing –
Customize pairing request while pairing over BLE, Bluetooth, Wi-Fi
3) Bluetooth –
a) BLE 5.0
b) Sony LDAC codec
c) avrcp1.4 for song-library browsing
Accessibility –
1) Accessibility Button
2) Independent volume adjustment
3) Fingerprint gestures –
Alternative input mechanism using directional swipes(up, down, left, right) on fingerprint sensors
4) Standardized – One sided ranges –
Float.NEGATIVE_INFINITY – Minimum value
Float.POSITIVE_INFINITY – Maximum value
5) Word-level highlighting
Determines the location of visible characters in TextView objects
6) Hint text
7) Continued gesture dispatch –
Indicate sequence of gestures belonging to the me programmatic gestures using will continue argument
Security& Privacy –
1) New permissions –
ANSWER_PHONE_CALLS – Programmatically answer phone calls from within the app
READ_PHONE_NUMBERS – Read access to phone numbers stored in device
2) Google safe browsing API
3) New account access and discovery APIs
addOnAccountsUpdateListener – Account types for which account changes should be received
6 new methods in AccountsManger to help authenticators manage which apps an see an account
Sharing
1) Smart sharing –
Personalized sharing experience by suggesting suitable apps to share based on type of the content
2) Smart text selection –
TextClassifiers which help the OS understand the context of the text –
a) TYPE_ADDRESS
b) TYPE_EMAIL
c) TYPE_OTHER
d) TYPE_PHONE
e) TYPE_URL
Testing
1) Instrumentation testing –
a) Run against non-default app processes
b) Report results during a test
2) Mock intents for test –
Mock the intents even before it is executed by overriding the onStartActivity method and customizing Instrumentation.ActivityResult object
RunTime and Tools –
1) Platform optimizations
Faster boot time – Better performance – Efficient use of memory
2) Updated java support
3) Updated ICU4J android framework API
Media enhancements –
1) Media Metrics-
getMetric() – Metrics about (1) Media player current state – (2) Media recorder instance – (3) Codec – (4) Container
2) Media Playback –
Improved buffering control – Specification on how much content to preload – Improved seeking functionality
3) Media Recording –
MediaMuxer – Arbitrary number of audio/video tracks can be mixed
4) Volume shaper –
Volume transitions like – Fade-ins, Fade-outs,Cross fades
5) Audio focus enhancements –
AudioFocusRequest class –
a) Automatic ducking
b) delayed focus gain
6) Audio playback control –
a) New audio usage yep for google assistant
b) Changes to device audio playback
c) Explicit request for focus
7) Improved media file access –
a) Custom document providers
b) Direct document access
c) Paths to documents

Year by year android is making the developers life easily by exposing more APIs accessible for the developers.
Happy coding with the new API’s!!!