Commit Graph

1548 Commits

Author SHA1 Message Date
ykhung
27efa546cf Fix failed tests since presubmit is ignored in ag/15802168
Bug: 198553245
Test: make SettingsRoboTests
Change-Id: I91e715a6bfb64419b457812423996365a9464a93
2021-09-12 00:36:43 +08:00
ykhung
a3b89868f4 Fix the icon flash issue cause from the shared drawable icon
different time slot may have the same application entry, we should not make them share the same drawable instance to impact the states, we will use newDrawable() method to create a new one for each application entry

Bug: 198553245
Test: make SettingsRoboTests
Change-Id: I4a321133ba171817fca1ab7ad47b9af8f7450675
2021-09-10 16:50:43 +00:00
ykhung
b62cdecc67 Move allowed list definition in the battery usage to feature provider
Bug: 199367609
Test: make SettingsRoboTests
Change-Id: I321426e6ff1b9586ee493792f1d39aed35ecc34d
Signed-off-by: ykhung <ykhung@google.com>
2021-09-10 01:29:32 +08:00
TreeHugger Robot
88cd5025e1 Merge "Enhance battery settings limit charge tip" into sc-qpr1-dev am: daaf1728b4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15747143

Change-Id: If2c47f007a67865ad9aaf8040eddc638f46f7964
2021-09-09 15:40:14 +00:00
Wesley.CW Wang
083ace54d5 Enhance battery settings limit charge tip
- Add dialog for limit charge tips
 - Add action button to make limit charge tips can bypass charge limited
 - Fix layout typo
 Screenshot: https://screenshot.googleplex.com/5ngtD2sJAKSQZD3.png

Bug: 196315151
Bug: 197769934
Test: make SettingsRoboTests
Change-Id: I0901c56ae93691c984376852da78cde9078caaf0
Merged-In: I0901c56ae93691c984376852da78cde9078caaf0
2021-09-09 22:13:33 +08:00
YUKAI HUNG
0a11568b82 Merge "Hide Camera background running time in the battery usage screen" into sc-dev am: 3f1d329878
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15723822

Change-Id: Ie57e3be9bda2316a8ee6a59fba76043ed6e61c54
2021-09-03 02:50:11 +00:00
ykhung
0a03758738 Move legacy hide applications in usage screen list to SettingsGoogle
Bug: 195306545
Test: make SettingsRoboTests
Change-Id: Iccb3530c40bc32c20d74d65aa3f26eb2d6719106
2021-09-02 11:57:54 +08:00
ykhung
4e3f692164 Hide Camera background running time in the battery usage screen
hide camera background running time in the battery usage screen to avoid
users confuse about it, since it will standby in the backgound to sspeed
up launching time, not always running in the background

Bug: 196744910
Test: make SettingsRoboTests
Change-Id: Ia391d661bca44435fc5a68b1c86e5ca32dd0fcfe
Merged-In: Ia391d661bca44435fc5a68b1c86e5ca32dd0fcfe
2021-08-31 13:58:13 +00:00
ykhung
2401ec4235 Hide Camera background running time in the battery usage screen
hide camera background running time in the battery usage screen to avoid
users confuse about it, since it will standby in the backgound to sspeed
up launching time, not always running in the background

Bug: 196744910
Test: make SettingsRoboTests
Change-Id: Ia391d661bca44435fc5a68b1c86e5ca32dd0fcfe
2021-08-31 07:01:01 +00:00
ykhung
9ac072dafe [Performance] avoid setting the same optimization mode again
Add a checking condition to avoid setting the same optimization mode again to improve the performance, since setting the optimization mode is a heavy operation when binding with system service.

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I4065e3c56201c1c9285d9cebedf670bc0c42c614
2021-08-30 09:25:51 +00:00
ykhung
adec23a106 [B&R] restore the backup data for app optimization mode back
BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy method name

Test command for backup manager:
adb shell bmgr backupnow com.android.settings
adb shell dumpsys backup | grep Current
adb shell bmgr restore 3e9867a7660315b8 com.android.settings

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: Ia35f8caa8fe2408be28c3494785a174a1aeb11da
2021-08-30 06:45:26 +00:00
Android Build Prod User
33af17ff31 Merge "[QPR1] Add time unit into battery usage chart and refine some UI" into sc-qpr1-dev 2021-08-26 21:42:36 +00:00
ykhung
a90496e92e [B&R] ignore backup system app or default app optimization modes
Avoid backup system app or default app optimization modes, since all of
them are using the MODE_UNRESTRICTED in default, and the system or
default apps may be different in the different devices.

BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy method name

