Commit Graph

2874 Commits

Author SHA1 Message Date
Kenny Root
8b51475c97 Revert "Remove AndroidKeyStore from API"
This reverts commit ce24985ad6.

Change-Id: I02d6492c8db869619694c7209bb37522a7ec5a29
2013-04-06 10:05:31 -07:00
Adam Powell
e0e2f4fd3a Fix accessibility in action bars and add extra customization
Fix a bug where the content description of the big unified Home/Up
button was not getting set properly.

Add the ability to change the home-as-up glyph from ActionBar.

Add the ability to set a custom action description for the home-as-up
button, useful if the above functionality is used.

Bug 8548229

Change-Id: I0635799772c7234b68247dfc105dce7f11acda32
2013-04-05 16:46:22 -07:00
Daniel Sandler
5feceebb89 New NotificationListenerService.
This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.

Use this power wisely.

This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]

Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
2013-04-05 19:54:44 +00:00
Jeff Sharkey
a14acd20b8 Warn when exposing file:// Uris beyond a process.
Check for file:// Uris inside Intents, ClipData, Notifications and
RemoteViews when StrictMode option is enabled.

Also introduces Intent.prepareToLeaveProcess() to uniformly handle
Intents about to leave an app process.

Bug: 8529070
Change-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef
2013-04-03 11:45:44 -07:00
kmccormick
257719ec2a am cccf6e9b: am 9f0ed0ee: am 58db9597: am e4ca0650: am 31ed1722: Merge "Doc update: clarify dumpsys instructions" into jb-mr1.1-docs
* commit 'cccf6e9b85e7f9e5f404137dde5dbd9db937592b':
  Doc update: clarify dumpsys instructions
2013-03-29 16:18:40 -07:00
kmccormick
cccf6e9b85 am 9f0ed0ee: am 58db9597: am e4ca0650: am 31ed1722: Merge "Doc update: clarify dumpsys instructions" into jb-mr1.1-docs
* commit '9f0ed0ee508b8f2233c8834f067e2fb8275d2cfa':
  Doc update: clarify dumpsys instructions
2013-03-29 16:16:10 -07:00
kmccormick
9f0ed0ee50 am 58db9597: am e4ca0650: am 31ed1722: Merge "Doc update: clarify dumpsys instructions" into jb-mr1.1-docs
* commit '58db95970c9ba47dd83e06cc165d2dc5cc29ce8a':
  Doc update: clarify dumpsys instructions
2013-03-29 16:13:12 -07:00
kmccormick
f6dc107809 Doc update: clarify dumpsys instructions
"Bug: 8474578"

Change-Id: Ic743de8f41a1b2d38a4d2495148dc07e2f45b8e5
2013-03-29 16:01:31 -07:00
Matthew Xie
ddf7e4756c Unhide Bluetooth Low Energy public APIs
Updated API headers. Add BluetoothManager to be retrieved by
context.getSystemService(Context.BLUETOOTH_SERVICE).
LE scan functions are placed in BluetoothAdapter
The GATT API are device driven instead of a profile-driver.
bug 8450158

Change-Id: I424a4cedaac3ef8120a05996500008dd210d2553
2013-03-28 15:36:10 -07:00
Craig Mautner
54241a31e9 Merge "Add flag to method's javadoc." into jb-mr2-dev 2013-03-28 19:41:19 +00:00
Craig Mautner
ecbfe253fb Add flag to method's javadoc.
MOVE_TASK_NO_USER_ACTION was feeling neglected.

Change-Id: I1b8281878e99755ad9960904ba71b83ba3f05620
2013-03-28 11:58:25 -07:00
Dianne Hackborn
bf20aa767e Merge "Keep track of who has disabled applications." into jb-mr2-dev 2013-03-27 23:32:36 +00:00
Dianne Hackborn
3fa3c28a35 Keep track of who has disabled applications.
Change-Id: I2640d3dc2200b589e2beb42a43cc93efd090f06e
2013-03-27 12:01:52 -07:00
Dianne Hackborn
174d90787c am bfd15fa0: am 6b96e2f0: Merge "Two REMOVE_PROVIDER messages caused by race condition."
* commit 'bfd15fa00557ea78567a30fe260dea62c37bd5a0':
  Two REMOVE_PROVIDER messages caused by race condition.
