The calculateLocalPaths() method of UsageGraph converts a set of paths
in (milliseconds, percent) coordinates into the actual pixel values that
will be used for drawing. For the most part this is a one to one
process, but not always: input points that are too closely spaced to
draw accurately are skipped. The last point in the path, however, is
never skipped, in order to ensure that the graph ends at the correct
location.
The previous implementation of this method had a bug: the y-coordinates
of points that were skipped would be stored indefinitely (in the local
variable pendingYLoc) and then added back at the very end of the path
(under the condition i == mPaths.size() - 1 && pendingYLoc !=
PATH_DELIM). Under the right conditions, this led to the strange uptick
at the end of the graph seen in the associated bug.
This CL fixes the problem and attempts to make the logic slightly
clearer. It also adds tests, one of which (_similarPointMiddle) fails
for the previous code.
In more detail, previously pendingXLoc was used to hold the last x
coordinate seen, while pendingYLoc was used to hold the last *skipped* y
coordinate, or PATH_DELIM otherwise. The difference between these was
somewhat subtle and hard to understand from a quick read of the code,
and there was a bug: pendingYLoc never got reset to PATH_DELIM even if
later points were added. In this CL I have removed the pendingLoc
variables in favor of a single lx/ly pair, which always holds the local
coordinates of the most recent point, and I added an explicit boolean
skippedLastPoint to track whether the point (lx, ly) has already been
added or was skipped.
Bug: 64065296
Test: make RunSettingsRoboTests
Change-Id: I45ccffea1280d851bfae5143c2e84d188e133731
1. Wakeup alarm detector
Because we cannot distinguish it between foreground and background
2. Bluetooth unoptimized scanning detector
There is a bug in framework that may undercount the scanning time
Bug: 63390581
Bug: 63964363
Test: RunSettingsRoboTests
Change-Id: Ia762f580462823e8eddccbeb12dec3876b0ef47a
- when creating the dashboard data, pass the sublist of suggestions to
cap the total number of suggestions to be shown to 5.
- if user swipe away the suggestion, it will only remove the suggestion
from the suggestion adapater, and will not trigger rebuilding the whole
UI.
Change-Id: I3bbc08bb67c411ff5671a837efa40da0ac885983
Merged-In: I1efabeb2a805c670007c631d3ccb0fdfbde7b55a
Fix: 64072051
Test: make RunSettingsRoboTests
Some utility methods in UsbBackend were needed elsewhere so this CL
increases their visibility slightly rather than copying the code.
Test: Robotests still pass
Bug: 62271803
Change-Id: If8ac5494e306ac7f4f6d8eeef75f516308c78026
- This is not a functional change and it only updates the model weights
which affects the ranking of suggestion items. The previous weights were
tuned to force the ranking to have immediate response to signal changes.
But, the current weights are tuned to maximize the user interactions
with suggestion.
Test: RunSettingsRoboTests & also manually testing suggestions
Bug: 64093782
Change-Id: I9f50ed6c4ed22d1a14110ec61156c14ba74aef64
When WPS searching is interruptd by turning Wi-Fi off,
Error dialog should be displayed.
Bug: 29883134
Test: manual - tap WPS Push Button and turn Airplane mode on
Change-Id: Ie6667c6b7d09540af21b015e0d5b991d818d2c77