Commit Graph

1872 Commits

Author SHA1 Message Date
Dianne Hackborn
97bf092e61 am dd24a32b: am 37f180b4: Merge "App ops: don\'t crash when provide read access is off." into jb-mr2-dev
* commit 'dd24a32b7c14337a20071ac8afe23c48157c32aa':
  App ops: don't crash when provide read access is off.
2013-03-23 01:50:06 +00:00
Dianne Hackborn
37f180b4a5 Merge "App ops: don't crash when provide read access is off." into jb-mr2-dev 2013-03-23 01:43:37 +00:00
Dianne Hackborn
9fa39bd255 App ops: don't crash when provide read access is off.
If the caller supplied an empty selection string (instead
of null) we would crash due to creating a bad SQLite statement.

Change-Id: I462803b80c81815ed9a3a320c23060daa28e8114
2013-03-22 18:42:14 -07:00
Dianne Hackborn
ac6331be6f am 8277f248: am b685faa2: Merge "Implement #8323587, #8323342, #8323590: new features." into jb-mr2-dev
* commit '8277f24865e52915b4825517860629c0385f79ed':
  Implement #8323587, #8323342, #8323590: new features.
2013-03-23 01:33:03 +00:00
Dianne Hackborn
119bbc378d Implement #8323587, #8323342, #8323590: new features.
8323587: Add feature for supporting app widgets
8323342: Add feature for replacing the home screen
8323590: Add feature for supporting input methods

The app widget service looks for the app widget feature
and refuses to work if it doesn't exist.  I didn't do
this for the input method service because some devices
will probably want to still make use of that mechanism
without supporting third party input methods.

Change-Id: Ie3b089105e104f4d767cdb03cdbe4fdb1c17382e
2013-03-22 17:27:25 -07:00
Amith Yamasani
4ed21d76e2 am 1641f86b: am 1eab5f26: Fix javadoc breakage
* commit '1641f86bb0771c761d09bfd31562c001bdd40c0b':
  Fix javadoc breakage
2013-03-21 07:40:39 +00:00
Amith Yamasani
e32011e8c0 resolved conflicts for merge of 99755cd3 to master
Change-Id: I752c387c013c3deaad836df9b0c2294e7149a32a
2013-03-21 00:29:02 -07:00
Amith Yamasani
1eab5f2693 Fix javadoc breakage
Change-Id: I72df82a8855322145c870bd8db64da81533be4cc
2013-03-20 23:54:07 -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
Dianne Hackborn
1545d7c5f7 am 5e2552bd: am d468df73: Merge "Fix a bug where we could lose a loader content change." into jb-mr2-dev
* commit '5e2552bd16ae09da826270363ac0f3f56af91922':
  Fix a bug where we could lose a loader content change.
2013-03-15 23:14:17 +00:00
Dianne Hackborn
d468df73d5 Merge "Fix a bug where we could lose a loader content change." into jb-mr2-dev 2013-03-15 23:10:47 +00:00
Jeff Sharkey
47d07fde90 am 20a1cf34: am 93b04b91: Merge "Avoid warnings about synthesized IDs." into jb-mr2-dev
* commit '20a1cf345f5f7952677d5f9cd97efe1a9a197930':
  Avoid warnings about synthesized IDs.
2013-03-15 21:51:29 +00:00
Jeff Sharkey
93b04b91bc Merge "Avoid warnings about synthesized IDs." into jb-mr2-dev 2013-03-15 21:47:58 +00:00
Jeff Sharkey
47b50333c1 Avoid warnings about synthesized IDs.
Bug: 8153518
Change-Id: I5d638e17581f63c6d4a10ff6bc2c1bf9997a78b3
2013-03-15 14:46:52 -07:00
Dianne Hackborn
ca614f78be Fix a bug where we could lose a loader content change.
If AsyncTaskLoader starts a background update due to a
content change, and that update is cancelled, we drop the
data when it finally arrives and forget that the content changed.
If we later come back to the loader, we then end up showing
stale data because we don't know that we still need to update
due to the old content change.

This change adds a couple new APIs to Loader to deal with the
time between when you ask for whether there is a content change
and finally either commit the data or cancel the update.
AsyncTaskLoader is changed to make use of this so that it doesn't
lose changes.

Change-Id: I3866236b1c22bb9138f2d9f6032b126aeaee2e6e
2013-03-14 19:17:00 -07:00
Scott Kennedy
d2bd0a2fa4 am 1a5bbe46: am e0e448f1: Merge "Remove a method" into jb-mr2-dev
* commit '1a5bbe4675b0496c07a241a94640142795dde22a':
  Remove a method
2013-03-14 18:37:15 +00:00
Scott Kennedy
da2223f897 Remove a method
It was only being called in one location, and the parameter was being
ignored.

Change-Id: Ia853dd8d3898ac3e4c4b2fb3a51d103844b57ca1
2013-03-14 10:47:10 -07:00
Dianne Hackborn
fc68ed14ff am f1ebd1bd: am 5d122d96: Better documentation on permission checking in ContentProvider.call().
* commit 'f1ebd1bd6799f4e2c5734ab372a9c78cd724b27e':
  Better documentation on permission checking in ContentProvider.call().