Test command for backup manager:
adb shell bmgr backupnow com.android.settings
adb shell dumpsys backup | grep Current

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I0862ee31fcfa3bece15c2d4fdef5b0ea70235967
2021-08-25 15:01:52 +00:00
ykhung
935a9321b5 [B&R] notify BackupManager when app optimization mode is changed
Invoke BackupManager.dataChanged() when app optimization mode is changed
to notify BackupManager to execute Settings agent to backup data in the
next backup session, when performing the partial backup event.

Bug: 192523697
Bug: 197608038
Bug: 194633034
Test: make SettingsRoboTests
Change-Id: I456acc2594d22503763e4ce286435148ae0644a4
2021-08-25 02:21:16 +00:00
ykhung
0ab0a3af56 Refactor BatteryOptimizeUtils from enum to @IntDef
Based on the Android API Council guideline, we should avoid using the
Enum structure to define the constant definition.
go/android-api-guidelines#avoid-enum

Bug: 197595292
Test: make SettingsRoboTests
Change-Id: I4b22f0abde7f4ce2c3a0b076db786e619783d93e
Merged-In: I4b22f0abde7f4ce2c3a0b076db786e619783d93e
2021-08-24 12:04:31 +00:00
ykhung
37ddf4bc3e [B&R] backup the battery optimization mode for installed apps
BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy method name

Test command for backup manager:
adb shell bmgr backupnow com.android.settings
adb shell dumpsys backup | grep Current

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I4671e48a9d3b315362b451384db637d5cae36a4d
2021-08-23 12:32:07 +08:00
ykhung
7cbc683d3e [B&R] backup the getFullPowerWhitelist() for battery setting
BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy method name

Test command for backup manager:
adb shell bmgr backupnow com.android.settings
adb shell dumpsys backup | grep Current

Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I2d5c51b5b5788d703a233f5df719a298382feb98
2021-08-19 23:59:21 +00:00
ykhung
5589007530 [QPR1][Security] Fix RequestIgnoreBatteryOptimizations info disclosure
after discussed with kdeus@ we will remove the setResult() from the
dialog action to avoid the caller apps can distinguish the users
interaction behavior, and declared REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
in other applications.

Bug: 195963373
Test: make SettingsRoboTests
Change-Id: Ia2e47c493c206e96b0bc1d9f08735c0f9474c233
Merged-In: Ia2e47c493c206e96b0bc1d9f08735c0f9474c233
(cherry picked from commit 518d6df4f4)
2021-08-17 17:14:29 +00:00
ykhung
0791d77df0 [QPR1] Add time unit into battery usage chart and refine some UI
- add time unit into battery chart for 12/24 hours
- refine the radius size for chart bar
- use fixed font size for timestamp and percentage

screenshots:
24-hour format: https://screenshot.googleplex.com/3VNedE2nAx6LrXu
12-hour format: https://screenshot.googleplex.com/3tpTXjYfrasrenW
fixed-size: https://screenshot.googleplex.com/nPRKm7XCkmFzW6K

Bug: 194836607
Test: make SettingsRoboTests
Change-Id: I5b35b0fa808eb8a5f607962ee973c2896529b078
Merged-In: I5b35b0fa808eb8a5f607962ee973c2896529b078
2021-08-17 06:09:56 +00:00
ykhung
518d6df4f4 [Security] resolve RequestIgnoreBatteryOptimizations info disclosure
after discussed with kdeus@ we will remove the setResult() from the
dialog action to avoid the caller apps can distinguish the users
interaction behavior, and declared REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
in other applications.

Bug: 195963373
Test: make SettingsRoboTests
Change-Id: Ia2e47c493c206e96b0bc1d9f08735c0f9474c233
2021-08-17 12:06:59 +08:00
ykhung
96e9685687 Add a skeleton to support battery configucation backup/restore
Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I559eed40b05b73e7af5e091115afb11c4ba51068
2021-08-13 20:25:09 +08:00
YUKAI HUNG
cb2ec5399c Merge "Add time unit into battery usage chart and refine some UI" into sc-v2-dev 2021-08-12 06:46:26 +00:00
ykhung
fbbcc55fc0 Add time unit into battery usage chart and refine some UI
- add time unit into battery chart for 12/24 hours
- refine the radius size for chart bar
- use fixed font size for timestamp and percentage

screenshots:
24-hour format: https://screenshot.googleplex.com/3VNedE2nAx6LrXu
12-hour format: https://screenshot.googleplex.com/3tpTXjYfrasrenW
fixed-size: https://screenshot.googleplex.com/nPRKm7XCkmFzW6K

Bug: 194836607
Test: make SettingsRoboTests
Change-Id: I5b35b0fa808eb8a5f607962ee973c2896529b078
2021-08-12 03:59:39 +00:00
ykhung
ad346e12d5 [Robustness] protect get battery stats from DeadSystemException
In some corner cases, we will receive the DeadSystemException from
BatteryStatService when invoking getBatteryUsageStats() method. Before
this issue is resolved by BatteryStatService team, we will add some
protections to avoid Settings app is crashed.

