Only display the WifiInfo MAC address if it is a valid address.
Otherwise, display "Unavailable". The underlying WifiInfo class
now has a default value, and a method that can be used to test
whether or not the contained address is valid. This change uses
this test and avoids having the confusing default address displayed.
Bug: 32478606
Test: Manual: Turn off WiFi and reboot -- make sure "Unavailable"
is displayed as the Wi-Fi MAC Address as opposed to "02:00:00:00:00:00"
Change-Id: I912804eb65735375e0ca3c4618a6399543f33b57
When updating preferences managed through PreferenceController, the
fragment should skip prefs that are not available.
Bug: 32255863
Test: RunSettingsRoboTests
Change-Id: I2f9b6ddf8c78d40068dc18f07e60672dcba4474a
- Use PreferenceController structure to make things more modular and
testable
- Add tests
- Confirm password before enabling dev settings.
Bug: 24107771
Test: RunSettingsRoboTests
Change-Id: I791d9452fd461f570e70e7428f00a7258663de4b
- 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
This allows us to get rid of an extraneous config switch and
simplify some code.
Test: Manually change usb configuration
Change-Id: Id78da530ff485ecd7a915056832eec1dd8c91954
- 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
- Make a SummaryConsumer interface. Things that needs latest summary
should implement this interface (DashboardAdapter for homepage,
DashboardFragment for subsettings). This also decouples SummaryLoader
from relying on SettingsDrawerActivity.
- Make DashboardFeatureProvider more generic to load DashboardCategory
by key.
Bug: 31781480
Test: RunSettingsRoboTests
Change-Id: I9c65456fb433a74c352498251e0ccf65da0be1f0
Merged refreshAllPreferences into DashboardFragment. This hopefully
makes it more modular to manage preference display logic in each
dashboardFragment, and makes it more efficient to monitor category
changes.
Now subclasses needs to implement 2 methods:
- displayResourceTiles(): for 'static' preferences from xml
- getDashboardTiles(): returns a list of dashboard tiles and superclass
will wire it up to preference screen.
If getDashboardTiles() return null (aka no dashboardCategory available),
the fragment will not attempt to monitor category change. The edge case
is that if a package starts to provide a tile for this category, we will
not be notified. I have not seen this case coming up. If we indeed need
to handle this case, the category listener needs to have a way to
monitor specific category rather than globally.
Bug: 31781480
Test: make RunSettingsRoboTests -j40
Change-Id: Ia9f9541b95816214df0d0bb27e3e41078c36c5ca
See rationale and details in inline comment block.
Test: adopt slow and fast SD cards
Bug: 29990216
Change-Id: I927d683db5e43216ee0837290ee4ca23a55a5dbb
See rationale and details in inline comment block.
Test: adopt slow and fast SD cards
Bug: 29990216
Change-Id: I927d683db5e43216ee0837290ee4ca23a55a5dbb
In order to move the preference and its logic cleanly, created a
controller object that encapsulates the preference/click handler.
Bug: 31801428
Test: RunSettingsRoboTests
Change-Id: I332384e20fbf0e21d2f3becb531d97b20f7f7ef1
Bug: 30455784
Test: make SettingsTests; run the instrumentation.
Change-Id: I860192c1c20fcaec2a5cbcdc085ff01dafa7351a
(cherry picked from commit 7f075a3c41)
- Removed duplicated entry for DIRECTORY_MOVIES.
- Added DIRECTORY_DOWNLOADS to Other.
- Added unaccounted data to Other.
- Changed Other description so it mention non-visible items.
Often sub-directories of /data are populated with data that Settings
doesn't have control of (for example, on /data/ramdump), so they're more
suitable to be displayed in the "Other" section.
BUG: 31091863
Fixes: 30952263
Change-Id: Ibf54f9dd96456575109e2e281f3780da84f70d92
Bug: 30681771
Test: SettingsUnitTests
Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.
Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
A SD Card can be set as internal storage, in which case its total must
be added to the total internal storage size.
Prior to this change, the total internal storage size was hardcoded as
the value returned by Storage Manager.
Also fixed the storage summary total to exclude portable devices.
** Cherrypick of c53410c411 **
Fixes: 30689428
BUG: 30742322
Change-Id: I1e33038eeebc91f3c525a387a97987391c10f2f9
A SD Card can be set as internal storage, in which case its total must
be added to the total internal storage size.
Prior to this change, the total internal storage size was hardcoded as
the value returned by Storage Manager.
Also fixed the storage summary total to exclude portable devices.
Fixes: 30689428
BUG: 30742322
Change-Id: I1e33038eeebc91f3c525a387a97987391c10f2f9