Once dashboard tile is displayed, the underlying intent can be disabled.
We will eventually hide the item from UI, but there can be a brief
moment before we are able to hide it. So to prevent user click and
launch a non-exist intent, we will try to resolve it first before
launching anything.
Change-Id: Ic8d790bf3c5d4d269eadb757f789a1641928a7b7
Fix: 36036097
Test: make RunSettingsRoboTests
The old check only considers static wallpaper. So if user set a dynamic
one we still think wallpaper is not set.
Change-Id: I3fa0908b29891cf7b90c24d5a63ce60d5985a70d
Fix: 34719455
Test: make RunSettingsRoboTests
- Do not dismiss fingerprint suggestion until atleast one fingerprint is
added.
bug: 36578142
Test: robotest & manually verified.
Change-Id: I3151c9ae971666a0964be007103a9b7ad41de5ce
(cherry picked from commit 51ef801b32)
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
- Create a summary placeholder for preferences with summary.
- Create a totally empty summary for prefernces without summary.
- For all dynamic prefs that has *no* SummaryLoader, add meta to set
their summary to empty.
- Other dynamic perfs has as initial summary.
By doing this, all dynamic pref's height is fixed and will not change as
we update summaries, thus eliminating jank during cold start in each
page.
Also removed DashboardAlias for notification preference and default apps as a side fix.
Change-Id: Iec98b7ffef4e920bf573b2244ad04124c1c5d154
Fix: 36414481
Test: make RunSettingsRoboTests
And refactored the getIdent logic into feature provider.
Change-Id: Id6f66a6942cbaf6d26ae4dca62037a6cf01179a5
Fix: 36314240
Test: make RunSettingsRoboTests
1. Change card_background to default background color. In settings
light theme, background color is exactly the #fafafa
2. Change card_background_grey to colorSecondary, which is
material_grey_200 in settings light theme.
Bug: 36139640
Test: Screenshot
Change-Id: I20081e768985ce6c0b9000448ae48599f18b293a
- 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 DashboardFeatureProvider.isEnabled() and all relating code
and tests.
Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
- This is required when a suggestion is completed and it needs to be
removed from the list immediately.
Test: RunSettingsRoboTests
Fixes: b/35657186
Change-Id: I731bd1d4ef4a23a74cb4022513d0824ff5f74b2a
This is needed to use logging from DashboardFragemnt.
This page is now a mixture of PrefernceController and non-controller
preferences.
Also permanently removed system update preference from xml to simplify
migration
Todo: convert the rest of preference into controller.
Bug: 34774945
Test: make RunSettingsRoboTests
Change-Id: Ie5130ea7377db2ccf2236cdf48e5cc26d1347d7a
Previously if there was three suggestions in the suggestions view, all
three would be logged as shown, although by default only two of them are
shown and the third one is shown only if the view is expanded. Now, only
the actual shown items will be logged.
Test: RunSettingsRoboTests
Fixes: b/35348496
Change-Id: Ic3af7961b4713f48e63c51ac599cb55bf69975ff
Add handling to check for nested preference when finding preference
in the collapsed list.
Change-Id: I830bdd5fd99f09c505f41fd3bb2fa968eb9b13cf
Fix: 35363405
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
- Log when navigating from Settings to injected tiles.
- Log when user creates a new widget shortcut
Fix: 33209678
Fix: 30137094
Test: RunSettingsRoboTests
Change-Id: I1e0f4e00709c392cde2550fafe53890836387c99
Use DashboardFeatureProvider to open tile instead. This makes logic more
centralized in one place, and makes logging easier in the future.
Bug: 30137094
Test: RunSettingsRoboTests
Change-Id: I8a028bb7cac8f70f6c237f253be8668cc3ef257e
In constructor, use app context instead of fragment context
Change-Id: I24fbc457037c1d6854ecf0cb270110d73effb662
Fix: 35292764
Test: RunSettingsRoboTests
Use the centralized registry to look up category key instead.
Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
- use context instead of activity to retrieve resource details.
- revert the change previously made in getActivity() calls.
- add null checking in package name and tile intent.
Fix: 34396855
Test: make RunSettingsRoboTests
Change-Id: Ic853939fee3c381b663c0320354da51d3b2a0e11
1. When condition is inserted, only scroll to top when previous
position is at the top.
2. Clean condition status after it is removed. So the next time
you insert a condition view, it will always be collapsed.
Bug: 33839780
Bug: 34115341
Test: make -j40 RunSettingsRoboTests
Change-Id: I7f48524917c3119ec24b2f67ba506f381573a391
The issue happens mainly because two animations(move + change) running
on the same view interrupt with each other. When ItemAnimator runs the
move animation, it will change the translationX&Y in a time period.
When the change animation occurs in this period, it gets this translation
value and calculates a non-zero deta, then it would run an unnecessary
move animation, which causes the strange reshuffling.
In this cl, I skip the translation value only for the tile view when
there is pending animation.
I also add scroll operation for conditions view to make it scroll to
top after condition change.
Bug: 33839777
Bug: 33839780
Test: make -j40 RunSettingsRoboTests
Change-Id: I2152f93f756ae20cf754d6fca3525119cb4ceb1f
SearchFeatureProvider was holding on to a context and
outlived the SettingsActivity, thus leaking the activity.
The context was passed into most methods, and thus it
makes more sense to pass it in to every method.
Bug: 33677967
Test: Run MakeSettingsRoboTests
Change-Id: Ia82f30e7e0b83587b4baeef28e81da6b8e4303fe
Support screen is now refreshed in the onResume.
This will prevent the situation where you open the
support tab and then you cross a hours of operation
boundary and the button is not updated.
Test: make RunSettingsRoboTests
Bug: 33272736
Change-Id: I9312b3b6f711eda91d5d60b3ff30e5ac12bf89c1
Add a new method to get the extra intent-filter action to be used
to query the dynamic dashboard tiles.
Bug: 32739952
Test: make RunSettingsRoboTests
Change-Id: I96d9d8bd32ebe34b7c0df00c3fb4d8900b476c94
If intent action is provided in the metadata for the dynamic tiles, it
will be added to the launching intent when user selects the tile.
Fixes: 31801423
Test: make RunSettingsRoboTests
Change-Id: Ic3e583a578660f4d9c40feff1418e5e354ab8f60
When there is no offset change for identical holder in
animateChange, simply return and don't invoke the
resetAnimation.
Bug: 33198024
Test: make RunSettingsRoboTests
Change-Id: Ib83363873bc5f51e5bd71af5a013ee0756728d1a
Bug: 31002801
Test: make RunSettingsRoboTests
Reads in optional metadata field for specifying the key used for an
injected preference.
Change-Id: Ief2ff10c508d42f91906b531cf34906c1c42fdd4