Save battery slot diff data into database in hourly job. Then read the
saved diff data and only calculate the remaining data. This could speed
up the battery usage loading.
Bug: 261163071
Fix: 261163071
Test: manual
Change-Id: Icd4868ca9326b64b17ddbccdb0311e755dc68026
Resubmiting reverted CL Ia1f84669090e04b3a2aaac82bb5971032d74a125.
Reson: Bug was found in another CL (in this topic)
Test: Treehugger
Bug: 268682423
Change-Id: I0fead8915b2bb6281e29b32f7426c35b0138b10e
Support accessibilty read out full timestamp labels instead of the short one, e.g "Sunday" instead of "Sun".
Bug: 242989585
Test: manual
Change-Id: Ica2176ef3f07849d278327b9301f8c318782c2d5
Remove the logic of disabling clickable when accessability is on in battery chartview.
Bug: 242989585
Test: manual
Change-Id: I92ce0ff5aac5220d686d600dbdf1d5738fe2c385
Merged-In: I92ce0ff5aac5220d686d600dbdf1d5738fe2c385
Update the timestamp label into uppercase based on the different locale
and increase the vertical offset from UX review feedback
Test: presubmit
Change-Id: Ie5e86967e36773f1f8c4f628501514b1a7fd22f5
This cl is a merge of the following 36 cls:
ag/19250259 Duplicate BatteryChartPreferenceController and BatteryChartView into new files for better diff review purpose
ag/19279660 Use Mockito 4.6.1 API for BatteryChartPreferenceControllerV2Test
ag/19267975 Add class BatteryLevelData used to parcel the battery timestamps and levels. It behaves as an interface between UI and data.
ag/19289086 Refactor BatteryChartView X-axis labels. Instead of only timestamps, also support any string[] labels.
ag/19238586 Add interpolation for the history data since last full charge loaded from database.
ag/19331746 Return raw history map in function getHistoryMapSinceLastFullCharge.
ag/19308838 In BatteryChartViewV2, use levels.length-1 to replace mTrapezoidCount. So the chartview could show any number of slots as the given levels length-1.
ag/19332266 Add class BatteryDiffData used to parcel battery usage data
ag/19331467 Refactor Battery Chart View State Controll
ag/19358207 Add DataProcessor to process raw history map for UI.
ag/19332276 Add battery chart view model.
ag/19394744 Update trapezoid validation in battery chart view.
ag/19379730 Support daily and hourly battery chartview.
ag/19428426 Improve X axis labels in battery chart (1)
ag/19446215 Improve X axis labels in battery chart (2)
ag/19394745 Add the async task to compute diff usage data and load labels and icons.
ag/19447624 Support showing app usage list for two battery charts
ag/19500907 Updates battery usage messages from last 24hr to last full charge. (Part1: V2 files)
ag/19505324 Update the selected period message in battery chart
ag/19500905 Updates battery usage messages from last 24hr to last full charge. (Part2: non-V2 files)
ag/19510363 Update usage data for EBS app usage list and App usage detail from 24 hours to last full charge.
ag/19523184 Update usage data for EBS app usage list and App usage detail from 24 hours to last full charge.
ag/19534864 Add margin between battery daily and hourly charts
ag/19491093 Always do interpolation for battery level data in daily chart.
ag/19565630 Avoid NullPointerException when batteryLevelData is null.
ag/19561239 Fix b/241872474 Battery usage page will crash when selecting the last hour chart bar, going to app detail page, and going back
ag/19565633 Fix b/241885070: Unexpected texts moving when going back to battery usage page
ag/19534850 New way to draw battery chart axis labels
ag/19561240 Switch Battery Usage Chart from V1 to V2.
ag/19561338 Switch Battery Usage Chart from V1 to V2.
ag/19600174 Fix b/242254055 Battery usage initial screen improvements (long data loading time)
ag/19600284 Fix b/242252080: Add padding space on the top of the battery chart
ag/19647338 Consider usage map valid even if [all][all] is null.
ag/19634227 Use new content uri everytime to avoid cache
ag/19600177 Fix b/242009481: Refine the battery usage chart timestamp label rule
ag/19647337 Fix b/242809981 Charge battery to 100% when battery usage page opened, the chart will refresh, but the app list isn't refreshed in that case.
Test: manual
Bug: 239491373
Bug: 236101166
Bug: 236101687
Fix: 236101166
Change-Id: I7de8d9dcee14627da10752534991f1ec9f616020
Merged-In: I9142c0d4e00dea3771777ba9aedeab07b635fa1a