11725 Commits

Author SHA1 Message Date
Jason Monk
ee35d738f4 Merge "Add Quick Settings API" 2015-11-19 20:55:14 +00:00
Jason Monk
bbadff8603 Add Quick Settings API
It is a little bit limited right now, but it contains
the lifecycle of a tile getting added/removed, and
listening/not listening and clicks.

SysUI side will need some cleanup later on.

Change-Id: I4db803c8a271f8bf44f2ef710517969a84a95cf0
2015-11-19 14:57:11 -05:00
Filip Gruszczynski
8fbddc9367 Merge "API for overlaying app content over decor caption in freeform windows." 2015-11-19 19:51:55 +00:00
Adam Powell
ce805b3288 Merge "Add support for partial view layouts" 2015-11-19 18:59:06 +00:00
Todd Kennedy
b4fdb933cb Merge "Allow ephemeral provider/installer" 2015-11-19 18:54:57 +00:00
Filip Gruszczynski
63250651ca API for overlaying app content over decor caption in freeform windows.
Bug: 25486369

Change-Id: I8fba30dd690d9f0ccc48149f57ce254286b0c2ae
2015-11-19 10:38:38 -08:00
Todd Kennedy
b8a279ee83 Allow ephemeral provider/installer
The ephemeral provider is a service that simply determines whether or
not an ephemeral application is available. The ephemeral installer
does the heavy lifting of installing the ephemeral application.

Bug: 25119046
Change-Id: I591f4c2c3f2b149d299fa8b4f359f2582d9199cb
2015-11-19 10:25:53 -08:00
Adam Powell
c55d5072ac Add support for partial view layouts
Traditionally, when a view called requestLayout it would force
recursive requestLayout calls for all parent views up the
hierarchy. This meant that there was no way to determine at traversal
time whether a parent view itself needed layout, or if just one of its
descendants did.

Add a ViewParent method requestPartialLayoutForChild(View). This lets
a caller state that a particular child of a given parent needs a
remeasure and relayout at its current measured size and position
within that parent. This can help prevent the full-tree relayout often
caused by otherwise trivial changes. Partial layouts are processed
after any pending "full" relayout during ViewRoot traversals, but
before drawing.

Add a ViewGroup method requestLayoutForChild(View). This lets a
ViewGroup decide whether it is more appropriate to request a
traditional relayout or a partial layout for itself or just the child
that changed.

Add a ViewParent method findDependentLayoutAxes. This allows a caller
to check if the ViewParent's layout is dependent on a specific direct
child view along one or both axes. Called recursively, this can be
used to determine if a change in a child view can be isolated to a
partial layout, even if its direct parent's own layout is tied to its
other ancestors. (e.g. MATCH_PARENT, LinearLayout weights)

Implement ViewGroup#requestPartialLayoutForChild to call new
ViewParent method findDependentLayoutAxes and based on the result,
either request a full layout for itself or a partial layout for the
child in question.

Implement findDependentLayoutAxes for common framework ViewGroups. A
private implementation in ViewGroup is available for use by framework
classes that will deal with basic LayoutParams. These implementations
specifically check for derived LayoutParams classes and abort the
optimization if they find something beyond their expected parameter
types.

Change-Id: I0a1a9b79293d17d4fae8d9892b96d3586f9401ae
2015-11-19 09:31:56 -08:00
Sandra Kwan
7881228736 AccountManager: add startAddAccount API.
Adding startAddAccount API to AccountManager and
AbstractAccountAuthenticator.

Change-Id: I29e1defb2181ece1281534db0e36b28457085148
2015-11-18 18:25:08 -08:00
Wale Ogunwale
76415ee500 Merge "Allow apps to set launch bounds for activities." 2015-11-19 02:10:32 +00:00
Wale Ogunwale
7a8fa60962 Allow apps to set launch bounds for activities.
unhide ActivityOptions APIs for setting launch bounds for
an activitiy so apps can use it. Only works on devices that
support PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT.

Bug: 25499677
Change-Id: I75424681f25cbb9fe92f2ed73e6afbab765dab29
2015-11-18 18:04:45 -08:00
Vladislav Kaznacheev
f91e74d9a9 Merge "Implement View.cancelDrag" 2015-11-18 19:13:13 +00:00
Vladislav Kaznacheev
93cf731b26 Implement View.cancelDrag
View.cancelDrag cancels a drag operation initiated by
View.startDrag.

