SlideShare a Scribd company logo
What’s new in lollipop? 
The most important things you did not know about 
.(by Royi Benyossef (+royiby
Who? 
Royi benyossef. 
● Android developer since 2008. 
● GDG Herzeliya co-founder. 
● Android speaker and lecturer. 
● Android Mentor at CampusTLV. 
● Android GDE 2013, 2014. 
● Android group leader at Vidmind. 
Shameless plug by Royi Benyossef (+royiby).
Motivation 
What’s new in lollipop?
Motivation 
What’s new in lollipop?
What most people know? 
What’s new in lollipop?
What most people know? 
Material design. 
What’s new in lollipop?
What most people know? 
Material design. 
What’s new in lollipop?
What most people know? 
Android TV. 
What’s new in lollipop?
What most people know? 
Android TV. 
What’s new in lollipop?
What most people know? 
Android Auto. 
What’s new in lollipop?
What most people know? 
Android AUTO. 
What’s new in lollipop?
What most people know? 
ART. 
What’s new in lollipop?
What most people know? 
ART 
What’s new in lollipop?
What most people know? 
Project Volta. 
What’s new in lollipop?
What most people know? 
Project Volta. 
What’s new in lollipop?
What most people know? 
More than 5000 APIs were changed. 
What’s new in lollipop?
What most people know? 
More than 5000 APIs were changed. 
What’s new in lollipop?
Enough! 
What’s new in lollipop?
Point. 
● Most people know: 
○ Very little. 
○ Titles only. 
○ No action items. 
What’s new in lollipop?
Point. 
Is that helpful? 
What’s new in lollipop?
Point. 
What’s new in lollipop?
Let’s get started. 
Down to 
business. 
What’s new in lollipop?
Security 
Few changes to make your app and 
the device safer. 
What’s new in lollipop?
Security - Service 
Context.bindService() 
Requires explicit intent (no intent filters) 
What’s new in lollipop?
Security - Token 
MediaSession.Token 
Identifies a MediaSession securely and 
with thread safety. 
What’s new in lollipop?
Security - WebView 
API level 21: 
● No cookies! 
● No Mixed content! 
What’s new in lollipop?
Security - WebView 
API level 21: 
● setAcceptThirdPartyCookies() 
● setMixedContentMode() 
What’s new in lollipop?
Security - WebView 
API < 21: 
● Allows cookies and mixed content. 
● All content loaded at once. 
What’s new in lollipop?
Security - WebView 
API level 21: 
● Can load all content at once. 
enableSlowWholeDocumentDraw() 
What’s new in lollipop?
Security - permissions 
Custom permissions uniqueness is checked 
cross apps. 
What’s new in lollipop?
Security - permissions 
Only one app can use a custom permission 
at a time. 
What’s new in lollipop?
Security - TLS/SSL 
● TLSv1.2, TLSv1.1 
● Cipher suites: 
a. AES-GCM (AEAD). 
b. MD5, 3DES, export, and static key ECDH. 
c. Forward Secrecy (ECDHE and DHE). 
What’s new in lollipop?
Security - Provisioning 
Device admin. 
Control provisioning of apps on device. 
What’s new in lollipop?
Security - Admin 
ACTION_PROVISION_MANAGED_PROFIL 
E 
Intent to trigger provision apps and actions. 
What’s new in lollipop?
Security - Admin 
onProfileProvisioningComplete() 
callback event for provisioning completion. 
What’s new in lollipop?
Security - Admin 
setProfileEnabled() 
enableSystemApp() 
Actions possible upon provisioning. 
What’s new in lollipop?
Security - Provisioning 
Device owner. 
Mainly for education, allows controlling devices 
operations remotely. 
What’s new in lollipop?
Security - owner 
Screen pinning 
Temporary restriction of users. 
● Status bar blank. 
● No notifications. 
● Home & recents are hidden. 
● User locked in app. 
What’s new in lollipop?
Security - owner 
Manual Screen pinning 
Settings > Security > Screen Pinning 
What’s new in lollipop?
Security - owner 
Programmatic Screen pinning 
● startLockTask() 
● setLockTaskPackages() 
What’s new in lollipop?
Security 
Concept: 
● More control. 
● more security. 
● Better tools. 
What’s new in lollipop?
User interface 
Changes and updates to facilitate better UI 
and UX. 
What’s new in lollipop?
UI - documents 
concept: Facilitating multitasking and 
easing use by easy switching between 
concurrent activities. 
What’s new in lollipop?
UI - documents 
How do i create a new document? 
What’s new in lollipop?
UI - documents 
startActivity() + 
FLAG_ACTIVITY_NEW_DOCUMENT 
= new document. 
What’s new in lollipop?
UI - documents 
<activity> + 
documentLaunchMode = intoExisting 
= new document (refreshes existing). 
What’s new in lollipop?
UI - documents 
<activity> + 
documentLaunchMode = always 
= new document (start new one - 
ALWAYS). 
What’s new in lollipop?
UI - documents 
Some attributes to use. 
What’s new in lollipop?
UI - documents 
<application>+android:maxRecents 
Limit max instances. 
What’s new in lollipop?
UI - documents 
<application>+ 
android:persistableMode 
Do you want state to persist across 
reboots? 
What’s new in lollipop?
UI - documents 
setTaskDescription() 
Do you want the activity to look different 
once called from 
recents? 
What’s new in lollipop?
UI - WebView 
Version: 
Chromium M37. 
Default header-agent: 
37.0.0.0. 
What’s new in lollipop?
UI - WebView 
Concept: 
● security. 
● access. 
What’s new in lollipop?
UI - WebView 
PermissionRequest 
Allows access to secured hardware 
(camera, microphone). 
What’s new in lollipop?
UI - WebView 
onShowFileChooser() 
Allows access to images and files 
from storage. 
What’s new in lollipop?
UI - capturing & sharing 
Concept: capture screen easily and 
securely for better sharing. 
What’s new in lollipop?
UI - capturing & sharing 
createScreenCaptureIntent() 
Ask permission to capture display. 
What’s new in lollipop?
UI - capturing & sharing 
createVirtualDisplay() 
Capture content. 
What’s new in lollipop?
UI - Material design 
Concept: create real-looking UI and 
UX. 
What’s new in lollipop?
UI - Material design 
RecyclerView 
Like ListView only without pulling your 
hairs out. 
What’s new in lollipop?
UI - Material design 
View shadows: 
consistent to elevations 
just like real life. 
What’s new in lollipop?
UI - Material design 
Transition animations and effects: 
Fun. 
Dynamic. 
Flowing. 
What’s new in lollipop?
UI - Material design 
View state based property 
animators: 
Control your animations better for a 
stronger effect. 
What’s new in lollipop?
UI - Material design 
XML vector graphics: 
Make your designers happy. 
What’s new in lollipop?
UI - Material design 
Image color detection: 
Color your app according to the 
content! 
What’s new in lollipop?
UI - Material design 
Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { 
public void onGenerated(Palette palette) { 
// Do something with colors... 
} 
}); 
What’s new in lollipop?
Notifications 
More secure. 
More places. 
More actions. 
What’s new in lollipop?
Lock screen Notifications 
setVisibility() 
Sets the desired privacy level. 
What’s new in lollipop?
Lock screen Notifications 
VISIBILITY_PUBLIC 
Shows everything. 
What’s new in lollipop?
Lock screen Notifications 
VISIBILITY_SECRET 
Shows nothing (not even the icon). 
What’s new in lollipop?
Lock screen Notifications 
VISIBILITY_PRIVATE 
Shows basic information. 
Allows alternate message with; 
setPublicVersion() 
What’s new in lollipop?
Notifications meta data 
New data to be set in notifications. 
What’s new in lollipop?
Notifications meta data 
setCategory() 
How to handle your notification in priority 
mode. 
What’s new in lollipop?
Notifications meta data 
setPriority() 
Example: MAX or high priority will appear in a 
small popup. 
What’s new in lollipop?
Notifications meta data 
addPerson() 
Connect notification to a person and not an 
app. 
What’s new in lollipop?
Tools and APIs. 
Infrastructural API changes for efficiency, 
performance and security. 
What’s new in lollipop?
Project Volta 
Helps developers preserve battery life. 
What’s new in lollipop?
Project Volta 
● JobScheduler (+ JobInfo). 
Request system to schedule jobs by event, 
urgency or deadline. 
What’s new in lollipop?
Project Volta 
JobInfo uploadTask = new JobInfo.Builder(mJobId, 
mServiceComponent /* JobService component */) 
.setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED) 
.build(); 
JobScheduler jobScheduler = 
(JobScheduler) 
context.getSystemService(Context.JOB_SCHEDULER_SERVICE); 
jobScheduler.schedule(uploadTask); 
What’s new in lollipop?
Project Volta 
● Battery Historian & dumpsys batterystat. 
○ Battery history & projection. 
○ Mobile ms per packet. 
*https://github.com/google/battery-historian 
What’s new in lollipop?
Project Volta 
$ adb shell dumpsys batterystats --charged <package-name> 
What’s new in lollipop?
Project Volta 
What’s new in lollipop? 
What’s in it 
for me?
Volta - motivation 
● Growth in wearables usage. 
● Better battery usage stats on devices. 
What’s new in lollipop?
Graphics 
Concept: OpenGL ES 3.1++ 
What’s new in lollipop?
Graphics - OpenGL ES 3.1 
● Compute Shaders. 
● Separate shader objects. 
● Indirect drawing. 
● Textures (stencils and multisample). 
What’s new in lollipop?
Graphics - OpenGL ES 3.1 
<manifest> 
<uses-feature android:glEsVersion="0x00030001" /> 
... 
</manifest> 
What’s new in lollipop?
Graphics - Android ext. pack 
● Fragment shader support. 
● Tessellation & Geometry shaders. 
● ASTC (LDR) texture support. 
● Per-shader actions and blend modes. 
What’s new in lollipop?
Graphics - OpenGL ES 3.1 
<manifest> 
<uses-feature 
android:name=“android.hardware.opengles.aep” 
android:required="true" /> 
... 
</manifest> 
What’s new in lollipop?
ART 
● AOD compilation. 
● Improved GC. 
What’s new in lollipop?
ART - at risk 
● JNI with C/C++. 
● Non-standard tools. 
● Obfuscators. 
What’s new in lollipop?
64-bit NDK 
● Full 32-bit support. 
● increased address space. 
● improved performance: 
○ OpenGL ES (3.1). 
○ OpenSSL. 
What’s new in lollipop?
Media 
What’s new in lollipop?
Media - Camera 
Concept: 
● Backward compatible 
● Easy to use. 
● Async. 
● Threadsafe. 
What’s new in lollipop?
Media - Camera 
● Get cameras. 
getCameraIdList() 
What’s new in lollipop?
Media - Camera 
● Use a camera. 
openCamera() 
What’s new in lollipop?
Media - Camera 
● Create a session (single-shot, burst, etc.). 
CameraCaptureSession 
What’s new in lollipop?
Media - Camera 
● Get notified when a picture is captured 
with the result. 
CameraCaptureSession.CaptureCallback 
onCaptureCompleted() 
CaptureResult 
What’s new in lollipop?
Media - Camera 
● Be aware of the hardware. 
CameraCharacteristics 
INFO_SUPPORTED_HARDWARE_LEVEL 
What’s new in lollipop?
Media - Camera 
INFO_SUPPORTED_HARDWARE_LEVEL_LEGA 
CY 
Minimum support (like old Camera API) 
What’s new in lollipop?
Media - Camera 
INFO_SUPPORTED_HARDWARE_LEVEL_FUL 
L 
Full support: 
● Manual control. 
● Post processing. 
● HD. 
● High frame rates. 
What’s new in lollipop?
Media - Audio 
Concept: 
● Accurate. 
● Convenient. 
● Efficient. 
What’s new in lollipop?
Media - Audio 
AudioTrack 
Supply data in ENCODING_PCM_FLOAT 
format for accuracy and as a ByteBuffer. 
What’s new in lollipop?
Media - Audio 
AudioTrack 
Supply as a ByteBuffer for convenience. 
What’s new in lollipop?
Media - Audio 
AudioTrack 
Use WRITE_NON_BLOCKING for easy 
buffering and multithreading. 
What’s new in lollipop?
Media - playback control 
RemoteControlClient is dead, long 
live MediaSession and 
MediaController!!! 
What’s new in lollipop?
Media - playback control 
MediaSession 
Unified interface for all playback controls on 
Wear, TV and more. 
What’s new in lollipop?
Media - playback control 
MediaSession.Token 
Identifies a MediaSession securely and 
with thread safety. 
What’s new in lollipop?
Media - playback control 
MediaController.TransportControls 
sends actions. 
What’s new in lollipop?
Media - playback control 
MediaController.Callback. 
gets responses. 
What’s new in lollipop?
Media - Browsing 
Browse the content library of any app 
that allows it. 
What’s new in lollipop?
Media - Browsing 
MediaBrowserService 
Create a MediaSession identified by a 
MediaSession.Token to connect to a 
MediaBrowser. 
What’s new in lollipop?
Storage 
Concept: 
From files to documents. 
What’s new in lollipop?
Storage 
DocumentsProvider 
Handles access to all documents in 
the system. 
What’s new in lollipop?
Storage 
OPEN_DOCUMENT_TREE 
Intent filter to open a directory. 
What’s new in lollipop?
Storage 
buildChildDocumentsUriUsingTree() 
buildDocumentUriUsingTree() 
Browse documents. 
What’s new in lollipop?
Storage 
createDocument() 
renameDocument() 
deleteDocument() 
Guess! 
What’s new in lollipop?
Storage 
MediaScannerConnection 
Scan for new content on device. 
What’s new in lollipop?
Connectivity 
Concept: 
redundancy and energy efficiency. 
What’s new in lollipop?
Connectivity - multiple 
Concept: 
Scan for best network and connect 
to more than one dynamically. 
What’s new in lollipop?
Connectivity - multiple 
ConnectivityManager.NetworkCallback 
Get results for an applicable 
NetworkRequest. 
What’s new in lollipop?
Connectivity - multiple 
requestNetwork() 
Connect upon discovery. 
What’s new in lollipop?
Connectivity - multiple 
registerNetworkCallback() 
Get notified upon discovery. 
What’s new in lollipop?
Connectivity - multiple 
onAvailable() + Network 
Get information regarding found network 
upon discovery. 
What’s new in lollipop?
Connectivity - BLE 
Concept: you can be a Bluetooth 
low energy peripheral device. 
*BLUETOOTH_ADMIN 
What’s new in lollipop?
Connectivity - BLE 
startAdvertising() + AdvertiseCallback 
Advertise yourself. 
What’s new in lollipop?
Connectivity - BLE 
ScanFilter + startScan() + ScanCallback 
Search for others. 
What’s new in lollipop?
Connectivity - NFC 
Concept: 
Less hassle, more punch. 
What’s new in lollipop?
Connectivity - NFC 
invokeBeam() 
Beam called, no tap required. 
What’s new in lollipop?
Connectivity - NFC 
createTextRecord() 
Create an NDEF record with UTF-8 
What’s new in lollipop?
Connectivity - NFC 
registerAidsForService() + 
setPreferredService() 
Register an AID (NFC app ID) dynamically. 
What’s new in lollipop?
Printing frameworks. 
Concept: better enterprise 
capabilities. 
What’s new in lollipop?
Printing frameworks. 
Render PDF as bitmap with 
PdfRenderer 
What’s new in lollipop?
Developer perks 
A few updates for testing, statistics 
and accessibility. 
What’s new in lollipop?
App usage stats. 
Concept: 
Knowledge is power. 
What’s new in lollipop?
App usage stats. 
android.permission.PACKAGE_USAGE_STA 
TS 
● Last usage. 
● total uptime. 
● Last time in foreground. 
● Last config change. 
What’s new in lollipop?
Testing 
Concept: 
Testing makes perfect. 
What’s new in lollipop?
Testing 
getWindowAnimationFrameStats() 
getWindowContentFrameStats() 
frame statistics for instrumentation tests. 
What’s new in lollipop?
Testing 
executeShellCommand() 
adb for instrumentation tests. 
What’s new in lollipop?
Accessibility 
Concept: 
More clients… more money. 
What’s new in lollipop?
Accessibility - details 
UiAutomator.getWindows() 
Details about what the user “sees”. 
What’s new in lollipop?
Accessibility - actions 
AccessibilityNodeInfo.AccessibilityAction 
actions (custom and standard) to be defined 
to take place on AccessibilityNodeInfo 
What’s new in lollipop?
Accessibility - voice 
New Voice class with locale specific 
profiles for better voice recognition. 
What’s new in lollipop?
● A lot is different. 
Key points 
Hybrid apps - what, when and why?
“We Should Be Building Great Things. 
Things That Don’t yet Exist”
I hope you liked it. 
Thank you for listening 
by Royi Benyossef

