From c21afb27bd716ee64bf68c9f6504c9512fbb08a9 Mon Sep 17 00:00:00 2001 From: map-per Date: Wed, 5 Nov 2025 18:02:05 +0100 Subject: [PATCH] [editor] Higher priority for OSM upload on Android 12 and higher Signed-off-by: map-per --- .../java/app/organicmaps/background/OsmUploadWork.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/app/organicmaps/background/OsmUploadWork.java b/android/app/src/main/java/app/organicmaps/background/OsmUploadWork.java index cd4945903..7be2eb16d 100644 --- a/android/app/src/main/java/app/organicmaps/background/OsmUploadWork.java +++ b/android/app/src/main/java/app/organicmaps/background/OsmUploadWork.java @@ -1,11 +1,13 @@ package app.organicmaps.background; import android.content.Context; +import android.os.Build; import androidx.annotation.NonNull; import androidx.work.Constraints; import androidx.work.ExistingWorkPolicy; import androidx.work.NetworkType; import androidx.work.OneTimeWorkRequest; +import androidx.work.OutOfQuotaPolicy; import androidx.work.WorkManager; import androidx.work.Worker; import androidx.work.WorkerParameters; @@ -35,7 +37,11 @@ public class OsmUploadWork extends Worker if (Editor.nativeHasSomethingToUpload() && OsmOAuth.isAuthorized()) { final Constraints c = new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build(); - final OneTimeWorkRequest wr = new OneTimeWorkRequest.Builder(OsmUploadWork.class).setConstraints(c).build(); + OneTimeWorkRequest.Builder builder = new OneTimeWorkRequest.Builder(OsmUploadWork.class).setConstraints(c); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + builder.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST); + } + final OneTimeWorkRequest wr = builder.build(); WorkManager.getInstance(context).beginUniqueWork("UploadOsmChanges", ExistingWorkPolicy.KEEP, wr).enqueue(); } }