Commit Graph

147 Commits

Author SHA1 Message Date
Tsung-Mao Fang
17b882a94d Fix broken test cases
Since we added a new API in ag/11355641,
we need to shadow this new new API.

Fix: 130916962
Test: run robo test
Change-Id: I2176253aae915d1a31043ebbf197d4dd1b1f2072
2020-05-04 17:22:01 +08:00
Tsung-Mao Fang
b3bb7a0237 Fallback to AOSP emergency info if the original intent is broken
If the variant of emergency info is broken, we should try to show
AOSP emergency info instead.

Test: Rebuilt rom and see the Ui. Run robo test
Fix: 154114259
Change-Id: I5bc3f6cbf9102a7b7299c3edf718a58101effbf8
2020-04-16 17:23:52 +08:00
Alex Kershaw
c364f5d95d Remove policy transparency for cross-profile calendar setting
We will likely deprecate this setting in the next release, to be
replaced by usage of 'connected work and personal apps'. However, we are
keeping it in this release as it's still possible that a lightweight
calendar access API could be useful, if the admin and user approvals are
combined.

For now, the error message that refers to cross-profile calendar when
the setting is disabled is confusing admins, since we're not
recommending usage of this API at this time.

Remove the setting when it is disabled, rather than showing policy
transparency.

Fixes: 143477431
Test: manual
Change-Id: I65573a5ba892e12a4dabcdf23541f33516db0a8a
2020-03-31 11:41:44 +01:00
Sunny Shao
0030d78b62 Disable the sync now menu while no any synced item
- Check the number of the switch on for all SyncStateSwitchPreferences to
  enable/disable the sync now menu item.

Fixes: 147030748
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I88e4b042e6d236b98866b9e8bff9ec2c64b41b87
2020-03-19 20:58:29 +08:00
Stanley Wang
3b02810356 Index user accounts.
Index user accounts in AccountDashboardFragment if there is no managed
user profile.

Fixes: 146478761
Test: manual & robotest
Change-Id: I719dc6ee8030a11f1cbfacc8f24419e9e4c3ca18
2019-12-19 10:55:42 +08:00
Raff Tsai
1e5d8146b5 Change ProfileType definition
Bug: 141601408
Test: rebuild
Change-Id: Ia4d4fabe8a4daad4ce54c243748fa3c29bf944ba
2019-12-12 13:44:35 +08:00
Stanley Wang
8015cbab9e Add work profile items of Account page to dynamic index.
- Add "Work profile settings" & "Remove work profile"
to dynamic index

Test: manual & robotests AccountPreferenceControllerTest
Change-Id: I122269927fd466bc8fbce1dd68faa372a6a7477b
Bugs: 69907442
2019-11-27 18:44:12 +08:00
Jason Chiu
bac5987c8e [Settings] Support pure switch of inline toggle of Settings Injection v2
Bug: 132808482
Test: robotest
Change-Id: Ib24614fb46fe990925edad721e3b7d5d032854fc
2019-11-19 18:24:13 +08:00
Raff Tsai
65866290ce Add tablayout for work/personal profile
- Add Tablayout in ProfileSelectFragment
- Add AccountWorkProfileDashboardFragment inherited from
ProfileSelectFragment
- Add ProfileFragmentBridge to convert AccountDashboardFragment
to AccountProfileSelectFragment
- Use flag settings_work_profile to guard the new fragment

Bug: 141601408
Test: Settings->developer options->feature flags->
turn settings_work_profile on/off, then go to settings->account
to see if UI is changed.

Change-Id: Ifb32c22cdeab69c51517664081cacf4a401c46a1
2019-10-15 18:01:08 +08:00
Jason Chiu
1a1f9314b6 Refactor Settings for injection v2 inline toggle
Bug: 132808482
Test: robotest
Change-Id: I0b74e05bc26b97259a15859c669060ce3da7972a
2019-10-04 18:32:11 +08:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +08:00
TreeHugger Robot
ea43780693 Merge "Revert "Prevent accounts page directly opening in screen pinning mode"" 2019-09-06 11:13:40 +00:00
Mill Chen
348234565a Revert "Prevent accounts page directly opening in screen pinning mode"
This reverts commit f3242dab35.

Reason for revert: use another way to handle this.

