Commit Graph

346 Commits

Author SHA1 Message Date
Yanting Yang
6778fe74bd Fix robotests fail if turning on silky home by default
Bug: 179136903
Test: robotests
Change-Id: Ic620a5061fe7b778076970fd01f212a7aa95bf9e
2021-02-03 03:36:08 +08:00
Tsung-Mao Fang
8b1b0dc0c3 Use new homepage preference for injected IAs
We use homepage preference when it's a injected IAs on homepage

Test: See the screenshot for Google icons
Fix: 177213699
Change-Id: Ibd08ff305cdd6b556b5ceee486df01678c9212a6
2021-01-15 03:46:58 +08:00
Yanting Yang
b3381de206 Override homepage tile positions for silky home
Create configs to record the packages and orders of homepage tiles and
then according to these data to override homepage tile positions.

Bug: 168166015
Test: visual with turning on/off silky home
Change-Id: I3fcb54ac531a124101084bb40064b5a7227bf311
2021-01-13 15:42:41 +08:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
This change do the 2 things:

1. Add new junit tests files which replace robolectric
   RobolectricTestRunner & RuntimeEnvironment with
   AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.

This change migrate 103 files, there are still 1209
files to go.

Bug: 174728471
Test: atest
      make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
2020-12-16 11:17:57 +08:00
Yanting Yang
9aa4a5463f Remove subtitles for the homepage IA
Remove the summary of the homepage IA if silky home enabled.

Fixes: 170933968
Test: robotest & visual with turning on/off silky home
Change-Id: I502b6590cece9b80e9923109fe0582cc4d9a1c56
2020-10-20 23:54:03 +08:00
Jason Chiu
2d047a1e2f Merge "[Injection] Refine UI behavior for icon_uri" 2020-10-19 14:50:20 +00:00
Jason Chiu
fb36be1a2f [Injection] Refine UI behavior for icon_uri
1. Make the icon provided by the content provider override static icon.
2. Apply the background settings "bg.hint" and "bg.argb" to icon_uri.

Bug: 167568758
Test: visual, robotest
Change-Id: I44c66d8ea2686df1dfe1f9ad28645da7e21414ed
2020-10-19 15:25:58 +08:00
Alexander Dorokhine
46e85a2fad Migrate away from deprecated Truth APIs.
This is a transitional step towards truth 1.0.1, where these APIs have
been completely removed.

Bug: 168765701
Test: m checkbuild
Change-Id: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
2020-09-24 23:09:41 +00:00
Yanting Yang
552f340dda Resolve tiles intent before prompting a dialog for profile selection
Symptom:
Once the work profile component of the tile is disabled after Settings
preloaded tiles, Settings will crash when the user clicks the work
option from the profile selection dialog.

Root cause:
Settings just checks the users from the preloaded tiles to prompt
profile selection dialog. It doesn’t check the activity for the work
profile user before launching.

Solution:
Resolve the activity by intent as users before launching if the work
profile is enabled. Directly start activity if only one user is
resolvable, otherwise prompt a dialog for profile selection.

Fixes: 162227425
Test: make RunSettingsRoboTests
Change-Id: Idcc4e5a266ab2a2252db30bb97d4be002212c677
2020-09-09 18:12:42 +08:00
govenliu
b70ddb9df7 [Wi-Fi] WiFi Settings inclusive language fix plan phase 1
Replace WiFi related terms which contain Master wording.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.

Bug: 161425297
Test: make RunSettingsRoboTests -j or
make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WirelessDebuggingPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=TopLevelNetworkEntryPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PrimarySwitchPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest

Change-Id: I9395c50e092e124016609f88f7c8151554a0d874
2020-07-21 20:56:22 +08:00
Stanley Wang
732514cd5f Fix the search result "Google Account" doesn't work.
- The "Google Account" item will launch the
  AccountDetailDashboardFragment.
  To launch the account detail page, we need the intent extras, account,
  account label and account type.
- Currently, SI doesn't support to index the intent extras, so we launch
  AccountDashboardFragment instead of AccountDetailDashboardFragment.

