This is the initial change for updating the suggestion cards:
- add a feature flag to swap between the new and current UI
- change suggestions to a standalone dashboard item. It becomes a
horizontal scroll list that won't collapse/expand.
- the expand/collapse logic now only control the conditions list
- add draft for the new suggestion UI elements, but detail to fine-tune
to match the UI spec will come in following changes.
Bug: 70573674
Test: make RunSettingsRoboTests
Change-Id: I00c901e2598b26a34288fc73fd6031cc26a29ac6
BUG:70212757
Test: Settings -> Work profile settings -> Toggle work mode
Test: Turn off work mode -> Settings -> Turn on work mode in the suggestion
Change-Id: Ic5c2c5b141fb8be365c07c70ad1d0291342d7106
Now that it controls both night display and color mode,
the NightDisplayController should reflect its expanded
purpose.
Bug: 68258004
Test: make RunSettingsRoboTests -j100
Change-Id: If0ad2539b44daf821fdba83b81de1199ad1ecc21
- also remove "new_ui" from the condition tile and suggestion tile
layout file name.
Change-Id: I2a1fe4ea2ed69768f6e7c464608039c9c962c9f1
Fix: 63674319
Test: visual
When the condition card is being swiped, add null check for the
retrieved Condition to ensure it is still valid before trying to
dismiss it.
Change-Id: I265091a5fe290e359fa9a6e16b1d87c03894c1b8
Fix: 63624859
Test: make RunSettingsRoboTests
Change to always use the new UI that combines the suggestion and conditions,
and remove all codes relating to the old UI.
Fix: 37645754
Fix: 62621808
Test: make RunSettingsRoboTests
Merged-In: I3421a9e5182f6606843392d6fae8b9f07c5f2e46
Change-Id: I5ef169a563166520dad0ac44f6780da814e2f1f7
- Add a flag in dashboard feature provider to specify whether to use the
combined UI for suggestions and conditions.
- Move Conditions below Suggestions.
- Add dashboard entity for condition and suggestion container, and
wrap the condition and suggestion list inside the container. The
container itself will be a single dashboard item, and within it will
be the list of suggestion or condition.
- Add suggestion/condition header that will show the combined info for
the conditions and suggestion data, and have the expand button to
control expanding both the suggestion and condition list.
- Change the individual condition card to be always expanded, and
remove the logic to collapse/expand individual condition card.
- Remove the divider between the action button and condition detail
within each condition card.
- Add suggestion/condition footer for collapsing the whole suggestion and
condition list.
Bug: 37645754
Test: make RunSettingsRoboTests
Change-Id: I86df75f7e4551778f79d730851c03121fd0dcbdf
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.
Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
&& make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
- check if the broadcast receiver is being registered before trying to
un-regist it.
Change-Id: I6af215f393d16173f317c9e5bc05237c935e7133
Fix: 38131851
Test: make RunSettingsRoboTests
Stress/Stability testing, Settings crash when receiving data state
broadcast
Solution: Do null judgement before function was called
Test: Stress/Stability test
Change-Id: Id71448ed89eeffcea268c4a2e7154d9ea7639db4
1. Update the dnd receiver to listen when dashboard summary running.
- remove the dnd receiver from Android manifest, and create it inside
the dnd condition.
- add lifecycle implementation to condition manager, so that the dnd
condition can know when to register and unregister the receiver.
- remove getReceiverClass() from dnd condition so that its receiver will
not be disabled by the default condition handling when condition is
silenced.
2. Remove all other conditions receiver from Android manifest.
- the broadcast receivers for HotspotCondition, AirplaneModeCondition,
CellularDataCondition from the manifest and create them inside the
condition classes.
- update Condition.onSilenceChanged() to register/unregister the
receivers instead of enable/disable the receiver class.
Change-Id: Iea6288382680df2b02884d1934b8db85daae404c
Fix: 35968517
Test: make RunSettingsRoboTests
- Move dismiss suggestion logic into feature provider
- In DashboardData, use hashcode as suggestion's stable id. This is much
more likely to provide a truely stable id for each suggestion card.
Eventually I want to use hash for all tiles to provide stable id.
- Add a SuggestionDismissionController to handle swipe to dismiss
callbacks
Change-Id: If3770f07a90c5469a0b86fc28f3eb5e4c17227cd
Fix: 35159816
Test: make RunSettingsRoboTests
- remove WirelessSettingsActivity and update other references to it.
- move the intent filter android.settings.WIRELESS_SETTINGS and
android.settings.AIRPLANE_MODE_SETTINGS into Network dashboard
- move intent filter android.settings.NFC_SETTINGS into Connected
devices dashboard.
Change-Id: I84f75ac45d0712eac9c40aa6c8f052bc060ed03a
Fix: 32342061
Test: make RunSettingsRoboTests
- remove AccountSettings and all related code that is used in old IA, so
that it will not show up in search.
Change-Id: I9f83112f760fd991caf89de109fde9e675b8c981
Fix: 34165913
Test: make RunSettingsRoboTests
- Add a method in VisibilityLoggerMixin to log visible event using
LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
to next page.
- In next page's onResume(), extract the previous page's metricsCategory
and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters
Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
Sometimes the airplane mode banner will show up even
though airplane mode is not on. Logging has been added
to several areas around this condition in addition to
where the actual view is created. This will be used
to try and get a better handle on what the source of
the bug is.
Test: manual
Bug: 30860132
Change-Id: I7213aa7e187c5a8c0e94a5ce7a3269e6667cd61b
Bug: 31685838
Test: manual, will add automated test in master.
The NPE happens when try to refresh dnd condition before the condition
object is created.
Change-Id: Idbd6898472e1ad21a2bbb3be5f0b9c24c03b5c80
Bug: 31664539
Test: make RunSettingsRoboTests
This allows different metric clients to listen to these events.
Change-Id: Ib19c8099b16ff78d9aa4901278e0ff33eeefd4a8
Bug: 30200101
It used to lead user to detailed setting for that conditional. This
leaves some confusion about which click target goes to where.
Change-Id: Ic9525ace65ca488f4e709576fb1ec96a1cb99938
(cherry picked from commit a2db2ca8fa)
Bug: 30200101
It used to lead user to detailed setting for that conditional. This
leaves some confusion about which click target goes to where.
Change-Id: Ic9525ace65ca488f4e709576fb1ec96a1cb99938
Fixes: 30330909
When start Settings, conditions is loaded from a xml with potentially
stale state. ConditionLoader needs to refresh states after reading xml
to make sure they are up to date.
Change-Id: Ice1b8bacb0486c5dd230b83670c1494710d1c061
This functionality is replaced by ConnectivityManager.startTethering()
and ConnectivityManager.stopTethering().
Bug: 30147602
Test: Can toggle tethering on/off via all of settings, quick settings,
and quick quick settings.
Change-Id: I4d190185c473237982b988f898e76d4997dc401c
Turns out most things expect the conditions to be loaded immediately
so if the dashboard hasn't been hit, they crash. Instead load
immediately for everything but the dashboard.
Change-Id: Iaa1114c88b3766e2ac513acb417ef2a55a0f4e7f
Fixes: 28952354
Instead build a list and set it on the main thread to avoid
concurrent modification crashes.
Change-Id: I936fbeb70359583e55ae8ddcb0ea46b5753cb3b0
Fixes: 28794277
Push more stuff to backround threads (this will cause conditions/suggestions
to load slightly slower than normal content) and cache more info.
Fixes: 28613950
Bug: 28435146
Change-Id: I1080930e8f31c7f12a2d89f266bfd3236979cf40
...when there is an active hotspot and user restriction for disallowing
tether config is in effect. This is to avoid getting security exceptions
from WifiManager when engaging with HotspotCondition or Wifi enable switch.
Bug:27936528
Change-Id: Ib3324e853277c177966b55668758d349ffe6ecf5
The underlying API has slightly changed to require the profile
challenge if the profile that we're trying to enable hasn't been
unlocked yet.
Bug: 27764124
Change-Id: I9efb3d3ed49034b573abb4c18119ffadcccfe947
- Cut down on amount stored in conditions xml
- Remove extra work from dashboard startup
- Move summary to min priority
Change-Id: I51ca3828e4446632d6faa60dcfbab3446d19d335
Fixes: 28134360