More Related Content

PDF
Android Marsh mellow
PPTX
The marsh mallow
PDF
The App Developer's Guide to Android Lollipop
PPTX
Android technology and Information with Presentation Project.
PDF
Android Marshmallow demos
PPTX
Android Lollipop: The developer's perspective
PDF
Android nougat 7.1 | Top Mobile App Development Company
PPTX
Android technology by #Manoj_Rockstar
Android Marsh mellow
The marsh mallow
The App Developer's Guide to Android Lollipop
Android technology and Information with Presentation Project.
Android Marshmallow demos
Android Lollipop: The developer's perspective
Android nougat 7.1 | Top Mobile App Development Company
Android technology by #Manoj_Rockstar

Viewers also liked (10)

PPTX
Nougat 7.0 seminar
PDF
Android N is now Android Nougat
PPTX
android technology presentation
PPTX
Google Android 7.0 Nougat History Features and more
PPTX
Android OS Presentation
PPTX
My presentation on Android in my college
PPTX
Android seminar ppt
PPT
Android seminar-presentation
PPTX
Disaster Risk Reduction and Management
PPTX
Presentation on Android operating system
Nougat 7.0 seminar
Android N is now Android Nougat
android technology presentation
Google Android 7.0 Nougat History Features and more
Android OS Presentation
My presentation on Android in my college
Android seminar ppt
Android seminar-presentation
Disaster Risk Reduction and Management
Presentation on Android operating system
Ad

