Commit Graph

93 Commits

Author SHA1 Message Date
Kenny Guy
7b72e2835b Fix crash when showing accounts.
Accounts page crashed when showing a disabled
manged profile.

Bug: 17486462
Change-Id: Iaaef23e135ee723bcf0d3101d85f9f0422b64c33
2014-09-12 19:49:11 +01:00
Carlos Valdivia
92f7615502 SECURITY: Prevent preference intents from exploiting settings.
Settings has super powers because it shares the system uid. We prevent
those powers from being exploited by malicious authenticators by
checking the intents those authenticators provide.

We will only launch intents that resolve to Activities that are exported=true
or owned by the same UID as the authenticator.

Bug: 14408627
Change-Id: Ia179df8561d29745767dac0f3c97eb0f68083f59
2014-09-09 11:17:19 -07:00
Carlos Valdivia
690ce1b325 Merge "SECURITY: Don't pass a usable Pending Intent to 3rd parties." into lmp-dev 2014-09-08 18:21:03 +00:00
Alexandra Gherghina
dc3193ca63 Merge "Obeying Settings.EXTRA_AUTHORITIES extra for SYNC_SETTINGS" into lmp-dev 2014-09-08 08:03:40 +00:00
Carlos Valdivia
f5d3e74ecc SECURITY: Don't pass a usable Pending Intent to 3rd parties.
Unfortunately the Settings app has super powers. We shouldn't let
untrusted 3rd party authenticators re-purpose those powers to their own
nefarious ends.  This means that we shouldn't pass along PendingIntents
that can have addressing information (component, action, category)
filled in by third parties.

Bug: 17356824
Change-Id: I397d26c5f465ddfb0e58bbc66cd44756e58cc507
2014-09-07 17:45:58 -07:00
Amith Yamasani
30c50b15d0 Use correct API for badging
Bug: 17414778
Change-Id: Ieb9890751c3071088b9f5aab48053e767f78bfe5
2014-09-07 15:38:09 -07:00
Alexandra Gherghina
af0d9540c2 Obeying Settings.EXTRA_AUTHORITIES extra for SYNC_SETTINGS
Bug: 17188306
Change-Id: I00481c6c4f346b6f4037554296735f4323cbbcfb
2014-09-05 16:46:54 +01:00
Svetoslav
39f82a7c98 Update Settings due to API changes.
bug:17390424

Change-Id: I25dfa40cc5109260d48dbe5f33274b162912d059
2014-09-04 18:00:23 -07:00
Alexandra Gherghina
e529bb9841 Code clean-ups following moving the managed profile under accounts
Bug: 16234745
Change-Id: I7b4799157394a85a27610de7e059c846f77dda02
2014-09-03 11:01:45 +01:00
Alexandra Gherghina
cd88c2f7c3 Fix Account Settings crash
Bug: 17020198
Change-Id: I9d4a18381ebb0f57a0e9917c3b7579b0a7feeaf4
2014-08-18 14:34:13 +01:00
Alexandra Gherghina
ad54ba7030 Merge "Show managed profile under accounts rather than users" into lmp-dev 2014-08-08 20:34:05 +00:00
Alexandra Gherghina
83adb564de Show managed profile under accounts rather than users
Also fixes overflow menu to update on remove/add managed profile.

Bug: 16234745
Bug: 16727076
Change-Id: I3283a8fa0096edfce5aad633e09ba3eed6d2174c
2014-08-11 10:02:13 +01:00
Alexandra Gherghina
d4353db21c Fix updating view flow of Account Sync Settings
Bug: 16785070 Account sync settings page doesn't refresh after removing account
Change-Id: Iddbe9d73f4d6fcb55829f8bb6ab2fe6ffa147cf3
2014-08-08 18:14:34 +01:00
Alexandra Gherghina
5ceddfaaf5 Move global sync settings dialogs to the right screen
Bug: 16076571
Change-Id: I4ba01ece6e5054d699342ff2c1270fc2fc51c5a9
2014-07-29 16:19:26 +01:00
Alexandra Gherghina
11b8bda93c Refactors listening logic in AccountSettings
This is required to make sure that we do not leak broadcast receivers.
No user-visible changes are present.

Bug: 15466880
Change-Id: I90fcf9f8281a786948d862f48a3d7e7ac2bbe6ba
2014-07-29 11:19:15 +01:00
Amith Yamasani
247520c369 More User Settings improvements
Add a menu checkbox to allow creation of users from lockscreen.
Add a delete icon in restricted profiles settings.
Other little fixes to icons.
Update some strings based on feedback.

Bug: 15761405
Bug: 16550371
Bug: 16298824

Change-Id: Ib876bd57f15c6ce2d71856f72571c6b8b0e3102d
2014-07-26 14:09:43 +00:00
Alexandra Gherghina
e82d0f2f8e Checks if the right user has a restriction
Bug: 15466880
Change-Id: I9199c6054e9955a90958fd3a751f321cf6fa9990
2014-07-23 22:09:07 +01:00
Alexandra Gherghina
6d839875b7 Revert "Revert "Move global sync settings to AccountSettings.""
This reverts commit 4869faf465.

