Commit Graph

2133 Commits

Author SHA1 Message Date
mxyyiyi
c4fb17d740 Impl app anomlay preference
[ScreenShot]: https://screenshot.googleplex.com/BBrHTQbwbFHxZE9

Bug: 291689623
Bug: 291689643
Test: manual
Change-Id: Ia257f3ace4a2d71b2221f861be3e1238de6d791e
2023-09-01 06:40:36 +00:00
Zaiyue Xue
d3156cc001 Enable i18n for battery tips card and fix b/297036263.
Bug: 291689623
Bug: 297036263
Fix: 297036263
Test: manual
Change-Id: I41aff99c73ace995ef9dfa8f1dc28024cd12d236
Merged-In: I925e4d887c3435239aed0aa0fde7cda2c3a95b3c
2023-08-25 20:21:59 +08:00
mxyyiyi
737b9ab5b7 Impl dismiss action in battery tips cards.
- Use SharedPreferences to record and filter the already dimissed anomaly.

Bug: 291689623
Test: manual
Change-Id: I4fd4a39066591a4a201857f9586b6595b7d5c43b
2023-08-24 10:20:49 +08:00
mxyyiyi
5cbf3b0f74 Fixed battery tips card UI.
- Add highlight effect after navigate to new page.
- Update text format inside button.

Screenshot: https://screenshot.googleplex.com/8ib66dWzn6PZmhy

Fix: 296001546
Fix: 296339767
Bug: 291689623
Test: manual
Change-Id: Ic789e5feb684a109582477c553963a9a3f9936b8
2023-08-24 10:19:48 +08:00
Zaiyue Xue
9f57691d89 Add UI metrics logging for battery tips card.
Bug: 291689623
Test: manual
Change-Id: I925e4d887c3435239aed0aa0fde7cda2c3a95b3c
Merged-In: I925e4d887c3435239aed0aa0fde7cda2c3a95b3c
2023-08-21 17:40:28 +08:00
mxyyiyi
980116be4d Update power_anomaly_event proto fields
- add enum PowerAnomalyType/PowerAnomalyKey
- update the func to get anomaly index

Test: manual
Bug: 291689623
Change-Id: If4e6684c8169dfa3edd4e18a11d518737a3b2840
Merged-In: If4e6684c8169dfa3edd4e18a11d518737a3b2840
2023-08-18 14:10:06 +08:00
Zaiyue Xue
1dad0bf856 Merge "Battery usage page latency improvement (1-8)" into udc-qpr-dev 2023-08-18 02:35:15 +00:00
mxyyiyi
2037b262ff Impl the detect & show pipeline for PowerAnomalyEventList.
Test: make SettingsLibRoboTests
Bug: 293813663
Bug: 296322845
Change-Id: I0c477dc546ec4d00e4c4133afb61bf7d574be9f8
Merged-In: I0c477dc546ec4d00e4c4133afb61bf7d574be9f8
2023-08-17 06:35:49 +00: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
Wesley Wang
a277f78789 Update detectSettingsAnomaly() return type (1/2)
Bug: 291689623
Test: make SettingsRoboTests
Change-Id: I3611e746900569dca8cf308072c1344686d27f9a
2023-08-11 06:56:14 +00:00
Xinyi Mao
49c4ba78dc Merge "Updated PowerAnomalyEvent Proto." into udc-qpr-dev 2023-08-11 06:34:05 +00:00
Xinyi Mao
3670fe1200 Merge "Improve battery tips cards." into udc-qpr-dev 2023-08-11 06:34:05 +00:00
Kuan Wang
20ec9893d2 Move static UsageStatsManager from DatabaseUtils to DataProcessor to
avoid reference from DataProcessor.

