Commit Graph

1521 Commits

Author SHA1 Message Date
Yiling Chuang
419a6a9079 FRP bypass defense in App battery usage page
Before the setup flow completion, don't allow the app info page in App battery usage to be launched.

Bug: 327748846
Test: atest SettingsRoboTests + manual test
- factory reset + launch app battery usage app info via ADB during Setup -> verify app closes
Flag : EXEMPT bugfix

Change-Id: I486820ca2afecc02729a56a3c531fb931c1907d0
2024-07-09 08:13:49 +00:00
YK Hung
e15e2397af Avoid dump BatteryReattributeDatabaseHist if the feature is disabled
Fix: 346706894
Fix: 350798552
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Flag: EXEMPT bug fix
Change-Id: I1670e2769bc71fe91a752efeea18074d53c5a017
2024-07-04 04:59:34 +00:00
Treehugger Robot
c2c6c5d058 Merge "Update the conditions of power plugged determination." into main 2024-07-02 11:56:53 +00:00
Yiling Chuang
318636d51b Update the conditions of power plugged determination.
Under charging optimization mode, use ADAPTIVE_LONGLIFE as the additional condition to check whether a device is plugged.

Bug: 349949603
Flag: EXEMPT bugfix
Test: atest SettingsRoboTests
Change-Id: Idbdfaaa1d5c54be325b6182bcda81d4282c21ba0
2024-07-02 10:54:36 +00:00
mxyyiyi
a954e914dd Add a flag to protect overwrite app optimization mode to restricted mode.
- Skip set app optimization mode to restricted if the flag disabled.

Bug: 348192536
Fix: 348192536
Test: atest
Flag: EXEMPT bug fix
Change-Id: I92d320ce1edfe9b7044afdcd058651b0d54bd6bd
2024-07-01 17:38:50 +08:00
pajacechen
daeb06c3b0 [Bug Fix] "Dock defend string and tips in settings are incorrectly" issue
Symptom: After the dock defend was triggered, the battery tips still
show "Future-Bypass" dock defend mode. It should be the "Active" dock
defend mode.

Root Cause: The original `BatteryInfo.isBatteryDefender` was implemented
by using `longlife`, due to the charging limit also reuse `longlife`
issue, we replace the implementation of `BatteryInfo.isBatteryDefender`
with HAL API call `isTempDefend` and `isDwellDefend`. However, the
dock defend also needs `longlife`, the original
`BatteryInfo.isBatteryDefender`. So the dock defend checking failed
after replacing the implementation of `BatteryInfo.isBatteryDefender`

Solution:
- Add new property isLonglife in BatteryInfo
- Replace all isBatteryDefender reference that needs isLonglife

Bug: 348563863
Test: Manual Test and robotest
Test: http://ab/I08300010291126076 (unit test)
Test: http://ab/I67800010291096764 (robo test)
Flag: EXEMPT bugfix
Change-Id: I58424927522acc29dc49261a2c24829a5b34ef85
2024-06-27 23:19:08 +08:00
Priyanka Advani
e200279002 Merge "Revert "Fix "Dock defend string and tips in settings are incorrectly" issue"" into main 2024-06-26 20:42:45 +00:00
Chaitanya Cheemala
4cfc0d8156 Revert "Fix "Dock defend string and tips in settings are incorrectly" issue"
This reverts commit d1114107df.

Reason for revert: Likely culprit for b/349578829  - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: I905a439c73e120efa094f097d59f68d0bedb0648
2024-06-26 15:47:11 +00:00
YK Hung
38f3171f56 Merge "Fix "Dock defend string and tips in settings are incorrectly" issue" into main 2024-06-26 11:11:11 +00:00
YK Hung
59f9bd0630 Merge "Fetch package uid under the corresponding user handle." into main 2024-06-26 11:10:40 +00:00
Xinyi Mao
ede7f73f20 Merge "Skip load app name from PackageManager while init the BatteryEntry." into main 2024-06-26 09:05:09 +00:00
mxyyiyi
7ff146a34a Fetch package uid under the corresponding user handle.
- Make 3p-app usage entry under work profile selectable:
[Before] https://screenshot.googleplex.com/AuD3Q8hrepmxaoS
[After]  https://screenshot.googleplex.com/ACrXLcV2RYYv9aA