Change-Id: I83c97db5189cfda3a09f5249d8591ea91dbd3bcb
2019-09-06 09:18:23 +00:00
Sunny Shao
7e866b670e Use Builder to replace the Uitls.addFooterPreference
Fixes: 139163212
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.bluetooth
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I861434b81c07db785e6f1cfb3e34871ffba41e5f
2019-08-09 11:42:04 +08:00
Sunny Shao
6b4a22522b Use FooterPreference in xml explicitly
Removed the FooterPreferenceMixin from the ChooseAccountFragment page.

Fixes: 139043643
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I2b6ebef7f8ca0684afd75ec9bdd742a78a771bcd
2019-08-07 17:01:25 +08:00
Sunny Shao
1908cb6bd2 Use FooterPreference in AccountSyncSettings page
.Use the new FooterPreference and removed the old FooterPreferenceMixin
 from the AccountSyncSettings page.
.Add the ShadowAuthenticationHelper for commnon shadow util.

Fixes: 138978130
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I93ae46b3b66e7e504320a9ed120ab7948dd06423
2019-08-06 20:33:44 +08:00
Mill Chen
f3242dab35 Prevent accounts page directly opening in screen pinning mode
There is no auth mechanism to prevent accounts page being opened in
screen pinning mode. We will directly close the account page if users
are trying to navigate to it from screen pinning mode.

Fixes: 137015265
Test: manual, robotests
Change-Id: If26eda408a9ef6fa03ad82e5bee51bb7185950d6
2019-07-20 02:51:14 +08:00
TreeHugger Robot
fe1a2476b3 Merge "Use Activity Context in RemoveAccountPreferenceControllerTest." 2019-06-14 19:01:39 +00:00
Jonathan Scott
2b0d9a5778 Use Activity Context in RemoveAccountPreferenceControllerTest.
Test: make -j56 RunSettingsRoboTests
Bug: 117487838
Change-Id: I2647bf98018e72af24053a336c8246d1f7e5fd4b
2019-06-14 11:09:11 +01:00
TreeHugger Robot
78241bc06b Merge "Update testcases which failed due to the SupportLibrary changed" 2019-06-14 03:11:33 +00:00
Sunny Shao
5da24591ea Update testcases which failed due to the SupportLibrary changed
Fragment.oncreate() causes an IllegalStateException. We use a
ShadowFragment to stop the calling sequence.

Fixes: 135086559
Test: robotest
Change-Id: I601e0f2513f826b0b7749cb2c013b7e4c0a94a33
2019-06-13 10:02:50 +00:00
Sunny Shao
2c6d308ecb Set the mAccountName as null while device has no any account
It doesn't clean the mAccountName buffer while device has no any account. And it will be put into
the Intent and pass to MeCard when user click the ghost boy avatar. It does not make sense and
modify code to fixed it.

Fixes: 129265427
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.accounts
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.core
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.dashboard

Change-Id: Ib8cfab2cb416515018f335b21ef49a95699a1597
2019-06-04 15:56:18 +08:00
Fan Zhang
e3ecf5bb9e Fix a NPE when removing accounts.
Guard against null activity. If activity is already null, there is no
need to call finish().

Fixes: 131180213
Test: robotests
Change-Id: I19232ed67ddd0c3539b1827de23fdc584850b519
2019-04-23 15:23:36 -07:00
Jonathan Scott
4316259aa0 Remove redundant (and failing) test getAvailabilityStatus_hasManagedUser_AVAILABLE
This is already covered by
getAvailabilityStatus_somePackagesAllowed_shouldBeAvailable and
getAvailabilityStatus_allPackagesAllowed_shouldBeAvailable.

Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=CrossProfileCalendarPreferenceControllerTest
Fixes: 130896049
Change-Id: I3dbbbde693750c69e042f7c19143730cc8e313ff
2019-04-19 22:19:21 +01:00
Fan Zhang
ef2e91913b Add @Ignore for all failing tests.
Bug: 130896210
Bug: 130896218
Bug: 130896701
Bug: 130897882
Bug: 130897305
Bug: 130897640
Bug: 130896049
Test: robo
Change-Id: I77143d504501b358c2103aa736cd2aad13ed4c5c
2019-04-19 13:23:29 -07:00
Jonathan Scott
ed701572d7 Don't show policy transparency UI for cross-profile setting.
Also removes the switch if cross-profile calendar is disabled by admin.

