Commit Graph

54 Commits

Author SHA1 Message Date
Fan Zhang
50eb81f114 Style action bar during onResume instead of onCreate
Change-Id: Ib57bf128b644737b5a34238ec85ca6d740543c5f
Fix: 64284689
Bug: 64297479
Test: robotests
2017-08-02 17:58:47 +00:00
phweiss
7a34e9c28e When Remove Account is disallowed, show dialog
When DISALLOW_MODIFY_ACCOUNT is set by a device admin, and
the user wants to remove an account, show the support dialog
instead of showing the confirm dialog.

To use the O-API DPM.createAdminSupportIntent(), a wrapper
needs to be used, because existing Robolectric tests otherwise
don't compile.

Bug: 37413849
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=*RemoveAccountPreferenceControllerTest

Change-Id: If23ea304ab8b9df1748e6acf3032310843b04780
2017-07-05 19:32:48 +02:00
Doris Ling
771848dde0 Add account sync summary.
- Check for the number of sync adapter that is enabled for the account
and
update the summary text for the account sync preference accordingly.
- Add divider above the Remove Account button.

Bug: 62862167
Test: make RunSettingsRoboTests
Change-Id: Ic333f62cce9aed0a72771324976ebe3d8e586287
2017-06-28 13:18:56 -07:00
Doris Ling
cae6639b96 Add Account.name to the tile's intent.
For dynamic tiles that are displayed in specific account type, add the
account name to the tile's intent so that when we launch the preference,
it can associate with the correct account.

Change-Id: I25f76c1b5710f525634983d00832c9a68cdeeebb
Fix: 62365341
Test: make RunSettingsRoboTests
2017-06-19 11:16:28 -07:00
Doris Ling
b30ce6f7d7 Update category for AccountDetailDashboardFragment.
- use a separate category key for AccountDetailDashboardFragment instead
of sharing the same key with UserAndAccountDashboardFragment. Tile using
the original category will now show up at the top level account
setting, and tile using the new account detail detail will be displayed
under the specified account type.

Bug: 62446202
Test: make RunSettingsRoboTests
Change-Id: I06f781a20f24498bdc6207aef5469be9cd0c8e47
2017-06-14 15:25:24 -07:00
Andrew Sapperstein
9f1e911759 Refactor test runner to use static list of resource paths
Previously everything lived in an inner class method of
SettingsRobolectricTestRunner. That method has now been turned into
a static method so that it can be called by other runners.

Bug: 62460102
Test: robotests
Change-Id: I6612b1f26404587301c534c8ba60e39d59d6c840
2017-06-09 09:21:26 -07:00
Esteban Talavera
c62ce670c3 Merge "Include disabled managed profiles in Accounts page" into oc-dev am: 92f78354f9
am: 42d97f86c2

Change-Id: If2708bc27673b50dfdf7faa3300944d8bdb47b60
2017-06-02 08:42:50 +00:00
Esteban Talavera
92f78354f9 Merge "Include disabled managed profiles in Accounts page" into oc-dev 2017-06-02 08:33:17 +00:00
Esteban Talavera
9b86e9c822 Include disabled managed profiles in Accounts page
At the moment we include disabled profiles when deciding
whether the Work section needs to be added, and then only
include enabled ones when searching for the managed profile's
user handle

Change-Id: I96b0c36aad6b9326abc2992fa3309716f5cd1e74
Fix: 62021410
Test: m RunSettingsRoboTests
2017-06-01 09:52:45 +01:00
Doris Ling
7ecd696dff Remove the duplicate test case that is added by auto-merge.
Change-Id: I0f2f30eed80ab550c16c64a44407ce0199090550
Fix: 38302246
Test: make RunSettingsRoboTests
2017-05-26 13:22:13 -07:00
Doris Ling
02981294b1 Merge "Fix issue for new account not being shown in work profile." into oc-dev am: dd7912e12f
am: 65dbe820bd

Change-Id: I4ced2b59e73ea155528964e927f7a07ed9d9a63f
2017-05-26 19:46:28 +00:00
TreeHugger Robot
dd7912e12f Merge "Fix issue for new account not being shown in work profile." into oc-dev 2017-05-26 19:38:38 +00:00
Fan Zhang
bfbe45fd95 Reduce flakiess in account preference controller test.
The getDrawable method from AuthenticatorHelper randomly fails and
causes test flake. Replaced with a shadow.

