Commit Graph

966 Commits

Author SHA1 Message Date
Beth Thibodeau
bf63dde205 Add setting suggestion for style
Also added extra to the existing wallpaper suggestion so it opens
directly to that tab instead of the style tab

Test: atest com.android.settings.wallpaper.StyleSuggestionActivityTest
Fixes: 126230901

Change-Id: I50ca588627063194900dca8a9273baff4a44ca67
2019-05-02 10:58:22 -04: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
Hai Zhang
22f8d48df0 Remove old default apps code and use roles instead.
Default apps are moved into PermissionController.

Bug: 124452117
Bug: 124457823
Test: presubmit & manual
Change-Id: I5f68e5b77cd6163d093590185314270706d75391
2019-04-09 13:30:31 +08:00
lindatseng
2e7af2f023 Fix tinting on injected pref icon
We used to tint the injected pref icon when refreshing Tile. However,
when we are going to render the icon, we used Tile.getIcon which uses
the icon resource id to get the original version of icon directly.

Do a little refactor here to move the tinting logic inside Tile.getIcon.

Test: Manual/Visual inspection
Fixes: 129010399
Change-Id: I6f187b12cb6d91b54dcfe43e0ff34add55fd7b07
2019-04-02 13:35:17 -07:00
hughchen
9d4b634535 Remove method that used to get rainbow bt icon
Move get rainbow bt icon method to settingsLib

Bug: 128570540
Test: RunSettingsRoboTests
Change-Id: Iee022bd1471f1da057b1852bb648e9c7ce334727
2019-03-28 10:58:55 +08:00
jackqdyulei
7fb5e75752 Make BT icon colorful
Add new method to get rainbow bt icon and also refactor
AdaptiveHomepageIcon:
1. Rename
2. Add ConstantState

Bug: 126425211
Test: RunSettingsRoboTests

Change-Id: Idb8aaf253d0d9e2ab33d8852f093e6689ebadde4
2019-03-19 12:22:38 -07:00
Amin Shaikh
3304bec980 Use adaptive icon shapes for settings homeepage
- Add AdaptiveIconShapeDrawable for the homepage icon backgrounds
- Rename RoundedHomepageIcon -> AdaptiveHomepageIcon to reflect that the
adaptive icon shape is used

Bug: 123829919
Test: mp settings; manually viewing homepage icons
Change-Id: I9fddfbf57461b300200f30f716d861878bbbcc38
2019-02-05 15:18:52 -05: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
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
jin.dong
a3a24be224 Add Dynamic tiles
Add new CategoryKey for screens below:
    about_legal.xml
    my_device_info.xml
    battery_saver_settings.xml

Bug: 113249409
Test: manual
Change-Id: I3cdad9b6ceeba0df3e0e9db4607daffcc5cbdc8b
2019-01-15 16:48:15 -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
jackqdyulei
22904a05b7 Add UiBlocker for DashboardFragment
If DashboardFragment detects blocker controllers, it won't display
until:
1. All blocking controllers finish bg works.
2. Timeout

This CL adds UiBlockerController to control this behavior and
BlockingSlicePreferenceController as an example.

Bug: 120803703
Test: atest SettingsUnitTests
Change-Id: I66fc194776d46ee49b3ec7685f3167834e673ba2
2019-01-10 14:25:43 -08:00
Jason Chiu
a42a93bbfe Fix some pages crash after importing AndroidX from build 5175906
- Settings crash while entering Storage, Privacy, and Accounts page,
  because PreferenceGroup changed the API use from String#equals to
  String#contentEquals which doesn't support null keys.
- add a null check before calling findPreference

Test: robotest
Change-Id: I121cd9e4249fbdafbc67be65a09d770603e01044
Fixes: 121116425
2018-12-18 18:27:50 +08:00
Alex Chau
eaf78937d5 Add EnterprisePrivacySettings as injectable category
- Also add order for EnterprisePrivacySettings manifest

Bug: 120414731
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentRegistryTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=EnterprisePrivacySettingsTest
Change-Id: I30b555873aad66aa1432ae8ebb11417ddf237a07
2018-12-03 21:31:25 +00: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
TreeHugger Robot
b10df63dd5 Merge "Move EXTRA_SOURCE_METRICS_CATEGORY import." 2018-11-12 06:44:18 +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
tmfang
80d03d1d20 Create a new top level Privacy entry
This CL focuses on building up Privacy entry in
Settings homepage.

And also reuse some preferences in here.
-App permission
-Show password