Bug: 346982931
Fix: 346982931
Test: atest BatteryDiffEntryTest
Flag: EXEMPT bug fix
Change-Id: Ib54df4c6d343dd32057e741b448596357ec2c12f
2024-06-26 17:03:29 +08:00
pajacechen
d1114107df Fix "Dock defend string and tips in settings are incorrectly" issue
Symptom: After the dock defend was triggered, the battery tips still
show "Future-Bypass" dock defend mode. It should be the "Active" dock
defend mode.

Root Cause: The original `BatteryInfo.isBatteryDefender` was implemented
by using `longlife`, due to the charging limit also reuse `longlife`
issue, we replace the implementation of `BatteryInfo.isBatteryDefender`
with HAL API call `isTempDefend` and `isDwellDefend`. However, the
dock defend also needs `longlife`, the original
`BatteryInfo.isBatteryDefender`. So the dock defend checking failed
after replacing the implementation of `BatteryInfo.isBatteryDefender`

Solution: Add new property isLonglife in BatteryInfo

Bug: 348563863
Test: Manual Test and robotest
Test: http://ab/I55100010289930405
Flag: EXEMPT bugfix
Change-Id: I180cde7a193d75243893471634bab5f354c1623b
2024-06-26 16:38:14 +08:00
mxyyiyi
13988cec01 Skip load app name from PackageManager while init the BatteryEntry.
- getApplicationLabel is time-consuming.
[Before]
https://pprof.corp.google.com/?id=bade2601da25f6169b0685a3e2a3e5cc
https://screenshot.googleplex.com/86R5DhMgcyQakys
[After]
https://pprof.corp.google.com/?id=2ccb1e88222e96db1fbcc072470a254c
https://screenshot.googleplex.com/7QviDFSpgzoQcg6

Bug: 349120408
Fix: 349120408
Test: atest + pprof
Flag: EXEMPT bug fix
Change-Id: I1eed60cea9c5bd3f77f38993f7d04906aa811da5
2024-06-26 15:49:30 +08:00
YK Hung
bc93a6a146 Reattribute data into other apps as the final result (4/5)
Bug: 346706894
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Flag: EXEMPT bug fix
Change-Id: I8b8a988df2718b64cd752915205db687ffe9d559
2024-06-26 06:25:15 +00:00
YK Hung
d226a97617 Dump the BatteryReattribute from the database into bugreport (2/5)
Example:

    BatteryReattributeEntity{
    	Jun 18, 2024, 16:22:51
    	Jun 18, 2024, 16:23:01
    reattribute_data {
      key: 1001
      value: 0.1
    }
    reattribute_data {
      key: 1002
      value: 0.99
    }
    timestamp_end: 1718727781368
    timestamp_start: 1718727771368
    }

    BatteryReattributeEntity{
    	Jun 18, 2024, 16:22:31
    	Jun 18, 2024, 16:22:51
    reattribute_data {
      key: 1003
      value: 1.0
    }
    timestamp_end: 1718727771368
    timestamp_start: 1718727751368
    }

Bug: 346706894
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage.bugreport
Flag: EXEMPT bug fix
Change-Id: Ie2544b9f43e399d87eb29354b401834372c3a9f7
2024-06-18 16:37:55 +00:00
Treehugger Robot
a3894e6761 Merge "Add new database table and proto for battery usage reattribution (2/5)" into main 2024-06-17 11:28:54 +00:00
YK Hung
f5cf54bcc7 Add new database table and proto for battery usage reattribution (2/5)
Bug: 346706894
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Flag: EXEMPT bug fix
Change-Id: If360246d974abdea7004023aedcf1a4be7b63633
2024-06-17 10:13:34 +00:00
mxyyiyi
08907935df Add flag to force expire the app optimization mode event.
Bug: 347444433
Test: atest
Change-Id: Id502607ed6c07870d14346656a65ceccb756b78f
2024-06-17 17:04:05 +08:00
mxyyiyi
d047b6da10 Help talkback to read the hyphen of time frame '{day}{time}-{time}' in PreferenceCategory Title.
Bug: 346707823
Test: atest + manual
Change-Id: I3098ccaffd6396fb1f00e3b57c326980250651f2
2024-06-12 17:09:04 +08:00
YK Hung
06ee9cdb27 Merge "Allow wireless charging label to customize content descriptions" into main 2024-06-07 10:55:26 +00:00
Yiling Chuang
6dc8193d81 Allow wireless charging label to customize content descriptions
Fixes: 343616480
Test: atest SettingsRoboTests
Change-Id: I0d87b50fd88167b57ce9d9b06d776ba2ebe304ea
2024-06-07 07:20:22 +00:00
mxyyiyi
35282888d9 Clear app optimized mode sharedpreferences when Reset all app preferences.
- Clear events when user click Settings > Apps > All apps > top-right button > "Reset app preferences"
- Update AppOptModeSharedPreferencesUtilsTest from robotest to unit test.

