Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3e8b561 authored by Stefan Niedermann's avatar Stefan Niedermann
Browse files

Fix WorkManager cancellation

parent 6e7fca6e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -274,6 +274,10 @@ abstract class AbstractNotesDatabase extends SQLiteOpenHelper {
            db.execSQL("ALTER TABLE " + table_accounts + " ADD COLUMN " + key_text_color + " VARCHAR(6) NOT NULL DEFAULT '0082C9'");
            CapabilitiesWorker.update(context);
        }

        // TODO next db upgrade
//        WorkManager.getInstance(context.getApplicationContext()).cancelUniqueWork("it.niedermann.owncloud.notes.persistence.SyncWorker");
//        WorkManager.getInstance(context.getApplicationContext()).cancelUniqueWork("SyncWorker");
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -65,6 +65,6 @@ public class CapabilitiesWorker extends Worker {

    private static void deregister(@NonNull Context context) {
        Log.i(TAG, "Deregistering all workers with tag \"" + WORKER_TAG + "\"");
        WorkManager.getInstance(context.getApplicationContext()).cancelAllWorkByTag(WORKER_TAG);
        WorkManager.getInstance(context.getApplicationContext()).cancelUniqueWork(WORKER_TAG);
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -67,13 +67,13 @@ public class SyncWorker extends Worker {
            }
            PeriodicWorkRequest work = new PeriodicWorkRequest.Builder(SyncWorker.class, repeatInterval, unit)
                    .setConstraints(constraints).build();
            WorkManager.getInstance(context.getApplicationContext()).enqueueUniquePeriodicWork(TAG, ExistingPeriodicWorkPolicy.REPLACE, work);
            WorkManager.getInstance(context.getApplicationContext()).enqueueUniquePeriodicWork(WORKER_TAG, ExistingPeriodicWorkPolicy.REPLACE, work);
            Log.i(TAG, "Registering worker running each " + repeatInterval + " " + unit);
        }
    }

    private static void deregister(@NonNull Context context) {
        Log.i(TAG, "Deregistering all workers with tag \"" + WORKER_TAG + "\"");
        WorkManager.getInstance(context.getApplicationContext()).cancelAllWorkByTag(WORKER_TAG);
        WorkManager.getInstance(context.getApplicationContext()).cancelUniqueWork(WORKER_TAG);
    }
}