SlideShare a Scribd company logo
What's new in Android Pie
Hassan Abid
Google Developers Expert - Android
Singapore
What’s new in Android Pie
Introduction
● Twitter : hassanabidpk
● Facebook : https://www.facebook.com/hassanabidpk89
● Google Developers Expert - Android since March 2016
● Working at Live Streaming Platform Startup in SIngapore
(BeLive.sg)
● Worked in Seoul (South Korea) for over 5 years (Video Streaming
SDK, Video Editing app)
Get App at http://belive.sg/
What's new in Android Pie
Features 1/2
● Indoor Positioning with Wi-Fi RTT
● Display Cutout
● Notifications
● Multi-camera support
● ImageDecoder for drawables and bitmaps
● Animations
Features 2/2
● HDR VP9 Video, HEIF Image Compression
● JobSchedular
● Neural Networks API 1.1
● Accessibility
● Rotation
● Text
Biggest Change??
Adaptive Battery (Read more here)
Indoor Positioning with Wi-Fi RTT
● Use Wi-Fi RTT (Round-Trip-Time) API to measure the distance to
nearby RTT-capable Wi-FI AP (also Wi-Fi Aware devices)
Requirements
● Device Must have 802.11 mcc FTM standard
● Device Must be running Android 9
● Location and Wi-Fi scanning enabled
● Must have ACCESS_FINE_LOCATION permission
● Access-Point must have IEEE 802.11mc
Advantages of Indoor Positioning
● Indoor Navigation
● Disambiguated Voice Control
● Location-based Information
● Accuracy of 1-2 meters
Developer guide here
Indoor Positioning RTT API
API Name API Level Remarks
RTT Package [doc]
WifiRttManager
28 Full support
Display Cutout
● Support latest edge-to-edge screens
● Test using Android Device or Emulator
running Android 9
● DisplayCutout class added
○ getDisplayCutout()
Display cutout (ref : link)
Display Cutout
● New Window layout attribute
layoutInDisplayCutoutMode added
<style name="ActivityTheme">
<item name="android:windowLayoutInDisplayCutoutMode">
shortEdges <!-- default, shortEdges, never -->
</item>
</style>
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGE
S
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
Best Practices
● Don't let the cutout area obscure any important text, controls,
or other information
● Avoid hard-coding the status bar height (use
WindowInsetsCompat)
● Use shortEdges or never cutout modes if your app needs to
transition into and out of fullscreen mode
● See more on Android Developers site
DisplayCutout API
API Name API Level Remarks
DisplayCutout[doc] 28 Full support
DispalyCutoutCompat[doc] Other API Levels with
androidx support library
androidx.core:core:1.0.0
Full Support
Notifications
● Starting in Android 7.0 (API level 24), you could add an
action to reply to messages
● Support for images in Android 9
● Save replies as drafts
● SmartReply
● Identify a group conversation
Notifications
// Create new Person.
val sender = Person()
.setName(name)
.setUri(uri)
.setIcon(null)
.build()
// Create image message.
val message = Message("Picture", time, sender)
.setData("image/", imageUri)
val style = Notification.MessagingStyle(getUser())
.addMessage("Check this out!", 0, sender)
.addMessage(message)
Notifications
● Android 8.0 introduced Notification Channels
● Blocking channel groups
● New broadcast intent types
○ The Android system now sends broadcast intents when the blocking
state of notification channels and channel groups’ changes
Notification API
API Name API Level Remarks
Person[doc] 28 Use with targetSDKVersion
28
Notification.MessagingStyle (Person user) 28 Other constructors are
deprecated
addMessage (CharSequence text, long
timestamp, Person sender)
28 Person Should be null for
messages by the current
use
Multi-Camera support
● On devices running Android 9, you can access streams
simultaneously from two or more physical cameras.
● Support for external USB/UVC cameras on supported
devices
● Improvements in Session Parameters to reduce delays
ImageDecoder class
● With new ImageDecoder class
○ BitmapFactory
○ BitmapFactory.Options
● Create a Drawable or Bitmap from a byte buffer, file or a
URI
● Decode using decodeDrawable() or decodeBitmap()
● Resizing, Crop, mutable bitmap APIs also available
ImageDecoder class
A class for converting encoded images (like PNG, JPEG,
WEBP, GIF, or HEIF) into Drawable or Bitmap objects.
// Step - 1 : Create a Source
// Step - 2 : Decode source
File file = new File(...);
ImageDecoder.Source source = ImageDecoder.createSource(file);
Drawable drawable = ImageDecoder.decodeDrawable(source);
ImageDecoder - Change settings
// To Change default settings pass OnHeaderDecoderListener in addition to source
// Following code shows sample image with half the width and height
OnHeaderDecodedListener listener = new OnHeaderDecodedListener() {
public void onHeaderDecoded(ImageDecoder decoder, ImageInfo info,
Source source) {
decoder.setTargetSampleSize(2);
}
};
Drawable drawable = ImageDecoder.decodeDrawable(source, listener);
ImageDecoder - GIF and WEBP
@Throws(IOException::class)
private fun decodeImage() {
val decodedAnimation = ImageDecoder.decodeDrawable(
ImageDecoder.createSource(resources, R.drawable.my_drawable))
// Prior to start(), the first frame is displayed.
(decodedAnimation as? AnimatedImageDrawable)?.start()
}
ImageDecoder - Customization
// Rounded corners
Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -> {
decoder.setPostProcessor((canvas) -> {
Path path = new Path();
path.setFillType(Path.FillType.INVERSE_EVEN_ODD);
int width = canvas.getWidth();
int height = canvas.getHeight();
path.addRoundRect(0, 0, width, height, 20, 20, Path.Direction.CW);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.TRANSPARENT);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
canvas.drawPath(path, paint);
return PixelFormat.TRANSLUCENT;
});
});
ImageDecoder
API Name API Level Remarks
ImageDecoder[doc] 28 Full support (Should use
targetSDK 28)
HDR VP9 video, HEIF Image
● Android 9 provides support for
HDR VP9 Video Profile 2
● Support for HEIF Image
● You can do a jpeg-to-heic
conversion using ImageDecoder
or BitmapFactory
Data cost sensitivity in JobScheduler
● JobScheduler is Android's central service to help you manage
scheduled tasks or work across Doze, App Standby, and
Background Limits
● In Android 9.0, Jobs can declare data size, signal prefetching
and specify network requirements
○ Provided by carrier
Neural Network API 1.1.1
● The Neural Networks API was introduced in Android 8.1
(API level 27)
● In Android 9.0, nine new APIS are added
Rotation (Behavior)
Text
● Precomputed Text
● Magnifier
● Smart linkify (TextClassifier)
● TextLayout
● Read more in this blog post
PreComputed Text
API Name API Level Remarks
PrecomputedText [doc] 28 Full Support
PrecomputedTextCompat[doc] 21-27 Use internal Text layout
cache
PrecomputedTextCompat 14 - 20 Does Nothing
Magnifier
API Name API Level Remarks
Magnifier [doc] 28 Only API Level 28 and high
TextClassifier (Smart Linkify)
API Name API Level Remarks
TextClassifier[doc] 26+ Full Support
TextView (Text Layout)
API Name API Level Remarks
TextView [doc] Target SDK : 28 New APIS : lineHeight,
firstBaselineToTopHeight,
lastBaselineToBottomHeigh
t
Slices
● Slices are UI templates that can display rich, dynamic, and
interactive content from your app from within the Google Search
app and the Google Assistant
● Developer Guide
New System Navigation
Security
● Apps no longer need to build
their own dialog--instead they
use the BiometricPrompt API to
show the standard system
dialog
● HTTPS by default
App Actions
● Developers Preview coming soon
Migrating App to Android 9.0
Checking compatibility and updating targetSdkVersion
Compatibility with
Android 9
What's new in Android Pie
Summary
Summary
● Android Pie SDK is now more Kotlin friendly
● Display Cutout
● Notifications
● TextClassifier enhancements using Machine Learning
● Slices
● ImageDecoder
● New System Navigation
● Etc.
Appendix
https://android-developers.googleblog.com/2018/08/introducing-android-9-pie.html
https://developer.android.com/about/versions/pie/android-9.0
https://developer.android.com/about/versions/pie/android-9.0-migration#bfa
https://medium.com/exploring-android/exploring-android-p-display-cutouts-42885e8a2a96
https://developer.android.com/guide/actions/
https://developer.android.com/guide/slices/
Thank You

