Commit Graph

272 Commits

Author SHA1 Message Date
Salvador Martinez
32a87ca7a9 Changed themes for core activities am: 7e2657c303
am: f3209d6c87

Change-Id: I1595ffd9a91137666e45792f8f980355ea622f50
2016-09-28 00:16:50 +00:00
Salvador Martinez
f3209d6c87 Changed themes for core activities
am: 7e2657c303

Change-Id: If4019d7f37ea13bbbcbaeaaccde40a112173683c
2016-09-28 00:08:55 +00:00
Svet Ganov
9d56963630 [DO NOT MERGE] Use tokens instead of account access trackers am: 32bfb594af
am: 18b725ac0a

Change-Id: I8f90fb4c4d4baa29727d84a28db68f277d305a74
2016-09-27 20:59:00 +00:00
Salvador Martinez
7e2657c303 Changed themes for core activities
Many activities in core were using the
material theme which would result in teal
colors on all devices. These themes have
all been changed to DeviceDefault so that
the color will be more suited to whatever
device the user has.

Test: Manual Inspection
Bug: 31623421
Change-Id: I6847023c4fb57a1c3384a1f8e483cd740229458f
2016-09-26 12:49:31 -07:00
Svet Ganov
32bfb594af [DO NOT MERGE] Use tokens instead of account access trackers
We keep track which process saw and account to whitelist
the app for future access as an optimization to avoid
prompting the user for account access approval. Some apps
use SefeParcelable where the parcels are marshalled
which does not allow the parcel to contain IBinders.
To avoid this we are switching from account tracker remote
objects to unforgeable tokens.

bug:31162498

Change-Id: I3b52bff720655f695ad0c58d420eb35ef93161b9
2016-09-24 06:00:14 +00:00
Hongming Jin
adc906206a Only return password for account session flow if the caller is signed with system key and have get_password permission. am: 9342e137c6
am: 8b75ebf0bb

Change-Id: I95794bb5269c849fe740576a344e43da4306ac56
2016-09-14 23:32:29 +00:00
Hongming Jin
914e549bce Only return password for account session flow if the caller is signed with system key and have get_password permission. am: 9342e137c6
am: 57e38003e8

Change-Id: Iaa63cf3bc288803e92a81386f03d1151d78e6b02
2016-09-14 23:32:11 +00:00
Hongming Jin
57e38003e8 Only return password for account session flow if the caller is signed with system key and have get_password permission.
am: 9342e137c6

Change-Id: I10134040a7596000e768433943979c9af790e582
2016-09-14 23:23:05 +00:00
Hongming Jin
9342e137c6 Only return password for account session flow if the caller is signed
with system key and have get_password permission.

Bug: 30455516
Change-Id: I78484c59e4de1dff685ab91a0a8e7a756fffd9bf
2016-09-14 14:15:56 -07:00
Svet Ganov
171b77b91e [DO NOT MERGE] Backup account access grants am: 72ed12c55f
am: 0dc4ff0753

Change-Id: Ic6ad395f958b2e09d66467f41bd40e84c34851b9
2016-09-10 00:28:50 +00:00
Svet Ganov
72ed12c55f [DO NOT MERGE] Backup account access grants
Sync adapters without an account access cannot run until the
user approves the account access (for the case the account
access is not allowed by other policy such as being singed
with the same cert as the authenticator). If the sync adapter
does not have permission to access the account we ask the
user to grant access and take a note. This CL adds backup
for the explicit user grants.

bug:31162498

Change-Id: I31e3f3d010475352c7c54255ac2d3a2fed4d0c72
2016-09-09 10:16:57 -07:00
Svet Ganov
7580351e9e [DO NOT MERGE] While-list apps to access account if already saw it am: 91d37f43c7
am: f56f70365d

Change-Id: I3a553a7efe34feb9fbfa5d5c504874a2780bf132
2016-09-09 02:42:23 +00:00
Svet Ganov
91d37f43c7 [DO NOT MERGE] While-list apps to access account if already saw it
Sync adapters without an account access cannot run until the
user approves the account access (for the case the account
access is not allowed by other policy such as being singed
with the same cert as the authenticator). However, if the
sync adapter package already got the account from another
app which means it already saw the account we white-list
the sync adapter app to access the account as it already
saw it - the bird is out of the cage.

bug:31162498

Change-Id: I2b72f3b0d6307561ed68db2f2e9c900b15e8d098
2016-09-08 16:46:46 -07:00
Svetoslav Ganov
eeeebd346a Only sync adapters with access can see an account - framework am: 5cb2973495
am: 721402e75a

