Commit Graph

1315 Commits

Author SHA1 Message Date
ykhung
24cbb2c0aa Limit the optimization mode restore mechanism for specific conditions
Limit the app optimization mode restore mechanism is enabled by checking
the isValidToRestoreOptimizationMode() method (default false)

Bug: 280192659
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryBackupHelperTest
Change-Id: I90a438a15905578336bc46ec7cd92d3bbe2858b7
2023-05-16 18:40:11 +08:00
ykhung
cad41681d6 Add device build information in the backup stage
Insert the device build information in the battery optimization mode
backup stage, such that we can use it to decide whether we should
restore the data in the targeted device or not

Bug: 192523697
Test: make test RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.fuelgauge.*

Change-Id: I3ab76e013ea9aca4d336a62e0c7cb6882c5b5085
2023-05-16 11:07:31 +08:00
ykhung
2c125d29a3 Remove useless optimization mode backup for FULL_POWER_LIST
Remove the useless backup for the FULL_POWER_LIST, since we will not use
it to restore data, only backup the optimization_mode_list is enough

Test: presubmit
Bug: 192523697
Change-Id: I95f1f41732b8aff090e8b722896d153f6181a6ac
2023-05-15 23:45:16 +08:00
ykhung
5cd3a7298e Disable the optimization mode preference if the app is not settable
https://screenshot.googleplex.com/BbQyEv6YCjPVwUF (allowlist)
https://screenshot.googleplex.com/3hTb8TQwGMQqcwS
https://screenshot.googleplex.com/6hdTAT2yNFucD9N (system app)
https://screenshot.googleplex.com/77T5JyAD5nZJpDT (normal app)

Fix: 281566984
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Change-Id: If7aa4b61bc806daa570187da24b7f454cd069dec
2023-05-15 09:32:09 +00:00
Treehugger Robot
2b91f1a4cb Merge "Add allowlist mechanism for battery optimization mode" into udc-dev 2023-05-15 07:43:05 +00:00
ykhung
0cd24adec5 Add allowlist mechanism for battery optimization mode
Add a mechanism to add package name into the allowlist to avoid users
change the battery optimization modes for specific apps in the list

https://screenshot.googleplex.com/8hrHCcTh5bNYXqp

Bug: 281566984
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Change-Id: I8efa6a55646d761f5bee3667a59b38ab68c74bc1
2023-05-15 14:28:49 +08:00
YK Hung
83de631175 Merge "Update battery health state intent (2/3)" into udc-dev 2023-05-15 03:27:44 +00:00
Wesley Wang
77deb463a0 Update battery settings remaining time format
- Update the remaining time format to align with status bar
 - Remove unused test case since no more less than 7 or 15 remaining time
   case for battery settings
 screenshots:
   https://screenshot.googleplex.com/8jPYPj7yznGFU4b.png
   https://screenshot.googleplex.com/5GYXA2tusSUVmVQ.png
   https://screenshot.googleplex.com/3EnB3ejAxAzP28q.png
   https://screenshot.googleplex.com/5jeUxwBEyHotf9d.png

Bug: 281685505
Test: make SettingsLibRoboTests
Change-Id: If33e1828582845f78d8ef666c2b74ab5bba22357
2023-05-12 11:05:05 +00:00
Wesley Wang
cf1190c7cb Update battery health state intent (2/3)
- Update the extra from overheated to longlife

Bug: 278192441
Test: make SettingsRoboTests

Change-Id: I5a906e64effbd9aaf84446c0670249afefdf7da8
2023-05-11 11:27:16 +08:00
ykhung
8f56114489 Record app optimization mode backup into BatteryHistoricalLog
App optimization mode format:
https://screenshot.googleplex.com/di9DDzBfYf7ihfV