2013-03-27 11:37:08 -07:00
Jeff Brown
ca3d655d20 Merge "Use input transport for communications between app and IME." into jb-mr2-dev 2013-03-27 02:43:54 +00:00
Dianne Hackborn
bfd15fa005 am 6b96e2f0: Merge "Two REMOVE_PROVIDER messages caused by race condition."
* commit '6b96e2f0006b5c33973b3500d3bb72a8c7a3bd38':
  Two REMOVE_PROVIDER messages caused by race condition.
2013-03-26 17:46:21 -07:00
Guobin Zhang
9e3e526650 Two REMOVE_PROVIDER messages caused by race condition.
Fix a bug in unstable ContentProvider.
IllegalStateException: ref counts can't go to zero here: stable=0 unstable=0
IllegalStateException: unstable count < 0: -1

There is a race between main thread and background database thread. Main thread
is responsible for handling the REMOVE_PROVIDER message. Database thread starts
insert or query request again and again. acquireProvider in db thread will often
snatch provider from the jaws of death, sometime it fails to remove REMOVE_PROVIDER
which is already fired out from MessageQueue. But completeRemoveProvider in main
thread gets suspended when trying to execute the critical section. If db thread
released the provider before main thread resumes the execution, then two
REMOVE_PROVIDER messages will be executed.

Change-Id: I8588aa1d1a8bc444dcd2adf6f8bc3f055cebbdc4
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
2013-03-27 00:17:27 +00:00
Jeff Brown
c28867a1d6 Use input transport for communications between app and IME.
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.

This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder.  This results in fewer thread context switches
and fewer object allocations.

What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.

Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
2013-03-26 15:42:39 -07:00
Amith Yamasani
df5e9fe181 Merge "Device Owner, a special kind of device admin" into jb-mr2-dev 2013-03-26 22:27:13 +00:00
Amith Yamasani
71e6c697e5 Device Owner, a special kind of device admin
A Device Owner cannot be uninstalled and is available to all users. It must
be registered before the device_provisioned flag is set.

Device admins can be disabled until used, but visible to device policy
manager, so that users wont be bothered with update requests.

Opened up a few related APIs for use by a system-installed Device Owner.

Change-Id: I847b5fe68c0f724863f778a67602b5bddc79d8e5
2013-03-26 15:09:08 -07:00
Jeff Sharkey
7d9bfc9b82 Merge "Handle external storage errors uniformly." into jb-mr2-dev 2013-03-26 00:37:03 +00:00
Jeff Sharkey
45d01ea282 Handle external storage errors uniformly.
Bug: 6777728
Change-Id: I021db160bc959fdf02bfd448edf977961bd1d9d0
2013-03-25 17:30:20 -07:00
Christopher Tate
6e7a6b101b am 0e3411b2: am d738f49a: am b559b58e: am 5769c0b8: am 9432f83c: am 7b3ac9ad: am 0cb27e28: Validate restored file paths against their nominal domain
* commit '0e3411b20c173ada46fe4abf5f14fe28e699da70':
  Validate restored file paths against their nominal domain
2013-03-25 14:20:20 -07:00
Christopher Tate
0e3411b20c am d738f49a: am b559b58e: am 5769c0b8: am 9432f83c: am 7b3ac9ad: am 0cb27e28: Validate restored file paths against their nominal domain
* commit 'd738f49a1edeaf9c17b8b7ae7b5a5aeb9b56f16e':
  Validate restored file paths against their nominal domain
2013-03-25 14:18:06 -07:00
Christopher Tate
5769c0b803 am 9432f83c: am 7b3ac9ad: am 0cb27e28: Validate restored file paths against their nominal domain
* commit '9432f83cea107240bcb71b9230b3af7de4c2a036':
  Validate restored file paths against their nominal domain
2013-03-25 14:11:10 -07:00
Christopher Tate
9432f83cea am 7b3ac9ad: am 0cb27e28: Validate restored file paths against their nominal domain
* commit '7b3ac9add80fde8e36201e7c2e05a3da10c44cec':
  Validate restored file paths against their nominal domain