Similar to Android lollipop for developers (20)

PDF
What's new in Android Lollipop
PPTX
Android lollipop
PPTX
Andriod Lollipop 5.0
PPTX
Android lollipop 5.0
PPTX
Android ch2..pptx
PPTX
Android L
PPTX
ANDROID 5.0, LOLLIPOP
PDF
ANDROID APP DEVELOPMENT
PPTX
Versions of Android OS
PPTX
Android L and Wear overview
PPTX
Android L and So Much More Webinar Slides
PPTX
Presentation366
PDF
Android Lollipop and Material Design
PPTX
Ultimate android app development course
PDF
Lick my Lollipop
PDF
PDF
Embedded Android Workshop with Nougat
PPTX
Android
PPTX
Prasad ppt
PDF
Embedded Android Workshop with Oreo
What's new in Android Lollipop
Android lollipop
Andriod Lollipop 5.0
Android lollipop 5.0
Android ch2..pptx
Android L
ANDROID 5.0, LOLLIPOP
ANDROID APP DEVELOPMENT
Versions of Android OS
Android L and Wear overview
Android L and So Much More Webinar Slides
Presentation366
Android Lollipop and Material Design
Ultimate android app development course
Lick my Lollipop
Embedded Android Workshop with Nougat
Android
Prasad ppt
Embedded Android Workshop with Oreo
Ad