2013-03-14 02:34:21 +00:00
Dianne Hackborn
5d122d96a5 Better documentation on permission checking in ContentProvider.call().
Change-Id: I4a85fd17362c2a32e2b1365fcc07ef0336521616
2013-03-13 15:48:12 -07:00
Bjorn Bringert
133e2db873 Merge "Hide VOICE_ASSIST intent DO NOT MERGE" into jb-mr2-dev 2013-03-13 13:28:01 +00:00
Dianne Hackborn
dc37c5f2e3 am 0c42b580: am 53149acf: Merge "Implement limited shared libraries in apks." into jb-mr2-dev
* commit '0c42b58041dc0ede9865335fa48637fb6b677cd3':
  Implement limited shared libraries in apks.
2013-03-12 23:10:38 +00:00
Dianne Hackborn
c895be7bc6 Implement limited shared libraries in apks.
You can now declare shared libraries in apks that are
on the system image.  This is like the existing mechanism
of using raw jar files as shared libraries, but since they
are contained in an apk the library can actually be updated
from the Play Store.  And this even (mostly) works.

There are some deliberate limitations on this feature.  A
new shared library *must* be declared by an apk on the system
image.  Installing an update to a system image apk does not
allow you to add new shared libraries; they must be defined
by everything on the base system image.  This allows us to
get rid of a lot of ugly edge cases (shared libraries that were
there disappearing after an update is uninstalled for example)
and give some brakes on apps that happen to be pre-installed
on devices from being able to throw in new shared libraries
after the fact.

In working on this, I ran into a recently introduced bug where
uninstalling updated to system apps would fail.  This was done
to allow for the new restricted users that don't have all
system apps, but conflicts with the existing semantics for
uninstalling system apps.  To fix this I added a new uninstall
flag that lets you switch on the new mode if desired.

Also to implement the desired logic for limitations on declaring
new shared libraries in app updates, I needed to slightly tweak
the initial boot to keep the Package object for hidden system
packages associated with their PackageSetting, so we can look at
it to determine which shared libraries are allowed.  I think
this is probably more right than it was before -- we already
need to parse the package anyway, so we have it, and when you
install an update to a system app we are in this same state
until you reboot anyway.

And having this fixed also allowed me to fix another bug where
we wouldn't grant a new permission to an updated app if its
system image version is updated to request the permission but
its version is still older than whatever is currently installed
as an update.  So that's good.

Also add new sample code showing the implementation of an apk
shared library and a client app using it.

Change-Id: I8ccca8f3c3bffd036c5968e22bd7f8a73e69be22
2013-03-12 12:51:38 -07:00
Bjorn Bringert
964e7d2549 Hide VOICE_ASSIST intent DO NOT MERGE
Bug: 8289964
Change-Id: I49874f379647ff4e85402a298b4181923212a0aa
2013-03-12 19:35:57 +00:00
Jeff Sharkey
345fc4cc92 am 1b48ecf8: am f2afddb5: Merge "Handle corrupt RegisteredServicesCache XML." into jb-mr2-dev
* commit '1b48ecf89a13a104820d5ccf52ba7f5dd622d3a6':
  Handle corrupt RegisteredServicesCache XML.
2013-03-11 20:31:51 +00:00
Jeff Sharkey
f2afddb57d Merge "Handle corrupt RegisteredServicesCache XML." into jb-mr2-dev 2013-03-11 20:25:48 +00:00
Jeff Sharkey
293ad6c674 Handle corrupt RegisteredServicesCache XML.
Avoid getting stuck in infinite loop.

Bug: 8360183
Change-Id: I81728dcfbc35b456c9166cf5c5175d0a376df56f
2013-03-11 13:22:29 -07:00
Elliott Hughes
fb61c5368f am 387f446e: am 5043dc20: am bf8a663c: am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."
* commit '387f446eb98f0d7b932257b1cd68d89996197478':
  Improve the Resource.getQuantityString/getQuantityText documentation.
2013-03-08 22:54:37 +00:00
Elliott Hughes
5043dc2063 am bf8a663c: am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."
* commit 'bf8a663c53454f8b8cd7e07344316981022efa10':
  Improve the Resource.getQuantityString/getQuantityText documentation.
2013-03-08 14:44:40 -08:00
Elliott Hughes
bf8a663c53 am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."
* commit '3f7a49904cef7ea14808590b63b115a4381537a1':
  Improve the Resource.getQuantityString/getQuantityText documentation.
2013-03-08 13:59:59 -08:00
Elliott Hughes
95d5ab30f2 Improve the Resource.getQuantityString/getQuantityText documentation.
Natural languages differ so much and in such odd ways that you can't
use getQuantityString as an "if" statement. It's really just for grammaticality.
This is explained well in
http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
but we need to make more of an effort to motivate people to read that, and to
at least get the most important point across if they don't read it.