2013-03-25 14:08:37 -07:00
Christopher Tate
7b3ac9add8 am 0cb27e28: Validate restored file paths against their nominal domain
* commit '0cb27e28071af59000198c8588c588a2e63cc0a3':
  Validate restored file paths against their nominal domain
2013-03-25 14:05:47 -07:00
Christopher Tate
0cb27e2807 Validate restored file paths against their nominal domain
Bug 8460775

(cherry picked from commit 7323765bbf)

Change-Id: I6710503799a6df2de142a827513d5b4c107b6ec9
2013-03-25 13:44:34 -07:00
Christopher Tate
7323765bbf Validate restored file paths against their nominal domain
Bug 8460775

Change-Id: Ib16d740a001adf4f9cb9ccaa31066ac7cadfb430
2013-03-25 13:06:04 -07:00
Daniel Sandler
dc0299fb23 Merge "Allow whitelisted non-system packages to listen for notifications." into jb-mr2-dev 2013-03-21 22:01:59 +00:00
Daniel Sandler
4b749ef5f2 Allow whitelisted non-system packages to listen for notifications.
The allowed packages are listed in
Settings.Secure.ENABLED_NOTIFICATION_LISTENERS. (Don't let
the plural fool you: only one listener will be supported in
the UI.)

Change-Id: Ia69f2ba05d8e555fd4d40b0cc89c62ed14af3cac
2013-03-21 01:41:20 -07:00
Amith Yamasani
df2e92a535 Application restrictions API
Adds the ability for apps to export some restrictions. The restrictions
are presented in Settings based on the restriction type. The user's
selections are stored by UserManagerService and provided to the
target user's application as a list of RestrictionEntry objects which
contain the key, value(s).

Also introduce a manifest entry for system apps to request that the
app be automatically installed in all users, so that they cannot be
deselected by the owner user.

Shared account filtering for non-whitelisted apps.

Change-Id: I15b741e3c0f3448883cb364c130783f1f6ea7ce6
2013-03-20 22:29:59 -07:00
Jeff Sharkey
02ffba940c Handle finished bugreports, share from private.
Show notification when a bugreport is finished, letting the user
launch a SEND_MULTIPLE intent to share them.  Add dialog that warns
user about contents before sharing.  Since bugreports are now stored
in private app data of the Shell app, use FileProvider to build Uris
that we can grant others access to.

Define BUGREPORT_FINISHED as being a protected broadcast.  Delete
older bugreports automatically to reclaim disk space.  Migrate any
Intent extras to ClipData when building PendingIntents.

Add --receiver-permission support to am shell command.

Bug: 7005318
Change-Id: If6c607dbcf137362d5887eac482ff7391563890f
2013-03-13 16:42:38 -07:00
Christopher Tate
294b512eca DO NOT MERGE - Full backup/restore now handles OBBs sensibly
OBB backup/ restore is no longer handled within the target app
process.  This is done to avoid having to require that OBB-using
apps have full read/write permission for external storage.

The new OBB backup service is a new component running in the
same app as the already-existing shared storage backup agent.
The backup infrastructure delegates backup/restore of apps'
OBB contents to this component (because the system process
may not itself read/write external storage).

From the command line, OBB backup is enabled by using new
-obb / -noobb flags with adb backup.  The default is noobb.

Finally, a couple of nit fixes:

- buffer-size mismatch between the writer and reader of chunked
  file data has been corrected; now the reading side won't be
  issuing an extra pipe read per chunk.

- bu now explicitly closes the transport socket fd after
  adopting it. This was benign but triggered a logged
  warning about leaked fds.

(Cherrypicked)

Change-Id: I471f6348abcccb7bf1e1710b7beda9f23de53e14
2013-03-08 15:08:10 -08:00
Jeff Brown
3afc18af2c Enhance MediaRouter API.
The support library MediaRouter implementation needs a couple
of extra generally useful APIs in the platform MediaRouter to ensure
that it can safely synchronize its state.

Change-Id: I72c5652e10f3b6de48800abfa922affbefbd250f
2013-03-07 13:26:40 -08:00
Amith Yamasani
67df64b3a4 Shared accounts and sharing of apps
API and preliminary implementation for sharing primary user accounts with a secondary user.
AbstractAccountAuthenticator has new methods to retrieve and apply a bundle of credentials
to clone an account from the primary to a restricted secondary user. The AccountManagerService
initiates the account clone when it starts up the user and detects that the user has
a shared account registered that hasn't been converted to a real account.