More from Royi benyossef (8)

PDF
Are you experienced (cont.)
PDF
Product mix&match - a technology HLD overview with a case-study example
PDF
Are you experienced
PDF
All aboard
PDF
From user journey to prototyping
PDF
With a little help from my libs
PPTX
Bi design
PDF
Learn to accel(erate)
Are you experienced (cont.)
Product mix&match - a technology HLD overview with a case-study example
Are you experienced
All aboard
From user journey to prototyping
With a little help from my libs
Bi design
Learn to accel(erate)

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
medical staffing services at VALiNTRY
PDF
Digital Strategies for Manufacturing Companies
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
AI in Product Development-omnex systems
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Introduction to Artificial Intelligence
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
history of c programming in notes for students .pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
L1 - Introduction to python Backend.pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
System and Network Administration Chapter 2
Operating system designcfffgfgggggggvggggggggg
medical staffing services at VALiNTRY
Digital Strategies for Manufacturing Companies
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
How to Migrate SBCGlobal Email to Yahoo Easily
AI in Product Development-omnex systems
PTS Company Brochure 2025 (1).pdf.......
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms II-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
Introduction to Artificial Intelligence
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
CHAPTER 2 - PM Management and IT Context
history of c programming in notes for students .pptx
Reimagine Home Health with the Power of Agentic AI​
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
L1 - Introduction to python Backend.pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
System and Network Administration Chapter 2

