This cl adds all the info that need to be logged to Anomaly and add a
dump method for log.
Bug: 63776178
Test: RunSettingsRoboTests
Change-Id: If762bfca725fee07944ffa23998332c81335a37f
This cl detects bt anomaly by using
BluetoothUnoptimizedScanBackgroundTimer. It will report anomaly
if total duration is longer than threshold.
Future cl will hook up the threshold to server side.
Bug: 36921532
Test: RunSettingsRoboTests
Change-Id: I5d6a42b2d2c4fec94387ca59ba8e6a2f3346d047
This cl refactor it so:
1. AnomayLoader could create its own BatteryStatsHelper if needed.
2. AnomalyDetector could detect the anomaly with a target package name
3. Remove FeatureProvider in AnomalyLoader and use
AnomalyDetectionPolicy instead
With this cl, we could add anomaly detection to battery usage page
more easily.
Bug: 36924669
Test: RunSettingsRoboTests
Change-Id: I1ee09701de8b5c8855f44e447813760285794c89
This cl adds isAnomalyDetectorEnabled(type), which decides whether
to turn on specific check with that type.
Added method is used in AnomalyLoader.
Bug: 36924669
Test: RunSettingsRoboTests
Change-Id: I71c6acb1c58c24453a1936c5c36f59fe4e86cfd4
This cl detects whether apps hold wakelock for long time.
For now we use the following attribute:
1. Longest total duration time among all the wakelocks
for one app.
Following cl will:
1. Get threshold from server side.
2. Add more attributes to make the detection more robust.
Bug: 36925184
Test: RunSettingsRoboTests
Change-Id: I1946faf69c363f6aa823d0005d6e03bc9082c085
This cl adds the following components for anomaly dection:
1. AnomalyLoader: run all the anomaly checks in the background
2. Anomaly: Data class to represent what anomaly it is
3. Detector: Different kinds of anomaly detector with common interface
4. Action: Suggestions when facing anomaly(Force stop, uninstall)
5. AnomalyDialogFragment: show the confirm dialog for action
6. AnomalyPreferenceController: handle update and click for
anomalyPreference, since it will be used in multiple fragments.
7. AnomalyUtils: utility class for anomaly
This cl also adds skeleton for the wakelock check and action. Following
cls will add real implementation about it.
Bug: 36924669
Test: RunSettingsRoboTests
Change-Id: I89fc4b6963757869b93791b4275ca53c04ab9604