It has to be called on a View in the same window (under the
same ViewRootImpl) that the view which started the drag.

Bug: 24415683
Change-Id: Iae5ff3534b6c747ae174f170fdd01ff4d3b1c312
2015-11-17 14:39:21 -08:00
Julia Reynolds
054c5dcf4a Notifications can only have 1 topic.
Change-Id: Id0ab6bca352b969431d4ba68167074e514a98980
2015-11-17 17:13:13 -05:00
Julia Reynolds
e122d30557 Merge "Allow DND mode to suppress visual interruptions." 2015-11-17 21:16:05 +00:00
Julia Reynolds
f612869ae1 Allow DND mode to suppress visual interruptions.
Bug: 25423508
Change-Id: Idd8242e4bc00a749dbe0b5503c458375fc017072
2015-11-17 21:10:36 +00:00
Mitchell Wills
48241ddc58 Merge "Expose gscan exponential backoff API" 2015-11-17 18:05:58 +00:00
Alan Viverette
214fb68767 APIs for querying and controlling display magnification
Also separates magnification state and touch event handling. Moves
callbacks for window manager changes and display state changes into
the magnification controller.

Bug: 22718911
Change-Id: I3a8ba060a07d8f1f51856855a5f85601766fd45d
2015-11-17 09:48:25 -05:00
Sungsoo Lim
c09818e0d8 Merge "Make TvContentRating.contains() public" 2015-11-17 06:35:16 +00:00
Sungsoo Lim
70ffbdca62 Make TvContentRating.contains() public
Apply the feedback from API council.

Bug: 25726616
Change-Id: I9858a61eea50ff95221d453117fe3d991f88a33f
2015-11-17 10:34:04 +09:00
Mitchell Wills
2564d9a4ef Expose gscan exponential backoff API
Will be ignored until scan scheduling supports it

Change-Id: I9d392080e6ec8dfa9a998f6c04ec37f9c6dad0b2
2015-11-16 15:10:44 -08:00
Alan Viverette
4d07bc99f0 Clean up usage of temporary TypedValue in Resources
Reduces the amount of time that a lock is held and reduces the scope of
the lock to only manage the temporary TypedValue. Also ensures that the
typed value is consistently returned to the (single item) pool.

Additionally, performs some refactoring:
- removes unused variables and constants
- moves the NotFoundException cause into the constructor for consistency
  with other Exceptions
- inlines sPreloadedDensity which was not used anywhere
- fixes line wrapping and indentation in nearby code

Aside from improvements to locking, there are no functional changes in
this CL.

Change-Id: I8c3059261e3cc2288a086e6637ab946e0b7d3741

Clean up usage of temporary TypedValue in Resources

Reduces the amount of time that a lock is held and reduces the scope of
the lock to only manage the temporary TypedValue. Also ensures that the
typed value is consistently returned to the (single item) pool.

Additionally, performs some refactoring:
- removes unused variables and constants
- moves the NotFoundException cause into the constructor for consistency
  with other Exceptions
- inlines sPreloadedDensity which was not used anywhere
- fixes line wrapping and indentation in nearby code

Aside from improvements to locking, there are no functional changes in
this CL.

Change-Id: I8c3059261e3cc2288a086e6637ab946e0b7d3741
2015-11-16 10:19:12 -05:00
Jason Monk
7fc97c9134 Let support preferences use DeviceDefault themes
Change-Id: I5a0f074dfd1b948b1ced9195ae937e2ad80a5f28
2015-11-12 10:27:12 -05:00
Andrei Stingaceanu
bfd2290824 Merge "Introduce APIs in DPM for setting/getting the device owner info" 2015-11-12 10:47:07 +00:00
Jeff Sharkey
f9fc6d6cc0 More file-based encryption work.
Add granular StorageManager APIs for key creation/destruction and
unlocking/locking.  Start passing through an opaque token as part
of the unlock command, but leave it empty for now.  We now have a
separate "prepare" method that sanity checks that user directories
are correctly setup.

Define a handful of system properties used for marking devices that
should be operating in FBE mode, and if they're emulating FBE.  Wire
a command to "sm", but persisting will come later.