Fixes: 153626405
Test: manual test the search result and run Settings robotest
Change-Id: I081bd447c3f8422fb8859146b1ed4d7fcbc06810
2020-05-21 12:39:46 +08:00
Raff Tsai
91d9942494 Fix focus on wrong tab
Fixes: 146594840
Test: Robolectric
Change-Id: I14c6d5a4055bee5d0aa413479fb9893e9dfc41df
2019-12-20 12:18:27 +08:00
TreeHugger Robot
2e2532077d Merge "Fix UI issue in LocationSettings" 2019-12-17 09:06:38 +00:00
Raff Tsai
5ec8efe7e0 Fix UI issue in LocationSettings
- Add WorkPreferenceController to support directly use work profile
related feature in xml
- Get only work/personal infos in RecentLocationRequestPreferenceController
and RecentLocationRequestSeeAllPreferenceController
- Remove ProfileSelectStorageFragment

Bug: 141601408
Fixes: 146080649
Test: manual, robolectric
Change-Id: Ide39c7a3796e16421f3a5690309c3d746a956de8
2019-12-17 04:25:49 +00:00
Jason Chiu
1281e595e4 [Settings] Add preference click metric log
- Move the log point of onPreferenceTreeClick from DashboardFragment to
  it's super class InstrumentedPreferenceFragment for better coverage.
- Write the preference click metric log in PreferenceController handling
  case in DashboardFragment which will skip super class's log point.

Bug: 137559984
Test: robotest
Change-Id: I67178f613c74f755e20fc9dc41319974cb02e83c
2019-12-16 10:57:09 +08:00
Raff Tsai
83f7142df9 Navigate to work tab if start intent from work profile user
Fixes: 144909960
Test: adb shell am start --user 11 -a android.settings.SYNC_SETTINGS
should launch Settings account page and focus on WORK tab

Change-Id: If30f176b6d59cd32730b1bcbc6e9d8687d7bafd2
2019-12-04 17:58:57 +08:00
Sunny Shao
3351c78b74 Add FutureTask approach in DashboardFragment
- Use the multiple tasks to enhance the controllers loading.

Bug: 137558156
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.dashboard
Change-Id: I629ff5dc81347cddf9762a87015b9b86b6a46e50
2019-11-26 11:27:03 +08:00
Jason Chiu
10e675d6b5 [Settings] Support master switch of inline toggle of Settings Injection v2
Allow developers to inject MasterSwitchPreference, a switch
preference with two tap targets, to Settings page.

Developers should declare keyhint and switch_uri for the activity
in AndroidManifest,and then implement a SwitchesProvider.

Bug: 132808482
Test: robotest
Change-Id: I64cdf18268be0cfcd38aab2c059144536dd79b32
2019-11-22 04:04:04 +00: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
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
6db277ebb7 Remove summary provider
- use SummaryProvider to provide the summary of UserSettings
- use WifiDisplayPreferenceController to replace the summary loader
in WifiDisplaySettings
- use ConfigureNotificationPreferernceController to replace the
sumary load in ConfigureNotificationSettings

Fixes: 141653158
Test: robolectric
Change-Id: Id5f5ed645707caa0b25ecae5252174cbf017651c
2019-10-03 15:04:36 +08:00
TreeHugger Robot
d48189c564 Merge "Use SettingsLib Indexable" 2019-09-26 06:51:17 +00: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
818ad60218 Merge "Do not block UI when this page didn't have slice" 2019-09-24 09:57:50 +00:00
hughchen
d49de61f96 Do not block UI when this page didn't have slice
This CL before, if controller have UIBlocker interface
will going to blocker condition to make whole page
invisible for a certain time until slice is fully loaded.

This CL add the check condition that if the controller
have UIBlocker inferface but didn't have slice uri will
not go to blocker condition.

Bug: 141292712
Test: make -j42 RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
Change-Id: I79daae131654f8fd823a9c8f1be46ad6c7921908
2019-09-24 10:30:49 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
Fan Zhang
823c4daece Load preference title from uri if available
For injected tiles, allow clients to provide dynamic title from
contentproviders similar to dynamic summary.

Fixes: 131837802
Test: robotests
Change-Id: Iacc80db5d003473cf59ede67d88441947a834888
2019-06-20 15:47:38 -07:00
Fan Zhang
d71835125a Clean up ShadowTheadUtils.
Individual tests don't need to specify it in their own @Config

Bug: 135698296
Test: robotests
Change-Id: I66dc0bfdaec9c6cac9b48f3e7906f71dfb3a6b28
2019-06-20 15:17:42 -07:00
Yanting Yang
4e56cb2917 Add a way to suppress injected tiles for OEMs
Create a config resource for OEMs to add suppressed tile's key, then
DashboardFragment will filter related tiles out from Settings.

