(Go: >> BACK << -|- >> HOME <<)

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

What's hot

android phone feature and value for user
android phone feature and value for userandroid phone feature and value for user
android phone feature and value for user
Sudhir Kumar
 
Android PPT
Android PPTAndroid PPT
Android PPT
Vivek Gautam
 
Android 10 released check out new features
Android 10 released  check out new featuresAndroid 10 released  check out new features
Android 10 released check out new features
Benji Harrison
 
Android ppt
Android pptAndroid ppt
Android ppt
vikramgopale2
 
Evolution of android operating system
Evolution of android operating systemEvolution of android operating system
Evolution of android operating system
Md. Abdullah Al Maruf
 
Mohit Jaiswal
Mohit JaiswalMohit Jaiswal
Mohit Jaiswal
Sunil Kumar
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial points
bsb_2209
 
Android ppt for saravanan angel
Android ppt for saravanan angelAndroid ppt for saravanan angel
Android ppt for saravanan angel
sudarsanan96
 
Android ppt
Android ppt Android ppt
Android Introduction 2013
Android Introduction 2013Android Introduction 2013
Android Introduction 2013
Bhavya Siddappa
 
Android ppt
Android pptAndroid ppt
Android Applications
Android ApplicationsAndroid Applications
Android Applications
Nazeer Hussain University
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming Seminar
Nhat Nguyen
 
Android
AndroidAndroid
Android
Tapan Khilar
 
Android OS
Android OSAndroid OS
Android OS
Nitin Ramchandani
 
Android OS by Prasad & Sarang
Android OS by Prasad & SarangAndroid OS by Prasad & Sarang
Android OS by Prasad & Sarang
Prasad Gowardhankar
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
Harshad Lokhande
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
Akshay Sharma
 
Android technology
Android technology Android technology
Android technology
vikas malviya
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
Ranjith Kumar
 

What's hot (20)

android phone feature and value for user
android phone feature and value for userandroid phone feature and value for user
android phone feature and value for user
 
Android PPT
Android PPTAndroid PPT
Android PPT
 
Android 10 released check out new features
Android 10 released  check out new featuresAndroid 10 released  check out new features
Android 10 released check out new features
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Evolution of android operating system
Evolution of android operating systemEvolution of android operating system
Evolution of android operating system
 
Mohit Jaiswal
Mohit JaiswalMohit Jaiswal
Mohit Jaiswal
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial points
 
Android ppt for saravanan angel
Android ppt for saravanan angelAndroid ppt for saravanan angel
Android ppt for saravanan angel
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Introduction 2013
Android Introduction 2013Android Introduction 2013
Android Introduction 2013
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming Seminar
 
Android
AndroidAndroid
Android
 
Android OS
Android OSAndroid OS
Android OS
 
Android OS by Prasad & Sarang
Android OS by Prasad & SarangAndroid OS by Prasad & Sarang
Android OS by Prasad & Sarang
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Android technology
Android technology Android technology
Android technology
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 

Similar to What's new in Android Pie

Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and Jetpack
Sunita Singh
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
Paris Android User Group
 
What's new in Android - Google I/O Extended Bangkok 2022
What's new in Android - Google I/O Extended Bangkok 2022What's new in Android - Google I/O Extended Bangkok 2022
What's new in Android - Google I/O Extended Bangkok 2022
Somkiat Khitwongwattana
 
android_project
android_projectandroid_project
android_project
Adit Ghosh
 
Android Development - Process & Tools
Android Development - Process & ToolsAndroid Development - Process & Tools
Android Development - Process & Tools
Lope Emano
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
Sebastian Vieira
 
Introduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google CloudIntroduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google Cloud
wesley chun
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release Notes
Konstantin Rybas
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
Reza Yogaswara
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
Manuel Carrasco Moñino
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
Akhilesh Jaiswal
 
Introduction to Gradio library in python.pptx
Introduction to Gradio library in python.pptxIntroduction to Gradio library in python.pptx
Introduction to Gradio library in python.pptx
vahid67ebrahimian
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
wesley chun
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
digitaljoni
 
Visage fx
Visage fxVisage fx
Android Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start GuideAndroid Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start Guide
Sergii Zhuk
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
Xavier Hallade
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
BeMyApp
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part
Nuxeo
 

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

Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and Jetpack
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
 
What's new in Android - Google I/O Extended Bangkok 2022
What's new in Android - Google I/O Extended Bangkok 2022What's new in Android - Google I/O Extended Bangkok 2022
What's new in Android - Google I/O Extended Bangkok 2022
 
android_project
android_projectandroid_project
android_project
 
Android Development - Process & Tools
Android Development - Process & ToolsAndroid Development - Process & Tools
Android Development - Process & Tools
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
 
Introduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google CloudIntroduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google Cloud
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release Notes
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
 
Introduction to Gradio library in python.pptx
Introduction to Gradio library in python.pptxIntroduction to Gradio library in python.pptx
Introduction to Gradio library in python.pptx
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
 
