CS 143: Introduction to Computer Vision

Download Report

Transcript CS 143: Introduction to Computer Vision

Android Lollipop
• Android 5.0 to the world on 12 November
2014
• Significant update for the Android platform
• This is after 4.4.2 version
• Updates such as ART and on-screen
notifications will make an immediate impact.
• Redesigned GUI built around a design
language referred to as "material design".
Android Lollipop
•
•
•
•
•
•
•
•
•
•
•
•
Battery
Notifications
Multitasking
Runtime and ART
Android TV
Graphics
Android Extension Pack
Chrome View
Media Browsing
Media Playback Control
Media Browsing
Media Playback Control
•
•
•
•
•
•
•
•
•
•
•
New Sensors
Managed Provisioning
Device Owner
Screen Pinning
Screen Sharing
Camera
Bluetooth Low Energy
NFC
Multiple Network Connections
Printing Framework
Input Method Editors
Features (battery):
• Battery
• Improving battery life.
• JobScheduler API allows you to run jobs asynchronously at a later
time or under particular conditions.
• JobInfo objects can be used to define the conditions a scheduled
job will run under.
• Developer Tools
• A new ADB command dumpsys batterystats generate statistical
data about battery usage on a device.
• $adb shell dumpsys batterystats --charged <package-name>
Features (Notifications):
• Notifications
• Can be displayed on the lock screen.
• Developers can specify the amount of information displayed within a
notification (using setVisibility), which accepts the following values:
a)
b)
c)
VISIBILITY_PRIVATE: shows basic information, such as the notification's icon,
but hides the notification's content
VISIBILITY_PUBLIC: shows the notification's content
VISIBILITY_SECRET: shows nothing, excluding even the notification's icon
• Metadata can now be added to notifications to allow for categories and
priority, and to collect additional contacts.
• Key notifications, such as incoming calls, will appear in a heads-up
notification window, which will float at the top of the current app until
the user acknowledges or dismisses the notification.
Features (Multitasking):
• Multitasking
– New APIs that improve multitasking options on Android,
where you can now have your activities treated as tasks and
be shown in their own window.
– For example, a web browser app could be set so that each tab
has its own window.
– If you have a website, you can add
<meta name="theme-color" content="#3F51B5">
to display the given color as the header for your websiteIf you
have a website, you can add <meta name="theme-color"
content="#3F51B5">to your header section to have overview
display the given color as the header for your website.
Features (Dalvik):
• Runtime on Dalvik
– Previous versions of Android have all used Dalvik as the
process virtual machine. Applications are commonly written in
Java, which is then compiled to bytecode. This is then
translated to Dalvik bytecode and stored
in .dex and .odex files, for Dalvik to then process.
– This is a very a basic explanation of what the runtime is doing
and hopefully conveys its importance. Applications run on the
process virtual machine so its performance determines the
overall performance of the app and is a bottleneck.
– Dalvik uses JIT (Just In Time) compilation, meaning that it only
runs the application at the moment it is needed.
Features (Runtime and ART):
• vs
Runtime and ART
– ART, on the other hand, uses an AOT (Ahead Of Time)
compilation to compile the bytecode. When an application is
installed, it's compiled by ART's dex2oat utility, which creates
ELF executables instead of .odex files. From then on, the
application is executed from the already compiled ELF
executable.
– That's a lot of saved compiling at the expense of longer
application install times and some extra disk space.
– With the addition of improved garbage collection (GC), ART
outperforms Dalvik in nearly every way, making for a sharper
and more fluid Android experience.
Features (Continue):
Features (Android TV):
• Android TV
– To help bring your app to large screen displays, Lollipop
introduces the
– Leanback UI and the
– Android TV Input Framework (TIF).
• The Leanback library provides user interface
widgets for TV apps. TIF is designed to allow TV
apps to handle video streams from sources such
as HDMI inputs, TV tuners, and IPTV receivers.
Features (Graphics):
• Graphics
• Khronos OpenGL ES 3.1 has been added.
• Key features include:
 compute shaders
 separate shader objects
 shading language improvements
 extensions for advanced blend modes and debugging
 indirect draw commands
 multisample and stencil textures
 Android 5.0 remains backwards compatible with