Test: atest ManagedProfileSettingsTest
Fixes: 123930863
Change-Id: Ieeb9266e8833d7ca730fedb5e947b03ec7d18d3c
2019-04-18 11:31:50 +00:00
Fan Zhang
d482da51e5 Disable avatar and contextual cards on low ram devices.
Fixes: 124127763
Test: robotest & manually inspected hprof
Change-Id: I8d328b782a9b1871b76edf433d2378d06face14a
2019-03-13 14:04:35 -07:00
Doris Ling
3e586a5cf2 Add current user handle to tile intent in account detail page.
- the account detail settings page is launched with the correct user
handle when there is work profile to indicate which profile the account
belongs to. When we process the dynamic tile, for the page, we should
add this info to the tile intent, so that it can be launched with the
correct profile.
- when we launch the tile intent, check whether there's user handle
specified. If so, launch the intent directly without prompting for
profile selection.

Change-Id: I91f8c666a826909006b1f53907b3441825322c10
Fixes: 119657694
Test: make RunSettingsRoboTests
2019-01-31 11:19:30 -08:00
Fan Zhang
5c3301b0ab Add configs to display/hide a few tiles in device info page
- Displaying/hiding Emergency info, branded account, device header
  widget are now driven by config flags
- Also refactored controllers to use BasePreferenceController

Change-Id: Ie601ebf689e0744c6a05a2cca5513fa43ef355e0
Fixes: 119607340
Test: robotests
2019-01-28 14:44:02 -08:00
yuemingw
264ae20256 Change cross profile calendar API used in robolectric test.
The API changed from addCrossProfileCalendarPackage to
setCrossProfileCalendarPackages recently due to our decision
in b/121179845. Also added test for the case when
the whitelist is set to null.

Bug: 121179845
Test: make ROBOTEST_FILTER=CrossProfileCalendarPreferenceControllerTest -j40 RunSettingsRoboTests
Change-Id: I66b92aba6d26334e48207275b2d8981203598e15
2019-01-24 00:59:37 +00:00
Sunny Shao
7aa9fdd75c Launch view account page when it's available.
- Add to launch the new Contextual Landing Page when user clicks the avatar
  icon and check the matching intent activity exist.
- Use the serialized intent and keeps in config.xml.
- Remove the getAccountSettingsDeeplinkIntent in the AccountFeatureProvider
  which never use again.

Change-Id: I50396af67eb04034572f8c885b4d9aef48a67e9d
Fixes: 122486552
Test: robotest
2019-01-10 09:33:21 +08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
yuemingw
a35990b633 Add Cross profile calendar Settings UI.
Bug: 117976974
Test: make ROBOTEST_FILTER=CrossProfileCalendarPreferenceControllerTest -j40 RunSettingsRoboTests
Change-Id: Ieb4dcfb8091e2c63f4372af220695297c7bb116d
2018-12-10 19:39:29 +00:00
tmfang
dce94bb237 Use SettingsLib's LayoutPreference
- Remove LayoutPreference in Settings source code.
- Remove unused style, layout
- Replace old imports to com.android.settingslib.widget.LayoutPreference
- Replace old XML tag to com.android.settingslib.widget.LayoutPreference

Test: robotest, manual test
Bug: 120005054
Change-Id: I9ae1ae14a16f443e11ac5d75b6038c7c5e253844
2018-11-27 13:12:53 +08:00
Raff Tsai
dbbbd7a83d Merge "Add BatteryFix Slice" 2018-11-21 05:57:32 +00:00
Raff Tsai
b92e9d4239 Add BatteryFix Slice
Change-Id: I504df1e9caadced71cc37f8be9207ab9fd26f9ab
Fixes: 114807643
Test: manual
2018-11-21 12:25:06 +08:00
James Lemieux
3a55de44c5 Prepare tests for impending robolectric merge
Some ShadowUserManager function moved into the basic shadow in
robolectric proper and has been removed from the Settings
ShadowUserManager.

Test: make -j56 RunSettingsRoboTests
Change-Id: I38647dae5d16bc79bc7925ca139c9362a2035393
2018-11-20 16:40:57 -08:00
Sunny Shao
408dc883f7 Added the launching account page
Settings get account name and account avatar from SI.
According the account name to launch the account page.

Bug: 119608711
Test: robotest
Change-Id: I0d53e9445f4ba5ce470bd079038db0f08f0cc1c8
2018-11-20 07:38:50 +08:00
Sunny Shao
aebf84b857 Added account avatar in the end of search bar
Launched the adding account when click no account icon on search bar
Retreived the avatar of the account and show in the end of the search bar
Added getAccountSettingsDeeplinkIntent api into the AccountFeatureProvider

