Commit Graph

2090 Commits

Author SHA1 Message Date
Edgar Wang
42704ba27c Merge "Update learn more string of FooterPrefernce" into tm-dev am: 24654a3d61 am: 4d371adf7f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18356903

Change-Id: I70547c9094cdd200f1fa2a77272affbcbe308a34
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 23:52:43 +00:00
Kuan Wang
4028e6123c Reset Optimization Mode of apps when users reset app settings.
Fix the issue that Optimization Mode is not reset when users click the
"Reset apps" button in the setting.

Bug: 222037028
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge" + emulator
Change-Id: I22fb8aa19e284e11882b2920b77b544dee4cc33c
2022-05-16 05:01:20 +00:00
Edgar Wang
68d12953e7 Update learn more string of FooterPrefernce
Replace FooterPreference#SetLearnMoreContentDescription() with
FooterPreference#SetLearnMoreText().

This is a requirement: All links, controls, and buttons should
also have comprehensible text or tooltip text, so users can identify its
purpose, independent of context, such as when using the URL list from
TalkBack’s local context menu.

Bug: 215045903
Test: manual & robotest
Change-Id: Ib657ba336c5688c1434a58611dea3891001afe14
2022-05-13 08:13:36 +00:00
ykhung
7015cd0dd9 Hide running time for "Android System" in the optimization page
Hide the running time information for "Android System" entry, since this
entry will combine multiple system components together. It will provide
incorrect running time information. The getRealUid() method maps many
UIDs to Process.SYSTEM_UID(1000), which results in combining all of
those UIDs into one "Android System" entry. This is the expected behavior.

Bug: 220717612
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I9d44fe8490ad5c684419b8ebf8d7d5576a42788a
2022-05-10 18:47:44 +08:00
ykhung
c880114dba Use system package name for SYSTEM_UID in the BatteryEntry
Force use the system package for the SYSTEM_UID, since the SYSTEM_UID is
used for multiple packages. The getPackageWithHighestDrain() method may
get different packages to represent it, since it will use the highest
battery drain to represent the SYSTEM_UID if there are multiple packages
use the same UID value to make users confuse about the usage data.
_
$ adb shell pm list packages --uid 1000
package:android uid:1000
package:com.android.dynsystem uid:1000
package:com.android.frameworks.core.batterystatsviewer uid:1000
package:com.android.inputdevices uid:1000
package:com.android.keychain uid:1000
package:com.android.localtransport uid:1000
package:com.android.location.fused uid:1000
package:com.android.providers.settings uid:1000
package:com.android.server.telecom uid:1000
package:com.android.settings uid:1000
package:com.android.wallpaperbackup uid:1000

Bug: 202682426
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I447bfa1b32037763a2194c0639abcc334c7d8b78
2022-05-08 23:42:38 +08:00
ykhung
be10538a09 Support special tethering and removed apps UID in the usage list
There is a special UID for network data tethering usage, we will handle
it in a special case to avoid the current rule considering it as an
invalid UID case without showing in the usage list. We will disable the
click behavior to protect the optimization mode page first.

Bug: 227395125
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I8d96473d382ebc3253748cce8345d6f2261a233d
2022-05-05 16:17:41 +08:00
ykhung
3d1b6fd065 Add a mechanism to configure whether the summary should be set or not
Add a mechanism to customize whether the summary information in the
battery entry should be set or not. We can consider is as the extension
for the ag/18062824.

Bug: 220717612
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I3c21148d288f29ce65378f59f9086dab90c14a7b
2022-05-04 11:42:26 +08:00
ykhung
1c3cb4505c Hide running time information for "Android System" entry
Hide the running time information for "Android System" entry, since this
entry will combine multiple system components together. It will provide
incorrect running time information. The getRealUid() method maps many
UIDs to Process.SYSTEM_UID(1000), which results in combining all of
those UIDs into one "Android System" entry. This is the expected behavior.

Bug: 220717612
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I0aece0f1e86c36e55a2b5a966b4da9fdea14c748
2022-04-29 02:40:07 +00:00
ykhung
c12b9500e6 Refine the BatteryUsageStats close() method invoke timing
Refine invoke batteryUsageStats.close() timing to 1) avoid closing it before the UI is ready to ignore showing the battery usage app list data for AOSP version, and 2) avoid close the BatteryUsageStats which is passed from caller components in the BatteryInfo with unexpected behavior.

