Commit Graph

1276 Commits

Author SHA1 Message Date
TreeHugger Robot
db7e7d0920 Merge "Put Android Core Apps under System apps" into udc-dev 2023-03-14 08:14:09 +00:00
Zaiyue Xue
702921c9ff Put Android Core Apps under System apps
Bug: 269188405
Fix: 269188405
Test: manual
Change-Id: Ie79cdb71c48661b6b1e90b8d0e7836269cf665e7
2023-03-14 13:53:08 +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
Wesley Wang
5d18287b3b Fix battery saver switch test case
- Fix the test fail which cause by ag/21784766, and also mentioned at
   ag/21644522

Bug: 260380584
Test: make SettingsRoboTests
Change-Id: I72a7a24f57a7eeeacefeb40eef3025398329379b
2023-03-07 11:44:55 +00:00
ykhung
aae628ab64 Resolve IncompatibleChargerTipTest test fail
Bug: 246960554
Test: presubmit & manual
Change-Id: I4d1c481f90d55009255d7bdf6e822613831c9822
2023-03-05 10:10:40 +00:00
ykhung
3ae46cd6ec Add a new config for checking BatteryManager show/hide rule
Bug: 271387663
Test: presubmit
Change-Id: If24b5e6de630afe972ad7ff7af866cb587db0a56
2023-03-05 10:54:01 +08:00
ykhung
82d5103f07 Hide BatteryManagerPreference if there is no adaptive charging
Fix: 271387663
Test: presubmit
Change-Id: I12c511f17f23b21f6a584d86e854683fba037047
2023-03-03 17:46:27 +08:00
TreeHugger Robot
f9ef8e39f5 Merge "Fix b/270656372 unit test failure." into udc-dev 2023-02-24 13:06:28 +00:00
Zaiyue Xue
6d939b34dc Fix b/265387286: The total percentage of all apps is not 100%
Bug: 265387286
Fix: 265387286
Test: manual
Change-Id: I654f8211a45c818f9a2d4867ac679e72c9ce6eb1
2023-02-24 19:19:28 +08:00
Zaiyue Xue
d4dbf039ea Fix b/270656372 unit test failure.
Failed test: sendBatteryEntryData_nullBatteryUsageStats_sendFakeDataIntoProvider

Bug: 270656372
Fix: 270656372
Test: presubmit
Change-Id: Idd1b3be07ec72c3cf7050b96e5320d67dcdc5463
2023-02-24 19:13:50 +08:00
TreeHugger Robot
802bff9092 Merge "Fix b/265364351: Light theme icons opacity is too light" into udc-dev 2023-02-24 03:10:42 +00:00
Zaiyue Xue
ea5b49f799 Fix b/265364351: Light theme icons opacity is too light
https://screenshot.googleplex.com/Avqsw3gb2tjKqrK.png
https://screenshot.googleplex.com/46AZuJMjp2HMyqd.png
https://screenshot.googleplex.com/9mE3XutRUNaGckg.png
https://screenshot.googleplex.com/5rNUKMJjhNBNShZ.png

Bug: 265364351
Fix: 265364351
Test: manual
Change-Id: I7521030f1a5d84cd88027fb84a465623610707fb
2023-02-23 21:12:29 +08:00
Nikhil Kumar
8e67abccae Merge "Removed isWorkProfile_withSystemUser_returnFalse test" into udc-dev 2023-02-22 18:03:04 +00:00
Nikhil Kumar
c9cb8e5bcb Removed isWorkProfile_withSystemUser_returnFalse test
Only the UM.isManagedProfile property should be used to determine
whether a user is a managed prfile.
There is no need to perform any additional check on top of
UM.isManagedProfile to make sure the user is a managed profile.

After removing the additional check as part of ag/21512484
DataBaseUtilsTest.isWorkProfile_withSystemUser_returnFalse test
is redundant.

Test: atest DataBaseUtilsTest -c
Bug: 270283369
Change-Id: Ic4fd7eef2ac24786e2a59db7dabc9daf4a7ce028
2023-02-22 11:14:40 +00:00
Zaiyue Xue
7350621d40 Fix b/270290013: Updates battery usage system component icons
Bug: 270290013
Fix: 270290013
Test: manual
Change-Id: I92cda88269fdee767b00cd1b9aa78062015a5095
2023-02-22 18:23:20 +08:00
Alex Johnston
2747dc6e8c Implement OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS exemption
OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS details:
* An app with this appop will be made exempt from all
  power restrictions, including app standby and doze.
* In addition, the app will be able to start fgs from
  the bg, and the user will not be able to stop fgs
  run by the app.

Changes:
* Implement the OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS

Bug: 246330879
Test: atest PowerAllowlistBackendTest

Manual testing:
- Give OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS appop to TestDPC app
- Verify the app can start fg services from the bg
- Verify fgs started by the app cannot be stopped
- Verify the app cannot be put into background restricted via Settings

