Use AtomicFile for usermanager files.
Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.
Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
Moved a bunch of methods from PackageManager to UserManager.
Fix launching of activities from recents to correct user.
Guest creation APIs
Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
- Expose the existing Context.sendBroadcast() as
Context.sendBroadcastAsUser().
- Add new android:singleUser attribute for services.
- Add new INTERACT_ACROSS_USERS_FULL permission for full
system-level access to cross-user interface (allows
sendBroadcastAsUser() to send to any receiver).
- Add new INTERACT_ACROSS_USERS_FULL permission for
more restricted cross-user interaction: this is required
for android:singleUser, and allows you to use
sendBroadcastAsUser() but only to send to your own
receivers.
Change-Id: I0de88f6718e9505f4de72e3f45d29c0f503b76e9
Since applications can have Account providers, they need to be delayed
until after PackageManagerService says everything is mounted.
Otherwise the accounts associated with that provider will be removed
immediately when startup happens.
Bug: 6820670
Change-Id: Iba81765260421649f706624d0605a40ebc1347b1
The fix was to call ListView.setItemChecked()
instead of ListView.setSelection() for setting radio button status.
Also refactored the code a bit so it's less verbose.
Bug 6588533
Change-Id: I8add072a0277183baec7c0d5634a28f2d3a28c5e
This makes it possible to retrieve the account list in the order of creation,
if we want to display them in the account settings screen in that order.
Bug: 6579937
Change-Id: I2025aaa8b770fbb78be978dfde64ef95823fd5aa
- Added radio buttons to indicate the selected item
- "Add account" is one of the list options instead of a button
- Removed icons
- Added "Cancel" and "OK" buttons
- Use dialog theme
- Omit description text by default
Bug 6505441
Change-Id: I672a11481ee99e183142142bddf8f97b7b149d37
and have the GrantCredentialsPermissionActivity call that instead of a
static so that it can be made to run in a different process than the
AccountManagerService. Protect this call by checking that the caller
has the same UID as the system process.
Bug: 6545417
Change-Id: I295e65cad68883349a47e7927c171af45c89b229
This cl ensures that we immediately route the user to the add account
activity if they don't have an account and their is only one relevant
account type. Also reordered the setContent logic to reduce flicker.
Note that as of this CL there is still some flicker remaining when
launching G+ without an account. But it appears to be fixed in other
apps.
Bug: 6455975
Change-Id: I91e33b4fb9618a31765b4a8651334b1c52640828
Some developers accidentally create a blank accounts.db and this
was causing accounts to vanish. This safeguards the case where both
old and new files exist.
Bug: 6168813
Change-Id: I79cf211acc5422ff1c17fe0c9af80c49227b60ac
Get the full list of accounts from AccountManagerService in one shot
instead of getting them per user.
Bug: 6263091
Change-Id: I488f24749a96281ef1e2a620820399c97f471024
Broadcast intents that get sent out when users are added/removed/switched.
More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.
User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
and AccountManager.
- Shutdown processes belonging to the user.
Don't show vibrate option in long-press power if there's no vibrator.
Lock the screen when switching users, to force unlocking.
Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
* Because the user directory probably won't exist, the renameTo
in previous code fails silently
Bug: 6188815
Change-Id: I6afd1bad9bbd1a36de7e93d9e02ed7172b1ed370
AccountManagerService
- Maintain multiple account lists, one per user
- Keep multiple databases of accounts
- Account db moved to /data/system/users/<userid>/
SyncManager
- SyncStorageEngine keeps track of multiple users' accounts.
- SyncQueue maintained as a single instance, queueing requests from
multiple users.
- Changed some methods to take userId arguments
- Removed some deadc0de
- Store the userId in the SyncOperation, so we know which provider
instance to bind to when queued operations are processed.
ContentService
- Pass along the userid to sync manager calls.
ActivityManagerService:
- Fixed a bug in cancelIntentSender
- Don't bring other user's task forward when resetting tasks.
Updated tests
Change-Id: If317340ef68e902787aa3f5ceb4cf96f14aea695
skipped if the user cancels out of adding an account the flow itself should
be canceled rather than showing the accounts list display.
Bug: 5599693
Change-Id: I5075e86656e237dddcb5e1d76e432e1cf525ab79
would only work in the case where onSaveInstanceState was called.
- combined mExistingAccounts and mSavedAccounts into one field
- set this field when starting the addAccount request
- write this to the instance state if the request state
is ADDING_ACCOUNT
- read this field from the instance state, if any,
when the request state is ADDING_ACCOUNT
Bug: 5459669
Change-Id: I5a7b4943de8e706cc8a21ff9f54fce4258f18b19
- resilient to the chooser activity being killed due to memory pressure
- back now goes back to the main chooser screen rather than canceling
it completely
Bug: 5358896
Bug: 5381201
Bug: 5387749
Change-Id: I10e76013b2cceffc37ea891746533d6a08f279b7
Some services have info that is not readily available any other way. Add
a permission check to those services.
Bug: 5389201
Change-Id: I5a9724ec89e1c11ef7813eeb52a6a05b3ea92af5
results in a blank screen.
The fix involves making the first activity just call the account
type chooser to get the account type to add, rather than having
the account type chooser also kick off the AccountManager.addAccount()
request itself. Instead the first activity will get the type
back and then call AccountManager.addAccount()
Bug: 5346810
Change-Id: I4a0cf2370971b98f8ee0910f5401d97e999e546b
- made the UI match the spec
- added ability to force the account chooser to appear
- added ability to pass in a description that will override the stock one
- added ability to pass in requiredFeatures for addAccount
- added ability to pass in an authTokenType for addAccount
Bug: 5293377
Change-Id: I243c0fd6598c943b1f65753e1f5d3c86629f64f5
b/5278759 API changes to pass package, options
b/5249018 consistent/customized add account UI
b/5270079 tag who adds the account
Change-Id: I1ee211d751b565c725c89aa1a429ef2f5bebe34a
In addition to the primary change in the subject, also some minor cleanup of javadoc, typos, CloseGuard warning, etc found while working on a new AbstractAccountAuthenticator.
Change-Id: I73f3408773a43a0021a15f8d051fd3dbbdf898a5
paths of code getting the mCacheLock and DB locks in different
orders.
The philosophy I followed for this was to ensure that the
DatabaseHelper is only ever accessed from within a
synchronized(mCacheLock) block. I also renamed a bunch of
methods to make it easier to know if a given method should
be called from within this synchronized block.
Bug: 3404506
Change-Id: Ia48f95e77b77647d0717f70f1d8364da3719cc13
Backport (with modifications ) some changes from Honeycomb, that would allow authenticators to control caching and permissions.
This is backward compatible - both new and old authenticators will work with old and new framework,
but the functionality will only be present if both sides support it.
Change-Id: Ib2838cc2159f45264b38c844cd4c1d6f315d8064