Commit Graph

426 Commits

Author SHA1 Message Date
Fan Zhang
fabbfb435e Refactor SummaryLoader to set summary on subsetting pages.
- 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
2016-10-07 14:52:06 -07:00
Fan Zhang
36924659f5 Refactor DashboardFragment.
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
2016-10-07 11:55:43 -07:00
Fan Zhang
e6c60c24a8 Add test for new DashboardFragment and PreferenceController
Also added a FakeFeatureFactory to make it easier to mock different
FeatureProviders.

Bug: 31781480
Test: make RunSettingsRoboTests
Change-Id: Ie45db601e0bec951d7ef983ec2e3ca747ec1c3af
2016-10-06 10:33:01 -07:00
Fan Zhang
1d4495f985 Merge "Update signature when calling CategoryManager.get." 2016-10-05 00:14:54 +00:00
Fan Zhang
1fb1526af7 Update signature when calling CategoryManager.get.
Bug: 31781480
Test: compiles
Change-Id: Iee715aca3767a67728527ba9390787d3f8a7e5fe
2016-10-04 15:18:02 -07:00
Fan Zhang
bb6d2608e9 Add storage dashborad page.
Refactor shared dashboard page display logic between storage and
system page.

Bug: 31800690
Test: RunSettingsRoboTests

Change-Id: I7eb86f590b79ab871bdb383fb2f5326790beb193
2016-10-04 14:06:57 -07:00
Fan Zhang
c6540cfb57 Add search provider for system dashboard fragment.
Bug: 31801428
Test: manual
Test:make RunSettingsRoboTests
Change-Id: I6a80d64ed9755f4ddcfde33a82be04cfcbf0495b
2016-10-04 11:10:36 -07:00
Fan Zhang
81adfcfcca Listen to category changes in preference fragment.
Bug: 31781480
Test: make RunSettingsRoboTests
Change-Id: I702e524eb3a9e40b653e112dba80d620be3bc9bb
2016-10-03 16:38:02 -07:00
Fan Zhang
cc335d9509 Rearrange a few settings into System category page.
- 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
2016-09-30 16:03:46 -07:00
TreeHugger Robot
96fa06ebf7 Merge "Use DashboardFeatureProvider to load homepage tiles." 2016-09-29 21:19:34 +00:00
Fan Zhang
a96a2d8d60 Use DashboardFeatureProvider to load homepage tiles.
Adding support to homepage category.

Test: SettingsRoboTests for regression. Will write tests for new feature
soon once we are set on the data structure.
Bug: 31781480

Change-Id: I25fa367fecb643f17e23f0182df7585bf1fcdd02
2016-09-29 12:31:10 -07:00
TreeHugger Robot
0231d64190 Merge "Settings timeout for suggestions" 2016-09-29 18:44:24 +00:00
Salvador Martinez
d969a5f53d Settings timeout for suggestions
If loading suggestions takes too long (750ms)
settings will display just the categories
so the user does not get confused.

Test: Forthcoming
Bug: 31203004
Change-Id: Ic9866a5ccdcef965908db8c4592435a5d252f7b0
2016-09-29 18:39:47 +00:00
Matthew Fritze
f3b1d7b580 Settings suggestions now describes expand and collapse in talkback am: 62cf9efd9b am: d522eff9e5
am: a7b7f86f1e

Change-Id: Icac895f280eb02b5cedebfec4d6b809431ea04f7
2016-09-28 23:21:51 +00:00
Matthew Fritze
a7b7f86f1e Settings suggestions now describes expand and collapse in talkback am: 62cf9efd9b
am: d522eff9e5

Change-Id: I95c7c1e9f7e3cec8dc9d439b480b78b2520730fb
2016-09-28 23:01:12 +00:00
Matthew Fritze
62cf9efd9b Settings suggestions now describes expand and collapse in talkback
Bug: 30314874
Change-Id: I2231148594c8e878111a754e5806c20dd4e289af
2016-09-27 13:31:15 -07:00
Fan Zhang
488033e54d Add feature provider for dashboard.
The feature provider contains API that controls whether a new
information architecture should be used. By default it's false.

Bug: 31768091
Test: make RunSettingsRoboTests
Change-Id: I5b177be418def50d877f53dc799e42d06eba95ec
2016-09-27 11:25:27 -07:00
Fan Zhang
e40eb2457a Fix NPE when trying to refreshes dnd condition. am: 98487f4d65 am: 80c589e1f8
am: f77c940f9a