Change-Id: If9e76076c59195f1e6e5f3eee3c8e7a0c754d8de
2023-02-10 13:37:38 +00:00
ykhung
19b913cd0c Optimize the tip detector loading performance
Optimize the tip detector loading performance by removing 3 times
redundant IPC with PowerManager and BatteryManager

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"
Change-Id: I0df8b0c600b743c93dfcdd66aeae07e2aba6b797
2023-02-09 00:46:58 +08:00
ykhung
a43f9ead39 Add incompatible charging battery tip detector
Fix: 263193978
Bug: 246960554
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"
Change-Id: Ifbfd28e81b03aa8e1bb4cc70199b3262e21931cc
2023-02-06 08:48:49 +00:00
ykhung
c6d34d6c58 Add incompatible charging battery tip UI and card skeleton
Bug: 263193978
Bug: 246960554
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"
Change-Id: I8180022bd39f66c88463a2552c6050669bb0357c
2023-02-06 03:25:23 +00:00
ykhung
2593fcd1bf Clean up useless battery tips and detectors
Bug: 263193978
Test: make -j64 RunSettingsRoboTests
ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"

Change-Id: Idfe03eee5acee33126f1805ef45ccc4a9fc7e7a8
2023-02-05 18:34:00 +08:00
TreeHugger Robot
2174e45c73 Merge "Only log the names of the app packages which are installed from Google Play Store in battery usage app optimization page" 2023-02-02 09:55:17 +00:00
Zaiyue Xue
65cfcbe486 Only log the names of the app packages which are installed from Google Play Store in battery usage app optimization page
This is to meet the Guidelines for Logging Package Names: go/package-name-logging-guidance

Bug: 267430574
Fix: 267430574
Test: presubmit
Change-Id: Icf10000f5dcf87e45175d4005af8365191ad444d
2023-02-02 16:51:13 +08:00
Zaiyue Xue
d72ff28a52 Fix battery usage chart error when daylight saving.
Bug: 258000978
Fix: 258000978
Test: presubmit
Change-Id: Ia8746ec67f0f37dd35043f78f2aa55d2ef7c215b
2023-01-31 18:33:47 +08:00
Zaiyue Xue
59b863ea73 Fix test failure of ScreenOnTimeControllerTest
Bug: 265364490
Fix: 265364490
Test: presubmit
Change-Id: Ia3b371091d45a006733585370ef0cfc6d6c8a83a
2023-01-30 14:41:22 +08:00
Zaiyue Xue
55f94517c0 Fix b/266045288: CPU and GPS usage is missing in battery usage system list
Already asked UX designer to provide new icons for CPU and GPS in
b/265364507.

Bug: 266045288
Fix: 266045288
Test: manual
Change-Id: Ia59c92de817958231d26c8839bc403be9ec5ad7c
2023-01-19 17:45:39 +08:00
Zaiyue Xue
610c6928a1 Fix b/265386376: Failed Test: BatteryOptimizeUtilsTest
Bug: 265386376
Fix: 265386376
Test: presubmit
Change-Id: Iac6129fd54f55055dc7dfc7bc0fe1d5f8ee381c1
2023-01-18 15:38:52 +08:00
Kuan Wang
b409ef7c42 Merge "Use battery unplugging event to compute the full charge start time on Pixel devices." 2023-01-18 03:38:57 +00:00
Kuan Wang
c28daecbc5 Use battery unplugging event to compute the full charge start time on
Pixel devices.

Test: make RunSettingsRoboTests + manual
Bug: 256124406
Change-Id: I80b33db6e25ac0c693c50ddf93b6343c0fea942f
2023-01-17 17:38:35 +08:00
Zaiyue Xue
16dfab6b31 Fix b/265632782: Battery usage app list changed when entering the app details page and back
This only happens on the first time the Settings package is installed.
Discussed with Chaohui, the old showSystemApp() logic in Settings->Apps has some issues. This cl updates the logic to the new logic Chaohui provided.

Bug: 265632782
Fix: 265632782
Test: manual
Change-Id: I65ca150cc685409f69b8950b131feb198662f055
2023-01-16 18:48:13 +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
Zaiyue Xue
9e9886997f Merge "[Battery usage U] [UI] Show screen time in the battery detail usage page" 2023-01-12 09:18:25 +00:00
Zaiyue Xue
0639abfcca [Battery usage U] [UI] Show screen time in the battery detail usage page
screen record: https://drive.google.com/file/d/1TUbcysrVoj10iUhoMIT0wuCDJY8EMpy7/view?resourcekey=0-lS9d0aIQqrgJ7CpOlsOlYw

Bug: 258125117
Fix: 258125117
Test: manual
Change-Id: I31fbc7c45473ded254ebf1b1e82e09dbc88480cf
2023-01-12 15:45:51 +08:00
Zaiyue Xue
4ecf42f1bb [Battery usage U] [UI] Add a threshold to filter out very small battery usage items in the app list
Bug: 264840285
Fix: 264840285
Test: manual
Change-Id: I36a6c0dc284d09efcf82316db1541d289c37b16f
2023-01-12 15:44:26 +08:00
Zaiyue Xue
a500e4f739 Clean up always false parameter isValidToShowSummary.
So the next cl (new summary for battery detail page) doesn't need to
deal with isValidToShowSummary=true case.

