Commit Graph

46827 Commits

Author SHA1 Message Date
Neil Fuller
44e440cc7e Add checks for types in Parcel / avoid class initialization
Make Parcel more stringent to avoid initializing classes
that are not related to Parcelable.

Two new checks:
1) That the class found on the stream implements Parcelable.
2) That the type of the CREATOR field declared on the class
found on the stream actually implements Parcelable.Creator.

For (1) the new check that a class in the stream is actually
Parcelable. This will affect handling of invalid streams or
code that didn't obey the requirements.

For (2) this change could break some apps that had a CREATOR
field in a Parcelable class that was not declared to be
(at least) a Parcelable.Creator: it is no longer sufficient
for the type to implement Parcelable.Creator, the field
must be declared as such.

This change includes doc updates for Parcelable to make
the requirement around the declared type of the CREATOR
field more concrete.

This change also makes the generics slightly tidier/explicit,
annotates code as unchecked where needed and removes some
assumptions that can not be guaranteed with Java's type
system and the current definitions.

For example, there's no guarantee right now that
Parcelable.Creator returns objects that are actually
Parcelable, or that the CREATOR object associated
with a Parcelable will return objects of the surrounding
class. The first we can't do something about without
breaking the public API (due to implementations like
TextUtils.CHAR_SEQUENCE_CREATOR). The second is
currently typically implicitly enforced with an implicit
cast in the (app's) calling code (e.g. callers to
readParcelable() that causes a language-introduced cast
to the type expected). A larger refactoring of Parcel
would be required to ensure that the class that is
produced by Creator is of a type compatible with the
class that declared CREATOR, and is not a goal for this
change.

A fix is included for a class that doesn't implement
Parcelable like it should and would probably fail
check (1).

Bug: 1171613
Change-Id: I31d07516efee29a320e80f4bc4f96aaac628f81c
2015-04-21 11:32:44 +01:00
Mady Mellor
b3a0660eab Merge "Use HandleView's previous offset for text selection handles" 2015-04-14 16:52:06 +00:00
Andres Morales
317918e206 Merge changes from topic 'lss-update'
* changes:
  Add challenge to IGateKeeperService
  Wire up GateKeeper to LockSettingsService
2015-04-14 16:12:55 +00:00
Chet Haase
575217fc3d Make ActionBar animations work correctly
Previous ActionBar animations didn't handle configuration changes
or other situations in which the view would get detached. listeners
would stay on the view and would attempt to do something nonsensical
in the new window. This new approach removes listeners on window
detach to avoid this problem.

Issue #20125407 Settings Crashes when changing orientation of device

Change-Id: I0b3bbd0f6fc23cdb4cbd646b0d2772d72d3d795d
2015-04-14 14:09:26 +00:00
Benjamin Franz
12fdfa43ce Merge "Introduce device owner API to disable the keyguard" 2015-04-14 11:12:32 +00:00
Gustav Sennton
1b4edc9068 Merge "Revert "Load WebView from one out of a list of packages."" 2015-04-14 10:59:35 +00:00
Gustav Sennton
9915eb56fe Revert "Load WebView from one out of a list of packages."
This reverts commit fe320b2fe9.
We need to check in a new Webview APK first.

Change-Id: Ica6adef7a1e68c06b4c6a6a3c851f40f56b006ef
2015-04-14 10:48:05 +00:00
Erik Kline
172cf02435 am 73e056d3: am 402f2501: am 3312c6b9: Merge "Add android.net.IpPrefix#contains()"
* commit '73e056d3931b419c2653eb7365fb72b50a9a36c3':
  Add android.net.IpPrefix#contains()
2015-04-14 09:58:38 +00:00
Benjamin Franz
e36087e5b6 Introduce device owner API to disable the keyguard
Let the device owner disable the keyguard to achieve undisturbed single
use mode with multiple apps. Calling this API has no effect if a
password
has been set for the calling user.

Bug: 19533026
Change-Id: I6b726b7f36efb669359e9da4b7e3db1f8031dad5
2015-04-14 10:58:36 +01:00
Gustav Sennton
75f4b76638 Merge "Load WebView from one out of a list of packages." 2015-04-14 09:46:10 +00:00
Erik Kline
402f2501ac am 3312c6b9: Merge "Add android.net.IpPrefix#contains()"
* commit '3312c6b9f3e9c83865eeec2af609338ce74a0a10':
  Add android.net.IpPrefix#contains()