Change-Id: Ib0f089321000e100dbbf4510ebb9d5bce3b3abca
2016-09-23 23:57:03 +00:00
Fan Zhang
f77c940f9a Fix NPE when trying to refreshes dnd condition. am: 98487f4d65
am: 80c589e1f8

Change-Id: I64d75489f6e7066b2303c6e3fc3d4e6b0c8388c6
2016-09-23 23:44:36 +00:00
Fan Zhang
aa71afe597 Use MetricsFeatureProvider for logging in Settings.
Bug: 31664539
Test: make RunSettingsRoboTests for regression
Test: adb logcat -b events | egrep "(sysui_|notification_)" for
      verifying log

Change-Id: Id944be7c4ff9911aebee481c2df485542f1318f0
2016-09-23 08:37:37 -07:00
Fan Zhang
98487f4d65 Fix NPE when trying to refreshes dnd condition.
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
2016-09-22 22:13:21 +00:00
Fan Zhang
c93d18e29c Use MetricsFeatureProvider for condition/suggestion/search.
Bug: 31664539
Test: make RunSettingsRoboTests

This allows different metric clients to listen to these events.

Change-Id: Ib19c8099b16ff78d9aa4901278e0ff33eeefd4a8
2016-09-22 13:22:26 -07:00
Fan Zhang
1e516287bd Add visibility metrics to dialogs.
Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
2016-09-19 17:34:12 -07:00
Doris Ling
f0bb63f307 Fix NullPointerException in DashboardSummary. am: 797dd7440d am: 454dc3739a
am: 45a821105f

Change-Id: I39623232f80a9de2d2199af11585eaa61bce2e08
2016-08-26 23:03:39 +00:00
Doris Ling
45a821105f Fix NullPointerException in DashboardSummary. am: 797dd7440d
am: 454dc3739a

Change-Id: Id334c7b3f36d8fcfbb4e919007d0bf5789b605fb
2016-08-26 22:26:40 +00:00
Doris Ling
797dd7440d Fix NullPointerException in DashboardSummary.
In onSaveInstanceState(), move saving the suggestions logging lists to
the top so that it will be saved to the bundle even when layout manager
is null.

Test: run monkey
Change-Id: I248563a255158feadeb85898a920af96a1565fa9
Fixes:31111795
2016-08-26 11:13:21 -07:00
Salvador Martinez
a54c3690a4 Added guard to logging in AsyncTask am: 030eeeee6d
am: 60bd509d4e

Change-Id: Ib1d37a0c9c68c01be0d59bff5d78cd37c083689f
2016-08-25 20:02:35 +00:00
Salvador Martinez
030eeeee6d Added guard to logging in AsyncTask
An async task was trying to get the context
in an InstrumentedFragment. This could return
null if the context disappears before the new
thread gets to that line. Logging will now
be aborted if context is null to avoid this.

Test: Manual/Monkey Stability Test
Bug: 31058928
Change-Id: Iae97d389e58a76b0f213a2749415501894ebf649
(cherry picked from commit 566b66e27c)
2016-08-25 17:45:24 +00:00
TreeHugger Robot
e96d65deea Merge "Added guard to logging in AsyncTask" 2016-08-25 00:36:32 +00:00
Salvador Martinez
566b66e27c Added guard to logging in AsyncTask
An async task was trying to get the context
in an InstrumentedFragment. This could return
null if the context disappears before the new
thread gets to that line. Logging will now
be aborted if context is null to avoid this.

Bug: 31058928
Change-Id: Iae97d389e58a76b0f213a2749415501894ebf649
2016-08-24 15:11:21 -07:00
Andrew Sapperstein
f36eac3889 resolve merge conflicts of 6890d53 to master
Change-Id: I61c1ed150fe311c4e07df524b5c0577f35d3bd60
2016-08-24 10:50:28 -04:00
Doris Ling
6890d538ae resolve merge conflicts of f757d1e to nyc-mr1-dev-plus-aosp
Change-Id: I1e53b78977bb32fe34462cf46bbfe66626574e65
2016-08-23 19:02:31 -07:00
Doris Ling
bfbb964cb1 Log settings suggestions events only once.
The show/hide settings suggestions events are logged every time Settings
is shown. Save the logged events into the state bundle so that when the
fragment is resumed, it does not re-log the suggestions events.

