1. What’s new in Android
M?
Top 10 things you should know
2. M - preview timeline
● Schedule subject to change
● Updates delivered over-the-air (OTA)
● Final M release targeting Q3 2015 (new Nexus 5?)
3. App permissions
● NORMAL Permission vs Not :)
● Changes to runtime permission
● Reduced install and update friction.
● Behavior remains same for prev
versions of SDK
○ grant upfront
○ but can deny later
● Best practice : for absolutely necessary
permission ask user for it during setup
4. App permissions
targetSdkVersion < M targetSdkVersion = M+
Pre-M device
Install time permission dialog All
permissions granted
M device
Install time permission dialog
All permissions granted
User can revoke permissions
No dialog during install
No permissions granted initially
App can request permissions
User can revoke permissions
7. Fingerprint API
● New fingerprint api
● Hardware support
● Updated lockscreen
● Multi finger support
● UI is completely controlled by the app
● Can fall back to keyguard manager
● Authenticate user without sharing any credential
9. Doze Mode
● Better battery back up when idle
● Standby can improve upto 2x
● Uses sensors to detect if the phone is idle
● Postpones non important tasks that wake up the device
● Resumes when the device is moves
10. Doze Mode - What does it mean?
Network access is disabled, unless your app receives a high priority
Google Cloud Messaging tickle.
Wake locks are ignored.
Alarms scheduled with the AlarmManager class are disabled, except
for alarms that you've set with the setAlarmClock() method and
AlarmManager.setAndAllowWhileIdle().
WiFi scans are not performed.
Syncs and jobs for your sync adapters and JobScheduler are not
permitted to run.
11. App Standby
● Apps that are not used for long periods
● Lose access to network and background
tasks
● Avoid continuous battery drain for
unused stuff
● Resumes when the device plugs in or
you use the app .
12. Assistant support
● Provide system additional info about the current screen
○ Context
○ Metadata
● can be at application or activity level .
● Google Now on TAP
13. Data binding
● Support library back to 2.1
● view to object mapping
● can apply transformation
● better performance
17. Material design support library
● Super useful
● Lots of boilerplate code removed; no need to add multiple libraries
● Add to project
compile 'com.android.support:design:22.2.0'
● Navigation view , Floating Labels, SnackBar, Tabs ,
CoordinatorLayout , FAB
● check out coordinator layout animations on scroll
Presentation structure:
What we going to do
Who i am?
What is a IPC
What is a Binder
Example of Binders used today (Intents, Content Providers)
IPC with Service
Idea of running Service to run on separate process
Messenger IPC
Binder 101 - Deep
Proxy and Stub
Binder and System Services (LocationManager)
AIDL: Basics
AIDL: My first Interface
Parcelable
AIDL Sync Example
AIDL Async Example
Security