Test: rerun robotests
Change-Id: I39afeb9082a35786a05c0e8e5adc337c850ad666
2017-05-25 13:17:43 -07:00
Maurice Lam
046400c2c4 Migrate settings robolectric tests to mockito 2
- Migrated ArgumentMatcher subclasses to lambdas
- Replaced any() with nullable() where tests were failing

Test: cd tests/robotests && mma
Bug: 38456058
Change-Id: Ice8c39b435c45b87f82dbbd9860e68f235314cf8
2017-05-24 15:14:31 -07:00
Fan Zhang
841d1d5aab Show shadow when entity header starts scrolling.
- Add a controller to manage add/remove onScrollChangedListener to
  recyclerviews.
- When recyclerview on each screen is scrolled to top, set actionbar
  elevation to 0, otherwise set it to non-zero.
- When screen is moved to background, detach the listener.
- Use the controller in entity header.

Change-Id: Iecf194d885098c98c392810f62893ae9189f3936
Fix: 37670670
Test: make RunSettingsRoboTests
2017-05-22 17:16:24 -07:00
Fan Zhang
98289a887b Use entity header on AccountDetailDashboardFragment
Bug: 37669238
Test: make RunSettingsRoboTests
Change-Id: Iaf92730e8c6b5c44cb8eca4525fc931487ce9630
2017-05-18 16:36:32 -07:00
TreeHugger Robot
3f4056212f Merge "Fix issue for new account not being shown in work profile." 2017-05-18 18:55:27 +00:00
Fan Zhang
867c68e76c Merge "Fix bug where accounts are duplicated in user&account list." into oc-dev am: 2b030aeb65
am: 60d26cfffa

Change-Id: I878bafe5a626e2f6fe9d8f4cfbb89dfeb763c7a0
2017-05-18 01:14:10 +00:00
Fan Zhang
c754f59fb0 Fix bug where accounts are duplicated in user&account list.
This happens when user has different accounts with same account name. For
example: user@domain.com for type1 and same email for type2, etc. When
we refresh the account list during onResume(), the same account name
incorrectly causes the logic to think they are the same account and
updates the account list by mistake.

- Introduced a util method to generate unique key from Account object.
And set it as preference key.
- when updating preference on screen, use key to find preference instead
of the preference instance itself.

Change-Id: I0aa692cb965b7037155a746389a919cd155843da
Fix: 34035653
Test: make RunSettingsRoboTests
2017-05-17 23:50:30 +00:00
Doris Ling
71090678c0 Fix issue for new account not being shown in work profile.
When refreshing the UI, we tried to only create profile data for new
profile, and skip the initialization for existing profiles. However,
the authentication helper will not get the updated account list, since
the account update listener is being paused. Re-create the
authentication helper to get the latest list of enabled accounts.

Change-Id: Ie29699456e5b32747e8158d51382afaa2c0c5908
Fix: 38302246
Test: make RunSettingsRoboTests
2017-05-17 23:42:17 +00:00
Doris Ling
48b8440ea6 Fix issue for new account not being shown in work profile.
When refreshing the UI, we tried to only create profile data for new
profile, and skip the initialization for existing profiles. However,
the authentication helper will not get the updated account list, since
the account update listener is being paused. Re-create the
authentication helper to get the latest list of enabled accounts.

Change-Id: Ie29699456e5b32747e8158d51382afaa2c0c5908
Fix: 38302246
Test: make RunSettingsRoboTests
2017-05-16 17:48:32 -07:00
Doris Ling
1886fe1bae Merge "Also update the account preferences in displayPreference()." into oc-dev am: cf162d5354
am: 2a23542e68

Change-Id: Ifa0d367e40647ce825e90985658dc6a042edc2bd
2017-05-11 01:04:40 +00:00
Doris Ling
633250bd78 Also update the account preferences in displayPreference().
- start creating the account preferences in displayPreference() to make
the data available earlier.
- when trying to update the UI when the page is resumed, instead of
clearing the whole list and add the latest accounts, compare the
differences between the currently shown accounts and the latest accounts
and only update the account preferences that has been changed.