Change-Id: I361b009afa6c6e658157e6e04bf88096e8331fd0
2016-08-24 02:08:19 +00:00
Svetoslav Ganov
5cb2973495 Only sync adapters with access can see an account - framework
It was possible for a sync adapter without accounts access to
see the account which it is supposed to sync which can be used to
identify the user. This change ensures that only sync adapters
with account access can run (which results in seeing the account),
otherwise we involve the user to approve access only to this account.

A sync adapter can access an account if one of these is true:
 - it is signed as the authenticator for this account
 - has the GET_ACCOUNTS permission
 - has an auth token for the account
 - it is a preinstalled app (system or privileged)

The main thing we need to figure out is if the extra prompts
for giving access to a sync adapter to the account create too
much friction.

bug:28163381

Change-Id: Ie083bb681b5a2aed81ca5f6a062193a175fad77e
2016-08-23 21:43:27 +00:00
Carlos Valdivia
5a2dccbc70 Merge "introduce GET_PASSWORD_PRIVILEDGED permission." into nyc-dev
am: bb5e52f

* commit 'bb5e52f928c2215256ea46bc2592fa3c077c15b0':
  introduce GET_PASSWORD_PRIVILEDGED permission.

Change-Id: I6866ef20ad4bf4850601f53ea141168d091f8845
2016-04-01 20:08:58 +00:00
Carlos Valdivia
51b651aea1 introduce GET_PASSWORD_PRIVILEDGED permission.
That will be used to filter in passwords for Session based
AccountManager flows.

Bug: 27590532
Change-Id: I4a6d0540bcff186e416351a6f719600ce35d86a0
2016-04-01 10:55:34 -07:00
Ian Pedowitz
0f0fba787c Merge "Revert "Permissions: Get rid of GET_ACCOUNTS"" into nyc-dev
am: 440ef18fe7

* commit '440ef18fe7dcfaff28fad0137f4abe4235381e05':
  Revert "Permissions: Get rid of GET_ACCOUNTS"
2016-03-15 17:15:59 +00:00
Ian Pedowitz
358e51f3d1 Revert "Permissions: Get rid of GET_ACCOUNTS"
This reverts commit d39600585b.

Bug: 27665091
Change-Id: I7d017ba7062ac594225229436d2877c7d21fb065
2016-03-15 17:08:27 +00:00
Carlos Valdivia
71dfb1654b Merge "Permissions: Get rid of GET_ACCOUNTS" into nyc-dev
am: 658e4c5ece

* commit '658e4c5eceefcb2f0d070d478fb1ab0af27a1bbe':
  Permissions: Get rid of GET_ACCOUNTS
2016-03-15 01:40:26 +00:00
Carlos Valdivia
d39600585b Permissions: Get rid of GET_ACCOUNTS
Second attempt. Still need to add strict mode violation checks and
logging.

Bug: 21901286

This reverts commit bf33bd4d31.

Change-Id: I5d73343544c32ce4fc4c377ba44db8e677a1287d
2016-03-13 17:13:54 -07:00
Jeff Sharkey
917fe2f8a5 Merge "When system server goes down, crash apps more." into nyc-dev
am: 004bf6ade3

* commit '004bf6ade3e7e400c896541cce0e513eef179738':
  When system server goes down, crash apps more.
2016-02-28 00:24:21 +00:00
Jeff Sharkey
f8880561e6 When system server goes down, crash apps more.
Similar to first patch, but now using new "rethrowFromSystemServer()"
method which internally translates DeadObjectException into
DeadSystemException.  New logic over in Log.printlns() now
suppresses the DeadSystemException stack traces, since they're
misleading and just added pressure to the precious log buffer space.

Add some extra RuntimeInit checks to suppress logging-about-logging
when the system server is dead.

Bug: 27364859
Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
2016-02-27 17:17:01 -07:00
Amith Yamasani
f2c5157919 Merge "onAccountsUpdated shouldn\'t be called back after listener unregistered"
am: b96673847a

* commit 'b96673847a4680c384b7335df37affc0bba36f3f':
  onAccountsUpdated shouldn't be called back after listener unregistered
2016-02-12 17:58:47 +00:00
Carlos Valdivia
bf33bd4d31 Revert "Permissions: Get rid of GET_ACCOUNTS"
This reverts commit 918c55a67c.