Bug: 220717612
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I0f75580ac68d72b41fa9a7f43aa6ea694f0992ff
2022-04-28 17:16:04 +00:00
ykhung
0f8ee91e1e Remove the legacy getReplacingActivity() method from feature provider
Bug: 195306545
Test: make RunSettingsRoboTests
Change-Id: Ie7ae30ad671ec2ee2659e64ee4f191728edab4e8
2022-04-18 05:59:58 +00:00
ykhung
91adbd3b16 Use en-dash in the time range instead of a hyphen for different format
Expected format: 00:00–02:00 or (2pm – 4pm)

Screenshots:
https://screenshot.googleplex.com/4RvaovK6RN7kjqo
https://screenshot.googleplex.com/ADZRr2TPuuctFre

Bug: 229264053
Test: make RunSettingsRoboTests
Change-Id: Ifd9bea0ce4525c8b582778e255104e875d365563
2022-04-17 06:52:24 +00:00
ykhung
b593e00af0 Format BatteryEntry and BatteryDiffEntry class
Bug: N/A
Test: make RunSettingsRoboTests
Change-Id: I14e2ef4c455209e58edc5ccdbe064f469815cccd
2022-04-17 06:23:47 +00:00
ykhung
1c6695951f Use the custom name in the battery attribution if it is unknown item
Keep the queried name is null to use the custom provided battery attribution name (avoid to replace it with POWER_COMPONENT_ prefix name), such that we can show "TPU", "GPU" ... attribution.

old screenshot: https://screenshot.googleplex.com/8KGNxW2eHFY85zw
new screenshot: https://screenshot.googleplex.com/8KVj3jBjShfa8wK


Bug: 227749579
Test: make RunSettingsRoboTests
Change-Id: I22fba3c252a92f7d64670ad5d0f6f3548374968a
2022-04-15 11:20:46 +00:00
YK Hung
3a08246bd9 Merge "Pass the activtiy launch flags into the AdvancedPowerUsageDetail" into tm-dev 2022-04-14 14:12:33 +00:00
ykhung
39972db17d Pass the activtiy launch flags into the AdvancedPowerUsageDetail
Bug: 227978302
Test: manual
Change-Id: I036bc90eb91fd59137b51817665378f218bbad1a
2022-04-14 19:57:14 +08:00
TreeHugger Robot
55aba46fe9 Merge "Unchecked battery saver switch once it's 1st launch" into tm-dev 2022-04-13 11:15:46 +00:00
Wesley Wang
d2ce1d9194 Unchecked battery saver switch once it's 1st launch
- Add low battery warning ack check to onSwitchChanged(), reset the
   switch to off once it's 1st time launch, the switch should be enable
   by battery saver change event at 1st instead of enable directly, will
   not check this state anymore after 1st launch

Bug: 227725656
Test: make RunSettingsRoboTests
Change-Id: I79f502f567fae5dd10166d8b24fd50d59c261001
2022-04-13 17:06:52 +08:00
ykhung
42d5979f69 [Security] Verify the permission first before querying installed apps
Verify the target app "REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" permission first before querying installed apps information to avoid the exposed the installed apps information and improve the performance by applying the early return flow.

Bug: 227753723
Test: make RunSettingsRoboTests
Change-Id: Ib5826b8082f4bf14f93d5ff4d2d332dc395bf9a8
2022-04-13 03:27:06 +00:00
ykhung
c5b8287f1e Replace HashSet with memory efficient ArraySet collection
https://developer.android.com/reference/android/util/ArraySet

Bug: 195306545
Test: N/A
Change-Id: I3f5831f2c5b5ec5ca50d312331c42eb90def2c61
2022-04-11 17:12:21 +00:00
Wesley Wang
878dae3db0 Merge "Update battery saver schedule min trigger value" into tm-dev 2022-03-22 06:51:52 +00:00
Wesley Wang
b26d99ac77 Update battery saver schedule min trigger value
- Udpate the min value to 10%, also change related preference summary
   and seekbar value
 - Make battery saver main page's switch support first time trigger
   warning

Bug: 207470943
Test: make RunSettingsRoboTests
Change-Id: I120b9a6784ed90eacccb09bb11f079f12679e95c
2022-03-21 16:13:34 +08:00
Tsung-Mao Fang
17ef335938 Clean up footer preference on battery saver page.
We set selectable as false in the footer preference library now,
so developers don't need to customize it.