More Related Content

PPTX
Presentation on Android
PPTX
PPT on Android
PPTX
Android history,features,applications,hardware development and versions
PPTX
Android ppt
PPSX
Android - A brief introduction
PPT
Android ppt
PPTX
Android technology prepared by Hritika Raj (Shivalik college of engg.)
PPT
Android workShop
Presentation on Android
PPT on Android
Android history,features,applications,hardware development and versions
Android ppt
Android - A brief introduction
Android ppt
Android technology prepared by Hritika Raj (Shivalik college of engg.)
Android workShop

What's hot (20)

PPTX
android phone feature and value for user
PPT
Android PPT
PDF
Android 10 released check out new features
PPTX
Android ppt
PDF
Evolution of android operating system
PPTX
Mohit Jaiswal
PDF
Android tutorial points
PPTX
Android ppt for saravanan angel
PPT
PPTX
Android Introduction 2013
PPT
PPT
Android Applications
PPTX
Android Programming Seminar
PPT
Android
PPT
Android OS
PPTX
Android OS by Prasad & Sarang
PPSX
Android OS and its Features
PPTX
Introduction to Android - Seminar
PPTX
Android technology
PPT
Introduction to Android
android phone feature and value for user
Android PPT
Android 10 released check out new features
Android ppt
Evolution of android operating system
Mohit Jaiswal
Android tutorial points
Android ppt for saravanan angel
Android Introduction 2013
Android Applications
Android Programming Seminar
Android
Android OS
Android OS by Prasad & Sarang
Android OS and its Features
Introduction to Android - Seminar
Android technology
Introduction to Android
Ad