AccountManager also has new hidden APIs to add/remove/get shared accounts. There might be
further improvements to this API to make shared accounts hidden/visible to select apps.

AccountManagerService has a new table to store the shared account information.

Added ability in PackageManager to install and uninstall packages for a secondary user. This
is required when the primary user selects a few apps to share with a restricted user.

Remove shared accounts from secondary users when primary user removes the account.

Change-Id: I9378ed0d8c1cc66baf150a4bec0ede56f6f8b06b
2013-03-06 09:49:44 -08:00
Scott Main
892b979478 am 47c59b48: am 01798b05: am 76d85763: am 0f1259cc: am 8c82d250: Merge "docs: clarify startActivity" into jb-mr1.1-docs
* commit '47c59b48357d875a6a0278e945e4c08700886b37':
  docs: clarify startActivity
2013-03-05 21:16:45 +00:00
Scott Main
47c59b4835 am 01798b05: am 76d85763: am 0f1259cc: am 8c82d250: Merge "docs: clarify startActivity" into jb-mr1.1-docs
* commit '01798b0553ffd504b0012a8f3ffb7a8d3c1be641':
  docs: clarify startActivity
2013-03-05 13:13:48 -08:00
Scott Main
01798b0553 am 76d85763: am 0f1259cc: am 8c82d250: Merge "docs: clarify startActivity" into jb-mr1.1-docs
* commit '76d857639efa3e5fd01553a26b6742a6895d189f':
  docs: clarify startActivity
2013-03-05 13:09:44 -08:00
Svetoslav
3c55e5c659 Fake accessibility service used by UiAutomation not destroyed.
UiAutomation registers a fake accessibility service to introspect
the screen. Upon the death of the shell process that started an
instrumentation in which a UiAutomation resides the connection
between the UiAutomation and the system is kept alive allowing
the instrumentation to introspect the screen even after the death
of the shell process.

bug:8285905

Change-Id: I1a16d78abbea032116c4baed175cfc0d5dedbf0c
2013-02-27 18:32:17 -08:00
Scott Main
87bff974d0 docs: clarify startActivity
Change-Id: I821321441bbb39b84031e9c65fe43762270e0148
2013-02-27 15:46:34 -08:00
Dianne Hackborn
305dbea8e3 Merge "App ops: adding operations for reading/writing clipboard." into jb-mr2-dev 2013-02-26 18:16:22 +00:00
Dianne Hackborn
efcc1a23a1 App ops: adding operations for reading/writing clipboard.
Change-Id: Ic4cade153618fe86954754a3b3edde64a52a0a9c
2013-02-25 18:02:35 -08:00
Dianne Hackborn
208d937b61 Better exceptions when LoadedApk fails.
Change-Id: Iba578c3872c6aeba3bf468735f06bd486d661454
2013-02-25 13:17:54 -08:00
Christopher Tate
ab6b77fd85 Merge "Be cool in backup/restore of apps that can't touch external storage" 2013-02-21 23:45:02 +00:00
Christopher Tate
5cb5c337d5 Be cool in backup/restore of apps that can't touch external storage
Bug: 8241337
Change-Id: I23f6eeba8448b234a7b18ce50d2ced2ba54b4ebd
2013-02-21 15:43:52 -08:00
Daniel Sandler
e96558879e Merge "Make Notification action data structures public." 2013-02-21 19:38:55 +00:00
Daniel Sandler
ea2a317368 Make Notification action data structures public.
Currently hidden.

Change-Id: I2a62a730f76d177577155d7ebb396b0fe51357f8
2013-02-20 22:25:01 -05:00
Dianne Hackborn
a53ee35754 Fix issue #8228463: contradicting public documentation on what...
...Intents match an IntentFilter that has no action specified

And various other doc improvements.

Change-Id: I6d881c8aed56c552e36d5db5df4f74c6aa718da7
2013-02-20 15:05:39 -08:00
Daniel Sandler
f025404a8b Merge "New INotificationListener interface." 2013-02-20 14:40:05 +00:00