Test: Same behavior on battery saver page.
Bug: 216516546
Change-Id: I188054ef2b317e6df1f54dc89d5c57c644e20ad7
2022-03-18 11:07:46 +00:00
ykhung
273d3445ee Update the categorize rule for system and app item bucket
Add a config to control different design concept in the chart 1) put all apps with system UID and system components (e.g. bluetooth, display, wifi ... etc) into the system bucket or 2) separate them into two different bucket (app & system bucket) in the chart UI for better experimental testing

Bug: 202118250
Test: make RunSettingsRoboTests
Change-Id: Id6f7c07d96ad8a365e7405160a5248c57a5a008d
2022-03-15 08:31:21 +00:00
ykhung
93a4ef67c4 Export battery usage data for EBS essential list filter mechanism
Bug: 207471193
Test: make RunSettingsRoboTests
Change-Id: I0003bbfce7428e92a2a0e144903d72fc51804dbb
2022-03-14 17:34:50 +08:00
ykhung
ffba705f8d Provide getBatteryLast24HrUsageData() method for application info
Bug: 178197718
Test: make SettingsRoboTests
Change-Id: Iaa5f0c1bdead1a5380129f63987bbae3b4461633
2022-03-14 13:35:15 +08:00
Stanley Wang
21564efa8b Fix the problem that voice search can not find the
Use Battery Saver slice.

There is no title for preference in xml, so the preference cannot
be indexed.

Fix: 172276695
Test: manual test and see the UI
Change-Id: Ieb7836805e66515629064800e4119ca17b5ac2e0
2022-03-08 08:51:58 +00:00
Kweku Adams
2a1f0b7418 Indicate min allowed bucket.
Only show the buckets an app is allowed to be put in. With more and more
exceptions, it'll be good to make it clear to developers who are testing
what buckets they can put their app in using the developer options UI.

Bug: 156509848
Test: manual
Change-Id: Iebc6b706f274a4dd4be7e1c5c42a4b3b05b39777
2022-02-28 20:45:38 +00:00
Wesley Wang
6cd9fc0a7e Refactor compact battery status method (1/2)
- Move compact battery status logic into libs

Bug: 219650786
Test: make SettingsRoboTests
Change-Id: Icc53c8d88235bffedfb51a3526668277fcbf4f40
2022-02-21 06:34:46 +00:00
Wesley Wang
b254c62506 Merge "Use compact battery status string if available (1/3)" 2022-02-16 06:17:05 +00:00
ykhung
21a0bed00c Add log for shouldShowBatteryAttributionList() checking
Bug: 195306545
Test: make SettingsRoboTests
Change-Id: I0f41d87731a6703f453a9b0476a7534b22e53884
2022-02-16 12:04:27 +08:00
Wesley Wang
1d649951f9 Use compact battery status string if available (1/3)
- Add a config to switch the battery status string logic

Bug: 219650786
Test: make SettingsRoboTests
Change-Id: I5939cdc2e4e90466539f342d6d2030c1de1a94c3
2022-02-15 18:50:04 +08:00
Dmitri Plotnikov
457715b00d Remove uses of deprecated class, BatteryStatsHelper
Bug: 217618527
Test: rebuild settings. DebugEstimatesLoader is actually unused.
Change-Id: Ic6ebda0d83bf7c8809f0f7cb40903a969c4b469a
2022-02-03 17:32:18 -08:00
ykhung
c8a63b3416 Fix broken tests: com.android.settings.fuelgauge
Bug: 215064709
Fixes: 215064709
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I79a27b4fcef3a21207b37db422d983ae9d521b45
2022-01-23 16:28:31 +08:00
ykhung
0eb6c4fb34 Remove the replaced activity checking to impact launching performance
Bug: 209081502
Test: make SettingsRoboTests
Change-Id: Id8e2144a5965601be9c290bc4df6db0d0beb0917
2021-12-09 09:44:11 +00:00
YUKAI HUNG
a7412b33b2 Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev am: 6e12a31e5f am: a1d72c11c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16221114

Change-Id: I4c9d5265d8abd4a73a19df2afc5c718d8827ddab
2021-11-10 10:10:05 +00:00
YUKAI HUNG
a1d72c11c5 Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev am: 6e12a31e5f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16221114