Visage fx
Visage fxVisage fx
Visage fx
 
Android Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start GuideAndroid Applications Development: A Quick Start Guide
Android Applications Development: A Quick Start Guide
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part
 

More from Hassan Abid

Improving app performance with Kotlin Coroutines
Improving app performance with Kotlin CoroutinesImproving app performance with Kotlin Coroutines
Improving app performance with Kotlin Coroutines
Hassan Abid
 
Android 101 - Kotlin ( Future of Android Development)
Android 101 - Kotlin ( Future of Android Development)Android 101 - Kotlin ( Future of Android Development)
Android 101 - Kotlin ( Future of Android Development)
Hassan Abid
 
Exploring CameraX from JetPack
Exploring CameraX from JetPackExploring CameraX from JetPack
Exploring CameraX from JetPack
Hassan Abid
 
What’s new in Android JetPack
What’s new in Android JetPackWhat’s new in Android JetPack
What’s new in Android JetPack
Hassan Abid
 
Kotlin for Android Developers
Kotlin for Android DevelopersKotlin for Android Developers
Kotlin for Android Developers
Hassan Abid
 
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture ComponentsBuilding Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture Components
Hassan Abid
 
Recap of Android Dev Summit 2018
Recap of Android Dev Summit 2018Recap of Android Dev Summit 2018
Recap of Android Dev Summit 2018
Hassan Abid
 
Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018
Hassan Abid
 
Django for mobile applications
Django for mobile applicationsDjango for mobile applications
Django for mobile applications
Hassan Abid
 
VR Video Apps on Daydream
VR Video Apps on DaydreamVR Video Apps on Daydream
VR Video Apps on Daydream
Hassan Abid
 
Best Practices in Media Playback
Best Practices in Media PlaybackBest Practices in Media Playback
Best Practices in Media Playback
Hassan Abid
 
ExoPlayer for Application developers
ExoPlayer for Application developersExoPlayer for Application developers
ExoPlayer for Application developers
Hassan Abid
 
Android n preview
Android n previewAndroid n preview
Android n preview
Hassan Abid
 
Introduction to Pakistan
Introduction to PakistanIntroduction to Pakistan
Introduction to Pakistan
Hassan Abid
 

More from Hassan Abid (14)

Improving app performance with Kotlin Coroutines
Improving app performance with Kotlin CoroutinesImproving app performance with Kotlin Coroutines
Improving app performance with Kotlin Coroutines
 
Android 101 - Kotlin ( Future of Android Development)
Android 101 - Kotlin ( Future of Android Development)Android 101 - Kotlin ( Future of Android Development)
Android 101 - Kotlin ( Future of Android Development)
 
Exploring CameraX from JetPack
Exploring CameraX from JetPackExploring CameraX from JetPack
Exploring CameraX from JetPack
 
What’s new in Android JetPack
What’s new in Android JetPackWhat’s new in Android JetPack
What’s new in Android JetPack
 
Kotlin for Android Developers
Kotlin for Android DevelopersKotlin for Android Developers
Kotlin for Android Developers
 
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture ComponentsBuilding Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture Components
 
Recap of Android Dev Summit 2018
Recap of Android Dev Summit 2018Recap of Android Dev Summit 2018
Recap of Android Dev Summit 2018
 
Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018
 
Django for mobile applications
Django for mobile applicationsDjango for mobile applications
Django for mobile applications
 
VR Video Apps on Daydream
VR Video Apps on DaydreamVR Video Apps on Daydream
VR Video Apps on Daydream
 
Best Practices in Media Playback
Best Practices in Media PlaybackBest Practices in Media Playback
Best Practices in Media Playback
 
ExoPlayer for Application developers
ExoPlayer for Application developersExoPlayer for Application developers
ExoPlayer for Application developers
 
Android n preview
Android n previewAndroid n preview
Android n preview
 
Introduction to Pakistan
Introduction to PakistanIntroduction to Pakistan
Introduction to Pakistan
 

Recently uploaded

Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdfNon-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
kalichargn70th171
 
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Misti Soneji
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava... @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava...
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
DiyaSharma6551
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
Ortus Solutions, Corp
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceMumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
kolkata dolls
 
@Call @Girls in Solapur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
 @Call @Girls in Solapur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S... @Call @Girls in Solapur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
@Call @Girls in Solapur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
Mona Rathore
 
Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01
williamrobertherman
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
DNUG e.V.
 
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
arvindkumarji156
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
Ortus Solutions, Corp
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
Ortus Solutions, Corp
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
MaisnamLuwangPibarel
 

Recently uploaded (20)

Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdfNon-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
Non-Functional Testing Guide_ Exploring Its Types, Importance and Tools.pdf
 
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava... @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava...
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceMumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
 
@Call @Girls in Solapur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
 @Call @Girls in Solapur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S... @Call @Girls in Solapur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
@Call @Girls in Solapur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class S...
 
Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
 
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
Bhiwandi @Call @Girls Whatsapp 000000000 With Best And No 1
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
 

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.