Bug: 338965652
Test: atest + manual
Change-Id: Ib0a1bd113ab31fea247e5a5430ab35b252c6e1f5
2024-06-05 18:43:41 +08:00
mxyyiyi
00507a47ec Fix post-comment in ag/27593647 to improve the readability.
Bug: 338965652
Test: atest + manual
Change-Id: I8e4c8a4508dd8c5afd1f16c6129146ba6e13bde2
2024-06-04 15:48:36 +08:00
mxyyiyi
8eaf8edf7e Add AppOptimizationModeEventsUtils to save & update app optimization mode expiration events.
- [Update] Save app optimizaiton mode set & expire events from turbo.
- [Reset ] Restore optimization mode for expired events in Periodic job.
- [Delete] Cancel expiration event if user updates mode in app usage page.

Bug: 338965652
Test: atest + manual
Change-Id: I3fb7311207da1bdb1146ea1ff041aca6adb66052
2024-06-03 19:42:26 +08:00
Sunny Shao
c725c5ba5a Split ChangeReason and decouple it from Observer
Observer is flexible to be used for other scenarios.

Bug: 325144964
Test: atest SettingsLibDataStoreTest
Test: atest com.android.settings.fuelgauge
Change-Id: I50c0c6267b29460efa3861e609d64a4d92db7b89
2024-05-29 11:39:23 +08:00
Xinyi Mao
d91809b752 Revert "Fix atest build error in settings.fuelgauge."
This reverts commit 3b962e3b9d.

Reason for revert: No need to update long -> int

Change-Id: I060b57c5b8c871ccc938ca84fe1aa916293acada
2024-05-28 05:15:43 +00:00
mxyyiyi
3b962e3b9d Fix atest build error in settings.fuelgauge.
Bug: 342963499
Fix: 342963499
Test: atest SettingsRoboTests:com.android.settings.fuelgauge
Change-Id: If34e7dd6af990dd4e678002e46c0e3794b9c0a61
2024-05-27 15:19:47 +08:00
mxyyiyi
777418e178 Fix flaky test in BootBroadcastReceiverTest.
Bug: 342512308
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: Ia4542995137ddbec0740e1da7347bf535f62f849
2024-05-24 13:38:25 +08:00
Treehugger Robot
302bd5750a Merge "Update battery settings page loading text" into 24D1-dev am: 47ce042cf3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27358859

Change-Id: I3d4acd7fcf4fc9bbe2066fd3e2d0880565aa1cfc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-15 15:22:28 +00:00
Wesley Wang
3ceffc39f9 Update battery settings page loading text
- Update the loading text into empty space text to prevent layout flaky before info loaded

Bug: N/A
Test: atest SettingsRoboTests
Change-Id: I272405f5045a682533a4e9405a9fd91f6c507f7e
2024-05-15 10:53:52 +00:00
Treehugger Robot
a71f46ecc6 Merge "Update the flow of charging optimization strings." into main 2024-05-15 09:10:39 +00:00
Yiling Chuang
8bcaab7cc8 Update the flow of charging optimization strings.
Bug: 329020954
Test: atest SettingsRoboTests
Change-Id: I73738602036d79568fe4739a63534af1c64bd9d1
2024-05-15 07:47:10 +00:00
mxyyiyi
ee501485b8 Schedule periodic job in next full-hour timestamp under local timezone.
Bug:315228870
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage.PeriodicJobManagerTest
Change-Id: I1d2b298ea53c1018b5f94b5ba00692055374eef2
2024-05-11 17:36:32 +08:00
mxyyiyi
d3ce90347b Update database clear & job refresh mechanism for time zone change intent
- Clear database and reset periodic job
- Take a snapshot of current battery usage stats

