Commit Graph

20 Commits

Author SHA1 Message Date
ykhung
1f3cf084c8 Record important battery usage event into SharedPreference for dump()
Fix: 268300677
Test: presubmit
Change-Id: If03106c265b984bc2608528bdf45386973e3a14f
2023-03-26 01:24:50 +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
Nikhil Kumar
846d1d26f4 Get profile parent's context in case of work profile
In the headless system user mode a non-system user can also have
a work profile.
Refactor DatabaseUtils to get the profile parent's context when
the user is a work profile.

Bug: 270039752
Test: make RunSettingsRoboTests
Change-Id: I1fb78c9d91d59d50880a1ea0dd5f83a3d11dd08f
2023-02-20 18:38:13 +00: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
6da66f9a5c Use (the last existing timestamp in DB + 1) as the start time of usage
event query to avoid loading the same events repeatedly.

queryEvents API will return the events within [start, end). In the
hourly job, if we query the events from the latest existing time, the
events happening at the latest time will be saved for multiple times
into database. This aims to avoid this issue.

Test: make RunSettingsRoboTests
Bug: 265110147
Fix: 265110147
Change-Id: I408e88b0e15fe22585906261935854cf47707f9c
2023-01-11 16:18:55 +08: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
Kuan Wang
6c4f83f33d Load app usage events data in the hourly job.
Test: make RunSettingsRoboTests + manual
Bug: 260964679
Change-Id: Iaccaa77bd52fb7356cdcb786c64523f21040b128
2022-12-15 06:32:54 +00:00
Kuan Wang
ec1c9d94f2 Remove foreground_service_usage_time_in_ms field which has been merged
into background_usage_time_in_ms in the BatteryUsageStats (b/257392992).

Test: make RunSettingsRoboTests + manual
Bug: 258124768
Bug: 253553141
Change-Id: I0967eec0cbe6d0cb7a0535d744a1046dec1d267b
2022-12-06 01:04:48 +00:00
ykhung
e77b5bbecb Replace the getBatteryLevel() method from SettingsLib API
Bug: 260524172
Test: presubmit
Change-Id: Icb56abd3dc258dde142a956124dc12bbfd9ae889
2022-11-30 00:22:19 +08:00
Kuan Wang
20f6b1faaa Merge "Populate new fields foreground_service_usage_time_in_ms, foreground_usage_consume_power, foreground_service_usage_consume_power, background_usage_consume_power and cached_usage_consume_power into database and pass them to UI." 2022-11-29 06:52:08 +00:00
Kuan Wang
53a761f55b Populate new fields foreground_service_usage_time_in_ms,
foreground_usage_consume_power, foreground_service_usage_consume_power,
background_usage_consume_power and cached_usage_consume_power into
database and pass them to UI.

Test: make RunSettingsRoboTests + manual
Bug: 256123455
Bug: 258124768
Change-Id: Ic46032f67eff5898f9d4182c517bbebe478eca01
2022-11-29 11:42:26 +08:00
Kuan Wang
5285597dee Invoke the cursor.close() after loading data from database.
Test: make RunSettingsRoboTests + manual
Bug: 258099535
Change-Id: Ie8d8f5294fff6e44b7151e22f9ae7b5b53cd5d6d
2022-11-28 16:37:53 +08:00
Kuan Wang
2b93d40683 Use the field isFullChargeCycleStart in database to get the last full
charge cycle start and remove the unused SharedPreference.

Test: make RunSettingsRoboTests + manual
Bug: 253553141
Change-Id: I74ef71775fa5d4871077f6d5573467aa5843bc6b
2022-11-28 11:27:24 +08:00
Zaiyue Xue
bc1f4798a6 Refoactor 2 util functions from DatabaseUtil to BatteyUtils.
Bug: 252407178
Test: presubmit
Change-Id: I393777186cc308298f0a8b76af4672b9012ed681
2022-11-17 14:25:10 +08:00
Kuan Wang
45be6bae05 Listen ACTION_BATTERY_LEVEL_CHANGED in Settings and fetch usage data
when battery is full charged.

Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: Ie83e5f319074ff404a600c4eb375fbecad651b6d
2022-11-01 06:39:21 +00:00
Kuan Wang
df05a1378b Add hourly period job to fetch battery usage data in Settings.
Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: I342066a30fed202e5013b8c2554f36d991975c3e
2022-11-01 02:05:14 +00:00
Kuan Wang
cbaffa34bc Add functions of SI DatabaseUtils into Settings DatabaseUtils and remove
unused functions.

Bug: 253395332
Test: make RunSettingsRoboTests
Change-Id: I61feee3386d7291f9174acb884d09d7ab8733511
2022-10-21 04:48:14 +00:00
Kuan Wang
547df61667 Copy DatabaseUtils from SettingsGoogle to Settings and use the new
Settings database.

Bug: 253395332
Test: make RunSettingsRoboTests
Change-Id: Idbe6d71b69b28d344db146d139b4b60e2e7434da
2022-10-19 02:20:00 +00:00
Kuan Wang
0a0ba915ca Copy BatterySettingsContentProvider from SettingsIntelligence to Settings and rename it to BatteryUsageContentProvider.
Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: Ib6c2240cd065f6e29393e13b7231bba7afd2d850
2022-10-18 02:26:23 +00:00