Commit Graph

17 Commits

Author SHA1 Message Date
mxyyiyi
c9e8b8a011 Support Private Space in battery usage.
- Use database cache for single-user single-profile
- Reload battery usage info in other cases

Bug: 299032923
Test: manual
Change-Id: I5e524a094422639eedbf6e07eda498f3f72fccae
2024-03-15 11:13:34 +08:00
Jun Lan
cca804e1ed Format battery java code
After this CL, we can follow Guideline:go/hc-mainline-dev#format-code to keep java format consistent.

Test: manual
Bug: 304439460
Change-Id: I5bb77f81b0bd9be618e34942eaaee8296bc42796
2023-11-06 13:55:48 +08:00
Jun Lan
da70c86bda Merge "Replace HashMap with ArrayMap for better performance" into main 2023-11-06 05:31:07 +00:00
Jun Lan
b0f9489a09 Replace HashMap with ArrayMap for better performance
Reason: https://screenshot.googleplex.com/BdHiua8gU8aGUmR

Test: manual
Bug: 308913393
Fix: 308913393
Change-Id: Iea085006ffe6ca48fe547319b9f0f4d20aa78bda
2023-11-06 12:34:05 +08:00
mxyyiyi
ad23b53942 Update battery usage data clear mechanism while time change.
- Accept time updated in the last job schedule range:
  [ max (last-full-charge / last-even-hours) , next-even-hours ]

Bug: 308714066
Fix: 308714066
Test: manual
Change-Id: Id92fffddb7666d63fce66fee696a27d957c8b537
2023-11-03 15:25:17 +08:00
Zaiyue Xue
50da7feeb9 Battery usage page latency improvement (1-8)
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
2023-08-16 15:12:04 +08:00
Kuan Wang
64177774e2 Add cache strategy for getUsageSource().
Cache usage source into SharedPreferences when phone is booting to avoid
calling it too frequently.
It should be safe because the usage source can only change on reboot.

Bug: 293366011
Test: make RunSettingsRoboTests
Change-Id: I35c07539d294737c5764b03b746cfb39f4ce008d
2023-08-01 14:36:58 +08:00
Zaiyue Xue
d92c4fc823 Combine screen on time map into battery usage map
This cl is refactor only. It makes next cl ag/22809776 easy to replace screen
compenent time with screen on time.

Bug: 278022529
Test: manual
Change-Id: I2538aeafb0c697f13ec617cea44a70a1b2a114b0
2023-04-24 14:08:13 +08:00
Zaiyue Xue
ff11b8e307 Exclude screen on time in battery usage page when the device is in charging.
Bug: 265751163
Fix: 265751163
Test: manual
Change-Id: I4ed71e1d6fad56a7cbfc9cd47ed4d791f45261ce
2023-03-30 20:23:33 +08:00
Zaiyue Xue
64965ded30 Replace stream().min() to Collections.min() to avoid stream object.
Bug: 273175976
Fix: 273175976
Test: manual
Change-Id: I36a162443e8e275b03f804edb4fc6b421deb345d
2023-03-13 19:06:53 +08:00
Zaiyue Xue
a528f1e382 Fix b/273175976: Screen time counts the time before full charge.
Use the raw start timestamp instead of the first timestamp in the level
map to query app usage time.

Bug: 273175976
Fix: 273175976
Test: manual
Change-Id: Idb43b2bd5378e2f34ec722354408754f4a439c6d
2023-03-13 15:59:05 +08:00
Kuan Wang
4a6b26558d Query usage event for a longer time period and then trim the usage
events outside the expected period to make sure the app usage calculation near the boundaries are correct.

Test: make RunSettingsRoboTests + manual
Bug: 264858898
Change-Id: I9f6aa5a09a537f48a26a08b7dff8ae81e8a16e2a
2023-01-13 15:17:27 +08:00
Kuan Wang
1ce97c8ebe Generate app and device screen-on time data and return back to UI for
rendering.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: I2fd69b4686cc2e1413ad0eb43c07b6164e411411
2022-12-28 07:40:39 +00:00
Kuan Wang
120c68881c Generate intermediate app usage data after all usage data has been
loaded for further use.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: I52d96151cab112adca68573f3b47a53b7152f2c0
2022-12-28 02:56:35 +00:00
Kuan Wang
a1a7cba6a6 Move the getBatteryLevelData function from DataProcessor to
DataProcessManager and start the async task in DataProcessManager when
there is no battery level data.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: Ie36ab6d121a5596a3abc16e7f570dd0d9b32e11c
2022-12-21 02:39:11 +00:00
Kuan Wang
97924455ff Implement the app usage data loading from database function.
Bug: 260964903
Test: make RunSettingsRoboTests + manual
Change-Id: I459dbdebe53e6b7421642955f36976b3e7c95fcb
2022-12-20 02:31:50 +00:00
Kuan Wang
8d2a26caed Add DataProcessManager to manage the async tasks of battery usage data
processing.

Test: make RunSettingsRoboTests + manually
Bug: 260964903
Change-Id: Id3b2772a98ec2ab3b03910c8a5e81adf7ccd5646
2022-12-19 03:40:48 +00:00