Android lollipop for developers

  • 1. What’s new in lollipop? The most important things you did not know about .(by Royi Benyossef (+royiby
  • 2. Who? Royi benyossef. ● Android developer since 2008. ● GDG Herzeliya co-founder. ● Android speaker and lecturer. ● Android Mentor at CampusTLV. ● Android GDE 2013, 2014. ● Android group leader at Vidmind. Shameless plug by Royi Benyossef (+royiby).
  • 3. Motivation What’s new in lollipop?
  • 4. Motivation What’s new in lollipop?
  • 5. What most people know? What’s new in lollipop?
  • 6. What most people know? Material design. What’s new in lollipop?
  • 7. What most people know? Material design. What’s new in lollipop?
  • 8. What most people know? Android TV. What’s new in lollipop?
  • 9. What most people know? Android TV. What’s new in lollipop?
  • 10. What most people know? Android Auto. What’s new in lollipop?
  • 11. What most people know? Android AUTO. What’s new in lollipop?
  • 12. What most people know? ART. What’s new in lollipop?
  • 13. What most people know? ART What’s new in lollipop?
  • 14. What most people know? Project Volta. What’s new in lollipop?
  • 15. What most people know? Project Volta. What’s new in lollipop?
  • 16. What most people know? More than 5000 APIs were changed. What’s new in lollipop?
  • 17. What most people know? More than 5000 APIs were changed. What’s new in lollipop?
  • 18. Enough! What’s new in lollipop?
  • 19. Point. ● Most people know: ○ Very little. ○ Titles only. ○ No action items. What’s new in lollipop?
  • 20. Point. Is that helpful? What’s new in lollipop?
  • 21. Point. What’s new in lollipop?
  • 22. Let’s get started. Down to business. What’s new in lollipop?
  • 23. Security Few changes to make your app and the device safer. What’s new in lollipop?
  • 24. Security - Service Context.bindService() Requires explicit intent (no intent filters) What’s new in lollipop?
  • 25. Security - Token MediaSession.Token Identifies a MediaSession securely and with thread safety. What’s new in lollipop?
  • 26. Security - WebView API level 21: ● No cookies! ● No Mixed content! What’s new in lollipop?
  • 27. Security - WebView API level 21: ● setAcceptThirdPartyCookies() ● setMixedContentMode() What’s new in lollipop?
  • 28. Security - WebView API < 21: ● Allows cookies and mixed content. ● All content loaded at once. What’s new in lollipop?
  • 29. Security - WebView API level 21: ● Can load all content at once. enableSlowWholeDocumentDraw() What’s new in lollipop?
  • 30. Security - permissions Custom permissions uniqueness is checked cross apps. What’s new in lollipop?
  • 31. Security - permissions Only one app can use a custom permission at a time. What’s new in lollipop?
  • 32. Security - TLS/SSL ● TLSv1.2, TLSv1.1 ● Cipher suites: a. AES-GCM (AEAD). b. MD5, 3DES, export, and static key ECDH. c. Forward Secrecy (ECDHE and DHE). What’s new in lollipop?
  • 33. Security - Provisioning Device admin. Control provisioning of apps on device. What’s new in lollipop?
  • 34. Security - Admin ACTION_PROVISION_MANAGED_PROFIL E Intent to trigger provision apps and actions. What’s new in lollipop?
  • 35. Security - Admin onProfileProvisioningComplete() callback event for provisioning completion. What’s new in lollipop?
  • 36. Security - Admin setProfileEnabled() enableSystemApp() Actions possible upon provisioning. What’s new in lollipop?
  • 37. Security - Provisioning Device owner. Mainly for education, allows controlling devices operations remotely. What’s new in lollipop?
  • 38. Security - owner Screen pinning Temporary restriction of users. ● Status bar blank. ● No notifications. ● Home & recents are hidden. ● User locked in app. What’s new in lollipop?
  • 39. Security - owner Manual Screen pinning Settings > Security > Screen Pinning What’s new in lollipop?
  • 40. Security - owner Programmatic Screen pinning ● startLockTask() ● setLockTaskPackages() What’s new in lollipop?
  • 41. Security Concept: ● More control. ● more security. ● Better tools. What’s new in lollipop?
  • 42. User interface Changes and updates to facilitate better UI and UX. What’s new in lollipop?
  • 43. UI - documents concept: Facilitating multitasking and easing use by easy switching between concurrent activities. What’s new in lollipop?
  • 44. UI - documents How do i create a new document? What’s new in lollipop?
  • 45. UI - documents startActivity() + FLAG_ACTIVITY_NEW_DOCUMENT = new document. What’s new in lollipop?
  • 46. UI - documents <activity> + documentLaunchMode = intoExisting = new document (refreshes existing). What’s new in lollipop?
  • 47. UI - documents <activity> + documentLaunchMode = always = new document (start new one - ALWAYS). What’s new in lollipop?
  • 48. UI - documents Some attributes to use. What’s new in lollipop?
  • 49. UI - documents <application>+android:maxRecents Limit max instances. What’s new in lollipop?
  • 50. UI - documents <application>+ android:persistableMode Do you want state to persist across reboots? What’s new in lollipop?
  • 51. UI - documents setTaskDescription() Do you want the activity to look different once called from recents? What’s new in lollipop?
  • 52. UI - WebView Version: Chromium M37. Default header-agent: 37.0.0.0. What’s new in lollipop?
  • 53. UI - WebView Concept: ● security. ● access. What’s new in lollipop?
  • 54. UI - WebView PermissionRequest Allows access to secured hardware (camera, microphone). What’s new in lollipop?
  • 55. UI - WebView onShowFileChooser() Allows access to images and files from storage. What’s new in lollipop?
  • 56. UI - capturing & sharing Concept: capture screen easily and securely for better sharing. What’s new in lollipop?
  • 57. UI - capturing & sharing createScreenCaptureIntent() Ask permission to capture display. What’s new in lollipop?
  • 58. UI - capturing & sharing createVirtualDisplay() Capture content. What’s new in lollipop?
  • 59. UI - Material design Concept: create real-looking UI and UX. What’s new in lollipop?
  • 60. UI - Material design RecyclerView Like ListView only without pulling your hairs out. What’s new in lollipop?
  • 61. UI - Material design View shadows: consistent to elevations just like real life. What’s new in lollipop?
  • 62. UI - Material design Transition animations and effects: Fun. Dynamic. Flowing. What’s new in lollipop?
  • 63. UI - Material design View state based property animators: Control your animations better for a stronger effect. What’s new in lollipop?
  • 64. UI - Material design XML vector graphics: Make your designers happy. What’s new in lollipop?
  • 65. UI - Material design Image color detection: Color your app according to the content! What’s new in lollipop?
  • 66. UI - Material design Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { public void onGenerated(Palette palette) { // Do something with colors... } }); What’s new in lollipop?
  • 67. Notifications More secure. More places. More actions. What’s new in lollipop?
  • 68. Lock screen Notifications setVisibility() Sets the desired privacy level. What’s new in lollipop?
  • 69. Lock screen Notifications VISIBILITY_PUBLIC Shows everything. What’s new in lollipop?
  • 70. Lock screen Notifications VISIBILITY_SECRET Shows nothing (not even the icon). What’s new in lollipop?
  • 71. Lock screen Notifications VISIBILITY_PRIVATE Shows basic information. Allows alternate message with; setPublicVersion() What’s new in lollipop?
  • 72. Notifications meta data New data to be set in notifications. What’s new in lollipop?
  • 73. Notifications meta data setCategory() How to handle your notification in priority mode. What’s new in lollipop?
  • 74. Notifications meta data setPriority() Example: MAX or high priority will appear in a small popup. What’s new in lollipop?
  • 75. Notifications meta data addPerson() Connect notification to a person and not an app. What’s new in lollipop?
  • 76. Tools and APIs. Infrastructural API changes for efficiency, performance and security. What’s new in lollipop?
  • 77. Project Volta Helps developers preserve battery life. What’s new in lollipop?
  • 78. Project Volta ● JobScheduler (+ JobInfo). Request system to schedule jobs by event, urgency or deadline. What’s new in lollipop?
  • 79. Project Volta JobInfo uploadTask = new JobInfo.Builder(mJobId, mServiceComponent /* JobService component */) .setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED) .build(); JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE); jobScheduler.schedule(uploadTask); What’s new in lollipop?
  • 80. Project Volta ● Battery Historian & dumpsys batterystat. ○ Battery history & projection. ○ Mobile ms per packet. *https://github.com/google/battery-historian What’s new in lollipop?
  • 81. Project Volta $ adb shell dumpsys batterystats --charged <package-name> What’s new in lollipop?
  • 82. Project Volta What’s new in lollipop? What’s in it for me?
  • 83. Volta - motivation ● Growth in wearables usage. ● Better battery usage stats on devices. What’s new in lollipop?
  • 84. Graphics Concept: OpenGL ES 3.1++ What’s new in lollipop?
  • 85. Graphics - OpenGL ES 3.1 ● Compute Shaders. ● Separate shader objects. ● Indirect drawing. ● Textures (stencils and multisample). What’s new in lollipop?
  • 86. Graphics - OpenGL ES 3.1 <manifest> <uses-feature android:glEsVersion="0x00030001" /> ... </manifest> What’s new in lollipop?
  • 87. Graphics - Android ext. pack ● Fragment shader support. ● Tessellation & Geometry shaders. ● ASTC (LDR) texture support. ● Per-shader actions and blend modes. What’s new in lollipop?
  • 88. Graphics - OpenGL ES 3.1 <manifest> <uses-feature android:name=“android.hardware.opengles.aep” android:required="true" /> ... </manifest> What’s new in lollipop?
  • 89. ART ● AOD compilation. ● Improved GC. What’s new in lollipop?
  • 90. ART - at risk ● JNI with C/C++. ● Non-standard tools. ● Obfuscators. What’s new in lollipop?
  • 91. 64-bit NDK ● Full 32-bit support. ● increased address space. ● improved performance: ○ OpenGL ES (3.1). ○ OpenSSL. What’s new in lollipop?
  • 92. Media What’s new in lollipop?
  • 93. Media - Camera Concept: ● Backward compatible ● Easy to use. ● Async. ● Threadsafe. What’s new in lollipop?
  • 94. Media - Camera ● Get cameras. getCameraIdList() What’s new in lollipop?
  • 95. Media - Camera ● Use a camera. openCamera() What’s new in lollipop?
  • 96. Media - Camera ● Create a session (single-shot, burst, etc.). CameraCaptureSession What’s new in lollipop?
  • 97. Media - Camera ● Get notified when a picture is captured with the result. CameraCaptureSession.CaptureCallback onCaptureCompleted() CaptureResult What’s new in lollipop?
  • 98. Media - Camera ● Be aware of the hardware. CameraCharacteristics INFO_SUPPORTED_HARDWARE_LEVEL What’s new in lollipop?
  • 99. Media - Camera INFO_SUPPORTED_HARDWARE_LEVEL_LEGA CY Minimum support (like old Camera API) What’s new in lollipop?
  • 100. Media - Camera INFO_SUPPORTED_HARDWARE_LEVEL_FUL L Full support: ● Manual control. ● Post processing. ● HD. ● High frame rates. What’s new in lollipop?
  • 101. Media - Audio Concept: ● Accurate. ● Convenient. ● Efficient. What’s new in lollipop?
  • 102. Media - Audio AudioTrack Supply data in ENCODING_PCM_FLOAT format for accuracy and as a ByteBuffer. What’s new in lollipop?
  • 103. Media - Audio AudioTrack Supply as a ByteBuffer for convenience. What’s new in lollipop?
  • 104. Media - Audio AudioTrack Use WRITE_NON_BLOCKING for easy buffering and multithreading. What’s new in lollipop?
  • 105. Media - playback control RemoteControlClient is dead, long live MediaSession and MediaController!!! What’s new in lollipop?
  • 106. Media - playback control MediaSession Unified interface for all playback controls on Wear, TV and more. What’s new in lollipop?
  • 107. Media - playback control MediaSession.Token Identifies a MediaSession securely and with thread safety. What’s new in lollipop?
  • 108. Media - playback control MediaController.TransportControls sends actions. What’s new in lollipop?
  • 109. Media - playback control MediaController.Callback. gets responses. What’s new in lollipop?
  • 110. Media - Browsing Browse the content library of any app that allows it. What’s new in lollipop?
  • 111. Media - Browsing MediaBrowserService Create a MediaSession identified by a MediaSession.Token to connect to a MediaBrowser. What’s new in lollipop?
  • 112. Storage Concept: From files to documents. What’s new in lollipop?
  • 113. Storage DocumentsProvider Handles access to all documents in the system. What’s new in lollipop?
  • 114. Storage OPEN_DOCUMENT_TREE Intent filter to open a directory. What’s new in lollipop?
  • 115. Storage buildChildDocumentsUriUsingTree() buildDocumentUriUsingTree() Browse documents. What’s new in lollipop?
  • 116. Storage createDocument() renameDocument() deleteDocument() Guess! What’s new in lollipop?
  • 117. Storage MediaScannerConnection Scan for new content on device. What’s new in lollipop?
  • 118. Connectivity Concept: redundancy and energy efficiency. What’s new in lollipop?
  • 119. Connectivity - multiple Concept: Scan for best network and connect to more than one dynamically. What’s new in lollipop?
  • 120. Connectivity - multiple ConnectivityManager.NetworkCallback Get results for an applicable NetworkRequest. What’s new in lollipop?
  • 121. Connectivity - multiple requestNetwork() Connect upon discovery. What’s new in lollipop?
  • 122. Connectivity - multiple registerNetworkCallback() Get notified upon discovery. What’s new in lollipop?
  • 123. Connectivity - multiple onAvailable() + Network Get information regarding found network upon discovery. What’s new in lollipop?
  • 124. Connectivity - BLE Concept: you can be a Bluetooth low energy peripheral device. *BLUETOOTH_ADMIN What’s new in lollipop?
  • 125. Connectivity - BLE startAdvertising() + AdvertiseCallback Advertise yourself. What’s new in lollipop?
  • 126. Connectivity - BLE ScanFilter + startScan() + ScanCallback Search for others. What’s new in lollipop?
  • 127. Connectivity - NFC Concept: Less hassle, more punch. What’s new in lollipop?
  • 128. Connectivity - NFC invokeBeam() Beam called, no tap required. What’s new in lollipop?
  • 129. Connectivity - NFC createTextRecord() Create an NDEF record with UTF-8 What’s new in lollipop?
  • 130. Connectivity - NFC registerAidsForService() + setPreferredService() Register an AID (NFC app ID) dynamically. What’s new in lollipop?
  • 131. Printing frameworks. Concept: better enterprise capabilities. What’s new in lollipop?
  • 132. Printing frameworks. Render PDF as bitmap with PdfRenderer What’s new in lollipop?
  • 133. Developer perks A few updates for testing, statistics and accessibility. What’s new in lollipop?
  • 134. App usage stats. Concept: Knowledge is power. What’s new in lollipop?
  • 135. App usage stats. android.permission.PACKAGE_USAGE_STA TS ● Last usage. ● total uptime. ● Last time in foreground. ● Last config change. What’s new in lollipop?
  • 136. Testing Concept: Testing makes perfect. What’s new in lollipop?
  • 137. Testing getWindowAnimationFrameStats() getWindowContentFrameStats() frame statistics for instrumentation tests. What’s new in lollipop?
  • 138. Testing executeShellCommand() adb for instrumentation tests. What’s new in lollipop?
  • 139. Accessibility Concept: More clients… more money. What’s new in lollipop?
  • 140. Accessibility - details UiAutomator.getWindows() Details about what the user “sees”. What’s new in lollipop?
  • 141. Accessibility - actions AccessibilityNodeInfo.AccessibilityAction actions (custom and standard) to be defined to take place on AccessibilityNodeInfo What’s new in lollipop?
  • 142. Accessibility - voice New Voice class with locale specific profiles for better voice recognition. What’s new in lollipop?
  • 143. ● A lot is different. Key points Hybrid apps - what, when and why?
  • 144. “We Should Be Building Great Things. Things That Don’t yet Exist”
  • 145. I hope you liked it. Thank you for listening by Royi Benyossef