Commit Graph

47811 Commits

Author SHA1 Message Date
Adam Powell
8391e03b7e Merge "ProgressBar: Fix error of process bar cannot update on some condition." 2015-04-07 20:56:36 +00:00
Tim Murray
5352411a8c Merge "Move cache dir to its own class." 2015-04-07 20:34:21 +00:00
Tim Murray
e1e6c66198 Move cache dir to its own class.
This prevents us from loading the RS static initializer all the time.

Change-Id: I8cea7540e50251aba8c2f199f06f344f991e7d7f
2015-04-07 13:24:14 -07:00
Alex Klyubin
558184f52f Merge "Make the new AndroidKeyStore API conformant." 2015-04-07 17:39:08 +00:00
Dmitriy Ivanov
d95e58cb60 Merge "Load libraries directly from apk" 2015-04-07 17:28:15 +00:00
Dmitriy Ivanov
dec4688f40 Load libraries directly from apk
Introduced new 'extractNativeLibs' attribute to manifest/application.
 Setting it to false prevents installer from extracting library from apk.

 The default value for extractNativeLibs is true.

Bug: 8076853
(cherry picked from commit ff193d642e)
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-04-07 17:25:23 +00:00
Alex Klyubin
c46e9e7da4 Make the new AndroidKeyStore API conformant.
This makes the new AndroidKeyStore API conform with the latest
Keymaster API changes as well as the latest Android framework API
design guidelines.

Keymaster changes:
* Multiple paddings, block modes, and digests can be set on a key.
* "max uses per boot" and "min seconds between use" restrictions will
  not be exposed in the framework API.
* Padding scheme ZERO will not be exposed.

Changes due to Android framework design guidelines:
* Sets of enum values have been replaced with bitsets represented as
  ints.
* Integer has been replaced with int, with null being represented
  with a special value (e.g., -1 or 0) where possible.

Bug: 18088752
Change-Id: Ib21739aa9b42d48895cb7a681e836a5c6d972ac6
2015-04-07 09:18:00 -07:00
Fyodor Kupolov
3d8b7f4d50 Merge "Support for storing OAT files in app directory" 2015-04-02 23:11:11 +00:00
Elliott Hughes
64c8a07345 Merge "Early return in RemoteViewsAdapter is too late" 2015-04-01 23:34:25 +00:00
Alex Klyubin
3f24a1d94a Cleanse HTTP, HTTPS, and FTP URLs in Uri.toSafeString.
This makes the hidden API android.net.Uri.toSafeString omit most parts
of HTTP, HTTPS, and FTP URLs to avoid leaking anything unsafe. Only
the host and port are retained for these URLs.

Bug: 19215516
Change-Id: I2e9e33d9afaa9de5dd07a40532d56f0a2179f62a
2015-04-01 13:09:22 -07:00
riddle_hsu
57307b21cb [ActivityManager] Improve multi-thread access the same provider
Application may use many threads to load data from provider.
If the target provider needs to start process, each access
will occupy one binder thread of system server until the
provider process started and published.

Sometimes application uses more than 16 threads to access
the same provider, and the provider process needs a little
long time to start, then all binder threads of system server
are waiting. But when the provider is ready, it is unable to
publish to notify those waiting threads because no availabe
binder thread to use. And device will become almost hang.

Improvement:
If there is already a thread acquiring provider, let other threads
(which try to acquire the same provider) wait the result of the
first one. That reduces IPC to save binder thread of system server.

Remove calling removeContentProvider in installProvider because
we have ensured only get one provider holder for the same provider,
the original race that gets a new useless holder will not happen.

Change-Id: I521f2603db8ced56912f5dc54342a70451e68381
2015-04-01 15:06:18 +08:00
Alex Klyubin
c0eb55ccc7 UNSUPPORTED_TAG_LENGTH -> UNSUPPORTED_MAC_LENGTH
This is to follow naming from keymaster_defs.h

Bug: 18088752
Change-Id: If2bc91dde54f1cefcd4325d1f62d0e0b77fc5d59
2015-03-31 17:16:31 -07:00
Chad Brubaker
5491ea9e5b Merge "Include operation handle in OperationResult" 2015-03-31 17:49:16 +00:00
Olawale Ogunwale
4af5bd7cda Merge "Add ProcessInfoService to activity manager." 2015-03-30 22:00:12 +00:00
Chad Brubaker
f603e28614 Merge "Add authorization binder methods" 2015-03-30 20:06:39 +00:00
Ruben Brunk
e1e1969c96 Add ProcessInfoService to activity manager.
- Adds a new AIDL interface for querying process
  information from activity manager.

Bug: 19186859
Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
2015-03-30 12:20:16 -07:00
Fyodor Kupolov
b94c1657eb Support for storing OAT files in app directory
In installPackageLI, dexopt is now performed on a staging directory of the app
(dexopt phase 1). For each codepath:
 - /oat/<isa> directory is created
 - dexopt output goes to the newly created directory. Optimized files have
   .odex extension.