Change-Id: I549b9f3563462c45f2dea34c558185e0714127cd
2013-03-08 11:26:57 -08:00
Jeff Sharkey
99438af892 am 73a3754c: am 4861966c: Merge "ArrayUtils.indexOf(), containsAll() with tests." into jb-mr2-dev
* commit '73a3754c6766b7220878983317b3d56ce7fc6e58':
  ArrayUtils.indexOf(), containsAll() with tests.
2013-03-07 00:45:14 +00:00
Jeff Sharkey
94c91dca55 ArrayUtils.indexOf(), containsAll() with tests.
Change-Id: I040164d4e45126e4a6c1df54bd114f47951da560
2013-03-06 16:28:36 -08:00
Amith Yamasani
adb8e146a5 am 3eb3774f: am 67df64b3: Shared accounts and sharing of apps
* commit '3eb3774f8e54a6f43dcf4f27e1b7a62676791ff6':
  Shared accounts and sharing of apps
2013-03-06 18:37:32 +00: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
Jeff Sharkey
237940a092 am 2048fbb1: am c807070c: am 1e5e3748: am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.
* commit '2048fbb1106a639c6b66298b94ab98eb4c650542':
  Tighten enforcement of file modes.
2013-03-01 17:31:54 -08:00
Jeff Sharkey
2048fbb110 am c807070c: am 1e5e3748: am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.
* commit 'c807070cb54228f1039cd0a3f2fe14efbe46df3e':
  Tighten enforcement of file modes.
2013-03-01 17:30:45 -08:00
Jeff Sharkey
1e5e3748d4 am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.
* commit '67f2957331a63474879f68bf1a8d17b60b2188cd':
  Tighten enforcement of file modes.
2013-03-01 17:26:07 -08:00
Jeff Sharkey
67f2957331 am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.
* commit 'bb2aa63be4a9328403a4daa2f93b42a4a7b0b65d':
  Tighten enforcement of file modes.
2013-03-01 17:23:40 -08:00
Jeff Sharkey
bb2aa63be4 am a2e929e1: Tighten enforcement of file modes.
* commit 'a2e929e1df62947b7967258f21fd05b27a571878':
  Tighten enforcement of file modes.
2013-03-01 17:20:51 -08:00
Jeff Sharkey
a2e929e1df Tighten enforcement of file modes.
Bug: 8275867
Change-Id: I4da14f2dd0049aca69636999696c1f3c02b3b792
2013-03-01 16:17:09 -08:00
Bjorn Bringert
8d628f0c69 am bc086862: Declare VOICE_ASSIST intent
* commit 'bc086862e216bbe8ffc2dfb68f09a872505d9d48':
  Declare VOICE_ASSIST intent
2013-03-01 17:21:32 +00:00
Bjorn Bringert
bc086862e2 Declare VOICE_ASSIST intent
Bug: 8289964
Change-Id: I241b5166a98a7a462691f0169bf1b6f4fe7b2e0f
2013-03-01 12:59:24 +00:00
Jeff Sharkey
ce43e009e6 am f5e04717: Merge "Tighten enforcement of file modes." into jb-mr2-dev
* commit 'f5e0471703d73a1285601928b790cdf0ab028fa5':
  Tighten enforcement of file modes.
2013-03-01 00:49:33 +00:00
Jeff Sharkey
f5e0471703 Merge "Tighten enforcement of file modes." into jb-mr2-dev 2013-03-01 00:44:41 +00:00
Jeff Sharkey
ba761979ee Tighten enforcement of file modes.
Bug: 8275867
Change-Id: I4da14f2dd0049aca69636999696c1f3c02b3b792
2013-02-28 15:57:36 -08:00
Dianne Hackborn
bf2798b387 am 9ad66541: Merge "New ContentProvider initialization for testing." into jb-mr2-dev
* commit '9ad665417713398524d425f63b0d6fa751244237':
  New ContentProvider initialization for testing.
2013-02-27 23:22:12 +00:00
Dianne Hackborn
334d9aebc2 New ContentProvider initialization for testing.
Using this turns off app ops checks.

Change-Id: If29d4ca2fe9ddf1a1663d3a824b2f0afe7375862
2013-02-26 16:16:14 -08:00
Dianne Hackborn
2223e52a21 am d0d209ed: Merge "App ops: turn off content provider ops when running under test." into jb-mr2-dev
* commit 'd0d209ed4d6280b6e1203eebe823f04f9db766c0':
  App ops: turn off content provider ops when running under test.
2013-02-26 21:48:53 +00:00
Dianne Hackborn
7e6f976c87 App ops: turn off content provider ops when running under test.
Change-Id: I3a5084d195de29122b2f5f2a13b5d4f92f22fa92
2013-02-26 13:35:11 -08:00
Dianne Hackborn
91adc04591 am 305dbea8: Merge "App ops: adding operations for reading/writing clipboard." into jb-mr2-dev
* commit '305dbea8e39608b61810637944b6ffbbe6c07d2f':
  App ops: adding operations for reading/writing clipboard.
2013-02-26 18:20:55 +00:00