OEMs can use this way to suppress security patch injected tile if they
don't use Google OTA.

Fixes: 130734771
Test: visual, robotests
Change-Id: I4cab79c8672048fa543d39b2a8f38ffe338189c8
2019-04-20 01:31:07 +08: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
jackqdyulei
a5f1b5c629 Fix crash for UiBlockerController
1. Don't create UiBlockerController if there is no related controller
2. Don't update visibility if UiBlockerController is null
3. Use findPreference() from DashboardFragment, which already has null
check.

Change-Id: Iee24c64317fb9d5a1cf2076d25728af485d390c5
Fixes: 122807414
Fixes: 122805831
Test: RunSettingsRoboTests
2019-01-15 03:58:14 +00: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
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
Fan Zhang
a6c7db1888 Update logging: switch a bunch of action() logging calls.
Use generic action(int, int, int, String, int) instead of
action(Context, int, string, Pair...) when possible.

Bug: 117860032
Test: robotests
Change-Id: I5213b52b2b10d80a3c488c37718df81b3b0a428f
2018-11-13 21:50:34 -08:00
TreeHugger Robot
f28dc1d976 Merge "Remove call to actionWithSource." 2018-11-12 07:03:34 +00:00
Fan Zhang
ff47b303c4 Remove call to actionWithSource.
Switch to generic action logging call.

Bug: 117860032
Test: robotests
Change-Id: Ibd7c59ac0ec8a9fa1b368b40f0453a1b42071377
2018-11-12 05:32:13 +00:00
Fan Zhang
e22bcd07fc Move EXTRA_SOURCE_METRICS_CATEGORY import.
Bug: 117860032
Test: rebuild
Change-Id: Iedf020183fe78cdf8206beb91e1222d821adbe63
2018-11-11 19:43:54 -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
Fan Zhang
130c477044 Remove DashboardSummary and all related classes.
- Condition is already supported in PersonalSettingsFragment
- Suggestion is already supported in PersonalSettingsFragment
- Static/dynamic tiles are supported in TopLevelSettings

Change-Id: I51882e3bd0919ad95109baefac683d98667c11e3
Fixes: 110405144
Test: robotests
2018-10-25 11:27:47 -07:00
Fan Zhang
9c5c64891b Clean up: remove unused SuggestionFeature api.
Test: robotests
Change-Id: I91d06d93834674ca6019a86f8b3891198d424d7a
2018-09-25 13:16:59 -07:00
Fan Zhang
c21f4a512a Merge "Sort imports" 2018-08-29 00:19:53 +00: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
Doris Ling
8741c04821 Add log when the advanced button is clicked.
- register the advanced button expand listener and add the metrics log
when it is clicked.

Fixes: 70930626
Test: make RunSettingsRoboTests

Change-Id: Ife4af4bd4a0a8534cf9ba63949660a810b09446a
2018-08-27 14:23:13 -07:00
Fan Zhang
161ff18a0b Merge "Remove getExtraAction() from DashboardFeatureProvider." 2018-08-21 23:13:56 +00:00
Fan Zhang
a4b14bd9f1 Remove condition manager v1 code.
Change-Id: I866c1f7c493c6080ccf766ecfc8e6b00dafeecd9
Fixes: 112485407
Test: robotests
2018-08-21 13:21:14 -07:00
Fan Zhang
d011d45da5 Remove getExtraAction() from DashboardFeatureProvider.
It's always set to null and not doing anything.

Bug: 111427617
Test: robotest
Change-Id: I7172a31056950b1597f0b98625a3a2615305e466
2018-08-20 16:14:16 -07:00
Fan Zhang
64951163b8 Use getSummary() to get tile summary text.
Bug: 77600770
Test: robotests
Change-Id: Iecef09853bb49bc259502494912ed81d52e2d7ce
2018-08-20 14:13:14 -07: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
06e25e75a5 New ConditionManager
- Create a new ConditionManager that loads data and filters displayable
  condtionals in memory
- Separete conditional controller logic and ui model
- Plumb new ui model into DashboardAdapater, and create a new
  ConditionAdapter to manage UI.

Bug: 112485407
Test: robotests
Change-Id: If56d141d135341e9b8c2dc80e43c3d40b1de1340
2018-08-14 11:01:49 -07:00
TreeHugger Robot
237f80b0aa Merge "Force externally injected tiles to use rounded icon." 2018-08-11 01:20:22 +00:00