Bug: 118691898
Test: robotest
Change-Id: I25d69b8f4b6cf138f5e20fc22ce4ff26357bc107
2018-11-09 10:40:10 -08:00
Fan Zhang
21f5291c1a Add a config flag so OEMs can disable avatar mixin
Not all devices have account, OEMs should be able to disable this
feature if they want.

Bug: 117509285
Test: robotests
Change-Id: I3b03a04cff6ff0ec6c31763ac1829b119531e489
2018-11-08 14:57:24 -08:00
Antony Sargent
95f34b43f4 Check accounts in all profiles on account detail dashboard
In cl/5074783 I fixed a problem with account deletion where the account
didn't appear to be deleted even when it was. Part of that fix broke the
ability to make changes to work profile accounts - this CL fixes that by
making sure not to early exit the account detail dashboard unless we've
checked the accounts owned by all profiles for the user.

Bug: 117965642
Test: make -j40 RunSettingsRoboTests
Change-Id: Id034418beb4aec8bd4d10191b4924509d27e55d4
2018-11-06 21:21:04 +00:00
Sunny Shao
6dc1cc2a77 Added the icon displayed on no account in search bar
Mofidied the search_bar layout and added this icon in the right side of the search_bar.
Added the hasAccount api in AvatarViewMixin and display this icon when there is no any account in device.
Added the test case of the AvatarViewMixin.

Bug: 117509285
Test: robotest
Change-Id: I6ceaa457af4fb20acd0211ca840df5b530c47e0f
2018-11-05 10:52:11 +08:00
Fan Zhang
cdf284b732 Make Settings robotest work with tot Robolectric
Bug: 116278591
Test: make -j RunSettingsRoboTests
Change-Id: I32cb2fcf6094675f79d2fc24702ef6298a9691e4
2018-10-31 17:59:17 -07:00
Antony Sargent
e0202b219b Fix account deletion not updating account display
The visible symptom of this problem is that when deleting an account, if
a screen lock is set, after confirming the removal and entering the
credentials, you end up back on the account details for the page and it
looks like the deletion failed (even though it didn't).

There were two problems here:

-We were expecting the AccountDetailDashboardFragment to be in a resumed
state at the end of the confirmation dialog, but it wasn't if we had
launched the activity to have the user enter their screen lock
credentials. In the past trying to finish an activity that wasn't in
resumed state seemed to have generated a crash (b/6494527), but that
isn't the case anymore from some tests I ran.

-The AccountDetailDashboardFragment doesn't check in onResume that the
 account still exists.

This CL fixes the bug in 2 ways - we'll always try to finish the
AccountDetailDashboardFragment if the account removal succeeded, and
when AccountDetailDashboardFragment's onResume is called we'll always
check for the account existence. Either approach would be sufficient on
its own.

Change-Id: Iaa65e97fca5dfc8b1251968142e47315e3b590c2
Fixes: 112845988
Test: make RunSettingsRoboTests
2018-09-21 13:11:54 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
54cfb64987 Use tile.getTitle(context) to get tile title.
And switch to getId() instead of title when comparing 2 tiles. This is
more accurate and more efficient.

Bug: 77600770
Test: robotests
Change-Id: I587d90702d98956bf7b420529ac3280351ca4a10
2018-08-20 12:50:06 -07:00
Fan Zhang
7d5a9eebb8 Add a config to force rounded icon for DashboardFragment.
And each page has ability to turn on/off rounded icons. This CL only
adds the flag, it doesn't actually change icon shape yet.

- Boolean config in xml
- New protected method for each DashboardFragment to load config
- Plumb the boolean into DashboardFeatureProvider for future use.
- Remove some unused APIs from DashboardFeatureProvider

Bug: 110405144
Fixes: 79748104
Test: robotests
Change-Id: Id34782e75aa7289967e4dd1f4fe2978688092702
2018-08-10 10:57:18 -07:00
Fan Zhang
f6747a2f44 Add summary text for more top level setting tiles
- Connected devices
- App & notifs
- Battery

Bug: 110405144
Test: robotests
Change-Id: Ife44f7c5165483a1bad903ce90a241108ab5da25
2018-08-09 14:38:52 -07:00
Fan Zhang
9445d15f9d Remove priority from intent-filters for IA items
And use ORDER metadata instead.

Bug: 77600770
Test: robotests
Change-Id: I9862c89ff5b601fbb9fb53eaa91f03d95d501284
2018-08-08 09:09:27 -07:00