Merge "Fix a bug in AnomalyDetectionJobService" into pi-dev am: b98039e263

am: 5740dd8604

Change-Id: I0b982809ccb0419b5773fb05c9b59f402dbbcbee
This commit is contained in:
Lei Yu
2018-05-10 18:26:48 -07:00
committed by android-build-merger
3 changed files with 51 additions and 19 deletions

View File

@@ -73,7 +73,8 @@ public class AnomalyDetectionJobService extends JobService {
private final Object mLock = new Object();
@GuardedBy("mLock")
private boolean mIsJobCanceled = false;
@VisibleForTesting
boolean mIsJobCanceled = false;
public static void scheduleAnomalyDetection(Context context, Intent intent) {
final JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
@@ -91,6 +92,9 @@ public class AnomalyDetectionJobService extends JobService {
@Override
public boolean onStartJob(JobParameters params) {
synchronized (mLock) {
mIsJobCanceled = false;
}
ThreadUtils.postOnBackgroundThread(() -> {
final Context context = AnomalyDetectionJobService.this;
final BatteryDatabaseManager batteryDatabaseManager =
@@ -98,18 +102,15 @@ public class AnomalyDetectionJobService extends JobService {
final BatteryTipPolicy policy = new BatteryTipPolicy(this);
final BatteryUtils batteryUtils = BatteryUtils.getInstance(this);
final ContentResolver contentResolver = getContentResolver();
final BatteryStatsHelper batteryStatsHelper = new BatteryStatsHelper(this,
true /* collectBatteryBroadcast */);
final UserManager userManager = getSystemService(UserManager.class);
final PowerWhitelistBackend powerWhitelistBackend = PowerWhitelistBackend.getInstance();
final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory
.getFactory(this).getPowerUsageFeatureProvider(this);
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory
.getFactory(this).getMetricsFeatureProvider();
batteryUtils.initBatteryStatsHelper(batteryStatsHelper, null /* bundle */, userManager);
for (JobWorkItem item = dequeueWork(params); item != null; item = dequeueWork(params)) {
saveAnomalyToDatabase(context, batteryStatsHelper, userManager,
saveAnomalyToDatabase(context, userManager,
batteryDatabaseManager, batteryUtils, policy, powerWhitelistBackend,
contentResolver, powerUsageFeatureProvider, metricsFeatureProvider,
item.getIntent().getExtras());
@@ -130,8 +131,7 @@ public class AnomalyDetectionJobService extends JobService {
}
@VisibleForTesting
void saveAnomalyToDatabase(Context context, BatteryStatsHelper batteryStatsHelper,
UserManager userManager,
void saveAnomalyToDatabase(Context context, UserManager userManager,
BatteryDatabaseManager databaseManager, BatteryUtils batteryUtils,
BatteryTipPolicy policy, PowerWhitelistBackend powerWhitelistBackend,
ContentResolver contentResolver, PowerUsageFeatureProvider powerUsageFeatureProvider,