Commit Graph

567 Commits

Author SHA1 Message Date
Maurice Lam
ca022e2b9b Merge "Fix suggested action custom view binding" 2017-04-03 21:38:20 +00:00
Maurice Lam
cbf797e65c Rebuild suggestions when suggestions are dismissed
When suggestions are swiped away, refresh the suggestion categories
so that suggestions previously suppressed because it's lower priority
or because there is an exclusive suggestion now has a chance to be
shown.

Test: cd tests/robotests && mma
Bug: 36811621
Change-Id: I1a1ae1624c2f69153d95d238b2143ac9273e117d
2017-03-31 17:13:39 -07:00
Maurice Lam
58c14f7596 Fix suggested action custom view binding
Remove all the views before adding the remote views again, so the
card will not have multiple custom views on top of each other.

Test: cd tests/robotests && mma
Change-Id: Id41bfb962c08e8d1ee6534e0cf44d173a1f1910f
2017-03-30 21:52:01 -07:00
Maurice Lam
2aa5a7d3d3 Merge "Allow remote views to be used in Tiles" 2017-03-29 22:56:53 +00:00
Doris Ling
c209851d54 Merge "Only register conditions receiver when needed." into oc-dev am: 258e8a8117
am: c5cc3ad8ab

Change-Id: Iee3b638cf04acd6fa6ea01ec5ec24e001e15141a
2017-03-29 20:37:01 +00:00
Doris Ling
0f01c849cd Only register conditions receiver when needed.
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
2017-03-29 10:47:04 -07:00
Doris Ling
ae53f97650 Fix null pointer on dismissing suggestion.
Add null check for context when getting the suggestion identifier, since
this is called from async task and context might becomes null.

Change-Id: If17036803de1634891b659a4fc6bd4b8a76ef5fb
Fix: 36605386
Test: make RunSettingsRoboTests
2017-03-28 17:53:52 +00:00
Maurice Lam
fc972a75a9 Allow remote views to be used in Tiles
If a suggeested action Tile has a remote view defined, inflate a card
layout to contain the remote view, instead of showing the default
title-summary layout.

Additionally, if the remote view has a view with ID
@android:id/primary, that will be used as the click target rather
than the entire card.

Test: cd tests/robotests && mma
Bug: 35668836
Change-Id: I0fd1b9c637b6d7a3d7d2f6268669917408a882eb
2017-03-27 20:32:20 -07:00
Fan Zhang
8c8c4077fe Fix a monkey crash when it dismisses suggestion.
Change-Id: I300a49ed75381795b6532388f770847ed39a4c8c
Fix: 36509330
Test: make RunSettingsRoboTests
2017-03-22 10:04:39 -07:00
Fan Zhang
320d60f0ad Fix some animation janks during code start.
- 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
2017-03-21 13:20:18 -07:00
Fan Zhang
11d2d68e23 Move developer options related class to development package
Bug: 34203528
Test: none, purely moving classes around
Change-Id: I3cd1d257f948729fda5c04632e7ce9114c40bd0c
2017-03-17 16:51:21 -07:00
Fan Zhang
2907f86971 Fallback to default wallpaper picker if first choice fails
- Add fallback logic in WallpaperSuggestionActivity
- Move some classes around
- Delete some unused class

Change-Id: Ifc8864428647a94f3ecae50d193c2156b2592ff3
Fix: 36140287
Test: make RunSettingsRoboTests
2017-03-17 16:49:58 -07:00
TreeHugger Robot
d964467622 Merge "Fix NPE when building suggestion identifier." 2017-03-17 01:47:59 +00:00
Fan Zhang
264c0c2bbe Fix NPE when building suggestion identifier.
And refactored the getIdent logic into feature provider.