Bug: 262802531
Test: presubmit
Change-Id: I88528caedb29d61a05b40d3ca435fc007bf3f54c
2023-01-11 21:03:42 +08:00
TreeHugger Robot
569becdb7f Merge "Use (the last existing timestamp in DB + 1) as the start time of usage event query to avoid loading the same events repeatedly." 2023-01-11 10:51:40 +00:00
Zaiyue Xue
43ace6ed33 Merge changes from topic "feature0"
* changes:
  Refactor processBatteryDiffData() from DataProcessor to BatteryDiffData class.
  Refactor PowerUsageFeatureProvider: Cache the config set to avoid generating the set again.
2023-01-11 08:57:29 +00: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
a396885f5e Adjust background time to avoid background + screen time larger than
time slot duration.

Test: make RunSettingsRoboTests
Bug: 265089855
Fix: 265089855
Change-Id: Idf3fee13eccd5b1f699feb5f79bd2aa474e444b8
2023-01-11 11:44:36 +08:00
Zaiyue Xue
f080429ddb Refactor processBatteryDiffData() from DataProcessor to BatteryDiffData class.
So that only hourly battery diff data needs purgeFakeAndHiddenPackages()
and combineBatteryDiffEntry(). This is also easy to set hourly threshold
in the next cl.

Bug: 264840285
Test: manual
Change-Id: Ie0bc6d53f96285285019dd83c1f39305eca79c71
2023-01-10 20:40:13 +08:00
Zaiyue Xue
7f3ff17bcf Refactor PowerUsageFeatureProvider: Cache the config set to avoid generating the set again.
Bug: 262802531
Test: manual
Change-Id: I61b36e4e057c432d814aa104a37f0e0d552720cb
2023-01-10 19:42:09 +08:00
TreeHugger Robot
1b4428ea3d Merge "[Battery usage U] [UI] Show screen time in the battery usage app list items" 2023-01-09 11:33:10 +00:00
TreeHugger Robot
95b9ca6573 Merge "Revert "Fix the inverted logic to judge whether an app is system app."" 2023-01-09 09:39:02 +00:00
Zaiyue Xue
48a1dacc39 [Battery usage U] [UI] Show screen time in the battery usage app list items
https://drive.google.com/file/d/1N2yrra6cga6CRIXzxTGhctcxwN47lE89/view?resourcekey=0-qlw1a78Ph-gSfXFAHKoumQ
https://drive.google.com/file/d/1joSI3YL8dn0rRW1Ywyte7MUy_CTDFS2p/view?resourcekey=0-VsgaqSi2YUfn6ImZEOBH-g

Bug: 258120710
Test: manual
Change-Id: Id22d2490d0bffeb8b7d2e0941bcdb4e3d352e966
2023-01-09 17:26:56 +08:00
Zaiyue Xue
9a35838436 Revert "Fix the inverted logic to judge whether an app is system app."
This reverts commit 814eff1c24.

Reason for revert: The original logic is right.

Change-Id: I2aee0f9ab13c60d843e91056de9d409a1d84b9d4
2023-01-09 07:30:35 +00:00
TreeHugger Robot
3eabebb730 Merge "Change all the system items unclickable in battery usage list." 2023-01-09 02:47:57 +00:00
TreeHugger Robot
d6905dd6ce Merge "[Battery usage U] [UI] Show total "Screen On Time" in the battery usage page" 2023-01-07 03:22:46 +00:00
Zaiyue Xue
e853dd3104 Change all the system items unclickable in battery usage list.
Bug: 264643763
Fix: 264643763
Test: manual
Change-Id: I5854f9517bfb308142cc5f3c5e5cd8f54a237d59
2023-01-06 19:42:46 +08:00
Zaiyue Xue
833e47d851 [Battery usage U] [UI] Show total "Screen On Time" in the battery usage page
Screen record: https://drive.google.com/open?id=16ZOp1E2YBzWQXbnXl786FaLFPel-S9CF&authuser=0&resourcekey=0-oRqCrdTc9FZjVgsq9orhEw&usp=drive_link
For Arabic: https://drive.google.com/open?id=1zh_4jcUnqLC6CDgwju1qQkWJ0QCtm19c&authuser=0&resourcekey=0-kuKfDdOTWxqOUmD0RfPNLQ&usp=drive_link

Next step: show screen on time for each app

Bug: 258120710
Test: manual
Change-Id: I2085a2a85ebd50b2ac876972f6a8ebbf6f20246c
2023-01-06 19:09:52 +08:00
Zaiyue Xue
814eff1c24 Fix the inverted logic to judge whether an app is system app.
Bug: 264626206
Fix: 264626206
Test: maunal
Change-Id: I3750e3b11e444add27243c492cf8968373cd57d0
2023-01-06 15:24:44 +08:00
Zaiyue Xue
e756675e69 Combine system apps to one item in the battery usage app list.
Bug: 262952385
Test: 262952385
Test: maunal
Change-Id: I078677b13a22f5e2f8f194bb5d5259f8c54c6b1e
2023-01-04 20:32:56 +08:00