2015-04-14 09:29:56 +00:00
Rubin Xu
c9c9f7b40e Merge "Add setOtaPolicy/getOtaPolicy API in DPMS" 2015-04-14 09:16:28 +00:00
Ricky Wai
0c606812c5 Merge "Add Bluetooth Contacts Sharing policy in DevicePolicyManager" 2015-04-14 08:59:18 +00:00
Ricky Wai
778ba13538 Add Bluetooth Contacts Sharing policy in DevicePolicyManager
Bug: 19990979

Change-Id: Ide9adf66eec5721e50573c03956a1b63b7e8b18b
2015-04-14 08:57:32 +00:00
Rubin Xu
8027a4ffc2 Add setOtaPolicy/getOtaPolicy API in DPMS
Allow device owners to set OTA policy for automatically accept/postpone
incoming OTA system updates. This class only provides the setting
and getting of OTA policy, the actual OTA subsystem should handle
and respect the policy stored here.

Bug: 19650524
Change-Id: I9b64949fab42097429b7da649039c13f42c10fd1
2015-04-14 09:34:03 +01:00
Erik Kline
3312c6b9f3 Merge "Add android.net.IpPrefix#contains()" 2015-04-14 07:58:33 +00:00
Erik Kline
acc8c09d3a Add android.net.IpPrefix#contains()
This was originally to avoid RuntimeException in RouteInfo#matches():
    When an IPv6 prefix with a length greater than the max permitted
    for IPv4 is matched against an Inet4Address, the call to
    NetworkUtils throws RuntimeException.