Bug: 19550105
Change-Id: Iec59790d97837b78af82b079fd1970de3388c91d
2015-03-30 11:32:56 -07:00
Mathieu Chartier
631565abd6 Merge "Change getDeclaredFieldsUnchecked call to new return value" 2015-03-29 22:30:41 +00:00
Andreas Gampe
a01250c774 Merge "Frameworks/base: Change String == to equals in Preference" 2015-03-28 04:50:44 +00:00
Andreas Gampe
5a15bf69d8 Merge "Frameworks/base: Fix request removal in VoiceInteractionSession" 2015-03-28 04:50:08 +00:00
Mathieu Chartier
3d529c5b0a Change getDeclaredFieldsUnchecked call to new return value
Required for related libcore change.

Bug: 19264997
Change-Id: I17ca0cf4b9ba853e59f4a6eff3a05d9d90cf23f9
2015-03-27 18:55:50 -07:00
Alex Klyubin
d23a1f706f Symmetric key generation for AndroidKeyStore.
This currently supports AES and HMAC with SHA-256.

Bug: 18088752
Change-Id: Ife55438cf4129b895295681bb35091cd37eb73fb
2015-03-27 15:57:53 -07:00
Chad Brubaker
dae79e5408 Allow entropy to be provided to some operations
generateKey and begin can now optionally take an array of bytes to add
to the rng entropy of the device before the operation. If entropy is
specified and the device does not support add_rng_entropy or the call
fails then that device will not be used, leading to fallback or error
depending on the situation.

Change-Id: Id7d33e3cc959594dfa5483d002993ba35c1fb134
2015-03-27 14:28:35 -07:00
Alan Viverette
5fc9b336eb Merge "Consider RTL layout in DPAD navigation in Gallery" 2015-03-25 20:04:22 +00:00
Chad Brubaker
6326f96476 Merge "Make application/client id an object" 2015-03-25 19:25:55 +00:00
Alex Klyubin
a9f628662c Merge "Framework's NetworkSecurityPolicy delegates to libcore's one." 2015-03-25 18:13:18 +00:00
Chad Brubaker
5aeb085389 Merge "Enforce tag types in KeymasterArgument classes" 2015-03-25 18:00:48 +00:00
Alan Viverette
7506f499b5 Merge "Fix to crash when clicking text link without view activity" 2015-03-25 16:35:37 +00:00
Alex Klyubin
403a494d56 Framework's NetworkSecurityPolicy delegates to libcore's one.
Now that the libcore's NetworkSecurityPolicy abstraction is in place,
the framework version of the abstraction should delegate to the
libcore one, to avoid them getting out of sync.

Bug: 19215516
Change-Id: Ic57341d703a13e0fb100dc414958e8fd54e03816
2015-03-25 09:00:37 -07:00
Alex Klyubin
84750f3a69 Address pending comments for NetworkSecurityPolicy.
This is a follow-up to
https://android-review.googlesource.com/#/c/131920/, addressing some
outstanding comments.

This CL also switches the source file to the correct indentation.

Bug: 19215516
Change-Id: Ia48455ab351081e11619afcccadb8fa90340391d
2015-03-24 11:33:58 -07:00
Chad Brubaker
534bf9c268 Enforce tag types in KeymasterArgument classes
Change-Id: Ib1aca884a0b42c3e245db65d48c945b34935072d
2015-03-22 04:56:46 -07:00
Chad Brubaker
5e73c0eec2 Make application/client id an object
Having it as a raw byte[] caused issues in keystore because keymaster
handles a null blob differently than a blob with null contents. Make
this explicit in the API.

Change-Id: Ifcf550f438608b8f09fc589d00d06fffa6ee463b
2015-03-21 23:15:20 -07:00
Chad Brubaker
4cd8e50690 Include operation handle in OperationResult
Some authorization code needs to know the actual underlying operation
handle, not simply a reference to it, so return it in case it is needed.
Note that the handle cannot be used by the application to reference an
operation.

Change-Id: I4c883dde17168b7f6c1643d81741a4c2686d3159
2015-03-20 12:36:42 -07:00
Johan Redestig
f989a412f0 Consider RTL layout in DPAD navigation in Gallery
Since the Gallery view changes direction the key events LEFT and
RIGHT should swap actions.

Change-Id: Iaeb9cce83e138f315f12ea188de142e67a60d574
2015-03-20 18:30:45 +00:00
Alex Klyubin
f9034cc4ae Add android.security.NetworkSecurityPolicy.
The initial purpose of the NetworkSecurityPolicy class is to provide a
way for network libraries to check whether cleartext network traffic
(e.g., HTTP, WebSockets, XMPP, IMAP, SMTP) should be blocked from this
process.

The policy is set declaratively by the app developer in the app's
manifest and can be queried from ApplicationInfo.flags. Unfortunately,
several network stacks (bundled and unbundled) do not have a reference
to ApplicationInfo or Context.

Alternatives:
* Keep this API hidden (and thus potentially move it from framework to
  libcore), thus precluding unbundled HTTP stacks from using the API.