Bug: 336423923
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: I4aade9db950b508e2190605371f246904f131da3
2024-05-10 11:22:58 +08:00
mxyyiyi
798340fafd Update database clear & job refresh mechanism for time change intent
- Ignore time change intent for time format update
- Clear data after current time in DB and refresh periodic job
- Take a snapshot of current battery usage stats if no periodic job in DB

Bug: 336423923
Bug: 314921894
Fix: 314921894
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusagei
Change-Id: Iec0f5e8e97f18c4603de711a5884336ba0af23a9
2024-05-10 11:22:47 +08:00
mxyyiyi
658bc03d4f Update time format for the first timestamp on usage chartview.
- If usage data start from the time-change event rather than full-charged event
[Before] https://screenshot.googleplex.com/BokAvKHXmt2Mmwn
[After] https://screenshot.googleplex.com/8thpgVrVt8kqo37

Bug: 336423923
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: I66f8b384938f55852e28bd9f50d1a99c7fc9e41b
2024-05-10 10:51:21 +08:00
Yiling Chuang
7b77729db6 Update strings for charging optimization mode.
Update the battery settings summary and the charging string on the Battery settings page if charging optimization mode is applied.

Bug: 329020954
Test: atest SettingsRoboTests
Change-Id: Ie906a010d70bcef7fafe235f0287b289ea934705
2024-05-07 06:34:24 +00:00
Pajace Chen
c7f595814b Merge "Fix test case failed issue" into 24D1-dev am: df8dc5dc61
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27200838

Change-Id: I988aa8852b922f9a05a2352850d803ea3feb7e29
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-03 02:37:33 +00:00
pajacechen
1d03a55ea8 Fix test case failed issue
This test case is not really failed, it doesn't break the functionality
of production code. The reason for failure is caused by the timeZone.
A different timezone could result in a different time string.
So, ignore this test case for now.

Test: Unit Test
Fix: 338343937
Change-Id: Iab0f6f2d454f226568ac09a49ae5372f3a9bc88f
2024-05-03 01:59:40 +00:00
Yiling Chuang
11e810e7a7 Provide different ways to detect battery defender.
Bug: 335567248
Test: robotests
Change-Id: Ie1d3d7da99fa698468ffd124410cfd3b56bc0c34
2024-04-26 03:10:51 +00:00
mxyyiyi
740f348265 Remove redundant battery usage slot in database.
Bug: 336423923
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: I1b2d172a42a20a8cc8dc734498e37ed92e4624dd
2024-04-23 18:59:24 +08:00
Yiling Chuang
1aa4bcf17d Clean up on the charging remaining time label for WLC.
Bug: 336204618
Test: robotests
Change-Id: Ic2c9d653f8bd9ec25383319766256162d81424c2
2024-04-23 03:36:06 +00:00
Yiling Chuang
ce51f659df Merge "Customize the remaining time label during wireless charging." into main 2024-04-23 02:40:06 +00:00
Yiling Chuang
901a46c93e Customize the remaining time label during wireless charging.
Bug: 336204618
Test: robotests
Change-Id: Ic7025f219ee09fba0922ac183daa891e7b63b673
2024-04-22 10:14:13 +00:00
YK Hung
491cb8fbe1 Merge "Add content description string for '<1%'." into main 2024-04-19 12:04:41 +00:00
YK Hung
e57842bd40 Merge "Help talkback to read the hyphen of time frame '{day}{time}-{time}'" into main 2024-04-19 11:57:55 +00:00
mxyyiyi
6853021975 Add content description string for '<1%'.
Bug: 322855583
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: I704a591ab4cba21644e86457c2dd1000ceecc291
2024-04-19 12:21:55 +08:00
mxyyiyi
3950632041 Help talkback to read the hyphen of time frame '{day}{time}-{time}'
Talkback Hover: https://screenshot.googleplex.com/6Z5KMhXRPRWrqh9
Talkback Click: https://screenshot.googleplex.com/5iYVWXE95rgH98D

Bug: 322855775
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Change-Id: I54b78e9e29c67d514c0346ddae8331450bf53f01
2024-04-19 12:18:57 +08:00
mxyyiyi
08d4b7a2ae Log optimization mode for app usage in BatteryUsageSlot.
Bug: 335374932
Test: atest ConvertUtilsTest
Change-Id: Icf86b9bee58b3b70d99e166d9fce0dfd7e30dea3
2024-04-19 10:58:15 +08:00