Start using new "encryptionAware" flag on apps previously marked with
coreApp flag, which were apps running in the legacy CryptKeeper
model.  Small tweaks to handle non-encryptionAware voice interaction
services.  Switch PackageManager to consult StorageManager about the
unlocked state of a user.

Bug: 22358539
Change-Id: Ic2865f9b81c10ea39369c441422f7427a3c3c3d6
2015-11-11 10:47:23 -08:00
Andrei Stingaceanu
6644cd9630 Introduce APIs in DPM for setting/getting the device owner info
This information, if set, will be shown in the lock screen instead
of the user owner information and the settings tile will be made readonly
(implementation in following CLs).

Bug: 22547309
Change-Id: Ic826d8049bc67f5e8fcfa6a91aa2017247c93b11
2015-11-11 14:00:43 +00:00
Christopher Tate
0a61b36013 Introduce socket stats tag for restore traffic
As well as system API for emplacing it.

Change-Id: If33fbd23552261efe3b00d75c22ff823564f43e6
2015-11-10 11:13:12 -08:00
Jeff Tinker
b801f7b891 Merge "Extend MediaCodec.CryptoInfo to support Sample AES" 2015-11-09 23:11:21 +00:00
Jinsuk Kim
cb802870f7 CEC: Queue up callbacks to handle on final result
While one party calls oneTouchPlay() to initiate the action and
put it in progress, the other parties making the same call gets
an error 'operation in progress'. This is not really an error,
but there was no other choice for them but just to wait till
the action is completed and the service is ready to accept
the API call again.

This CL resolves the inconvenice by allowing multiple callbacks
rather than returning IN_PROGRESS for those joining later. Same
was applied to queryDisplayStatus().

Change-Id: I5fc9aba4aa73e76a25f8fdec37e11cd961a3d35f
(cherry picked from commit 98a25f1ee27c1b4362a23981edc17fc92199a876)
2015-11-09 19:14:56 +00:00
Nicolas Prévot
d59262667c Merge "Add method to tell the dpc if provisioning is allowed." 2015-11-09 13:49:31 +00:00
Jeff Sharkey
e17ac15697 More APIs for encryption-aware apps.
Apps can mark manifest components as being encryption-aware, which
means they can safely be run before the credential encrypted storage
is available.

Start adding filtering logic so that we only return these components
when a user is running "with amnesia."  That is to say, only device
encrypted storage is available, so the user is running but with only
partial knowledge of its data.

To avoid calling into ActivityManager with the PackageManager lock
held, we quickly determine user state and splice the state into the
flags for later per-component evaluation.

Bug: 22358539
Change-Id: Idc56ec29f1ef04da8963e004314d7f5e47400997
2015-11-08 13:29:16 -08:00
Jeff Sharkey
15447798a3 Initial file-based encryption public APIs.
Define two explicit directories where device-encrypted and
credential-encrypted data will be stored.  Third-party apps only
need access to the device-encrypted directory, so that's the only
API exposed for now.

General cleanup in how ApplicationInfo details are derived.

Bug: 22358539
Change-Id: If0a0108721a4aa1c3052b4912e08604bbf24e1ae
2015-11-06 18:35:27 -08:00
Makoto Onuki
6d2beef6a8 Merge "Add DPM.getUserRestrictions()" 2015-11-06 18:32:35 +00:00
Makoto Onuki
3a3092fab0 Add DPM.getUserRestrictions()
This returns per-DO/PO restrictions.

Bug 23902097

Change-Id: I225c1b01444fe2f60e5a6674d327182cc9bb15dc
2015-11-06 10:30:08 -08:00
Sanket Agarwal
7058e4ca58 Radio features for Automotive usecase.
1. Add clock to metadata - If the CAR does not have a clock (no network
or bad clock) then Radio RDS could be used as a proxy.
2. Add support for emergency announcement - If the CAR wants to make an
emergency announcement.
    2.1 Add support for callbacks.

Bug: b/24807501
Bug: b/22701655

Change-Id: Ib3131de03a022181559fd31da6701d9d3fa8698d
(cherry picked from commit 659688a129189f2a9aa353ddf9e107d5f293c4ca)
2015-11-05 22:50:59 +00:00
Jeff Tinker
45eb9b39f4 Extend MediaCodec.CryptoInfo to support Sample AES
API changes only, implementation to follow