Change-Id: I995f134336bf61ac1f21052355900ae89d0d6694
2016-02-02 15:01:56 -08:00
Carlos Valdivia
3cdbc806ff Merge "Permissions: Get rid of GET_ACCOUNTS" 2016-01-27 00:12:06 +00:00
Sandra Kwan
0b84b456a7 AccountManager: add finishSessionAsUser api.
Change-Id: I9a08d957a9b25be4c6cf12e4ed35cdc0bfbb8605
2016-01-25 10:09:20 -08:00
Carlos Valdivia
918c55a67c Permissions: Get rid of GET_ACCOUNTS
Bug: 21901286

Change-Id: Id2c42f4d449a32c88078d80dcf952d15e67d536c
2016-01-24 14:57:03 -08:00
Sandra Kwan
390c9d2d91 AccountManager: add isCredentialsUpdateSuggested API.
Change-Id: I27e0db0345f3431b796a944740dab767b45f7871
2016-01-20 13:58:49 -08:00
Amith Yamasani
12747879b0 User creation with an intent
New API for an app to request creating a new user with
a given user name and seed account information for the
SetupWizard to use when that user is switched into.

Also adds system APIs to read the seed account data from
UserManager.

Bug: 22776757
Change-Id: I0bc3f11ee19c15e0ee2a908c88d98b13296cc30d
2016-01-15 17:06:35 -08:00
Sandra Kwan
a578d11470 AccountManager: make account session APIs SystemApi.
Make startAddAccountSession, startUpdateCredentialsSession and
finishSession Apis SystemApi.

Change-Id: Iaedfe546e9b87a2ee8dd2d19e8c28b7f1d59c111
2016-01-11 00:14:25 -08:00
Hiroaki Kuriyama
8d3e159b3b onAccountsUpdated shouldn't be called back after listener unregistered
There is a problem of AccountManager that onAccountsUpdated() is
called back even after the OnAccountsUpdatedListener is unregistered.
It may cause application crash.

For example, when rotating a tablet 180 degree with Settings apk
running, com.android.settings.Settings is re-launched 2 times
successively. (Destroy->Create->Destroy->Create)
It repeats adding&removing OnAccountUpdatedListener.

When dialog was being opened in the following cases,
NullPointerException at BackStackRecord.getBreadCrumbTitle()
was happened on 10 inch tablet which has 2 panes on Settings.
* Settings > Language&input > Language
* Settings > Language & input > Text-to-speech output > Speech rate
* Settings > Wi-Fi > Menu > Advanced > Keep Wi-Fi on during sleep
* Settings > Wi-Fi > Menu > Wi-Fi Direct > Rename device

This fix prevents the undesirable callback.

Change-Id: I081f69c90539cca821cf686b4587495135f375e4
2015-12-24 00:52:44 +01:00
Sandra Kwan
920f6ef983 AccountManager: add finishSession(...) API.
Adding finishSession API to AccountManager and
AbstractAccountAuthenticator.

Change-Id: I153dd2bb6fe01d2e4b10b41e8b553f59da26bd29
2015-12-04 15:32:47 -08:00
Sandra Kwan
e68c37eead AccountManager: add startUpdateCredentials API.
Adding startUpdateCredentials API to AccountManager and
AbstractAccountAuthenticator.

Change-Id: Id9a1ff86764f2fde01fd8482594e4ae34e1f3bd1
2015-11-20 16:44:31 -08:00
Sandra Kwan
7881228736 AccountManager: add startAddAccount API.
Adding startAddAccount API to AccountManager and
AbstractAccountAuthenticator.

Change-Id: I29e1defb2181ece1281534db0e36b28457085148
2015-11-18 18:25:08 -08:00
Fyodor Kupolov
02cb6e773b Added --restricted option for create-user command
Also moved restricted profile create/setup logic from Settings to
UMS.createRestrictedProfile.

Bug: 24212155
Bug: 24303609
Change-Id: I0346a3368de53f4bb4b6e054349f19adac959d7f
2015-09-28 10:01:54 -07:00
Bart Sears
9249a90977 Revert "Added --restricted option for create-user command"
This reverts commit 737b216b5c.

Change-Id: I4c43967933bb2e46cdb8ad6e643d7037d722cab2
2015-09-26 01:58:59 +00:00
Fyodor Kupolov
737b216b5c Added --restricted option for create-user command
Also moved restricted profile create/setup logic from Settings to
UMS.createRestrictedProfile.

Bug: 24212155
Bug: 24303609
Change-Id: I5f0d48bcbd3c0b51927926b874fd057c15ac5219
2015-09-25 11:22:13 -07:00
Svetoslav
f3f02ac931 Add get_accounts app op
For each runtime permission we have an app op to toggle the
permission for legacy apps as they cannot handle permission
revocations. We were lacking an app op for get_accounts
which prevented the user from controlling access to accounts
regardelss that they change the state of the permission
toggle in the UI. Even worse the permission UI is written
with the assumption that every runtime permission has an
app op and as a result revoking the contacts group (if the
app requests the get_accounts permission) is reset back to
allowed in the UI.