Similar to What's new in Android Pie (20)

PDF
What's new in Android P @ I/O Extended Bangkok 2018
PPTX
Android Lollipop: The developer's perspective
PPTX
Android L and So Much More Webinar Slides
PPTX
Android L and Wear overview
PDF
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
PPTX
Getting Intimate with Images on Android with James Halpern
PPTX
Google I/O 2019 - what's new in Android Q and Jetpack
PPTX
Introduction to ICS
PDF
What's new in Android O
PDF
Google I/O 2014 Recap
PDF
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
PDF
Android development - the basics, MFF UK, 2013
PPTX
A journey through android development
PPTX
Google IO 2014 overview
PDF
Big Trouble in Little Networks, new and improved
PDF
Beating Android Fragmentation, Brett Duncavage
PDF
Android development first steps
PDF
Android development - the basics, MFF UK, 2012
PPTX
iOS 7
PDF
Developing For Android Wear - Part 2
What's new in Android P @ I/O Extended Bangkok 2018
Android Lollipop: The developer's perspective
Android L and So Much More Webinar Slides
Android L and Wear overview
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
Getting Intimate with Images on Android with James Halpern
Google I/O 2019 - what's new in Android Q and Jetpack
Introduction to ICS
What's new in Android O
Google I/O 2014 Recap
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Android development - the basics, MFF UK, 2013
A journey through android development
Google IO 2014 overview
Big Trouble in Little Networks, new and improved
Beating Android Fragmentation, Brett Duncavage
Android development first steps
Android development - the basics, MFF UK, 2012
iOS 7
Developing For Android Wear - Part 2
Ad

More from Hassan Abid (18)

PDF
[IO Extended KL] On-Device AI: Is It Time to Go All-In, or Do We Still Need t...
PDF
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
PDF
DevFest SG 2024 - What’s new in On-device Generative AI
PDF
What’s new in Android: Embracing era of Generative AI
PDF
Improving app performance with Kotlin Coroutines
PDF
Android 101 - Kotlin ( Future of Android Development)
PDF
Exploring CameraX from JetPack
PDF
What’s new in Android JetPack
PDF
Kotlin for Android Developers
PDF
Building Modern Apps using Android Architecture Components
PDF
Recap of Android Dev Summit 2018
PDF
Android Jetpack - Google IO Extended Singapore 2018
PDF
Django for mobile applications
PDF
VR Video Apps on Daydream
PDF
Best Practices in Media Playback
PDF
ExoPlayer for Application developers
PPTX
Android n preview
PDF
Introduction to Pakistan
[IO Extended KL] On-Device AI: Is It Time to Go All-In, or Do We Still Need t...
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
DevFest SG 2024 - What’s new in On-device Generative AI
What’s new in Android: Embracing era of Generative AI
Improving app performance with Kotlin Coroutines
Android 101 - Kotlin ( Future of Android Development)
Exploring CameraX from JetPack
What’s new in Android JetPack
Kotlin for Android Developers
Building Modern Apps using Android Architecture Components
Recap of Android Dev Summit 2018
Android Jetpack - Google IO Extended Singapore 2018
Django for mobile applications
VR Video Apps on Daydream
Best Practices in Media Playback
ExoPlayer for Application developers
Android n preview
Introduction to Pakistan