OpenGL ES 2.0 and 3.0.
Features (Android Extension Pack (AEP):
• Android Extension Pack (AEP)
– To supplement OpenGL ES 3.1, a set of OpenGL ES extensions
have been added that allow for the following:
– guaranteed fragment shader support for shader storage
buffers, images, and atomics (this feature is optional in
OpenGL ES 3.1)
– different blend modes for each color attachment in a frame
buffer
– tessellation and geometry shaders
– ASTC (LDR) texture compression format
– per-sample interpolation and shading
Features (Chrome View):
• Chrome View
– A new version of Chromium for Web View, based on
the Chromium m37 release that adds support for
WebAudio, WebRTC, and WebGL.
– Native support for Web Components is also included
in the update and will allow for use of Polymer and
its Material Design elements without requiring
polyfills.
– Chromium is now updatable from the Play Store so
new APIs and bug fixes will be available immediately
and will no longer require an update of the Android
operating system.
Features (Media Browsing ):
• Media Browsing
The new
android.media.browse API
allows apps to browse the media content library of
other apps.
The MediaBrowserService class is used to expose
media in an application, while the MediaBrowser class
is used to interact with a media browser service can
then be used to send commands to a MediaSession.
Features (Media Playback Control):
• Media Playback Control
– 2 new classes have been introduced to make
playback control simpler to manage across different
UIs and services.
– MediaSession replaces RemoteControlClient. It
provides a set of callback methods for use in
transport controls and media buttons.
– MediaController can be used to create a custom
media controller app, which can then be used to
send commands to a MediaSession.
Features (New Sensors):
• New Sensors
• Two new sensors have been introduced:
– Tilt Detector: improves activity recognition
– Heart Rate Sensor: capable of reporting the heart
rate of the user touching the device
Both of these sensors require supported hardware.
Features (Managed Provisioning):
• Managed Provisioning:
Device administrators can use a
managed provisioning service
to add apps to a separate managed profile.
If there's an existing personal account on a device
that has been provisioned, the managed profile
apps will appear alongside the existing
applications.
Features (Device Owner):
• Device Owner
A device owner is a specialized type of device
administrator that can create and remove secondary
users and configure global settings, essentially giving
Android a traditional administrator and user account
system.
Features (Screen Pinning):
• Screen Pinning
• Screen pinning is a new feature that is comparable to kiosk mode on iOS.
• Screen pinning includes the following features:





The status bar is blank.
Other apps cannot launch new activities.
User notifications and status information are hidden.
The current app can create new activities as long as no new tasks are created.
Screen pinning can be activated manually via
Settings > Security > Screen Pinning.
It can also be activated programmatically. The startLockTask method can be
called from your app to activate screen pinning. If the app is not from a device
owner, a confirmation prompt will be shown. The setLockTaskPackages method
can be called by an owner app and will avoid the confirmation prompt.
To deactivate screen pinning, you need to call stopLockTask if it was initiated by a
device owner app. If it was activated by a non-device owner, the user can exit
screen pinning mode by holding both the back and recent buttons.
Features (Continue):
• Screen Sharing
Screen capturing is now possible through the new
android.media.projection APIs.
The create VirtualDisplay method allows the calling app
to capture the screen into a surface object, which can
then be sent across the network.
The API can only capture non-secure content and does
not include audio.
Features (Continue):
• Camera
RAW image capturing has finally arrived on Android,
thanks to the new
– android.hardware.camera2 API
Features (Continue):
• Bluetooth Low Energy
Android devices can now act as Bluetooth LE peripherals.
Apps can make use of this to make their presence known to
nearby devices. With the
newandroid.bluetooth.le APIs,
you can enable your apps to connect to nearby Bluetooth
devices, broadcast advertisements, and scan for responses.
These new features also come with a new manifest
permission, BLUETOOTH_ADMIN.
These APIs will be extremely useful when working with
wearable devices, health and fitness apps, and monitoring
apps. All of these are predicted growth areas for Android in
the near future.
Features (NFC):
• NFC
NFC has been improved in the several ways:
 Android Beam has an option in the share menu.
 invokeBeam can be used to initiate the sharing of
data (i.e. no longer have to physically bump devices).
 registerAidsForService and setPreferredService
have been added to aid the development of payment
apps.
Features (Multiple Network Connections):
• Multiple Network Connections
New APIs allow for apps to query networks
for available features, such as whether the
network is either:
• cellular,
• metered
• Wi-Fi
Features (Printing FMW):
• Printing Framework
Bitmap images can now be rendered from
PDF document pages, using the
newPdfRendered class.
Features (IME):
• Input Method Editors (IME)
– Can now cycle through different IMEs available to
the platform.
– This is accomplished by using the,
shouldOffetToNextInputMethod method.
Material Design
• Material Design is a set of guidelines relating
to visual design, content motion, and user
interaction.
• The guidelines are intended to go beyond
Android and are designed for a wide array of
devices and platforms.
• Polymer is a notable example of the crossplatform nature of Material Design, with
Google creating several Material Design web
elements to aid in construction of
websites/web apps with a Material Design
theme.
Material Design
• New Widgets
• Lollipop introduced two new widgets:
• CardView: This widget allows for
information to be grouped together in a
consistent manner. The card itself can have
its depth altered to promote or highlight it
as needed.
• RecyclerView: This is a more advanced
version of the ListView widget.
Material Design
• New Themes
• There are two new themes that make use
of Material Design principles, Dark
Material and Light Material.
• Both apply new user interface system
widgets. System widgets are easy to
customize and you can set their color
palette. Several animations and transitions
are also defaults of these themes, such as
the ripple effect.
Material Design
• Depth and Shadow
• Depth can now be altered on Android views
through the new Z property.
• Higher Z values cast larger shadows around
the view, giving the appearance of
increased elevation.
• This is a staple of the Material Design ethos
where the goal is to create a textile
appearance through the use of layers.
Material Design
• Animations
• Another staple of Material Design is animation.
• Touch feedback animations and a host of activity transitions all
aid in creating a tactile and immersive experience.
• The goal is not to have information pop out or disappear.
• Every view/object should appear as a layer on a surface.
• When you look down at the desk, it’s not a flat view.
• The desk contains several layers, and objects have different
depths and cast shadows on the layer beneath.
• If you need to see a page underneath another page, you must
move the covering page out of the way.
• If you want to place your laptop on the desk, you need to slide
the existing papers out of the way to make space. When you
touch something on your desk, it moves, bends, vibrates, and
shuffles.