bug:23854618

Change-Id: I12b83dfd22974d130e5b8e7a195421120813e2db
2015-09-09 07:31:17 -07:00
Svetoslav
ce852ddcec Add get_accounts app op
For each runtime permission we have an app op to toggle the
permission for legacy apps as they cannot handle permission
revocations. We were lacking an app op for get_accounts
which prevented the user from controlling access to accounts
regardelss that they change the state of the permission
toggle in the UI. Even worse the permission UI is written
with the assumption that every runtime permission has an
app op and as a result revoking the contacts group (if the
app requests the get_accounts permission) is reset back to
allowed in the UI.

bug:23854618

Change-Id: I9e3f9bfeb320bed561d718db99ee285915d5701b
2015-09-08 17:54:37 -07:00
Xiaohui Chen
75f68ce1bd Clean up USER_OWNER in AccountManager
Refactor copyAccountUser to take an explicit user handle instead of
hardcode to owner.  This requires refactoring one app that uses this
Api.

Bug: 19913735
Change-Id: Ib9b11d8155bea2a58974d09ec2d70bc756d46313
2015-08-18 18:00:50 +00:00
Ian Pedowitz
6cc066df7a Revert "Revert "Permissions: GET_ACCOUNTS permission cleanup""
This reverts commit 845d14db90.

Bug: 22942480
Bug: 22902898
Change-Id: If2d0e11594284414953c3dd45475fc7ba3366295
2015-08-05 14:25:15 +00:00
Ian Pedowitz
845d14db90 Revert "Permissions: GET_ACCOUNTS permission cleanup"
Temporarily revert ag/735253 until b/22902898 can be resolved with a
proper DMAgent prebuilt drop.

This reverts commit e7ed827a10.

Bug: 22902898
2015-08-04 07:47:37 -07:00
Carlos Valdivia
26ae600b5f Merge "Permissions: GET_ACCOUNTS permission cleanup" into mnc-dev 2015-07-30 21:58:16 +00:00
Carlos Valdivia
e7ed827a10 Permissions: GET_ACCOUNTS permission cleanup
First, getAccounts*() will now return all available accounts depending
on both GET_ACCOUNTS grants and signature matching. This is different
from before where a caller of getAccounts() would need GET_ACCOUNTS to
get any accounts, but if that same caller called getAccountsByType, they
might have gotten back accounts if they shared a signature with the same
developer.

Second, cleaned up some NPEs and javadoc.

This change was motivated by progress on the cts tests.

Change-Id: I2f36226780e074fdf58214b46de3b79d8319ace1
2015-07-30 09:18:53 -07:00
Simranjit Singh Kohli
210baceaa1 [Improve docs for AccountManager]
Currently, the docs for AccountManager are somewhat misleading and may
cause developer errors. To avoid them, we are properly documenting it.

Bug: 21924096
Change-Id: If775a54a09219b0f1623d2ff903085b9d12aa863
2015-07-29 19:43:16 -07:00
Craig Lafayette
3c9c71d36e Prevent null allowableAccounts from crashing
The javadoc for newChooseAccountIntent says that a null
value for the allowableAccounts parameter is valid and
an acceptable default. This CL makes sure that when this
parameter is null, a NullPointerException is not thrown.

Bug: 22475546
Change-Id: Ieb0d67dd02628e1ae5629499b3be3c6382efc9aa
2015-07-14 11:09:58 -04:00
Carlos Valdivia
a3db8acf3d Revert "Revert "Security: AccountChooser shouldn't auto reveal accounts.""
Fixes api stuff.

This reverts commit f2d248db80.

Change-Id: I75c05a17ebde4f245e1f3e0cc22e622d06534c4b
2015-07-10 14:47:07 -07:00
Baligh Uddin
f2d248db80 Revert "Security: AccountChooser shouldn't auto reveal accounts."
This reverts commit c3b3f46d5f.

Change-Id: I6d156e1ad82c052606f76644fe6085f14e82a734
2015-07-10 03:01:47 +00:00
Carlos Valdivia
c3b3f46d5f Security: AccountChooser shouldn't auto reveal accounts.
Bug: 9739125
Change-Id: Ib9032271def423aaafdab2505afaf6b1d3fcad06
2015-07-09 18:18:22 -07:00