Change-Id: Id6f66a6942cbaf6d26ae4dca62037a6cf01179a5
Fix: 36314240
Test: make RunSettingsRoboTests
2017-03-16 17:12:22 -07:00
Matthew Fritze
0b431fc003 Purify SettingsActivity from old search code.
Bug:35763944, 32590887
Test: make RunSettingsRoboTests
Change-Id: Id8140b68a676e595bff095546fa119cd3ced2c4a
2017-03-16 14:14:44 -07:00
Fan Zhang
f0215712ba Disable collapse when fragment is opened from search
Change-Id: I9564dff4ec53256a0fe992055049cf65ce68e37b
Fix: 36076953
Test: make RunSettingsRoboTests
2017-03-15 15:21:34 -07:00
Fan Zhang
a5b620e738 Swipe to dismiss suggestions
- 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
2017-03-13 14:39:00 -07:00
TreeHugger Robot
e0b65fce67 Merge "Remove code that check for dashboard feature." 2017-03-07 20:57:28 +00:00
Doris Ling
f2cf2aea37 Remove code that check for dashboard feature.
- remove DashboardFeatureProvider.isEnabled() and all relating code
and tests.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
2017-03-07 11:15:03 -08:00
TreeHugger Robot
04a5a99387 Merge "Fixing a bug in suggestion logging and adding more tests." 2017-03-04 00:29:15 +00:00
Doris Ling
26208220cf Remove WirelessSettings and related code not used in new IA.
- 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
2017-03-03 13:20:12 -08:00
Soroosh Mariooryad
606cb64097 Fixing a bug in suggestion logging and adding more tests.
Test: RunSettingsRoboTests
Fixes: b/35802845

Change-Id: I216b3ff344ccdffd038d924649109483e80f5437
2017-03-03 10:18:52 -08:00
TreeHugger Robot
6c146f2ab5 Merge "Remove old code relating to SystemSettings not used in new IA." 2017-03-01 20:44:48 +00:00
Doris Ling
d299b03f28 Remove old code relating to SystemSettings not used in new IA.
- remove activity alias: DevelopmentSettingsDashboardAlias,
DateTimeDashboardAlias, AboutDeviceDashboardAlias,
BackupResetDashboardAlias, EnterprisePrivacyDashboardAlias, and
AccessibilityDashboardAlias and updated the corresponding target
activities with the alias metadata.

- remove InputMethodAndLanguageSettingsActivity and
GestureSettingsActivity and the associated xml.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: I7d4922f8dfaac40e8ad077a68008185cd9fe3304
2017-02-28 17:46:24 -08:00
Fan Zhang
78ab9f98de Remove drawer from settings
Change-Id: Ib11376206cf8366c86c427104c47740c3ca8b0d0
Fix: 35809663
Test: make RunSettingsRoboTests
2017-02-27 17:45:05 -08:00
TreeHugger Robot
427b99cbdc Merge "Moving load of suggestions from onViewCreated to onCategoriesChanged." 2017-02-27 20:23:32 +00:00
Soroosh Mariooryad
9ca41dd89a Moving load of suggestions from onViewCreated to onCategoriesChanged.
- 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
2017-02-27 10:30:55 -08:00
TreeHugger Robot
b7c595a636 Merge "Removed AccountSettings used in old IA only." 2017-02-25 03:04:06 +00:00
Doris Ling
f074f0f6dd Removed AccountSettings used in old IA only.
- 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
2017-02-24 16:04:35 -08:00
Soroosh Mariooryad
5f375a2776 Move suggestions package to dashboard.suggestions
Test: RunSettingsRoboTests

Change-Id: I4f9af27767c8e55d3b1a16e77c099da52d40aab5
2017-02-24 11:04:41 -08:00
Fan Zhang
ee45943177 Add logging whenever preference leads to intent.
Bug: 34774945
Test: make RunSettignsRoboTests
Change-Id: I694e5a0a2b614c695193c9c525991a1558e0a81a
2017-02-23 11:55:50 -08:00
Doris Ling
d33651cf70 Merge "Recursively find preference in progressive disclosure." 2017-02-21 18:26:28 +00:00
Soroosh Mariooryad
e457e35ec0 Add ranking to SuggestionFeatureProvider interface.
Test: RunSettingsRoboTests
Fixes: b/35363662