b/23719082

Change-Id: I7cbd0cdf03a8b5b67628cde200c3df6a9253fdbf
2015-11-05 14:21:25 -08:00
Chris Tate
adf0698b40 Merge "Make WorkSource version of alarm listener API @SystemApi" 2015-11-05 02:02:49 +00:00
Tomasz Mikolajewski
0c55387059 Merge "Add support for opening files in specified MIME type to DocumentsProvider." 2015-11-04 23:17:14 +00:00
Julia Reynolds
f3d8f26034 Merge changes I49660236,I56a7970a
* changes:
  Delete unused code.
  Unhide setting for CTS testing.
2015-11-04 19:44:49 +00:00
Christopher Tate
f2d753ec46 Make WorkSource version of alarm listener API @SystemApi
WorkSource is not public API but this should be available to
system support modules.

Change-Id: I7283ab8aa5c5e298959d21a5c8fe55ed119bc6a3
2015-11-04 11:30:52 -08:00
Nicolas Prevot
07387fedfa Add method to tell the dpc if provisioning is allowed.
The DPC can use it to tell if provisioning a managed profile or for
device owner would work or not.

BUG:25338478
Change-Id: I09ea6a9f23a8e88e4ed37c048170b2a68213086e
2015-11-04 14:50:22 +00:00
Tomasz Mikolajewski
b344b894ca Add support for opening files in specified MIME type to DocumentsProvider.
Change-Id: I5453d6d699069ec59521917c024f173d2ae67565
Bug: 18113606
2015-11-04 16:24:00 +09:00
Chet Haase
1d17ee041d Merge "Un-hide FloatProperty and IntProperty" 2015-11-03 22:16:14 +00:00
Chet Haase
8240c97b01 Un-hide FloatProperty and IntProperty
These simple utility classes (used internally since Property was first introduced
way back in Jellybean) are the best way to avoid autoboxing when using the Property
approach to ObjectAnimator. But since their hidden, developers have to use the
autoboxing version (Property, the superclass) or know to come up with their own
primitive-optimized property subclasses.

This CL simply un-hides these two classes to make them usable outside of the framework.

Issue #21722783 Make [Int|Float]Property public

Change-Id: I7f3a456d108bf48587d711255d3577cce3ac5e24
2015-11-03 13:41:46 -08:00
Chad Brubaker
9f591aeb8b Merge "Add stub isSameTrustConfiguration API" 2015-11-03 18:38:37 +00:00
Julia Reynolds
e2549af1b8 Unhide setting for CTS testing.
Change-Id: I56a7970a3613eb930f565befcfa86cf33702c74c
2015-11-03 08:47:42 -05:00
Mitchell Wills
593474e074 Merge "Remove old APIs that are no longer used/implemented" 2015-10-30 23:02:35 +00:00
Rob Carr
b97ba3c09d Merge "Add window setDecorView API." 2015-10-30 20:55:35 +00:00
Christopher Tate
14a7bb0d37 Introduce direct listener API for alarm delivery
The Alarm Manager now supports a set() variant that takes a listener
callback to invoke at alarm trigger time rather than a PendingIntent.
This is much lower overhead and has guaranteed low delivery latency
from the trigger time.  The tradeoff is that the app must be running
*continuously* from the time the alarm is set to the time it is
delivered.  If the app exits for any reason before the alarm fires,
the listener becomes invalid and the alarm will be dropped.  This is
more or less equivalent to setting an alarm with a broadcast
PendingIntent that matches only a runtime-registered receiver.

The app's alarm listener can be any object that implements the new
AlarmManager.OnAlarmListener interface and implements its onAlarm()
method.  There is no data delivered at alarm trigger time: whatever
state needs to be associated with the specific alarm instance should
simply be packaged inside the OnAlarmListener instance.

An alarm using OnAlarmListener can request that the onAlarm() method
be called on an arbitrary handler.  If the program passes 'null' for
this parameter when setting the alarm, the callback occurs on the
application's main Looper thread.

Bug 20157436

Change-Id: I2eb030a24efdd466a2eee1666c5231201b43684b
2015-10-30 12:14:15 -07:00
Dianne Hackborn
d176de5f9d Merge "Add API to determine if the app supplied a web URI." 2015-10-30 17:18:31 +00:00