Bug: 195306545
Bug: 195467687
Test: make SettingsRoboTests
Change-Id: I75fcf63f4f69d86d6dce0e12bd4d738b1219ae47
2021-08-12 03:53:14 +00:00
ykhung
f12c64624b Remove some debugging log to avoid print too much data out am: 13bcdba67a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15360451

Change-Id: I2200d1ac826e3d53435fc67d283084057e681bd8
2021-07-23 08:52:13 +00:00
ykhung
13bcdba67a Remove some debugging log to avoid print too much data out
Fixes: 194251993
Fixes: 194021631
Test: make SettingsRoboTests
Change-Id: Ibd1c7ce9d664820b2975039582a1ea5fb18b0be1
2021-07-23 02:52:14 +00:00
YUKAI HUNG
9d2048ab5b Merge "Include new "dex2oat64" process to map into App Optimization name" into sc-dev 2021-07-21 13:06:50 +00:00
ykhung
512fcfc73b Enhance battery usage refresh content log for performance testing
Fixes: 194021631
Test: make SettingsRoboTests
Change-Id: If013befb7a9aaf590762cec10035269e66588ab7
(cherry picked from commit 8c4f097592)
2021-07-21 09:41:19 +00:00
ykhung
26af50c21e Include new "dex2oat64" process to map into App Optimization name
Bug: 191991503
Test: make SettingsRoboTests
Change-Id: Ib392ed3adf7fe37fdaf73076dd1c3cd8361468eb
(cherry picked from commit d76c12f69c)
2021-07-21 09:39:12 +00:00
ykhung
8c4f097592 Enhance battery usage refresh content log for performance testing
Fixes: 194021631
Test: make SettingsRoboTests
Change-Id: If013befb7a9aaf590762cec10035269e66588ab7
2021-07-19 04:58:10 +00:00
ykhung
d76c12f69c Include new "dex2oat64" process to map into App Optimization name
Bug: 191991503
Test: make SettingsRoboTests
Change-Id: Ib392ed3adf7fe37fdaf73076dd1c3cd8361468eb
2021-07-09 00:19:31 +08:00
ykhung
70304cff07 Add new method to get URI to monitor battery history data is updated
we will reload the database battery history data if its content is changed, which can be done through monitored the database content observer (a part of this patch cl/383366685)

Bug: 192613268
Test: make SettingsRoboTests
Change-Id: I24ab154b1dfa00ca4bf4e6f7b308f5061578bcb5
2021-07-07 16:22:37 +00:00
Tiffany Nguyen
f9416e6a40 Log Battery Saver states.
Test: Unit test
Bug: 189914747

Change-Id: Ib815e60a52ec549df2ab2b90df29bca1eeeef339
2021-06-28 11:22:20 +00:00
Wesley.CW Wang
273a7d96a3 Remove unnecessary converting us to ms
- Pick from pagit/1951738
 - The class "Estimate" has the menber estimateMillis and the unit of batteryUsageStats.getBatteryTimeRemainingMs() is millisecond, so converting from us to ms is unnecessary.

Bug: 187379252
Bug: 184916537
Test: make RunSettingsRoboTests
Change-Id: I2e8e03451352d7ad4cd44f72d5261dad35a81eb9
2021-06-24 11:41:53 +00:00
ykhung
e322f02b18 Remove legacy MIN_POWER_THRESHOLD_MILLI_AMP_HOURS threshold value
in the new design, we should store all data into the databae for showing
the battery history, we should not filter the items first from the
consumed battery value threshold

Bug: 191468827
Test: make SettingsRoboTests
Change-Id: I19d971fc5cdcc40af1693dc8ba2c78586da22d49
2021-06-21 16:43:18 +08:00
Edgar Wang
fce6e1772a Merge "Tweak SeekBarPreference to folow new Settings UX design" into sc-dev 2021-06-16 07:54:47 +00:00
Edgar Wang
1e3c0115a5 Tweak SeekBarPreference to folow new Settings UX design
Bug: 186068091
Test: visual verify
Change-Id: I2cd7f57a75f8512080e9b5e891c27db6297b0729
2021-06-16 03:47:36 +08:00
TreeHugger Robot
153c3a1dc2 Merge "[GAR] fix spoke a percentage number is not the same as displayed content" into sc-dev 2021-06-15 09:11:18 +00:00
ykhung
64112f65fd [GAR] fix spoke a percentage number is not the same as displayed content
in the Battery Saver and Battery Share, we have customized rule to map
the seekbar progresss to another displayed percentagge value, which
cause the a11y will speak the incorrect state, since the state is
referenced the original progress value. we add a method to override it
into our cusromized value.

