Surveys can now be triggered on a subset of Settings screens.
Surveys can also be modified/created for this subset of
screens remotely.
Test: RoboTests && JUnitTests
Bug: 27823357
Change-Id: I1534af5573bef6f6c65c9c99b6f5a2917c3325b9
Add Payload and Payload type columns to the settings
database. This includes extending preference controllers
to map their settings to UI components so that the
payload results can be consumed by a front end.
Change-Id: I889dcc4ff7793306718d12e1e5993386b58f21cc
Fixes: 33451851, 33390556
Test: RunSettingsRoboTests
(this is partially revert of ag/I0ce486f7ac6)
- Only draw divider lines on top of PreferenceCategory and
FooterPreference
Bug: 33601143
Test: make RunSettingsRoboTests
Change-Id: I26146dcae1603dc807e54ea431910685107be94c
- Create a new layout for footer prefs.
- Create a new FooterPreference type to use the layout
- Create a Mixin to create and add the pref to screen
- Create a new lifecycle observer type to invoke mixin at right time
- Switch SettingsPreferenceFragment to use footer mixin.
- Switch FingerprintSettings to use the new footer pref.
Bug: 33579394
Test: RunSettingsRoboTests
Change-Id: I548ac39a0d120196a7ffed09b4f98bd9a80bae90
This allows app fragment use a less heavyweight fragment as super class
if they don't need PreferenceFragment. Using this class as base is
generally easier to set up robolectric tests too.
Bug: 33354536
Test: RunSettingsRoboTests
Change-Id: I91c4d242ea0333c76c8767c03c3f18dee6b6e104
Also add code inspection tests to ensure search provider is added
properly.
Bug: 33252252
Test: make RunSettingsRoboTests
Change-Id: I192e1d9fe0498b76013c4d43b5624d1ef2beb6f9
- Refactor GesturePreference to a generic VideoPreference.
- The old video_preference.xml is only for magnification video, so
renamed.
- And use VideoPreference in gesture setting pages.
- Refactor common logic into GesturePreferenceController.
Bug: 32637613
Test: RunSettingsRoboTests
Change-Id: I58580b01a32873cb32c5dc5bf2ec021d5b1400cc
In this change input & gesture page added 5 separate gesture
preferences, each should lead to a new page to set gesture setting. For
now only swipe to notification preference is wired up. Will implement
the rest in later changes.
Bug: 32637613
Test: make RunSettingsRoboTests -j40
Change-Id: I57ceea8fcd85f3a0ab59cbd12da50b7138f5ca0c
- Removed LanguageAndInputDashboardAlias because now the contents are
moved to new pages.
Bug: 32637613
Bug: 32643833
Test: RunSettingsRoboTests
Change-Id: Ia66a942a449a07b9cbba53bdc97738148aafadb4
Add two items to User & accounts dashboard, and refractor
UserCapabilities so that it can be accessed in the new controller.
Test: RunSettingsRoboTests
Bug: 31801423
Change-Id: Ib446ad6c99d4cc6405a17cf82d2d86e044870b73
When updating preferences managed through PreferenceController, the
fragment should skip prefs that are not available.
Bug: 32255863
Test: RunSettingsRoboTests
Change-Id: I2f9b6ddf8c78d40068dc18f07e60672dcba4474a
- Add a ProgressiveDisclosureMixin that contains all logic for collapse
preference list when it's too long
- Refactored PreferenceController's updateState to take a preference
instead of PreferenceScreen, because with progressive disclosure the
preference can either be in screen or the mixin. DashboardFragment is
responsible finding the preference before passing it to controller.
Bug: 32255863
Test: RunSettingsRoboTests
Change-Id: I6713abd61c954ce12732902e5b3ca4d4c0b1563e
The preference set can be modified across different threads, apparently.
Change-Id: I4506066d86f7f7d5570c24511db20471d12b0b4a
Fixes: 32156066
Test: manual
- To support Mobile plan preference controller, extended
LifecycleObserver pattern to also observe onCreate and onSaveInstance.
Bug: 31799836
Test: RunSettingsRoboTests
Change-Id: Ie98db7efa91f0a8b4c8a06a784d3351237e59fe0
Add the initial version for the connected devices category.
Test: RunSettingsRoboTests
Bug: 31800290
Change-Id: Ibacef7d5ceaae5e71ff5e5b1c35dafa7738e4f75
- Added a activity-alias pointing to displaySettings as top level
setting item.
- Refactored all preference logic in DisplaySettings into
PreferenceControllers. During fragment onAttach it installs all
controllers, and during onResume it updates preference state. Each
controller listens to its own preference change event.
Bug: 31800242
Test: RunSettingsRoboTests
Change-Id: Ibc9bf200c5acce7c4ae9292340822afee27a3a28
- Use activity-alias to define which activity shows up in what category.
We choose activity-alias because it creates a reference to UI we need
without having to define a new set of intent-filter and/or category
keys. This reduces maintainence in the long run. We should merge
metadata from activity-alias into targetActivity when cleaning up.
- Created new System dashboard activity that hosts all system category
tiles dynamically, and a static tile for checking system update.
Bug: 31781480
Test: manual
Test: make RunSettingsRoboTests -j40
Change-Id: Ia2d762e3e1aebd17423a395c5e6c286dc3326492
When preference screen is created all prefence goes through
SharedPreferenceLogger once. We don't want to log it as preference
change because it's just initial display. Subsequent preference logger
calls should result in logging.
Bug: 30914916
Test: make RunSettingsRoboTests
Change-Id: Icaee9137c55555f4db7839ff0381a13ccd420190
- Renamed MetricsFractory to MetricsFeatureProvider, and access it using
FeatureFactory.
- Instead of containing exactly 1 logWriter, MetricsFeatureProvider now
contain a list.
- Added OnAttach event in Lifecycle. This is needed when a mixin
requires Context to initialize itself.
- Updated tests.
Bug: 29575437
Test: make RunSettingsRoboTests
Change-Id: I7cc1528b9a744cd40088701e2bd115f41a8bf744
Bug: 30681529
Test: RunSettingsRoboTests
Added InstrumentedDialogFragment, and use it to observe visiblity
changes in support disclaimer fragment.
Change-Id: I9f851c4769f8d59e791986fffc145d014ffde3a3
Bug: 30681529
Test: RunSettingsRoboTests
ObservableDialogFragment can be used as host of VisibilityLoggerMixin,
allowing us to log visibility change for all dialogs easily.
Change-Id: I973db929d8494d3756584ca60df3b2e87d96c757
- Converted VisibilityLoggerMixin into a LifecyclerObservable so we
don't have to call logger.onResume/onPause manually in most fragments.
- Observable will be useful when we provide logics across all
fragment/activity, eg log lifecycle event latencies.
- Also added new tests for lifecycle component.
Bug: 30681529
Test: RunSettingsRoboTests
Change-Id: Ida39300aeb42f71b2e0bbfaebd0c51dc468cb5e8
Bug: 30914916
Test: SettingsUnitTests and RunSettingsRoboTests
- Added interface to abstract logger
- Added test for SharePrefLogger
- Moved Existing tests for instrumentation to robotests.
Change-Id: I2b431ea4b0fd09d0f11389d8b9181448f08a52c5
Bug: 30681771
Test: SettingsUnitTests
Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.
Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622