Commit Graph

44 Commits

Author SHA1 Message Date
Jun Lan
cca804e1ed Format battery java code
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
2023-11-06 13:55:48 +08:00
Chaohui Wang
36b8227073 Remove context from powerUsageFeatureProvider
PowerUsageFeatureProviderImpl is created by using application context,
no need pass context in when get.

Bug: 286764889
Test: m Settings
Change-Id: Iec81e98648fcb2f6a20978ef4ce164e1af50a804
2023-07-13 09:58:54 +08:00
Edgar Wang
f480c1c3fc Update language to comply with Android's inclusive language guidance
Refactor PowerWhitelistBackend to PowerAllowlistBackend
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I3d56e6dac1515b49a89f59c34edf403ecb891420
2020-08-04 15:47:57 +08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Fan Zhang
a6c7db1888 Update logging: switch a bunch of action() logging calls.
Use generic action(int, int, int, String, int) instead of
action(Context, int, string, Pair...) when possible.

Bug: 117860032
Test: robotests
Change-Id: I5213b52b2b10d80a3c488c37718df81b3b0a428f
2018-11-13 21:50:34 -08:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
jackqdyulei
5f6837ff46 Use FIELD_ANOMALY_TYPE instead of FIELD_CONTEXT
We did it for general anomaly however not the whitelisted one. This
CL fixes it.

Change-Id: I6603ffbaf1d097b360c86406ae0675bfe8a20410
Fixes: 109804858
Test: RunSettingsRoboTests
2018-06-13 13:14:46 -07:00
Fan Zhang
7e395e1a00 Plumb context object to PowerWhitelistBackend.
Change-Id: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Fixes: 76435804
Test: robotests
2018-05-29 22:32:22 +00:00
Lei Yu
f94e2cca07 Merge "Don't drop log about excessive O anomaly." into pi-dev am: a866d6bd56
am: 7ca87fe51b

Change-Id: I1aeebb2b1c8a162390adc3667d850077eed3cc56
2018-05-18 10:46:18 -07:00
Lei Yu
1439c6179a Don't drop log about excessive O anomaly.
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
2018-05-17 16:49:11 -07:00
Lei Yu
90e7041170 Merge "Fix a bug in AnomalyDetectionJobService" into pi-dev am: b98039e263
am: 5740dd8604

Change-Id: I0b982809ccb0419b5773fb05c9b59f402dbbcbee
2018-05-10 18:26:48 -07:00
Lei Yu
a00e39365c Fix a bug in AnomalyDetectionJobService
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
2018-05-10 11:07:17 -07:00
android-build-team Robot
a75d1e41ce Merge "Don't check battery usage in excessive bg anomaly" into pi-dev am: 27f1e8e1e9
am: 5dc5fbc0d5

Change-Id: Idabb5bcca09b7617334133615e92bfce59281c18
2018-05-09 12:41:47 -07:00
android-build-team Robot
27f1e8e1e9 Merge "Don't check battery usage in excessive bg anomaly" into pi-dev 2018-05-09 17:54:30 +00:00
Lei Yu
06efc034e6 Don't check battery usage in excessive bg anomaly
We don't need it anymore because we don't auto restrict this
anomaly.

Bug: 79210436
Test: robo test still pass
Change-Id: I186213a57f9bf54a0e19985f2c92169c6dc0571c
2018-05-08 16:29:25 -07:00
Lei Yu
db5c1cef71 Merge "Fix crash in anomaly job service" into pi-dev 2018-05-08 22:52:59 +00:00
Lei Yu
162c81e1d5 Fix crash in anomaly job service
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
2018-05-07 15:19:28 -07:00
TreeHugger Robot
8f73818b03 Merge "Fix crash in anomaly job service" 2018-04-27 03:57:57 +00:00
Lei Yu
aff80459f2 Merge "Hook up Adaptive Battery to new flag." into pi-dev am: d2e9b56996
am: 59ba07c2da

Change-Id: I875f0264133f8358b4f85ccba18b672c0a05015f
2018-04-26 15:39:01 -07:00
Lei Yu
1c95856977 Fix crash in anomaly job service
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
2018-04-26 15:23:33 -07:00
Lei Yu
d2e9b56996 Merge "Hook up Adaptive Battery to new flag." into pi-dev 2018-04-26 22:07:53 +00:00
Lei Yu
fca1b345cc Merge "Fix bugs in auto restriction." into pi-dev am: f6e2c19fcc
am: a9e4d4a42a