Change-Id: I249eb2fe67f4adaab02bf77680c62d07756dc94a
Fix: 34035653
Test: make RunSettingsRoboTests
2017-05-10 11:59:47 -07:00
Juan Lang
5eb496e714 Fix a typo in the launch intent for emergency info.
The EmergencyInfo app accepts either launch target for now. After this
is submitted, the misspelled one can be removed.

Test: Manually test that the Settings app still launches the
EmergencyInfo app. Reran unit tests.

Change-Id: I923468dbe9825e85b021f5ea64ee2877fd02f262
2017-05-02 17:33:10 -07:00
Fan Zhang
044dc59acc Update account sync settings title.
Change-Id: I188ec1e53d88a61d854cf70d91effa47cc8b8555
Fix: 36375242
Test: make RunSettingsRoboTests
2017-04-21 14:10:37 -07:00
Fan Zhang
fbb2331ee5 Use AfW user handle when setting auto_sync for work
Change-Id: Ib1aa576a0083282dc59d8fe0d5c4784233eef024
Fix: 36675513
Test: make RunSettingsRoboTests
2017-04-19 10:09:11 -07:00
Doris Ling
81f22e88f9 Update text for Users & accounts page.
- add back the summary loader for UserSettings
- remove "configure" preference category
- add summary for Auto sync data and update the title

Change-Id: Ia00397f775f86d0e160a54783a8518847fce8de8
Bug: 36540644
Test: builds
2017-03-23 12:56:33 -07:00
Fan Zhang
499c8d54e8 Remove "remove account" from account sync detail page
Change-Id: I40cc9d3d593c31a5e3b02553ac12f77c0825ed51
Fix: 36375879
Test: make RunSettingsRoboTests
2017-03-17 11:02:46 -07:00
TreeHugger Robot
e0b65fce67 Merge "Remove code that check for dashboard feature." 2017-03-07 20:57:28 +00:00
Doris Ling
f2cf2aea37 Remove code that check for dashboard feature.
- remove DashboardFeatureProvider.isEnabled() and all relating code
and tests.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
2017-03-07 11:15:03 -08:00
Tony Mak
ef4c83962d Fix failed to remove account in managed profile
Fix: 35996483

Test: m -j RunSettingsRoboTests
Test: manual test
          1. Remove account in work profile
          2. Remove account in user 0


Change-Id: I3ed9364afbf8ef5cddd0edc0d4e0e5e48d2dd62a
2017-03-07 15:33:20 +00:00
Doris Ling
f074f0f6dd Removed AccountSettings used in old IA only.
- remove AccountSettings and all related code that is used in old IA, so
that it will not show up in search.

Change-Id: I9f83112f760fd991caf89de109fde9e675b8c981
Fix: 34165913
Test: make RunSettingsRoboTests
2017-02-24 16:04:35 -08:00
Doris Ling
8a7504eb12 Modify test cases according to change in remove preference behavior.
Bug: 35365702
Test: make RunSettingsRoboTests
Change-Id: I541f4bd946116c766a90da955c11933a5499fa93
2017-02-16 16:45:27 -08:00
Doris Ling
13ac8845e7 Add account preferences from account type description.
Move the methods that handles the account type preferences to a separate
class and add the call to it in AccountDetailDashboardFragment.

Change-Id: Ib147fb73807b1264e3faedad3466126f2fd9c84d
Fix: 35224671
Test: Manual
2017-02-14 10:42:58 -08:00
Fan Zhang
7520e81ab5 Update top level menu items summary text.
- Use static summary for most items
- Move summary for user setting to user&account setting

Bug: 34975053
Test: RunSettingsRoboTests
Change-Id: I9bf87267778dc5933f97f5d3b9ae0f4f0b8da1a8
2017-02-09 15:22:47 -08:00
Doris Ling
829d3aaa7a Update text for User & accounts page.
- Add the user name to the Account preference group title.
- Add the summary text to Emergency information.

Bug: 34976320
Test: make RunSettingsRoboTests
Change-Id: I771e355ce3b313ffa50feb5c5e7907b1f3857592
2017-02-07 10:35:47 -08:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
Fan Zhang
c7804c130b Another attempt fix for account preference screen.
Fix: 34219500
Test: RunSettingsRoboTests