App optimization mode backup format:
https://screenshot.googleplex.com/GkVW5HrgGvmv5yh

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I60a9a76a8ffc89d625ee3f77c138a19181c81c38
2023-05-11 10:48:47 +08:00
Treehugger Robot
d865ccc2ed Merge "Refine optimize page log pattern" into udc-dev 2023-05-10 11:38:38 +00:00
Wesley Wang
1f78ebd8aa Refine optimize page log pattern
- Add timestamp and prefix string
 - Chagne Action.MANUAL to LEAVE for better readability
 screenshot: https://screenshot.googleplex.com/ALTvMaPWVEq8y7c.png

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I69d1beceb98444d823f6ffc3a015cf61a7d7a66d
2023-05-10 10:11:28 +00:00
ykhung
2f42eb20f3 Remove the legacy smart battery tip from Settings
Remove the legacy smart battery tip from the battery settings, which
will remind users to eanble the "adaptive battery" if users disable it.

Reasons: 1) 98% users will always keep the AB is enabled, and 2) we move
the AB into the battery saver page, there is no individual page anymore

Fix: 281798483
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.batterytip.*
Change-Id: I85739b88ee9373b95a62271d2eb0137cf411d8cb
2023-05-10 09:48:55 +00:00
ykhung
c234196bc1 Support incompatible charger state in the battery main page
https://screenshot.googleplex.com/PrSzAtMAhsyqbsR

Bug: 271775549
Test: make test RunSettingsRoboTests
Change-Id: I0bb912eaab9c8837eaa3a9b998b3ebb5a8e6f99f
2023-05-04 14:57:07 +08:00
ykhung
0288b6d4af Fix battery percentage is inconsistent in settings
Fix: 275217364
Test: make test RunSettingsRoboTests
Change-Id: I16dd772aacaea3f8ddb6da579adb033124e3dbb7
2023-05-02 11:58:08 +08:00
ykhung
09c1a4a850 Support incompatible charger state in the Settings main page
https://screenshot.googleplex.com/9af4YCnCCjKHCFY

Bug: 271775549
Test: make test RunSettingsRoboTests
Change-Id: I6562e1b48a85ceceb20389ed87e55e0093040be2
2023-05-02 00:04:01 +08:00
ykhung
a0f3f421dd Fix legacy failed tests to avoid block presubmit
Root cause: the `Robolectric.setupActivity(Activity.class)` is removed from the system, which will always return the null `Context`

Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Change-Id: Ib52bc715508332bcb4bdcac56ecc414aa43f1419
2023-04-30 00:33:57 +00:00
Treehugger Robot
ea3a970826 Merge "Fix b/279120121: Unplug 100% Pixel phone won't reset the battery usage data when the phone is just started." into udc-dev 2023-04-25 03:59:03 +00:00
Zaiyue Xue
f3a3634aa5 Merge "Replace Screen system component time with device screen on time" into udc-dev 2023-04-25 03:32:02 +00:00
Zaiyue Xue
cfa374f997 Merge "Combine screen on time map into battery usage map" into udc-dev 2023-04-25 03:31:39 +00:00
Zaiyue Xue
1237a70c96 Replace Screen system component time with device screen on time
Bug: 278022529
Fix: 278022529
Test: manual
Change-Id: I95a107ea5c3c5e15893c0846c8fd83757e7b9358
2023-04-24 14:10:51 +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
aea4d365a6 Fix b/279120121: Unplug 100% Pixel phone won't reset the battery usage data when the phone is just started.
Bug: 279120121
Fix: 279120121
Test: manual
Change-Id: Ie793266f8453a2902d7e16e5c58443a3c7bf55ef
2023-04-21 14:43:10 +08:00
Treehugger Robot
0c1838807d Merge "Fix BatteryChartPreferenceControllerTest Fail" into udc-dev 2023-04-21 05:57:43 +00:00
Zaiyue Xue
74d8a4b745 Fix BatteryChartPreferenceControllerTest Fail
Bug: 279107937
Fix: 279107937
Test: presubmit
Change-Id: Ie5597361e4c3c90737b8dcfc302fc3aad94ea476
2023-04-21 11:12:14 +08:00
ykhung
ff65a02ff8 Update battery tip main icon into materiel theme design
Update all battery tip icon into materiel theme design based on the UX
feedback and clean up legacy icons