Change-Id: Ib786e6b2733e2b151f73fb68e174a21aedb2b20a
2017-02-20 17:34:36 -08:00
Soroosh Mariooryad
25d8049bb2 Modifying setting suggestion logging to only log the shown items.
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
2017-02-20 12:40:15 -08:00
Doris Ling
493fd4e6d6 Recursively find preference in progressive disclosure.
Add handling to check for nested preference when finding preference
in the collapsed list.

Change-Id: I830bdd5fd99f09c505f41fd3bb2fa968eb9b13cf
Fix: 35363405
Test: make RunSettingsRoboTests
2017-02-16 17:40:40 -08:00
Fan Zhang
cb287cfcd2 Add source metrics when launching top level setting items.
Change-Id: Idca6e136747fb40ba962307abd2620cdd241c3b1
Fix: 35359289
Test: make RunSettingsRoboTests
2017-02-16 10:25:49 -08:00
Fan Zhang
c6ca314c0b Log source with visibility change
- 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
2017-02-15 17:17:19 -08:00
Fan Zhang
fe9f0fda35 Add logging when "Advanced" button is clicked
Change-Id: I8259b1b863991935165afb19e34c30dcf5056acf
Fix: 35356464
Test: RunSettingsRoboTests
2017-02-15 15:12:26 -08:00
Fan Zhang
efba6b4e14 Skip redundant SuggestionLoader run during app start.
also skip DiffUtil when drawing first frame.


Fix: 34103984
Test: make RunSettingsRoboTests
Change-Id: I4891d1bca1f17c437444761eaf3002624934014d
2017-02-15 02:06:08 +00:00
Fan Zhang
42aaa53e75 Add logging for settings
- 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
2017-02-13 16:57:28 -08:00
Fan Zhang
628b3cb76e Deprecate SettingsDrawerActivity.openTile.
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
2017-02-13 14:41:27 -08:00
Fan Zhang
d69b443e35 Fix a memory leak caused by dashboard freature provider.
In constructor, use app context instead of fragment context

Change-Id: I24fbc457037c1d6854ecf0cb270110d73effb662
Fix: 35292764
Test: RunSettingsRoboTests
2017-02-11 16:57:31 -08:00
Fan Zhang
b39805e0d4 Code clean up
- Remove unused DashboardTilePreference class
- Use FooterPreference in ManageAssist fragment
- reformat manage_assist xml file

Bug: 35203386
Test: visual
Change-Id: If3dbbd0fb1977d6f3c7dbf4544d71f5e6e801327
2017-02-09 11:39:03 -08:00
Soroosh Mariooryad
634b4eb315 Merge "Adding the dismiss logic for setting smart suggestions." 2017-02-07 02:12:59 +00:00
Soroosh Mariooryad
81adc530d9 Adding the dismiss logic for setting smart suggestions.
Test: make RunSettingsLibRoboTests
Fixes: 35059823
Change-Id: I48a71ff525f6dded6f0b505280f5678a554f7183
2017-02-06 15:25:35 -08:00
Doris Ling
34cfd2e24f Combine Language & region and Input & gestures in System settings.
Merge preferences into one page, and update test.

Bug: 34976047
Test: make RunSettingsRoboTests
Change-Id: I5f15192e42f6054c02d4c8ffa9f25db3075da409
2017-02-06 11:46:48 -08:00
Soroosh Mariooryad
729cfcbe4d Merge "Adding setting suggestion ranker." 2017-01-27 19:22:35 +00:00
Soroosh Mariooryad
b1922dbc39 Adding setting suggestion ranker.
Test: RunSettingsGoogleRoboTests
This is currently behind a flag and it is no-op CL.

Change-Id: Ieed3e5a9c3c2fbb0ce1bfea77c588b04778540eb
2017-01-26 14:45:39 -08:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
Fan Zhang
a96b11f65d Build a sitemap manager to keep track of breadcrumbs
- Have a new db to track parent-child page relation at index time.
- Make a registry class to track (in IA) which page host what type of
  sub pages.
- Make a manager class that queries the db as well as IA to compute
  breadcrumbs

Fix: 32936784
Test: RunSettingsRoboTest

Change-Id: I5f1583fae772c3d477d2ad186e111b79cc3e41aa
2017-01-23 20:41:39 -08:00