Test: robotest, visual
Change-Id: I724ba4b4845fac933df0fca23a4e1c6afeb73362
Fixes: 116628158
2018-11-12 10:49:10 +08:00
Fan Zhang
293883b2fe Report fully drawn when all settings are loaded.
We do not want to wait for contextual cards in app start
instrumentation, as user can already do everything in settings without
them.

Change-Id: I57d59aa3d623bf6911972ec310d558c25e44bf14
Fixes: 117494071
Fixes: 118495692
Test: perftest
2018-10-28 15:59:24 -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
Philip P. Moltmann
035ea3b0d1 Use new RestrictedLockUtils API
This is made necessary by changes to the SystemAPI the lib relies on.

Test: RunSettingsRoboTests
Bug: 116798569
Change-Id: I2812ce9e58e3fb15a5579ddc10cd0edf33d0ed44
2018-10-09 12:39:19 -07:00
Fan Zhang
479be0d5ff Remove check to limit suggestions to 2
This is already enforced from SuggestionService side.

Test: rebuild/robotests
Change-Id: Icd5faa3b7114b369d96459b00b43d4e7eaeae5c5
2018-09-25 20:50:14 +00:00
Fan Zhang
9c5c64891b Clean up: remove unused SuggestionFeature api.
Test: robotests
Change-Id: I91d06d93834674ca6019a86f8b3891198d424d7a
2018-09-25 13:16:59 -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
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
TreeHugger Robot
ed3373d86d Merge "Remove unneeded getDisplayableCards() in DashboardAdapter" 2018-08-28 18:36:23 +00:00
Fan Zhang
35ed23e8bf Remove unneeded getDisplayableCards() in DashboardAdapter
It will be called when window gets focus, no need to call it here.

Change-Id: I1c4b3b745edb2519e778f8354684d90e2eb55004
Fixes: 113175600
Test: manual
2018-08-28 10:26:19 -07: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
7373ec042b Migrate all remaining condition cards to v2.
Bug: 112485407
Test: robotests
Change-Id: I3c304c308fa6f499b4b5e21d4c5735cde7b90220
2018-08-15 09:48:38 -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
Fan Zhang
48ef7e5b6f Move ConditionListener to a top level class.
So we can use it later for furture refactoring.

Bug: 112485407
Test: rebuild
Change-Id: Ic3994464cfaff67a56f2d383490860a81f436fbd
2018-08-13 17:31:08 -07:00
TreeHugger Robot
237f80b0aa Merge "Force externally injected tiles to use rounded icon." 2018-08-11 01:20:22 +00:00
TreeHugger Robot
80df6f8bab Merge "Move conditional stuff from dashboard/ to homepage package." 2018-08-11 01:13:20 +00:00
Fan Zhang
ce1b61a146 Move conditional stuff from dashboard/ to homepage package.
dashboard package is not a real place for homepage stuff. Putting
Conditionals here makes it easier to refactor it for new homepage in the
future

Bug: 110405144
Bug: 112485407
Test: robotests
Change-Id: If433aeac8766124f0f4f6e5786b93ac1372bb745
2018-08-11 00:28:31 +00:00
Fan Zhang
fde4f207ff Force externally injected tiles to use rounded icon.
Bug: 110405144
Change-Id: Ic65200fce5010ea8077254e7a67bbe4dae886ec3
Fixes: 79748104
Test: robotests
2018-08-10 15:45:50 -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
3541dcb040 Let new homepage accept injected tiles
Bug: 110405144
Test: robotests
Change-Id: Idaa60fad23bab0989cccf687fb3ea47b7d56d957
2018-08-09 17:12:47 -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
25d9f3812b [Dynamic Home] Make a new page for all top level settings
Since we are moving conditionals/suggestions to a different place, there
is no need to use DashboardSummary to display top level settings any
more. We can simplify a lot of code for top level settings and reduce it
to a standard DashboardFragment.

- Create a new DashboardFragment + xml for all top level internal items
- Add a PreferenceController to provide summary for Network & internet
  item.
- Mark a bunch of things deprecated for future work.

Bug: 110405144
Test: robotests
Change-Id: I9f778777131c28eb836b722e089e026a59f5ddc6
2018-08-08 17:20:15 -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
tmfang
800f713021 Convert ProfileSelectDialog to androidx verison
Change-Id: Ib3baf04860aee07e5f28d7b537a99a3543d2a978
Fixes: 112155563
Test: robo, manual test
2018-08-08 10:33:11 +08:00
TreeHugger Robot
fbc325a9aa Merge "Get Tile#intent through getter" 2018-08-08 02:08:06 +00:00