Change-Id: If82969696eb492ea3875a0e0fb92f038024f00f9
2018-04-23 10:13:31 -07:00
Lei Yu
252d4e1fc0 Fix bugs in auto restriction.
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
2018-04-20 12:55:53 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Lei Yu
df5beee68b Hook up Adaptive Battery to new flag.
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
2018-04-19 10:46:37 -07:00
Lei Yu
63795b2f5c Log app versionCode in anomaly detection
Change-Id: Ie760a4156b14b739279aa398bd1d2b8485449e91
Fixes: 77919142
Test: RunSettingsRoboTests
2018-04-12 10:32:08 -07:00
Lei Yu
6c4c7ba0fe Add system app check for anomaly detection.
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
2018-04-11 18:02:50 -07:00
Lei Yu
fa447e698d Merge "Update field for ACTION_ANOMALY_TRIGGERED" into pi-dev 2018-04-10 17:39:08 +00:00
Lei Yu
c7b58b6997 Update field for ACTION_ANOMALY_TRIGGERED
Use new field FIELD_ANOMALY_TYPE

Bug: 75976625
Test: RunSettingsRoboTests
Change-Id: Ifb67c687d25e1e35afaadb05f2e9883e8dcf8049
2018-04-09 15:22:19 -07:00
Lei Yu
9553855af4 Add test for anomaly detection in P
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
2018-04-06 10:49:36 -07:00
Lei Yu
78e2cad8b1 Merge "Hide app if it shares uid with whitelisted app" into pi-dev 2018-04-06 17:19:19 +00:00
Lei Yu
f82d22afbb Hide app if it shares uid with whitelisted app
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
2018-04-05 15:13:07 -07:00
Lei Yu
695290b129 Update the anomaly type constants
Bug: 77323601
Test: Build
Change-Id: I0b6733edbfe12f494104f78be7087fa621191431
2018-04-05 11:13:50 -07:00
Lei Yu
d4482339d5 Update job ids in Settings
Use constant integers instead of ids

Bug: 77331929
Test: RunSettingsRoboTests
Change-Id: Ic6def54aaae4a9ba025161340f1cee210cb2e87f
2018-03-30 13:20:53 -07:00
Lei Yu
bb90c955df Get anomaly info from StringArrayList
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
2018-03-27 16:10:54 -07:00
Lei Yu
2246ea9e89 Add log for AnomalyDetectionJobService
When anomaly is detected, also log it in AnomalyDetectionJobService

Bug: 73888115
Test: RunSettingsRoboTests
Change-Id: I0a42f8935d9a83eb763dd1f9dedfb71301853104
2018-03-21 17:44:02 -07:00
Lei Yu
baf8a0cf9e Get anomalyType and autoRestriction from config
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
2018-03-20 17:50:44 -07:00
hughchen
18ce28ed33 Change BatteryUtils.isLegacyApp() to isPreOApp()
Bug: 73792442
Test: RunSettingsRoboTests
      make -j40 RunSettingsRoboTests
Change-Id: I770030a8f38ec6156aa2a40f4c88ac9e0673751d
2018-03-20 01:44:43 +00:00
Lei Yu
f4318f613d update the whitelist for anomaly detection
Add "allow-in-power-save-except-idle" to whitelist. Also ignore
all the system uids

Bug: 74241534
Test: RunSettingsRoboTests
Change-Id: I593e558168db339f6f38c7f78ab4fd63f99b16ab
2018-03-13 12:28:35 -07:00
jackqdyulei
10051afb96 Add whitelist for anomaly detection.
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
2018-03-07 13:20:36 -08:00
jackqdyulei
36249c6254 Update dabase manager to store the uid
Also update the AppInfo to store the uid

Bug: 74022362
Test: RunSettingsRoboTests
Change-Id: I373242a12e9dbf48be134f2e9be30831b09f91c9
2018-03-07 04:20:13 +00:00
jackqdyulei
457fb842eb Add special check for excessive bg anomaly
To check whether this app has battery usage more than x%

Bug: 72385333
Test: RunSettingsRoboTests
Change-Id: I87e6b01c866a053658f84ce3486120ae82963fd9
2018-02-23 10:12:05 -08:00
jackqdyulei
3ee28c810d Add auto restriction for excessive background
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
2018-02-23 10:11:34 -08:00