Bug: 187780942
Bug: 190958777
Test: make SettingsGoogleRoboTests
Change-Id: Ie630ac03e66c2f8da1df00d6d2616b2e6979aa3e
2021-06-15 08:09:17 +00:00
Wesley.CW Wang
e1b1f67681 Make App info page support new battery entry
- Add new battery entry to app info battery preference, support both
 legacy and new args, controlled by P/H
 - Add a method to check is work profile app or not, use owner context to
 query correct context for feature provider
 - Add string for new args

Bug: 178197718
Test: make RunSettingsRoboTests
Change-Id: Ic93142a0c5e2851917cb3e224340a6e3e81fd801
2021-06-11 04:41:12 +08:00
Dmitri Plotnikov
6c09370c43 Merge "Fix missing time-in-foreground and time-in-background for some apps" into sc-dev 2021-06-10 16:10:42 +00:00
Dmitri Plotnikov
1afe9c0ddc Fix missing time-in-foreground and time-in-background for some apps
The gist of the issue is that many apps have two UIDs associated
with them: a regular, "real" UID, e.g. 10123, and a shared group GID,
e.g. 50123, which is used for multiuser support.

Prior to this fix, the code in BatteryAppListPreferenceController,
would go over the list of all UidBatteryConsumers and would randomly
encounter either the "real" UID or the shared GID for each app first.
The UidBatteryConsumer for a shared GID does not have all of the
properties of the real UID, so some information, such as
time-in-foreground and time-in-background would be lost with
a high probability.

After this fix, we process "real" UIDs before shared GIDs ensuring
that time-in-* and other properties such as package names are obtained
for the real UID.  When we later encounter a shared GID for the same app,
we just add the consumed power and time-in-* durations to the real UID's
BatteryEntry.

Bug: 188656360
Test: make RunSettingsRoboTests
Test: make RunSettingsGoogleRoboTests
Change-Id: I4bfea813ac5eb8f866804b2c4a9153eb877fb325
2021-06-10 05:58:15 +00:00
YUKAI HUNG
4248531508 Merge "Resolve locale not update issues in the chart view" into sc-dev 2021-06-09 11:43:41 +00:00
ykhung
2a75186e4b Resolve locale not update issues in the chart view
- read locale from configuration rather than Locale.getDefault
- refine 12-24 format to align the current status bar short style
- resolve locale change not update chart percentage label
- extend timestamp label in the chart graph from 4 to 5 labels

Bug: 190150515
Bug: 190422902
Bug: 190226837
Test: make SettingsRoboTests
Change-Id: I5347964900123a6d112dbc37c2af87eb7d73f1d2
2021-06-09 16:11:15 +08:00
Giuliano Procida
ef0e09f7a3 Merge "Revert "Apply SettingsLib SeekBarPreference to Settings"" into sc-dev 2021-06-08 09:55:58 +00:00
Edgar Wang
cdff5c6ceb Revert "Apply SettingsLib SeekBarPreference to Settings"
Revert submission 13422386-seekbar-sc-dev

Reason for revert: build broken in SettingsGoogle
Reverted Changes:
I0c2d0d5fb:Apply SettingsLib SeekBarPreference to SettingsGoo...
I1844bb3b0:Apply SettingsLib SeekBarPreference to a11y vibrat...
Ia3e4adec8:Apply SettingsLib SeekBarPreference to a11y vibrat...
Iadee57e9d:Apply SettingsLib SeekBarPreference to a11y vibrat...
I219878716:Apply SettingsLib SeekBarPreference to Settings
I959f5672c:Create SettingsLibSeekBarPreference
I92545a69c:Apply SettingsLib SeekBarPreference to a11y vibrat...

Change-Id: Ie6c3b0dc072e044796abdb33fca305f9f9d47c4d
Bug: 176818438
2021-06-08 09:47:51 +00:00
Edgar Wang
4aad4a88a7 Merge "Apply SettingsLib SeekBarPreference to Settings" into sc-dev 2021-06-08 07:23:54 +00:00
Edgar Wang
d6b5bbb5cb Apply SettingsLib SeekBarPreference to Settings
Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
2021-06-07 18:09:19 +00:00
Wesley.CW Wang
6f650b11fb Update string reference
Bug: 189842579
Bug: 189899895
Test: make RunSettingsRoboTests
Change-Id: I545f85226fcd184aa7e2af84734943173a869693
2021-06-04 02:29:05 +00:00
Wesley Wang
bb2f72b672 Merge "Add description to battery settings footer link (2/3)" into sc-dev 2021-05-31 05:42:37 +00:00