Change-Id: I58df9b8161d711a9c0187af1f1a1dc279fb9d9ab
2014-07-22 20:25:24 +00:00
Alexandra Gherghina
4869faf465 Revert "Move global sync settings to AccountSettings."
This reverts commit 64fde6f4e9.

Change-Id: I61940b6e2936c7c7f048af222602226e5588c268
2014-07-22 12:01:54 +00:00
Alexandra Gherghina
64fde6f4e9 Move global sync settings to AccountSettings.
It also makes AccountSettings respond to the SYNC_SETTINGS intent, which
it is currently triggered by Calendar and could be triggered by Gmail.

Bug: 16076571
Change-Id: I2c55262a87e46ba88f36a90a2f8f27d08f88e851
2014-07-22 12:00:10 +00:00
Alexandra Gherghina
9ce0da9cf1 Add account for managed user
Bug: 16056552
Change-Id: I225a1b447d9b4024703b82be8a1fa66359d9e9a1
2014-07-17 21:18:34 +01:00
Alexandra Gherghina
c42d4059b5 Remove account for a managed user
Bug: 16056552
Change-Id: Iad24856cab908ed40c32af799ca2c41fe85b6b45
2014-07-17 19:57:43 +00:00
Alexandra Gherghina
7c81c1d1af Handle managing accounts for a managed profile
Bug: 15466880
Change-Id: Icf0e06c954269426b500f0e5fbcdf3346c59eb9d
2014-07-17 19:42:46 +00:00
Alexandra Gherghina
7d748c0267 Handle choosing and adding accounts for a managed profile
The user id can now be passed through the app as a fragment argument.

Bug: 15466880
Change-Id: I0e2be20551b4ec8c9226640ac74ea74115156ccd
2014-07-17 19:05:57 +00:00
Alexandra Gherghina
defdfc54bb Only show AccountSyncSettings when we have an account
Also removes useless list of accounts

Bug: 16295803
Change-Id: Ida3c1846327874af9f97695a485b12ec689fd343
2014-07-16 13:27:26 +01:00
Alexandra Gherghina
cfc7f9d960 Remove old accounts tile, replaced by a separate screen
Bug: 15815948
Bug: 15819268
Change-Id: I3b6978cff346c73cca1d6a2c209ffe4c71808244
2014-07-14 10:02:14 +01:00
Alexandra Gherghina
a5df250698 Merge "Retrieve resources from the corresponding profile" 2014-07-09 20:06:40 +00:00
Alexandra Gherghina
024ba5e4d9 Adds missing per-user calls for displaying and syncing accounts
Bug: 15466880
Change-Id: Ifa96af782adc8485f925dc45d5c71b1c28a075d2
2014-07-01 16:03:06 +01:00
Alexandra Gherghina
ce0b22cf90 Retrieve resources from the corresponding profile
This handles the case where the authenticator does not exist in the primary profile.

Bug: 15466880
Change-Id: I9f6311397456b8bf210f50df82b6be605c1140f0
2014-06-30 18:10:56 +01:00
Alexandra Gherghina
1eb3f316bd Handle forwarded intents from a managed user in AccountSyncSettings
Bug: 15466880
Change-Id: I4041b69f237033dbe5b78c8eb52f5e6ebb6ff7f7
2014-06-30 11:38:04 +01:00
Alexandra Gherghina
3939cd70b1 Add work account settings.
Bug: 15467756
Change-Id: I13b5a0bb3967611d0d24b575bfc15d9bfaad4cfa
2014-06-26 10:01:29 +01:00
Adrian Roos
07d036a5b2 Fix master build
Change-Id: Iaad9a63c5971b506cf8052aba48364979ec69c78
2014-06-10 16:48:07 +02:00
Alan Viverette
7385ad9ac2 am 1eb52831: Fix theme resolution in account preferences
* commit '1eb528318cdeb5c5ff1be469435538dad133882b':
  Fix theme resolution in account preferences
2014-06-04 18:44:39 +00:00
Alexandra Gherghina
ba63597d5a Move personal account settings to a new screen.
This does not include work account settings.

Bug: 13656853
Change-Id: I105044f8261b1c656ed5053b3c02c02cfaae90d1
2014-06-04 08:44:39 +01:00
Alan Viverette
1eb528318c Fix theme resolution in account preferences
BUG: 13341461
Change-Id: Idb42ad4026d63900b62f911782e07092216d906e
2014-06-03 11:15:54 -07:00
Fabrice Di Meglio
15826d4ea1 Mode code cleaning: remove obsolete references to EXTRA_NO_HEADERS
- the EXTRA_NO_HEADERS flag as no more meaning as we are showing
the Tiles (previously named "Headers") only in the Dashboard
(which is the main Settings screen)

Change-Id: I55656de0d28ca9c84adbe6647d870838b4ac230b
2014-05-13 13:10:34 -07:00
Fabrice Di Meglio
74309ea53a Fix bug #13058470 Cannot add account -- Settings app crashes
- revert back to an Activity instead of a fragment. This
is a straight reverse of the changes introduced for trying
to have a Fragment.

