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
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
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
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
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
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
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
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)
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
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
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
- 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
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
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
- 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
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
- 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