This is to fix the Accessibility tests hang issue.
Tested on main branch (https://android-build.googleplex.com/builds/abtd/run/L40400000962473343).

Test: make RunSettingsRoboTests
Bug: 293366011
Bug: 295026588
Bug: 295123907
Change-Id: I345e0c060165e4d06f98ada6b2e1ca3cbb4f911a
2023-08-11 06:30:59 +00:00
mxyyiyi
2148988cae Improve battery tips cards.
- Updated Card UI
- Set thumb-up/down feedback preference to be GONE
- Add basic button action

[Screenshots] https://screenshot.googleplex.com/925MEzRyUCxZCi8

Test: manual
Change-Id: I356648d0fcec5dd1ea724297187ecafb5be55fd8
Merged-In: I356648d0fcec5dd1ea724297187ecafb5be55fd8
Bug: 291689623
2023-08-11 03:26:15 +00:00
mxyyiyi
f4dc70ae37 Updated PowerAnomalyEvent Proto.
- Add repeated fields.
- Add unique id.
- Updated main_button action arguments.

Test: manual
Bug: 291689623
Change-Id: Id9fa88d6df0db50472732e4a50aa00a7a02db284
Merged-In: Id9fa88d6df0db50472732e4a50aa00a7a02db284
2023-08-10 18:19:46 +08:00
YK Hung
270b7ef18d Merge "Implement the battery tips cards.(1/2)" into udc-qpr-dev 2023-08-02 03:30:08 +00:00
Treehugger Robot
103adb753a Merge "Update the incompatible charging banner tip icon" into udc-qpr-dev 2023-08-02 03:26:19 +00:00
YK Hung
1b43697eb8 Merge "Add cache strategy for getUsageSource()." into udc-qpr-dev 2023-08-02 03:23:11 +00:00
ykhung
69f46a72fc Update the incompatible charging banner tip icon
Update the incompatible banner tip icon based on the UX update:
https://screenshot.googleplex.com/8ApTNJnsxRRufjQ

Fix: 246960554
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge
Change-Id: I060554c17b3825b38004fb643c0a0cdf5fdbed4d
2023-08-02 02:05:15 +00:00
mxyyiyi
be8407c566 Implement the battery tips cards.(1/2)
- Implement a tips card UI in Battery Usage.

[Screenshot]:
- Tips Card with thumbs-up/down feedback in dark mode
https://screenshot.googleplex.com/3nRCFYvLTWfiYYT
- Tips Card without feedback
https://screenshot.googleplex.com/B7QGRJZAHzgWpCP
- Tips Card in Force RTL layout
https://screenshot.googleplex.com/8crQdj8ao26pKpH
- Tips Card in light mode
https://screenshot.googleplex.com/885aVvZm8xmhK2S

[TODO]:
- Add accessibility
- Localization

Bug: 291689623
Test: Manual
Change-Id: I4443cdb21b3ba30900fc2f6fcc21c4c56dc1293f
Merged-In: I4443cdb21b3ba30900fc2f6fcc21c4c56dc1293f
2023-08-01 09:49:19 +00: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
Treehugger Robot
a9a8c4ed19 Merge "Define the anomaly proto for anomaly detection project" into udc-qpr-dev 2023-07-28 11:25:39 +00:00
Zaiyue Xue
77bb2e1ce0 Define the anomaly proto for anomaly detection project
Bug: 284893240
Test: presubmit
Change-Id: Ifecc0c952392c58f5c10147d37d3de21a05157b5
2023-07-28 08:35:33 +00:00
YK Hung
1a4979753e Merge "Imple call method to detect settings anomaly(1/2)" into udc-qpr-dev 2023-07-28 06:43:13 +00:00
Wesley Wang
456ca0177c Imple call method to detect settings anomaly(1/2)
Bug: 290893324
Test: make SettingsRoboTests
Change-Id: I6c13f9cee29b723cbd9332fc5d84567be83699c3
2023-07-28 12:32:39 +08:00
ykhung
0610d2b682 Fix inconsistent connected without charging state in the Settings
Make the "connected, not charging" state condition is the same between
Settings main page (in the TopLevelBatteryPreferenceController), and
sub- battery settings page (in the BatteryHeaderPreferenceController).

https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java;l=116-119

Fix: 285204150
Test: make RunSettingsRoboTests -j40

Change-Id: I9b09d521ca71b18e180c779f1a048d1ea4ba161a
2023-07-27 08:21:49 +00:00
YK Hung
448891b6bc Merge "Add support of RTL design for battery ussage chart." into udc-qpr-dev 2023-07-19 08:46:16 +00:00
Wesley Wang
e3d5e38834 Provide a method to detect battery usage history(1/2)
Bug: 290893324
Test: make SettingsRoboTests
Change-Id: Ief4e11b2c3afddb99a50c9d0148d78d4d581d34f
2023-07-19 11:59:56 +08:00
mxyyiyi
fe667193d1 Add support of RTL design for battery ussage chart.
[Screenshots]
English(LTR): https://screenshot.googleplex.com/8nHkVNHnGajP9Lh
Hebrew (RTL): https://screenshot.googleplex.com/BrFSwEKq3xPmbnY

Bug: 250682309
Fix: 250682309
Test: Manual
Change-Id: I0b1b6a6e28af1d60c3d81a7b8bca58996fab313d
2023-07-19 10:20:02 +08:00
Xinyi Mao
6c12390bab Merge "Add 25% and 75% lines to improve the readability of the battery level as a short-term fix." into udc-qpr-dev 2023-07-14 06:31:30 +00:00
mxyyiyi
881d625b25 Add 25% and 75% lines to improve the readability of the battery level as a short-term fix.
[Screenshot]
Before: https://screenshot.googleplex.com/5WDToTZsRcosbjC
After:  https://screenshot.googleplex.com/C4XJ4Mnigxa27gq

Bug: 260498797
Fix: 260498797
Test: Manual
Change-Id: I08c8ec3b2868c59d341ce34d93b6e010e3440cf5
2023-07-14 13:51:56 +08:00
Treehugger Robot
b544871b38 Merge "Fix testUidCache_switchLocale_shouldCleanCache in BatteryEntryTest" into udc-qpr-dev 2023-07-14 04:29:02 +00:00
Zaiyue Xue
c93fe0b509 Fix testUidCache_switchLocale_shouldCleanCache in BatteryEntryTest
Remove unused code and test

Bug: 290318160
Fix: 290318160
Test: presubmit
Change-Id: I20c612270c67f55e0b01fa849514ba670b696db3
2023-07-10 15:06:57 +08:00
ykhung
ef66549e64 Add a mechanism to log battery usage periodic job events
Example history log:
      	Jul 07, 2023, 15:28:51 SCHEDULE_JOB triggerTime=Jul 07, 2023, 16:00:00
      	Jul 07, 2023, 15:32:16 FETCH_USAGE_DATA
      	Jul 07, 2023, 15:32:17 INSERT_USAGE_DATA size=37
      	Jul 07, 2023, 15:43:45 FETCH_USAGE_DATA
      	Jul 07, 2023, 15:43:48 INSERT_USAGE_DATA size=47
      	Jul 07, 2023, 15:43:49 SCHEDULE_JOB triggerTime=Jul 07, 2023, 16:00:00

Bug: 284893240
Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge
Change-Id: I45a1ce0ce9b70f095702727e53d7b7ce8824abdb
2023-07-07 17:47:19 +08:00
TreeHugger Robot
fcd80ade3b Merge "Update BatterySettingsFeatureProvider interface" into udc-qpr-dev 2023-06-20 02:08:25 +00:00
Chaohui Wang
7aaceaa782 [lint] Fix Wrong Resource Type
Bug: 285231003
Test: m Settings
Change-Id: I8dfbaf1342f014af35cd08906ac3f498b6c8c11a
2023-06-19 10:17:35 +08:00
Yi-Ling Chuang
2a9b9cfd4c Update BatterySettingsFeatureProvider interface
Added context to each method for more flexibility.

Bug: 276399056
Test: robotests
Change-Id: I0bbf8841775bc2f584d66c59c2c78ed4e5c951c2
2023-06-17 12:49:46 +08:00
Treehugger Robot
55774422b1 Merge "Remove redundant methods and refactor" into udc-qpr-dev 2023-06-12 09:05:05 +00:00
Yi-Ling Chuang
f148baa372 Remove redundant methods and refactor
Remove the summary method and write the code in AOSP directly instead to
force string consistency. Also refactor a bit after the modification.

Fixes: 276399056
Test: robotests
Change-Id: I76ad740b694363a3cdfb3748e41c840fb678b93d
2023-06-12 16:11:49 +08:00
Zaiyue Xue
dff1bd58de Don't load battery entry name and icon in offline job to improve memory usage. am: 65cb6ef230
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23629343

Change-Id: I07e697bb37a2c3655b7e5b6e5177c8d9d9059f71
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 11:01:47 +00:00
Zaiyue Xue
65cb6ef230 Don't load battery entry name and icon in offline job to improve memory usage.
Risk: low, the name and icon will be always loaded again in the UI.

Bug: 280720236
Test: manual
Change-Id: I86f50e953ffd4910acbf9f318e1cc1caa3a7a232
2023-06-09 08:41:51 +00:00
ykhung
53f48c4a97 Make the estimator cache logic is the same as SysUI flow
Ensure the remaining time estimator cache logic is the same as SysUI
https://source.corp.google.com/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java;l=375-386

Test: presubmit
Fix: 285747156
Change-Id: If7218dc70792aafaec45c71018897bed80df7f3d
2023-06-05 01:39:41 +00:00
Yi-Ling Chuang
ee97eaf2d9 Refactor battery related feature provider
Merge BatteryInfoFeatureProvider to BatterySettingsFeatureProvider. Also
add a new string to indicate the unavailability when there's error
fetching the cycle count value.

Bug: 276399056
Test: robotests
Change-Id: Ic6a641d72d5bb295f2a0766dcebdcbe855d91125
2023-05-24 11:26:07 +08:00
YK Hung
0101e6904f Merge "Fix b/282944866: Java crash" into udc-dev 2023-05-17 13:45:32 +00:00
Zaiyue Xue
6235f4b69a Fix b/282944866: Java crash
Bug: 282944866
Fix: 282944866
Test: presubmit
Change-Id: I6dd9d15f21d4fcb3e75847c5727b18bdafbfa09b
2023-05-17 15:59:55 +08:00
ykhung
b42a509914 Add protection for the BadParcelableException
Test: presubmit
Bug: 282943714
Change-Id: I9f2bffbbbd3df4a31887ecc869d3c046b25755e0
2023-05-17 03:38:13 +00:00
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