From 690888547af30bb18809505dd22eb6d76641c711 Mon Sep 17 00:00:00 2001 From: Songchun Fan Date: Wed, 29 Jul 2020 12:55:11 -0700 Subject: [PATCH] [SettingsProvider] fix WriteFallbackSettingsFilesJobService holding wakelock onStartJob() should return false otherwise the job service will hold a long wakelock until it times out. writeFallBackSettingsFiles() is blocking, so when it returns we should finish the job. BUG: 162438758 Test: manual Change-Id: I3bfbcf5a7b21f142fd00130e1a57232bc02aedb6 --- .../WriteFallbackSettingsFilesJobService.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/WriteFallbackSettingsFilesJobService.java b/packages/SettingsProvider/src/com/android/providers/settings/WriteFallbackSettingsFilesJobService.java index 6e5b8890438d1..66aa7baa3b51b 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/WriteFallbackSettingsFilesJobService.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/WriteFallbackSettingsFilesJobService.java @@ -35,19 +35,17 @@ import java.util.List; public class WriteFallbackSettingsFilesJobService extends JobService { @Override public boolean onStartJob(final JobParameters params) { - switch (params.getJobId()) { - case WRITE_FALLBACK_SETTINGS_FILES_JOB_ID: - final List settingsFiles = new ArrayList<>(); - settingsFiles.add(params.getExtras().getString(TABLE_GLOBAL, "")); - settingsFiles.add(params.getExtras().getString(TABLE_SYSTEM, "")); - settingsFiles.add(params.getExtras().getString(TABLE_SECURE, "")); - settingsFiles.add(params.getExtras().getString(TABLE_SSAID, "")); - settingsFiles.add(params.getExtras().getString(TABLE_CONFIG, "")); - SettingsProvider.writeFallBackSettingsFiles(settingsFiles); - return true; - default: - return false; + if (params.getJobId() != WRITE_FALLBACK_SETTINGS_FILES_JOB_ID) { + return false; } + final List settingsFiles = new ArrayList<>(); + settingsFiles.add(params.getExtras().getString(TABLE_GLOBAL, "")); + settingsFiles.add(params.getExtras().getString(TABLE_SYSTEM, "")); + settingsFiles.add(params.getExtras().getString(TABLE_SECURE, "")); + settingsFiles.add(params.getExtras().getString(TABLE_SSAID, "")); + settingsFiles.add(params.getExtras().getString(TABLE_CONFIG, "")); + SettingsProvider.writeFallBackSettingsFiles(settingsFiles); + return false; } @Override