From 3785aecc2672f2a96759d76ba7d3480e27b54130 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 24 Apr 2018 13:41:37 +0200 Subject: [PATCH 01/11] UpdateService: use data URI rather than custom extra Just proper Android style. --- app/src/main/java/org/fdroid/fdroid/UpdateService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index 563bfd405..2b06fb2b6 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -30,6 +30,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Handler; @@ -68,7 +69,6 @@ public class UpdateService extends IntentService { public static final String EXTRA_MESSAGE = "msg"; public static final String EXTRA_REPO_ERRORS = "repoErrors"; public static final String EXTRA_STATUS_CODE = "status"; - public static final String EXTRA_ADDRESS = "address"; public static final String EXTRA_MANUAL_UPDATE = "manualUpdate"; public static final String EXTRA_FORCED_UPDATE = "forcedUpdate"; public static final String EXTRA_PROGRESS = "progress"; @@ -104,7 +104,7 @@ public class UpdateService extends IntentService { Intent intent = new Intent(context, UpdateService.class); intent.putExtra(EXTRA_MANUAL_UPDATE, true); if (!TextUtils.isEmpty(address)) { - intent.putExtra(EXTRA_ADDRESS, address); + intent.setData(Uri.parse(address)); } context.startService(intent); } @@ -376,7 +376,7 @@ public class UpdateService extends IntentService { boolean forcedUpdate = false; String address = null; if (intent != null) { - address = intent.getStringExtra(EXTRA_ADDRESS); // TODO switch to Intent.setData() + address = intent.getDataString(); manualUpdate = intent.getBooleanExtra(EXTRA_MANUAL_UPDATE, false); forcedUpdate = intent.getBooleanExtra(EXTRA_FORCED_UPDATE, false); } From fe260d931c7e005d98dd42f631fd535eba00e771 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 24 Apr 2018 16:53:05 +0200 Subject: [PATCH 02/11] use JobIntentService for CleanCache, DeleteCache, Installer, InstalledApp This should ensure that these jobs complete before sleep, and also, they should work more reliably with the new Android 8.0 background restrictions. https://developer.android.com/reference/android/support/v4/app/JobIntentService.html #1426 --- app/src/main/AndroidManifest.xml | 5 +++ .../org/fdroid/fdroid/CleanCacheService.java | 17 ++++----- .../org/fdroid/fdroid/DeleteCacheService.java | 18 ++++------ .../data/InstalledAppProviderService.java | 24 ++++++------- .../fdroid/installer/InstallerService.java | 35 +++++++++---------- 5 files changed, 44 insertions(+), 55 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b6b1fdaff..0bf7d64ca 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,6 +46,7 @@ +