Change-Id: I316e36496fc9d7eca9c718275c0f113b181d7f1e
2017-01-13 16:31:16 -08:00
Fan Zhang
81a030fdfa Fix NPE when adding account but prefManager doesn't exist
Change-Id: Ie7371ba461995bae96ed1d99e224ab7e0d7acc99
Fix: 34219500
Test: make -j40 RunSettingsRoboTests
2017-01-11 10:46:45 -08:00
Fan Zhang
424443bdb2 Fix NPE in accountPrefController
Change-Id: I83dba35604c501780fa9a99d122b9d9bc8068661
Fix: 34193417
Test: RunSettingsRoboTests
2017-01-10 11:50:42 -08:00
Doris Ling
fd06d2fcf4 Add header and remove button to account detail page.
- Add account header which contains the account icon and name to the top
  of the account detail page.
- Also add the remove account button to the bottom of the page.

Change-Id: I24f1a17a7f9c4dd8c840a2b0329c0965e4e612e9
Fix: 33543525
Test: make RunSettingsRoboTests
2017-01-06 13:20:08 -08:00
Esteban Talavera
e539c886fd Merge "Check new user restriction for profile removal" 2016-12-14 19:16:28 +00:00
Fan Zhang
2829958456 Improve UI pref when sync/cancel account syncs.
The core of the change is in ManageAccountSettings#showSyncState(). New
code caches as much information as it can. And break out of loops as
early as possible.

Bug: 28575620
Test: make RunSettingsRoboTests
Change-Id: I076ce148e3d8db55f6cadfd9491f037f7a55a986
2016-12-08 14:35:13 -08:00
Fan Zhang
6e88635e97 Add search provider for dashboard fragments in new IA.
Bug: 33252252
Test: make RunSettingsRoboTests
Change-Id: I8ea3a144f2bee3d979b909aba29a3360e25fd04b
2016-12-05 15:27:18 -08:00
Esteban Talavera
50e515e5ec Check new user restriction for profile removal
Test: make RunSettingsRoboTests
Bug: 31952368
Change-Id: I3c8b0820a5541201006d12f9893d5b89332334c2
2016-11-30 22:14:00 +00:00
Doris Ling
20d4b041f7 Add handling for account tiles for specific account type.
- List individual account instead of account type under User & account
  screen.

- Add handling to move account tiles with specific account type from
  top level account dashboard to inside the corresponding account
  preference.

- Rename settings.accounts.AccountPreference to
  settings.accounts.AccountTypePreference to make it less confused
  with settings.AccountPreference

Bug: 31801423
Test: make RunSettingsRoboTests
Change-Id: Iebe70a3c4230e8d979344f142a5c2a60945e552e
2016-11-29 14:18:30 -08:00
Fan Zhang
e97c91ec73 Make RemoveUserFragment public.
Fixes: 33034368
Test: make RunSettingsRoboTests
Change-Id: Icbda53c1a5992774fb8bd638f6ab5ad6d4590cfb
2016-11-22 09:26:13 -08:00
Doris Ling
bfac31b517 Add account preference controller.
- Add account preference controller and move the handling for
displaying user's accounts from AccountSettings to the
controller.

- Move AccountPreference and RemoveUserFragment from inner class to
standalone class.

- Add AccountRestrictionHelper to handle API that needs to be mocked for
testing.

Bug: 31801423
Test: make RunSettingsRoboTests
Change-Id: I3d16d0b6a8922a8abec7037c52b7a4de2d76eb0d
2016-11-17 16:33:36 -08:00
Doris Ling
0d148c4b62 Merge "Add Auto sync account data to account dashboard." 2016-11-01 20:09:51 +00:00
Doris Ling
86e1df9bd9 Add Auto sync account data to account dashboard.
Add auto sync to User & accounts dashboard, and update
UserSettings to use the emergency info and add user when locked
controllers.

Test: RunSettingsRoboTests
Bug: 31801423
Change-Id: Ibf5a886276a9aa8f53c548036aecfd6c4d759ae3
2016-11-01 11:28:36 -07:00