* Introduce a new java.lang.System property instead of this API.
  However, such properties are a mess and not as powerful/extensible
  as a public class.

Bug: 19215516
Change-Id: If22056a74d257bf1d805ebb4fc284240b3d338f1
2015-03-19 10:27:48 -07:00
Alex Klyubin
4177b8cbbf Merge "Add app-level usesCleartextTraffic manifest attribute." 2015-03-19 16:10:20 +00:00
Shawn Willden
e90774ddbc Rename KM_TAG_USER_AUTH_ID to KM_TAG_USER_AUTH_TYPE.
Also change to an ENUM, to match changes in keymaster_defs.h

Change-Id: Ieda3402563b0b9e4e8b100eb69a94651e51c6347
2015-03-18 18:28:39 -06:00
Shawn Willden
254c58c4e7 Merge changes Id9a22ad3,I629ab2c4
* changes:
  Add KM_TAG_AUTH_TOKEN.
  Add support for KM_TAG_USER_SECURE_ID.
2015-03-19 00:27:38 +00:00
Andreas Gampe
c3e1c21482 Frameworks/base: Change String == to equals in Preference
Bug: 19797138
Change-Id: I496b12c425da45ee098db12e72ad843c22444ba3
2015-03-18 17:18:13 -07:00
Mathieu Chartier
437ac8f844 Merge "Add JIT late override property" 2015-03-18 22:56:55 +00:00
Andreas Gampe
13dbc3d48d Merge "Frameworks/base: Fix potential NPE in InputMethod" 2015-03-18 22:19:58 +00:00
Mathieu Chartier
7a49028aa2 Add JIT late override property
Required for JIT debug property since user builds can't restart
the shell.

Bug: 19735273

Change-Id: I1983852e80010c344b45e0bb459de47c56adfce8
2015-03-18 15:18:52 -07:00
Alex Klyubin
01a959d60a Add app-level usesCleartextTraffic manifest attribute.
The attribute declares whether the app intends to use cleartext
network traffic (e.g., HTTP, WebSockets, XMPP, SMTP, IMAP -- without
TLS or STARTTLS). The default value is true. If set to false, the app
declares that it does not intend to use cleartext network traffic. In
this case the app requests the platform, tooling, and third-party
libraries to prevent it from using cleartext traffic. The danger of
cleartext network traffic is that its confidentiality, authenticity,
and integrity are not guaranteed.

This feature is designed to help apps which care about security of
data exchanged over the network. These apps can accidentally
regress/downgrade to using cleartext network communications. This
typically happens when the server the app communicates with all of a
sudden tells it to use cleartext communications (e.g, HTTP URL
instead of an HTTPS URL) or when one of the components of the app gets
updated and regresses to cleartext communications without the
developer noticing.

In general, the prevention measures are on best effort basis. It's
impossible to automatically prevent all instances of cleartext
traffic. For example, an app bent on bypassing restrictions could
perform low-level network I/O with unusual TCP packet fragmentation,
or could use a custom application-level protocol.

The expectation is that most apps use libraries for network
communications and these libraries over time will start to honor this
flag, thus increasing the protections offered by it.

Bug: 19215516
Change-Id: I8700d51ddbc5d528faa4b6a5fa5bc9551ad02d13
2015-03-18 10:46:56 -07:00
Andreas Gampe
8ef92bd311 Frameworks/base: Fix request removal in VoiceInteractionSession
Fix and simplify removeRequest.

Bug: 19797138
Change-Id: I0eca877e3109c9f39cebd4c888f166ce334fcc0e
2015-03-17 21:22:49 -07:00
Andreas Gampe
4236ad7a2f Frameworks/base: Fix potential NPE in InputMethod
Don't read the size of an unchecked list.

Bug: 19797138
Change-Id: I9d8c087aff7bc9cc1e8aae9a0b489e23b5442765
2015-03-17 21:07:21 -07:00
Chad Brubaker
5654b36b46 Add authorization binder methods
Add methods for sending an auth token to keystore and to query the
authorization state of a given operation.

Change-Id: I223df5c56ae2a251ef31cfe60f06c046c12a5cd8
2015-03-17 16:59:52 -07:00
Andreas Gampe
4976e2de8d Frameworks/base: Fix visibility flag in Editor
Fix double check.

Bug: 19797138
Change-Id: I95e694f384f1f25d6cf3b6a1669052940385e41d
2015-03-17 16:08:43 -07:00
Andreas Gampe
9568772acb Merge "Frameworks/base: Fix format string in Geofence" 2015-03-17 21:30:49 +00:00
Andreas Gampe
1414a6291d Frameworks/base: Fix format string in Geofence
%p is not a valid conversion in format strings. It is also superfluous,
as it is already known that location is null.

Bug: 19797138
Change-Id: I5784e28b05b4ca9aac57e0fc9da4a7f01d9b3247
2015-03-17 21:30:20 +00:00
Andreas Gampe
aae42eb261 Merge "Frameworks/base: Fix format string in Camera" 2015-03-17 20:52:21 +00:00