Also move the logging for the show suggestion event to when the suggestion
is loaded, as the suggestions can be empty when the fragment starts.

Change-Id: I644ea0012bad309e59fed0d48171915c955779cc
Fixes: 30108142
2016-08-23 13:25:06 -07:00
Salvador Martinez
d0e21e9285 can open settings with support tab by default am: 12c5208ad0
am: 8d47bdc773

Change-Id: I223e42c2bc89e3f95a0fed9cc74ebfb21932370f
2016-08-22 22:32:20 +00:00
jackqdyulei
83c6cfa463 Fix the nullpointer bug in monkey test. am: 409c4708c1
am: fbed8d95e9

Change-Id: Ia93f4051af386b8d6dee02d7c617fe75730e9fc2
2016-08-22 22:32:17 +00:00
Salvador Martinez
8d47bdc773 can open settings with support tab by default
am: 12c5208ad0

Change-Id: Ic28fc68db3d971ccf48c5667875474d4c9060a7b
2016-08-22 22:20:54 +00:00
jackqdyulei
fbed8d95e9 Fix the nullpointer bug in monkey test.
am: 409c4708c1

Change-Id: I03e6e3a5951f587169d0b2758283bff069b925a2
2016-08-22 22:20:50 +00:00
Salvador Martinez
5bd202e277 Merge "can open settings with support tab by default" into nyc-mr1-dev 2016-08-22 21:53:53 +00:00
Lei Yu
dd90acf2c0 Merge "Fix the nullpointer bug in monkey test." into nyc-mr1-dev 2016-08-22 21:49:56 +00:00
Fan Zhang
29e1c59f32 When click conditional's title, expand/collapse content. am: 89d7bca166
am: c8b20343f0

Change-Id: I416b3f87bc3d5bde0396dd5ddf6cb23c43b3d155
2016-08-22 20:18:29 +00:00
Fan Zhang
89d7bca166 When click conditional's title, expand/collapse content.
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)
2016-08-22 18:30:16 +00:00
jackqdyulei
409c4708c1 Fix the nullpointer bug in monkey test.
Bug: 30632031

Change-Id: I295bcc804a5e847f99577353c888caa08dc8c7ef
(cherry picked from commit a2938d2a2f)
2016-08-19 18:46:15 +00:00
Salvador Martinez
12c5208ad0 can open settings with support tab by default
Changes were made to the two files to allow users to provide
an argument in the intent for the settings activity. This
argument allows you to specify if you want the summary tab
or support open on startup.

Fixes: 30233920
Change-Id: I4745a0f75ea6a60a22381f5e58f2fac3836d86b9
(cherry picked from commit 2368e548e6)
2016-08-19 18:15:14 +00:00
Fan Zhang
6507613ebc Log visibility change for all fragments.
Bug: 30681771
Test: SettingsUnitTests

Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.

Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
2016-08-18 14:04:13 -07:00
Fan Zhang
e162cbbd69 Don't dial any number if DIAL intent is not supported. am: 6098913d4b am: 9d478bef16
am: 67a496221e

Change-Id: I3a92f89fe4e2dc527c994050556253ec834ca1e6
2016-08-15 23:48:34 +00:00
Fan Zhang
67a496221e Don't dial any number if DIAL intent is not supported. am: 6098913d4b
am: 9d478bef16

Change-Id: I6726f4551a1ca865c225d2c6d2bfb0b1e6a4f00a
2016-08-15 23:44:32 +00:00
Fan Zhang
6098913d4b Don't dial any number if DIAL intent is not supported.
Bug: 30868123
Change-Id: Ieb971fdd86011ef0699fdbcfec1ecce2112d0209
2016-08-15 13:24:18 -07:00
Lei Yu
b23a7c4c8e Merge "Fix the nullpointer bug in monkey test." 2016-08-15 19:58:58 +00:00
jackqdyulei
a2938d2a2f Fix the nullpointer bug in monkey test.
Bug: 30632031

Change-Id: I295bcc804a5e847f99577353c888caa08dc8c7ef
2016-08-12 14:44:04 -07:00
Fan Zhang
a2db2ca8fa When click conditional's title, expand/collapse content.
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
2016-08-12 10:12:18 -07:00