Change-Id: I2d78a4287aa740f1e583c8f570d52c2dc8d90bf7
2021-11-10 09:50:59 +00:00
ykhung
101dc6878a Fix incorrect usage for the logging method to cause no data in WW
Fix incorrect usage for the logging method to cause the schedule type
and percentage data is not logged  into the WW, since
MetricsFeatureProvider doesn't support log Pair.of() data into the
WestWorld or Clearcut directly, it is used for EventLogWriter only

Bug: 202906853
Test: make SettingsRoboTests
Change-Id: I9f1d157c77df9bd74f441105318790a2505a9c01
2021-11-10 15:39:30 +08:00
TreeHugger Robot
1961f6ac3e Merge "Fix "battery saver" not in the top seaching result for indexing" into sc-v2-dev am: 5afb04e1b8 am: 0f6c95d4fd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16220939

Change-Id: If0c770aabefcc0644045ec272a32a1bfae022182
2021-11-10 02:37:04 +00:00
TreeHugger Robot
0f6c95d4fd Merge "Fix "battery saver" not in the top seaching result for indexing" into sc-v2-dev am: 5afb04e1b8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16220939

Change-Id: I38c253e43ca1165916550503b13276bcf23b672a
2021-11-10 02:18:39 +00:00
ykhung
64e49a9393 Fix "battery saver" not in the top seaching result for indexing
Bug: 204964119
Test: make SettingsRoboTests
Change-Id: Ifbbf979abe9e96e7af66ec20173e996793d2703e
2021-11-10 00:11:09 +08:00
TreeHugger Robot
907cbb2129 Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev am: 6f6149c7ba am: 22b763486d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16220930

Change-Id: I47be5b62b5a7b407698ba4815415e1abd5a9bd4e
2021-11-09 15:44:26 +00:00
TreeHugger Robot
22b763486d Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev am: 6f6149c7ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16220930

Change-Id: Iefc9f1b9719bd1cc57bf79d7d8d873a4f4dbc995
2021-11-09 15:22:38 +00:00
ykhung
48c3533cd0 Fix incorrect usage for the logging method to cause no data in WW
Fix incorrect usage for the logging method to cause the schedule type
and percentage data is not logged  into the WW, since
MetricsFeatureProvider doesn't support log Pair.of() data into the
WestWorld or Clearcut directly, it is used for EventLogWriter only

Bug: 202906853
Test: make SettingsRoboTests
Change-Id: I0ca87ca96647f025adbd23f9f93a3cbd5f7d8579
2021-11-09 21:01:40 +08:00
Wesley Wang
0f3a672a94 Merge "Move optimization mode backup timing into onPause" into sc-v2-dev am: bf9f91f0ad am: e67f12f9b7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16177444

Change-Id: I1f9c5dd515fa42c7a30f86f9c7b135b39ff67cc5
2021-11-03 07:06:04 +00:00
Wesley Wang
e67f12f9b7 Merge "Move optimization mode backup timing into onPause" into sc-v2-dev am: bf9f91f0ad
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16177444

Change-Id: I033d0ff341cae7cdb320abebfd1da765c6fa8e74
2021-11-03 06:55:06 +00:00
Wesley Wang
bf9f91f0ad Merge "Move optimization mode backup timing into onPause" into sc-v2-dev 2021-11-03 06:41:42 +00:00
TreeHugger Robot
6d2db7a8cf Merge "Adjust optimize page logging timing" into sc-v2-dev am: b4e13a7af0 am: 3be2b733f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16170324

Change-Id: I66ecbb8213e9fb6301d75cacb493813180df1e18
2021-11-03 05:41:03 +00:00
TreeHugger Robot
3be2b733f2 Merge "Adjust optimize page logging timing" into sc-v2-dev am: b4e13a7af0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16170324

Change-Id: I4639aea50ec1cdb528f4f300c59550194f89ca60
2021-11-03 05:29:56 +00:00
TreeHugger Robot
b4e13a7af0 Merge "Adjust optimize page logging timing" into sc-v2-dev 2021-11-03 05:17:40 +00:00
Wesley.CW Wang
9b6eac28f3 Move optimization mode backup timing into onPause
- Move to onPause to avoid some corner case (like kill apps from recent
 app won't trigger onDestroy)

Bug: 195306545
Test: make SettingsRoboTests
Change-Id: I89445a7138c30e6c869ce1c5c9a3f818997d99a7
2021-11-03 12:38:10 +08:00