Commit Graph

2144 Commits

Author SHA1 Message Date
Zaiyue Xue
764337bd80 Fix JAVA_CRASH NullPointerException in BatteryUsageDataLoader.
Bug: 301362376
Fix: 301362376
Test: manual
Change-Id: I75060fc3d1989522f58cae593b1c1f4063dbd6e5
2023-09-21 19:34:09 +08:00
Zaiyue Xue
8371d08595 Call detect anomaly in period job only when there is new battery usage data.
- Reduce the memory usage of call anomaly detection
 - Remove redundant condition for low battery banner

Bug: 300446490
Bug: 284893240
Fix: 300446490
Test: presubmit
Change-Id: I11c1b41a45e129bcec57b9d18c4affe0de7f1d38
Merged-In: I11c1b41a45e129bcec57b9d18c4affe0de7f1d38
2023-09-20 17:04:01 +08:00
mxyyiyi
e9378d27f7 App anomaly tips on PowerUsage App list
Screenshots:
[in bg - banner] https://screenshot.googleplex.com/MzLC6LfX93TkkYf
[in bg - hints] https://screenshot.googleplex.com/9JLXNsRiVG8arAU
[in fg - banner] https://screenshot.googleplex.com/9oYbwUkeeLbQX2t
[in fg - hints] https://screenshot.googleplex.com/53DTTUCUnf8rsoE
[apps anomaly highlight hint + settings anomaly banner]
https://screenshot.googleplex.com/8NdS2VMrSzwv2DM

Bug: 291689643
Bug: 291689623
Bug: 284893240
Test: manual
Change-Id: Ic02db49cb3794ef134759d9dcec5f5ef32454a95
Merged-In: Ic02db49cb3794ef134759d9dcec5f5ef32454a95
Merged-In: I7015cdf5a96d518febb160934d780ae84fe14427
2023-09-18 18:28:20 +08:00
mxyyiyi
6750634259 Impl highlight effect on BatteryChartView slots.
Screenshot: https://screenshot.googleplex.com/F5VrGjj5kdNHMV6

Bug: 284893240
Bug: 291689623
Test: manual
Change-Id: I846d95d31e8bb839481b86a94d5191ff205f8328
2023-09-13 13:29:32 +08:00
YK Hung
9a293a7101 Merge "Refactor battery usage page contollers interaction logic" into udc-qpr-dev 2023-09-13 04:35:26 +00:00
YK Hung
02b5491447 Merge "Refactor flags of Power Anomaly Tips in Settings Intelligence.(1/2)" into udc-qpr-dev 2023-09-13 04:35:16 +00:00
YK Hung
378ad24aac Merge "Recheck the scedule job when the device is full charged and add more logs" into udc-qpr-dev 2023-09-13 04:24:04 +00:00
Zaiyue Xue
ea0f5b3d45 Refactor battery usage page contollers interaction logic
(1) Move controllers interaction logic from BatteryChartPreferenceController to main page PowerUsageAdvanced.
(2) Move query power anomaly logic to DataProcessManager async job.

Bug: 284893240
Test: manual
Change-Id: Ib23b338fe3946e68ff73a372342ec5d86494c566
Merged-In: Ib23b338fe3946e68ff73a372342ec5d86494c566
2023-09-13 03:56:28 +00:00
mxyyiyi
19046965da Refactor flags of Power Anomaly Tips in Settings Intelligence.(1/2)
- Remove unused flag is_battery_tips_feedback_enabled
- Update logic about is_battery_tips_enabled

Bug: 284893240
Bug: 291689623
Test: Manual
Change-Id: I826f517aa61e0c970048164706c4512ac3e0472d
Merged-In: I826f517aa61e0c970048164706c4512ac3e0472d
2023-09-12 11:28:10 +00:00
Zaiyue Xue
13695adf07 Recheck the scedule job when the device is full charged and add more logs
Bug: 298539147
Fix: 298539147
Test: manual
Change-Id: Id9fdba17b24cbc6558bc29576f8cd93782854ee4
2023-09-12 13:44:19 +08:00
Zaiyue Xue
a93fd54d09 Save foreground_service and cached consumed power in battery usage slot datebase.
Bug: 284893240
Test: manual
Change-Id: Ic09efabb0d93fb4bc7400b9410f32ec2f438dc73
2023-09-08 20:20:36 +08:00
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