Change-Id: I92e2bd19a4e7d656cf682fd27678da07e211850d
2015-04-14 16:19:11 +09:00
David Christie
fff30439ca Add ability to flush FLP HAL batched locations buffer.
Currently GmsCore has to guess how many locations to retrieve
based on requested frequency and then demux the output looking
for timestamps (that aren't monotonically increasing).  This
capability gives GmsCore a more graceful solution.

Change-Id: Ie1d71615f699bc0d3c63f8b80aa7b40b9971cf96
2015-04-13 19:13:52 -07:00
Andres Morales
d9fc85ac27 Add challenge to IGateKeeperService
required for enrolling secondary auth form-factors

Change-Id: Id5a1eb1ed22f01fbaabe8e4ebddfc42d58322625
2015-04-13 18:38:45 -07:00
Andres Morales
8fa5665f0e Wire up GateKeeper to LockSettingsService
Adds:
- Communication to GKService
- password upgrade flow
- enroll takes previous credential

Change-Id: I0161b64642be3d0e34ff4a9e6e3ca8569f2d7c0a
2015-04-13 18:38:45 -07:00
David Christie
832017963d Merge "Add a status callback for location batching in FLP HAL" 2015-04-14 01:30:15 +00:00
David Christie
15003f19e5 Add a status callback for location batching in FLP HAL
-Allows GmsCore to know when location is unsuccessful so
 it can switch to a SW solution.

Change-Id: I3d1df7b828f7fb189446881eea87d9a952310614
2015-04-13 17:25:27 -07:00
David Christie
172753e6f8 Merge "Add capability callback for FLP HAL." 2015-04-14 00:09:36 +00:00
Adam Powell
cc8b2afbaa Merge "Implement ChooserTargetService querying for ChooserActivity" 2015-04-14 00:01:47 +00:00
Adrian Roos
7d8f2c25df Merge "Add KeyguardManager.isDeviceSecure" 2015-04-13 23:53:57 +00:00
Adam Powell
2442841819 Implement ChooserTargetService querying for ChooserActivity
First cut at querying services provided by apps that offer
ChooserTargetServices. This first implementation provides no ranking.

Bind to a limit of 5 ChooserTargetServices and offer the
ChooserTargets they provide as options in the system
ChooserActivity. The chooser now presents targets as a grid and
displays the activity icon from the referrer activity.

Change-Id: I45db829f184fc78d4f18d42b2a60b25bc301eba8
2015-04-13 16:51:16 -07:00
Adrian Roos
82893681ad Add KeyguardManager.isDeviceSecure
Bug: 19823211
Change-Id: I92a1d2542274bf1dc2d5757511ce495264f90733
2015-04-13 16:40:07 -07:00
John Spurlock
cbcf902a4a Merge "Zen: Support external condition providers." 2015-04-13 23:14:04 +00:00
Rubin Xu
c06bbbfe7a Merge "Grant cert installer access to installKeyPair()" 2015-04-13 22:29:12 +00:00
Christopher Tate
9310e4285b Avoid zero-payload backups in local transport
The local debugging transport now implements
BackupTransport.checkFullBackupSize() to detect and reject backup attempts
for which no actual file content will be committed.  The documentation for
checkFullBackupSize() has also been expanded to document the transport's
responsibilities in this regard.

The local transport now lazy-creates the destination file when data is
first delivered for an approved backup operation, rather than doing it
proactively in performBackup(), to ensure that changes in the datastore
are only attempted after the transport has positive confirmation that
data is indeed flowing.

Change-Id: I6e47a7e72cd938fc0ed31da4bc490540c71f9e65
2015-04-13 22:13:23 +00:00
Yorke Lee
e5a87c53a5 Merge "Hide Voicemails.{insert, deleteAll, setStatus}" 2015-04-13 21:13:55 +00:00
Doris Liu
be16bf4be1 Merge "Fix duration scale attribute for AnimatorSet" 2015-04-13 20:58:25 +00:00
Yin-Chia Yeh
7d43893bb9 Merge "Camera: update AE/AWB lock spec" 2015-04-13 20:01:43 +00:00
Yin-Chia Yeh
7e3e431934 Camera: update AE/AWB lock spec
Codegen doc update.

Bug: 20039760
Change-Id: I92786f1e4366185029aca63794e58374c92bc948
2015-04-13 12:59:39 -07:00
Chris Craik
f518a3ab70 Merge "Deprecate and disable legacy caching APIs" 2015-04-13 19:46:32 +00:00
Craig Lafayette
ef8fcb52dc Merge "Send device initializer status." 2015-04-13 19:44:42 +00:00
Kenny Guy
e13b15c810 Merge "Add foreground profile changed to user switch observer." 2015-04-13 18:36:23 +00:00
Doris Liu
a7e8cfe978 Fix duration scale attribute for AnimatorSet
Bug: 20160979
Change-Id: I876771a037d2c254fc53ad0bfa4880e69e427090
2015-04-13 11:29:19 -07:00
Jeff Brown
fb1e9b7978 Merge "Set initial screen brightness earlier in the boot process." 2015-04-13 18:20:00 +00:00
Chris Craik
5a6bbae6fc Deprecate and disable legacy caching APIs
bug:20159889

Change-Id: Ib25bb6bceaee27b4d04a64e8ad298db9977b2719
2015-04-13 11:13:52 -07:00
Alan Viverette
147931e3f9 Merge "Fix date picker dialog size" 2015-04-13 18:13:48 +00:00
Kenny Guy
429796226a Add foreground profile changed to user switch observer.
Called when the focused activity changes from one profile
to another to allow sys ui to vary display based on the
current profile.
This reverts commit 735a3f9059.
Resubmitting with fix for build break in another package.

Bug: 19531782
Change-Id: I98cd2968ade3b1d23feb90d98057f306695d569e
2015-04-13 18:03:05 +00:00
Alex Klyubin
fbf1472d61 resolved conflicts for merge of a978a3d6 to master
Change-Id: Ifd7ca9e1dfa0d50a87f2bafef377fcaeb5d9f6d5
2015-04-13 10:54:53 -07:00
Alex Klyubin
f265bdbfc7 am d1af38a4: Merge "Use JCA names for block modes, paddings, and digests."
* commit 'd1af38a4783c1c0d1a5b7c76a7583beb02a88462':
  Use JCA names for block modes, paddings, and digests.
2015-04-13 17:22:07 +00:00
Tim Kilbourn
62d1d9efe7 Merge "Save search context when dispatching onSearchRequested." 2015-04-13 17:03:25 +00:00
Alex Klyubin
d1af38a478 Merge "Use JCA names for block modes, paddings, and digests." 2015-04-13 17:01:30 +00:00
Alex Klyubin
5927c9f1b1 Use JCA names for block modes, paddings, and digests.
This replaces int-based enums from KeyStoreKeyConstraints with
String values commonly used in JCA API.

As part of under the hood refactoring:
* KeyStoreKeyCharacteristics and KeyStoreKeyConstraints have been
  merged into KeyStoreKeyProperties.
* KeymasterUtils methods operating on KeymasterArguments and
  KeymasterCharacteristics have been moved to their respective
  classes.

Bug: 18088752
Change-Id: I9c8b984cb3c28184adb617e34d87f2837bd1d3a1
2015-04-13 09:59:04 -07:00
George Mount
90941c0f84 Merge "Improve javadoc on SharedElementCallback." 2015-04-13 16:53:43 +00:00
George Mount
59cf0831d9 Merge "Fix transition not properly removing targets on completion." 2015-04-13 16:52:59 +00:00
Tim Kilbourn
6a975b3c35 Save search context when dispatching onSearchRequested.
The InputDevice used to trigger the search is saved in a SearchEvent
so an application implementing onSearchRequested determine the device
triggering the search.

Bug: 15374820
Change-Id: If2cd14f77ce572a5ee131697cd63145fbea63f27
2015-04-13 09:39:24 -07:00