Basically ChooseAccountActivity was previously an Activity for
choosing an account type. If the list of account types was containing
only one item, then the ChooseAccountActivity was just a pass thru
and was falling back to the only account authority available.

In the current reported bug, this was happening by disabling the
Email app and thus having only the GoogleAuthenticator as an
Authority.

Then in the onCreate() the ChooseAccountFragment was seeing that
there was only one account authenticator and issuing a BACK button
press. Too bad, this was done into a non finished Fragment transaction
and leading to a crash.

All in all, we NEED to have an Activity and cannot use a Fragment
in that case.

Change-Id: I4a867a25fe9580929ec50a6775105adac1f88c52
2014-02-20 16:21:14 -08:00
Fabrice Di Meglio
73f4101383 Fix bug #12903673 Stability: 47 ANRs in com.android.settings
- fix the recursive call (probably introduced by some search/replace)

Change-Id: I563a68c2cc141a59ef8bb9dd64cd67a62dbfcd4a
2014-02-05 12:53:04 -08:00
Fabrice Di Meglio
263bcc8b73 Use Drawer in Settings app
- get rid of PreferenceActivity as much as we can and use fragments instead
- add Drawer widget
- add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL)
- add bypass of fragment's Header  validation when launched from the Drawer but *force* validation if external
call thru an Intent

Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should
not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process
and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we
would have two Home).

Also, verified that:

- the WiFi settings still work when called from SetupWizard
- when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer

Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90
2014-02-03 16:36:46 -08:00
Lifu Tang
fe9420f7da Shows LGAAYL when launching Location Settings
- Partial fix of b/10897468

Change-Id: Iec96909b87e71869c5a020ce848c6cf4fada3616
2013-11-04 11:37:55 -08:00
Amith Yamasani
2972c0136d Load account type icons in a background thread before scrolling down
This reduces the jank when scrolling down in top-level Settings if you
happen to have several account types like Google, Twitter, Facebook, etc.

In the process of doing this, discovered that headers get built even when
they're not showing (SubSettings). Skip setting up the headers, which can
be expensive when there are several accounts.

Bug: 11006601
Change-Id: I8b4eafdcc2fc2beecac01317c3c8f07a82febcc0
2013-10-02 11:48:46 -07:00
Lifu Tang
d3dbc6e3a1 Launches the Location setting as fragment
Change-Id: I0fb04a346236676ce9483a0c4d1fc3b2b590b08c
2013-08-19 18:42:56 -07:00
Amith Yamasani
a677ee210c Whitelist fragments appropriate for an activity
Change-Id: If4f8c4e9d9949b652946cffe0ebb09b587e5a042
2013-07-30 16:24:58 -07:00
Amith Yamasani
728b631653 am 91b5fab9: Merge "Check if the Activity is finishing before showDialog()"
* commit '91b5fab9b0e8338850fe2838311a0801fddf31d4':
  Check if the Activity is finishing before showDialog()
2013-04-16 06:43:04 -07:00
Amith Yamasani
91b5fab9b0 Merge "Check if the Activity is finishing before showDialog()" 2013-04-16 13:13:53 +00:00
Amith Yamasani
c39dcc1ce4 Don't show developer options to secondary users
Show just a message that developer options are not available for the user.

Also fix silent exit of AddAccount operation by showing a toast that user
cannot add accounts.

Bug: 7409523
Bug: 8519646
Bug: 7304007

Change-Id: Id3f430d568d6b7151ac55f86dbc0ef91803fa10c
2013-04-13 18:43:41 -07:00
Maggie Benthall
0c5a401a58 Respect user restrictions about adding/removing accounts, sideloading
Hide or disable options in the settings app when the user is restricted from
making changes.

Remove "Add account" button from Settings menu, and "remove account" option from menu in AccountSyncSettings.
Remove sideloading checkbox in SecuritySettings.

Also handle replacement of UserManager.isShareLocationToggleAllowed() with hasUserRestriction, which takes a restriction key string.

Change-Id: I34c74fd5aed8956ba00f92e3d3c657b608454dfe
2013-03-27 18:12:44 -04:00
Tony Guo
63c91f0973 Check if the Activity is finishing before showDialog()
Check if the Activity is going through its finishing phase before
displaying the Dialog, because Showing dialog once the activity
is no longer in context will cause BadTokenException.

Change-Id: I58940e694f61cd79536abe2df60a0b745a7b806f
2013-01-29 14:39:26 +01:00
Jeff Sharkey
97d07fa3ae Push scrollbars to screen edges.
Push scrollbar to screen edges on custom ListView and ScrollViews to
match Preferences framework behavior.

Bug: 7633165
Change-Id: Ideecd0e243c7de7bf977caef2b1585e707a00ca4
2012-11-30 16:15:09 -08:00
Guang Zhu
167ba2af93 Prevent sync state changes when user is a monkey
Bug: 7385019

Change-Id: Icf305683e57b83b3260f2587ae0a3d1a6dc3c21d
2012-10-22 11:37:31 -07:00