Recently uploaded (20)

PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Understanding Forklifts - TECH EHS Solution
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
AI in Product Development-omnex systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Introduction to Artificial Intelligence
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Transform Your Business with a Software ERP System
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Understanding Forklifts - TECH EHS Solution
PTS Company Brochure 2025 (1).pdf.......
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
AI in Product Development-omnex systems
Upgrade and Innovation Strategies for SAP ERP Customers
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
Introduction to Artificial Intelligence
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Transform Your Business with a Software ERP System
ManageIQ - Sprint 268 Review - Slide Deck
2025 Textile ERP Trends: SAP, Odoo & Oracle
How to Migrate SBCGlobal Email to Yahoo Easily
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Operating system designcfffgfgggggggvggggggggg
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

What's new in Android Pie

  • 2. Hassan Abid Google Developers Expert - Android Singapore What’s new in Android Pie
  • 3. Introduction ● Twitter : hassanabidpk ● Facebook : https://www.facebook.com/hassanabidpk89 ● Google Developers Expert - Android since March 2016 ● Working at Live Streaming Platform Startup in SIngapore (BeLive.sg) ● Worked in Seoul (South Korea) for over 5 years (Video Streaming SDK, Video Editing app)
  • 4. Get App at http://belive.sg/
  • 6. Features 1/2 ● Indoor Positioning with Wi-Fi RTT ● Display Cutout ● Notifications ● Multi-camera support ● ImageDecoder for drawables and bitmaps ● Animations
  • 7. Features 2/2 ● HDR VP9 Video, HEIF Image Compression ● JobSchedular ● Neural Networks API 1.1 ● Accessibility ● Rotation ● Text
  • 9. Indoor Positioning with Wi-Fi RTT ● Use Wi-Fi RTT (Round-Trip-Time) API to measure the distance to nearby RTT-capable Wi-FI AP (also Wi-Fi Aware devices) Requirements ● Device Must have 802.11 mcc FTM standard ● Device Must be running Android 9 ● Location and Wi-Fi scanning enabled ● Must have ACCESS_FINE_LOCATION permission ● Access-Point must have IEEE 802.11mc
  • 10. Advantages of Indoor Positioning ● Indoor Navigation ● Disambiguated Voice Control ● Location-based Information ● Accuracy of 1-2 meters Developer guide here
  • 11. Indoor Positioning RTT API API Name API Level Remarks RTT Package [doc] WifiRttManager 28 Full support
  • 12. Display Cutout ● Support latest edge-to-edge screens ● Test using Android Device or Emulator running Android 9 ● DisplayCutout class added ○ getDisplayCutout()
  • 14. Display Cutout ● New Window layout attribute layoutInDisplayCutoutMode added <style name="ActivityTheme"> <item name="android:windowLayoutInDisplayCutoutMode"> shortEdges <!-- default, shortEdges, never --> </item> </style>
  • 17. Best Practices ● Don't let the cutout area obscure any important text, controls, or other information ● Avoid hard-coding the status bar height (use WindowInsetsCompat) ● Use shortEdges or never cutout modes if your app needs to transition into and out of fullscreen mode ● See more on Android Developers site
  • 18. DisplayCutout API API Name API Level Remarks DisplayCutout[doc] 28 Full support DispalyCutoutCompat[doc] Other API Levels with androidx support library androidx.core:core:1.0.0 Full Support
  • 19. Notifications ● Starting in Android 7.0 (API level 24), you could add an action to reply to messages ● Support for images in Android 9 ● Save replies as drafts ● SmartReply ● Identify a group conversation
  • 20. Notifications // Create new Person. val sender = Person() .setName(name) .setUri(uri) .setIcon(null) .build() // Create image message. val message = Message("Picture", time, sender) .setData("image/", imageUri) val style = Notification.MessagingStyle(getUser()) .addMessage("Check this out!", 0, sender) .addMessage(message)
  • 21. Notifications ● Android 8.0 introduced Notification Channels ● Blocking channel groups ● New broadcast intent types ○ The Android system now sends broadcast intents when the blocking state of notification channels and channel groups’ changes
  • 22. Notification API API Name API Level Remarks Person[doc] 28 Use with targetSDKVersion 28 Notification.MessagingStyle (Person user) 28 Other constructors are deprecated addMessage (CharSequence text, long timestamp, Person sender) 28 Person Should be null for messages by the current use
  • 23. Multi-Camera support ● On devices running Android 9, you can access streams simultaneously from two or more physical cameras. ● Support for external USB/UVC cameras on supported devices ● Improvements in Session Parameters to reduce delays
  • 24. ImageDecoder class ● With new ImageDecoder class ○ BitmapFactory ○ BitmapFactory.Options ● Create a Drawable or Bitmap from a byte buffer, file or a URI ● Decode using decodeDrawable() or decodeBitmap() ● Resizing, Crop, mutable bitmap APIs also available
  • 25. ImageDecoder class A class for converting encoded images (like PNG, JPEG, WEBP, GIF, or HEIF) into Drawable or Bitmap objects. // Step - 1 : Create a Source // Step - 2 : Decode source File file = new File(...); ImageDecoder.Source source = ImageDecoder.createSource(file); Drawable drawable = ImageDecoder.decodeDrawable(source);
  • 26. ImageDecoder - Change settings // To Change default settings pass OnHeaderDecoderListener in addition to source // Following code shows sample image with half the width and height OnHeaderDecodedListener listener = new OnHeaderDecodedListener() { public void onHeaderDecoded(ImageDecoder decoder, ImageInfo info, Source source) { decoder.setTargetSampleSize(2); } }; Drawable drawable = ImageDecoder.decodeDrawable(source, listener);
  • 27. ImageDecoder - GIF and WEBP @Throws(IOException::class) private fun decodeImage() { val decodedAnimation = ImageDecoder.decodeDrawable( ImageDecoder.createSource(resources, R.drawable.my_drawable)) // Prior to start(), the first frame is displayed. (decodedAnimation as? AnimatedImageDrawable)?.start() }
  • 28. ImageDecoder - Customization // Rounded corners Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -> { decoder.setPostProcessor((canvas) -> { Path path = new Path(); path.setFillType(Path.FillType.INVERSE_EVEN_ODD); int width = canvas.getWidth(); int height = canvas.getHeight(); path.addRoundRect(0, 0, width, height, 20, 20, Path.Direction.CW); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.TRANSPARENT); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC)); canvas.drawPath(path, paint); return PixelFormat.TRANSLUCENT; }); });
  • 29. ImageDecoder API Name API Level Remarks ImageDecoder[doc] 28 Full support (Should use targetSDK 28)
  • 30. HDR VP9 video, HEIF Image ● Android 9 provides support for HDR VP9 Video Profile 2 ● Support for HEIF Image ● You can do a jpeg-to-heic conversion using ImageDecoder or BitmapFactory
  • 31. Data cost sensitivity in JobScheduler ● JobScheduler is Android's central service to help you manage scheduled tasks or work across Doze, App Standby, and Background Limits ● In Android 9.0, Jobs can declare data size, signal prefetching and specify network requirements ○ Provided by carrier
  • 32. Neural Network API 1.1.1 ● The Neural Networks API was introduced in Android 8.1 (API level 27) ● In Android 9.0, nine new APIS are added
  • 34. Text ● Precomputed Text ● Magnifier ● Smart linkify (TextClassifier) ● TextLayout ● Read more in this blog post
  • 35. PreComputed Text API Name API Level Remarks PrecomputedText [doc] 28 Full Support PrecomputedTextCompat[doc] 21-27 Use internal Text layout cache PrecomputedTextCompat 14 - 20 Does Nothing
  • 36. Magnifier API Name API Level Remarks Magnifier [doc] 28 Only API Level 28 and high
  • 37. TextClassifier (Smart Linkify) API Name API Level Remarks TextClassifier[doc] 26+ Full Support
  • 38. TextView (Text Layout) API Name API Level Remarks TextView [doc] Target SDK : 28 New APIS : lineHeight, firstBaselineToTopHeight, lastBaselineToBottomHeigh t
  • 39. Slices ● Slices are UI templates that can display rich, dynamic, and interactive content from your app from within the Google Search app and the Google Assistant ● Developer Guide
  • 41. Security ● Apps no longer need to build their own dialog--instead they use the BiometricPrompt API to show the standard system dialog ● HTTPS by default
  • 42. App Actions ● Developers Preview coming soon
  • 43. Migrating App to Android 9.0 Checking compatibility and updating targetSdkVersion
  • 47. Summary ● Android Pie SDK is now more Kotlin friendly ● Display Cutout ● Notifications ● TextClassifier enhancements using Machine Learning ● Slices ● ImageDecoder ● New System Navigation ● Etc.