Bug: 246960554
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Change-Id: I82f5b140700a36b29844c0c3330b2eeeda8e5a55
2023-04-20 09:19:36 +00:00
ykhung
ab07b53ea1 Fix banner tip buttons visibility and update incompatible tip
Fix the battery settings banner tip buttons visibility not reset issue
and update the incompatible charging tip into the colored primary button

Bug: 246960554
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.widget.CardPreferenceTest
Change-Id: I9b72fccc7838d974d3b60d0f9684780841623cbb
2023-04-19 06:24:51 +00:00
Wesley Wang
742e506d13 Cleanup smart battery entries (1/3)
- Remove smart battery entry from battery settings page since
   restriction app info already move to app list page and smart battery
   feature will keep as enabled, smart battery page will be empty
 - Enable battery usage list page for AOSP

Bug: 277175992
Test: make SettingsRoboTests
Change-Id: I9221cecbfc8445b8f470975551f600e94e3128d5
2023-04-17 16:50:21 +08:00
Zaiyue Xue
bcafd5dfda Support battery usage chart start index label is the detailed last full charge time
https://screenshot.googleplex.com/5dYp7kJpNPMU6Jx.png
https://screenshot.googleplex.com/7ZSbWyCGRFSym6A.png
https://screenshot.googleplex.com/9GsPTa9zd2XttDX.png

Bug: 271214926
Fix: 271214926
Test: manual
Change-Id: Ic869653f66866964f34e111dd2ee8c052313e119
2023-04-13 16:37:35 +08:00
TreeHugger Robot
70ef00405c Merge "Remove plug/unplug condition for the incompatible charging" into udc-dev 2023-04-13 02:16:15 +00:00
ykhung
836dc0d76c Remove plug/unplug condition for the incompatible charging
Remove the plug/unplug condition checking for the incompatible
notification based on the feedback from:
https://b.corp.google.com/issues/276403405#comment3

Bug: 276403405
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip"
Change-Id: Iec177ed33a3cc8cf5a5747b6f65440d31120823c
2023-04-13 00:29:11 +08:00
Zaiyue Xue
a2ab3ae5b3 Small refactor battery usage code according to the comments in previous cls.
Bug: 262802531
Test: presubmit
Change-Id: I0d496fc6a41af5964311dafe8dd89f8b8058de82
2023-04-12 17:24:16 +08:00
Zaiyue Xue
c616a65144 Fix b/276423111: Keep unchanged perferences in the app list instead of clear all.
Bug: 276423111
Bug: 269203672
Fix: 276423111
Fix: 269203672
Test: manual
Change-Id: Ie2cb668ae4c46f5c40eed555510be034be45d713
2023-04-06 19:54:40 +08:00
TreeHugger Robot
3d548d2f2d Merge "Exclude screen on time in battery usage page when the device is in charging." into udc-dev 2023-03-30 15:01:42 +00: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
TreeHugger Robot
a99c64dfde Merge "Remove unused listener" into udc-dev 2023-03-30 09:12:48 +00:00
Wesley Wang
7effe64c18 Remove unused listener
- Remove OnMainSwitchChangeListener and it's interface since the
   callback will duplicate with setCheck() method, cause the toggle on
   event come with twice while on and off, in futher to casue some
   duplicate work or error metrics logging

Bug: 218405966
Test: make SettingsRoboTests
Change-Id: If20ed6488d21443b9c623e8fe4de383a84ea673a
2023-03-30 12:14:05 +08:00
ykhung
3bc2805914 Remove MY_PACKAGE_REPLACED and MY_PACKAGE_SUSPEND for battery usage
Remove MY_PACKAGE_REPLACED and MY_PACKAGE_SUSPEND action since Settings
is not store updatable, and it will reboot every time while updating. Originally, it is used on the store updatable extension engine.

Test: presubmit
Bug: 258576047
Change-Id: I9f2d58e3a822c4e4ebe182b03ace1b30f97d2340
2023-03-26 03:10:28 +00:00
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
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