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
PowerUsageFeatureProviderImpl is created by using application context,
no need pass context in when get.
Bug: 286764889
Test: m Settings
Change-Id: Iec81e98648fcb2f6a20978ef4ce164e1af50a804
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
We did it for general anomaly however not the whitelisted one. This
CL fixes it.
Change-Id: I6603ffbaf1d097b360c86406ae0675bfe8a20410
Fixes: 109804858
Test: RunSettingsRoboTests
Before this CL, we will drop log for excessive bg anomaly that
target O or higher. This CL doesn't drop it however merge it to
ACTION_ANOMALY_IGNORED
Bug: 79944380
Test: RunSettingsRoboTests
Change-Id: I46d0bdb1191d8843ba373e59afb1b0ba16057661
Even though onStopJob is called, the service may still exist, so
we need to reset the mIsJobCanceled in onStartJob
Also remove the batteryStats since we don't need it anymore.
Change-Id: I6d48efecb750ad4e464569cac426d87014a8db90
Fixes: 77968649
Test: RunSettingsRoboTests
We don't need it anymore because we don't auto restrict this
anomaly.
Bug: 79210436
Test: robo test still pass
Change-Id: I186213a57f9bf54a0e19985f2c92169c6dc0571c
If job has been stopped by any reason, we should cancel the background
thread, otherwise it will throw SecurityException when dequeuing from
JobParams.
This CL adds a lock to synchronize the method and stops dequeue work
if job has been canceled.
Change-Id: I7732b7f7d444a55a4b4ba6645cd2c16b6f840a6c
Merged-In: I7732b7f7d444a55a4b4ba6645cd2c16b6f840a6c
Fixes: 77968649
Test: RunSettingsRoboTests
If job has been stopped by any reason, we should cancel the background
thread, otherwise it will throw SecurityException when dequeuing from
JobParams.
This CL adds a lock to synchronize the method and stops dequeue work
if job has been canceled.
Change-Id: I7732b7f7d444a55a4b4ba6645cd2c16b6f840a6c
Merged-In: I7732b7f7d444a55a4b4ba6645cd2c16b6f840a6c
Fixes: 77968649
Test: RunSettingsRoboTests
1. Dismiss this tip once user clicks it and goes to detail page.
2. In auto restriction, since apps are automatically restricted,
we need to remove apps in list that unrestricted by user.
3. Refactor the code to remove the unnecessary parameter(i.e.
SettingsActivity)
Bug: 78187414
Test: RunSettingsRoboTests
Change-Id: I1c950f7c55df35795641c2ea8579ce9e011dba28
APP_STANDBY_ENABLED is controlled by server side to do experiment.
Before this CL, Adaptive Battery is hooked up to this flag, so
even though if user turns it off, it may be turned on by server.
Add a high level ADAPTIVE_BATTERY_MANAGEMENT_ENABLED to control
the feature in settings UI side.
Bug: 78153913
Test: RunSettingsRoboTests
Change-Id: I1a18d622ddc31ec4d45db918bf981516fbb926c1
In this CL, don't blame system app in anomaly detection and also
add log for it.
Following CL will update it to also check whether this system app
has launch entry.
Bug: 77477987
Test: RunSettingsRoboTests
Change-Id: I97490b32bc42ec2f8e03ec2d82f7c8bf89f9c66f
Lot of tests have been added already, this CL adds the missing tests
after robolectric upgrade.
Also add UID_NULL check in AnomalyDetectionJobService. It is almost
impossible to happen however we better catch it.
Bug: 73172999
Test: RunSettingsRoboTests
Change-Id: I950537efb166b0900393df1321ca64151b43e906
Statsd blame app based on uid, which may mapping to multiple packages.
If there is one app in whitelist, then we shouldn't blame other apps
in anomaly detection.
Change-Id: Ib546e207eb113cef9ef5fecb1138e61558e9cf55
Fixes: 77560853
Test: RunSettingsRoboTests
Statsd populates the anomaly info in StringArrayList, not StringArray. So
in settings we should use the correct API to get the data.
Bug: 77141809
Test: RunSettingsRoboTests
Change-Id: I56fc096106b5c040422fd7f5bb8cb4be7fe71d9d
When anomaly is detected, also log it in AnomalyDetectionJobService
Bug: 73888115
Test: RunSettingsRoboTests
Change-Id: I0a42f8935d9a83eb763dd1f9dedfb71301853104
Now the westworld config provides COOKIES to store private info
for each alert(anomaly). So we could use it to store:
1. AnomalyType: what is the type of anomaly
2. AutoRestriction: whether to auto restrict this anomaly
Bug: 74567790
Test: RunSettingsRoboTests
Change-Id: I15f5e225a4cb1f2da3fe109e56e5222816d179cc
Add "allow-in-power-save-except-idle" to whitelist. Also ignore
all the system uids
Bug: 74241534
Test: RunSettingsRoboTests
Change-Id: I593e558168db339f6f38c7f78ab4fd63f99b16ab
Even though we can add whitelist in config, we still need to have a
on device whitelist to reduce the size of config.
Use doze whitelist here because we already used it to detect whether
we can restrict the app in battery detail page.
Bug: 74241534
Test: RunSettingsRoboTests
Change-Id: I35b6f3eba9fbc8ae51bb02cd9d5416e4360c388e
If it is excessive bg anomaly and auto restriction is on, then
restrict the anomaly in receiver and store it in database.
Also in this cl we move the anomaly logic to a JobService, so all
works are done in a background thread and won't interfere the main
thread.
Bug: 72385333
Test: RunSettingsRoboTests &&
Will add auto restriction test once robo framework is updated(b/73172999)
Change-Id: Id0ec5fb449ce26bf19a292bcbe63838d621cfd8e