Update the UX and dig the data usage screen out of a huge whole of
technical debt. Switch every to use Preferences rather than standard
layouts and ListViews.
Split data usage into several fragments, all separated.
DataUsageSummary:
- Shows a summary of the 'default' usage at the top, this will be
the default sim on phones, or wifi if it has it, or ethernet
as last attempt to show something.
- Also has individual categories for each network type that has
data, cell, wifi, and ethernet. Maybe should look into bt though?
DataUsageList:
- Takes a NetworkTemplate as an input, and can only be reached from
the network specific categories in DataUsageSummary
- Shows a graph of current usage for that network and links to
app detail page for any app.
- Has gear link to quick get to billing cycle screen if available
BillingCycleSettings:
- Just a screen with the cycle day and warning/limits separated
out from the data usage.
AppDataUsage:
- App specific data usage details
- May need some UX iteration given lack of clarity in the spec
Bug: 22459566
Change-Id: I0222d8d7ea7b75a9775207a6026ebbdcce8f5e46
Now with visible lock patterns! Both light and dark!
Bug: 21117509
Bug: 21077345
Bug: 21480587
Bug: 21621900
Change-Id: Ibcf822faf7cbc83be43d757e0a6a9432ef3346af
Asset drop so Data Usage matches new Material spec. Removes time
dimension sweeps, so we now summarize the entire visible axis. Fix
time axis labels to not draw outside clip bounds. Remove pie chart.
No more checkboxes in menus. Telephony items like roaming are moved
back to cellular settings. Start wiring up multi-SIM support.
Bug: 15760500, 16019700, 16289924, 16303795
Change-Id: Ie8f4821962319bb82ff4bc2f13f1f66ba1bdfe65
Avoid wrapping sweep labels when underlying string is long, and avoid
showing blank "^1" sweep labels. Only offer "restrict data" when
mobile networks are present. Add locking around UidDetailProvider.
Move to isNetworkSupported() for consistency.
Bug: 5492495, 5471602, 5439402, 5373465
Change-Id: I79f5938d45ffbb4c2c242106424a466042a26c1c
Change strings around limiting background data. Move limit/warning
sweeps above inspection sweeps, and teach about additional neighbors
on different axis.
Guard against DialogFragment.show(), fix pie chart to draw edges, and
remove data usage from battery UI.
Bug: 5341374, 5337650, 5337385, 5319465, 5236335
Change-Id: Iea8c2a2ab405b645d85abe34a0178d4b8874cdd5
Introduce dialogs for precise editing of network policy warning/limit
values, triggered by click on sweep labels. Show up to 999MB before
rounding to GB, and round to nearest 5MB value when dragging. Partial
D-pad navigation around chart controls. Fix jumping when relayout
during drag, and fix sweep overlap bug.
When restricting data without limited networks, show dialog help to
guide user towards network limit. When reloading chart data, try
restoring to nearest cycle.
Bug: 5289641, 5111701, 5226078
Change-Id: Ic59dee6496c480a64dc56f8534acf4d81b50bca7
Optimize launch times by removing unneeded extra work, including
reloading data and tightening chart invalidation. Fix invalidation
storm when sweeps overlap. Move chart history into loader instead of
blocking main thread.
Disable "Split 4G" mode until telephony support is ready, and combine
any existing split policies.
Async loading of application details. Remove alpha transitions to
speed up on some hardware. Hide menus in detail mode. Delay kicking
off force-poll. Fix inset padding on large devices.
Bug: 5284321, 5273918, 5263056
Change-Id: I746d79c05e2a6ea97bbdbdc5d807e208328d1373
Extend ListView content to screen edges, and use InsetBoundsDrawable
to draw separator and divider with expected padding. Sweep touch
targets are now much larger.
Snap sweep to persisted value, and fix NFE when parsing label value.
Bug: 5274249
Bug: 5262865
Bug: 5242857
Change-Id: Ifa0f3e622767d5b4dc85a73d6340207e6038a429
Share consistent layout between data usage and battery usage. Show
confirmation dialog before disabling mobile data. Round warning/limit
sweep values to match displayed label. Suppress fade when switching
data usage tabs.
Bug: 5208510, 5058157, 5038589, 5252816
Change-Id: I3c76f3397445d2d3b173666a41672871df4c61af
Fix sweep z-order so that limit are always above inspection range,
and draw shadows behind sweep labels. Narrower margins for sweeps
with labels; push labels to keep from overlapping.
Generous touch targets on sweeps, and delegate touches to neighboring
sweep if nearer. Refresh sweep layout during axis zoom, and don't
allow zoom below default minimum. Let inspection sweeps move beyond
valid data ranges. Draw less-frequent tick marks when working with
large axis ranges.
Remove Wi-Fi policies but continue showing historical data. Write
NetworkPolicy if modified during read, and snapshot when async write
requested.
Handle combined UID histories for "Android OS."
Bug: 5191421, 5092579, 5225988, 5221101, 5221065, 5221005, 5150906, 5058025
Change-Id: Id51652e8a10bb90e1345f7a8af01bd70cb8ac677
Load foreground/background network stats, showing combined in chart
series, and also separated in pie chart. Padding to match spec,
updated action bar tabs, and limit width for wide devices. Also
clear UI options for requesting fragments. Move to action bar
overflow menu instead of custom icon. Show detail chart data outside
current inspection range.
Bug: 5106163, 5143670, 5163064, 5162671, 5148713, 5129036, 5096626
Change-Id: I548fef209e1f714f70ee6bf7098dbdb881692df4
Add app icons into both summary list and details pane. Also show list
of all applications merged under a UID. Draw dates on chart axis, and
avoid flashing policy sweeps when switching networks in detail mode.
Bug: 5087283, 5038812
Change-Id: I1dcd03ca85b517f8726452af8a46b4be9b3d20f1
When dragging vertical sweeps near edges, grow or shrink axis scale
to give users access to larger limits. Triggers 10% for each 250ms
that user continues holding. Change axis math to support arbitrary
ranges beyond [0,5GB].
Show "empty" message when no application details found. Added strings
that didn't appear in default language. Better sweep margins using
dip instead of scale units. Format time ranges in local time instead
of UTC. Only show dashed estimate when it would reach near warning
or limit. Extend app usage series until "now" when buckets missing.
Bug: 5096685, 5092538, 5058158, 5058114, 5058024, 4643457
Change-Id: I45cf33f7f3baeba1bfa5b21f31cb0a12006f62fa
Show time range and data summary based on current sweep selection for
both network and app details. Fix animations by opting-out of parent
hierarchy animation, since it fights with ListView.
Switch to using NPMS "restrict background" instead of overloading
setBackgroundDataSetting(), and hide app background checkbox when
global background is restricted.
Limit sweeps to valid historical data, and activate sweeps on touch
instead of requiring separate tap. Fix z-order and avoid animating
sweeps. Align all elements along vertical edge, and fix item layout
to handle long app title.
Bug: 4979025, 5058107, 5038590, 5079887, 5058108, 5058026, 5037381
Change-Id: Ib45b61ff2a62303f47aa3f47f88d2e688fe4d076
Add rules to clamp sweeps, since it doesn't make sense to have a
limit below warning.
Bug: 4598462
Change-Id: I3323c7bca7fabe3e3f1e9c89906c3a921103579c
Using template string, ask axis to build label for sweeps. Also
clean up margins exposed to parent view, since we offset when label
is larger than sweep drawable.
Bug: 4598460
Change-Id: If71bc8ec8c952023325c80b9bc00b63c23609c7a
Change sweep drawables to crossfade correctly between states, and
work around 4946591 by nesting container one level deeper. Also wait
until first layout pass is finished before applying LayoutTransition.
Prevent touches from reaching sweeps when chart is disabled. Also
bring back log scale for data.
Change-Id: I2194714ab075fd32525681119f30427c1b96fc50
Moved app details back into single Fragment to support animations and
template tabs. Show the network in background behind app details
chart series to match designs.
Clamping sweeps at axis boundaries.
Bug: 4813014, 4598460, 4818029
Change-Id: I72c0b21ee1d595e4da31d293ae0dab9e801041f3
Switched to inflating chart views from XML, using attributes for
configuration. Start using drawable assets for chart components
instead of manually painting. Include hand-cut assets, and animate
between states when touched to invoke.
Clamp sweeps to valid chart ranges and prepare for sweep labels.
Bug: 4768483, 4598460
Change-Id: Ic660c35bec826eb5e3f6a1dde3cc04d8c437ef2b
Added ActionBar items to control complexity of data surfaced; checked
state causes tabs to be shown/hidden for "Mobile", "2G-3G", "4G", and
"Wi-Fi" network templates. Loading historical stats and policy from
system services based on selected tab.
Change entire body under tabs to scroll, treating network options and
chart as ListView headers. Teach chart sweep to disable intercept to
play with ListView, and draw sweep disabled as dashed line. Hijacking
Preference views for toggles to offer consistency. No policy updates
are persisted yet.
Based on available historical network stats and policy cycle reset day,
build list of user-selectable cycles. Wired up chart to display cycle
data and reset inspection region to last week of available data.
Change-Id: Ia561578276fa23908b745fbc06a6ef828d9ccc2e
Chart of network usage over time, with draggable "sweep" bars for
inspection region and warning/limits. Talks with NetworkStatsService
for live data, and updates list of application usage as inspection
region changes.
Change-Id: I2a406e6776daf7d74143c07ec683c10fe711c277