Threema 3 anni fa
parent
commit
479a9e24e0

+ 2 - 2
app/build.gradle

@@ -13,7 +13,7 @@ if (getGradle().getStartParameter().getTaskRequests().toString().contains("Hms")
 }
 
 // version codes
-def app_version = "5.0.2"
+def app_version = "5.0.2.1"
 def beta_suffix = "" // with leading dash
 
 /**
@@ -92,7 +92,7 @@ android {
         vectorDrawables.useSupportLibrary = true
         applicationId "ch.threema.app"
         testApplicationId 'ch.threema.app.test'
-        versionCode 779
+        versionCode 781
         versionName "${app_version}${beta_suffix}"
         resValue "string", "app_name", "Threema"
         // package name used for sync adapter - needs to match mime types below

+ 5 - 5
app/src/main/java/ch/threema/app/ThreemaApplication.java

@@ -1172,12 +1172,12 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 
 		try {
 			WorkManager workManager = WorkManager.getInstance(context);
+			ExistingPeriodicWorkPolicy policy = WorkManagerUtil.shouldScheduleNewWorkManagerInstance(workManager, WORKER_PERIODIC_WORK_SYNC, schedulePeriodMs) ?
+				ExistingPeriodicWorkPolicy.REPLACE :
+				ExistingPeriodicWorkPolicy.KEEP;
+			logger.info("{}: {} existing periodic work", WORKER_PERIODIC_WORK_SYNC, policy);
 			PeriodicWorkRequest workRequest = WorkSyncWorker.Companion.buildPeriodicWorkRequest(schedulePeriodMs);
-			workManager.enqueueUniquePeriodicWork(WORKER_PERIODIC_WORK_SYNC,
-				WorkManagerUtil.shouldScheduleNewWorkManagerInstance(workManager, WORKER_PERIODIC_WORK_SYNC, schedulePeriodMs) ?
-					ExistingPeriodicWorkPolicy.REPLACE :
-					ExistingPeriodicWorkPolicy.KEEP,
-				workRequest);
+			workManager.enqueueUniquePeriodicWork(WORKER_PERIODIC_WORK_SYNC, policy, workRequest);
 		} catch (IllegalStateException e) {
 			logger.error("Unable to schedule periodic work sync work", e);
 			return false;

+ 9 - 8
app/src/main/java/ch/threema/app/workers/WorkSyncWorker.kt

@@ -84,17 +84,18 @@ class WorkSyncWorker(private val context: Context, workerParameters: WorkerParam
 
         fun buildPeriodicWorkRequest(schedulePeriodMs: Long): PeriodicWorkRequest {
             val data = Data.Builder()
-                    .putBoolean(EXTRA_REFRESH_RESTRICTIONS_ONLY, false)
-                    .putBoolean(EXTRA_FORCE_UPDATE, false)
-                    .build()
+                .putBoolean(EXTRA_REFRESH_RESTRICTIONS_ONLY, false)
+                .putBoolean(EXTRA_FORCE_UPDATE, false)
+                .build()
             val constraints = Constraints.Builder()
-                    .setRequiredNetworkType(NetworkType.CONNECTED)
-                    .build()
+                .setRequiredNetworkType(NetworkType.CONNECTED)
+                .build()
 
             return PeriodicWorkRequestBuilder<WorkSyncWorker>(schedulePeriodMs, TimeUnit.MILLISECONDS)
-                    .setConstraints(constraints)
-                    .apply { setInputData(data) }
-                    .build()
+                .setConstraints(constraints)
+                .addTag(schedulePeriodMs.toString())
+                .apply { setInputData(data) }
+                .build()
         }
     }