This is to log the reasons for restriction level change and force stop
Bug: 333882527
Test: statsd_testdrive 863
Toggle battery restrictions manually for an app and verify logging
of reason
atest BatteryOptimizeUtilsTest
Change-Id: Ifcc99efc1b6acc5a992f7d952967210b07319f2e
Clean up the legacy anomaly detection mechanism in the Settings, which is implemented in the 2017-2018. The will be replaced by the new anomaly detection mechanism.
Bug: n/a
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: I12ee6c8b3cbdb5073e4d46f18b90f8de228be8a8
Context: work profile apps needs to pass userId to packageManager to get the uid.
Fixed screenshot: https://screenshot.googleplex.com/AkXfMWvmREyQJvv
Bug: 315477872
Fix: 315477872
Test: manual
Change-Id: I96eb42ef6ce27f15415f0e1fc32060d69b3fab2d
After this CL, we can follow Guideline:go/hc-mainline-dev#format-code to keep java format consistent.
Test: manual
Bug: 304439460
Change-Id: I5bb77f81b0bd9be618e34942eaaee8296bc42796
Context: some special packages have uid but 0. Those packages should not
be part of uninstalled apps.
Test: manual
Bug: 264339271
Fix: 264339271
Change-Id: I86874691b0a837335c2e5352d1d0c6be8df8a2e4
PowerUsageFeatureProviderImpl is created by using application context,
no need pass context in when get.
Bug: 286764889
Test: m Settings
Change-Id: Iec81e98648fcb2f6a20978ef4ce164e1af50a804
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
OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS details:
* An app with this appop will be made exempt from all
power restrictions, including app standby and doze.
* In addition, the app will be able to start fgs from
the bg, and the user will not be able to stop fgs
run by the app.
Changes:
* Implement the OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS
Bug: 246330879
Test: atest PowerAllowlistBackendTest
Manual testing:
- Give OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS appop to TestDPC app
- Verify the app can start fg services from the bg
- Verify fgs started by the app cannot be stopped
- Verify the app cannot be put into background restricted via Settings
Change-Id: If9e76076c59195f1e6e5f3eee3c8e7a0c754d8de
Replace the current getBatteryIntent() in the Settings into the
centralized method in the SettingsLib
Bug: N/A
Test: presubmit
Change-Id: If27d01c4ff52259e0185ca5d16ac88ca1bebac82
This is to meet the Guidelines for Logging Package Names: go/package-name-logging-guidance
Bug: 267430574
Fix: 267430574
Test: presubmit
Change-Id: Icf10000f5dcf87e45175d4005af8365191ad444d
Don't show the aggregated other user entry in the app usage list to keep
consistent with screen-on time data.
Bug: 260964903
Test: make RunSettingsRoboTests
Change-Id: Id611e7222602f5ad2ea0fe27fb3f9f62fed31ff9
1. Remove the dock defender v1 code
2. Add dock defender battery tips and update
corresponding list item string
Bug:256523472
Test: Unit test passed and manual test on device
Change-Id: Ib6c09df056744142f42f5e2a13252b58e54c7534
Signed-off-by: Zhenwei Chen <zhenwec@google.com>
This patch only updates the existing fields.
There will be 2 following patches to:
1. Expose the new fields (foreground / foreground service / background x
usage time / power consumption) to UI.
2. Get the full charge cycle start time from Database and remove the
SharedPreference.
Test: make RunSettingsRoboTests + manual
Bug: 253553141
Change-Id: Iee02dc7e671f97899cb1495323acfa0173e31df2
When there are multiple accounts in the devices, the battery usage list
is shared in the current design. We will aggregate other users usage
data into a single item to support multi-user privacy requirements
Screenshot: https://screenshot.googleplex.com/AkFTUtNvnoxcuGR
Bug: 202119550
Test: make RunSettingsRoboTests
Change-Id: I6cb55f0d50a4caca83212a0a54410530a032c089
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
invoke close() method for BatteryUsageStats to close cursor window,
since BatteryUsageStats will implement "Closeable" interface in T.
(from Dimitri's request)
Bug: 201229421
Test: make SettingsRoboTests
Change-Id: Ibfca404d00cce51405cffddb636f685869ac130b
Refine the original workaround patch in the ag/15527095 from NPE to
return default BatteryUsageStats instance as we merged in the
ag/15919139 (align the same solution).
Bug: 195306545
Test: make SettingsRoboTests
Change-Id: Ic03e8296d16ecb8629155f75727e9cde48c303eb
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
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
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
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryInfoTest
Test: manual
Change-Id: If7c1092c1b7e5f74f8907ffe0248eccf3535ac0c
Bug: 173745486
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryHistoryPreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryInfoLoaderTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryInfoTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.batterytip.detectors
Change-Id: I469ff8b88aa3307422c02f51943df4ef1759db56
- Reupload CL from ag/13108999 to fix the merge conflict
- Adding new tips of Battery Defender, will be presented once battery is overheated
- Launch Help Center article of battery overheat when clicking Battery Defender tip
Screenshots: https://screenshot.googleplex.com/7jUibTJANgR6UQ6.pnghttps://screenshot.googleplex.com/tUj2LLi87SfndBN.png
Bug: 172794045
Bug: 173497281
Bug: 173496188
Test: make RunSettingsRoboTests -j40
Change-Id: Ibb106a5d42cdf6232abf9ddf4b3225bdcebccf4a
1. In High usage dialog, show top apps based on battery usage, not app
time.
2. Refactor the check for hidden system modules into ShouldHideSipper,
however don't smear it, this is also the current logic before this CL.
Bug: 133445008
Test: RunSettingsRoboTests
Change-Id: I851a1c9ef9b79a934ba0501cd96001f2e450bda4
There was an infinite loop that could occur in BatterySaverUtils
what was caused by battery saver utils updating the battery estimate
which then told the page to check for an estimate and then it would
repeat from there. This cleans up the logic in that loop slightly
to prevent it from refreshing more than is necessary.
Test: atest BatteryUtilsTest
Bug: 132751712
Change-Id: I918484747ecd9735315570ad608489e0f61d7578
To try and ensure SysUI and Settings don't show different battery
estimates we have settings always push the estimate to the system
cache which will cause the status bar to update as well.
Test: manually trigger battery broadcasts and observe
Bug: 124030091
Change-Id: I07a17ecf2a42c3022673ad2aca438f8d6e81b41f
This will make the upcoming consistency Cl easier to implement.
Test: Robotests still pass
Bug: 124030091
Change-Id: Ief4989e2b5f9b83b5c3b93d17f9f9fa12136f3ee
When enhanced estimation is enabled, it may still have malfunction
when getting data from it. This CL handles this case and fall back
to default estimation.
Change-Id: Id8d75b07316afa8a73a302b49dc7f8e8b77d4fa4
Fixes: 121213171
Test: RunSettingsRoboTests
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
1. Insert/Update/Query/Delete
2. Update the action when app been restricted
3. Display restriction time in RestrictedAppDetails
Bug: 111366678
Test: RunSettingsRoboTests
Change-Id: I77a53f70e1ce4b612aabe28b7a1bb5df8f3ec9d5
If an app been set default SMS/PHONE app, we need to unrestrict this
app. This CL extract a common function and invoke it when necessary.
Change-Id: Id29c5138438aa6f6f22cdd9c4ecf336de8481782
Fixes: 80305978
Test: robotests