Prevent crash

pull/160/head
M66B 5 years ago
parent f544f485a8
commit d99f19f2b6

@ -166,21 +166,30 @@ public class WorkerCleanup extends Worker {
} }
static void queue(Context context) { static void queue(Context context) {
Log.i("Queuing " + getName() + " every " + CLEANUP_INTERVAL + " hours"); try {
Log.i("Queuing " + getName() + " every " + CLEANUP_INTERVAL + " hours");
PeriodicWorkRequest workRequest =
new PeriodicWorkRequest.Builder(WorkerCleanup.class, CLEANUP_INTERVAL, TimeUnit.HOURS) PeriodicWorkRequest workRequest =
.build(); new PeriodicWorkRequest.Builder(WorkerCleanup.class, CLEANUP_INTERVAL, TimeUnit.HOURS)
WorkManager.getInstance(context) .build();
.enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest); WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest);
Log.i("Queued " + getName());
Log.i("Queued " + getName());
} catch (IllegalStateException ex) {
// https://issuetracker.google.com/issues/138465476
Log.w(ex);
}
} }
static void cancel(Context context) { static void cancel(Context context) {
Log.i("Cancelling " + getName()); try {
WorkManager.getInstance(context).cancelUniqueWork(getName()); Log.i("Cancelling " + getName());
Log.i("Cancelled " + getName()); WorkManager.getInstance(context).cancelUniqueWork(getName());
Log.i("Cancelled " + getName());
} catch (IllegalStateException ex) {
Log.w(ex);
}
} }
private static String getName() { private static String getName() {

@ -47,23 +47,28 @@ public class WorkerPoll extends Worker {
} }
static void init(Context context) { static void init(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); try {
boolean enabled = prefs.getBoolean("enabled", true); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
int pollInterval = prefs.getInt("poll_interval", 0); boolean enabled = prefs.getBoolean("enabled", true);
if (enabled && pollInterval > 0) { int pollInterval = prefs.getInt("poll_interval", 0);
Log.i("Queuing " + getName() + " every " + pollInterval + " minutes"); if (enabled && pollInterval > 0) {
Log.i("Queuing " + getName() + " every " + pollInterval + " minutes");
PeriodicWorkRequest workRequest = PeriodicWorkRequest workRequest =
new PeriodicWorkRequest.Builder(WorkerPoll.class, pollInterval, TimeUnit.MINUTES) new PeriodicWorkRequest.Builder(WorkerPoll.class, pollInterval, TimeUnit.MINUTES)
.build(); .build();
WorkManager.getInstance(context) WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest); .enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest);
Log.i("Queued " + getName()); Log.i("Queued " + getName());
} else { } else {
Log.i("Cancelling " + getName()); Log.i("Cancelling " + getName());
WorkManager.getInstance(context).cancelUniqueWork(getName()); WorkManager.getInstance(context).cancelUniqueWork(getName());
Log.i("Cancelled " + getName()); Log.i("Cancelled " + getName());
}
} catch (IllegalStateException ex) {
// https://issuetracker.google.com/issues/138465476
Log.w(ex);
} }
} }

@ -49,22 +49,27 @@ public class WorkerWatchdog extends Worker {
} }
static void init(Context context) { static void init(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); try {
boolean watchdog = prefs.getBoolean("watchdog", true); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (watchdog) { boolean watchdog = prefs.getBoolean("watchdog", true);
Log.i("Queuing " + getName() + " every " + WATCHDOG_INTERVAL + " minutes"); if (watchdog) {
Log.i("Queuing " + getName() + " every " + WATCHDOG_INTERVAL + " minutes");
PeriodicWorkRequest workRequest = PeriodicWorkRequest workRequest =
new PeriodicWorkRequest.Builder(WorkerWatchdog.class, WATCHDOG_INTERVAL, TimeUnit.MINUTES) new PeriodicWorkRequest.Builder(WorkerWatchdog.class, WATCHDOG_INTERVAL, TimeUnit.MINUTES)
.build(); .build();
WorkManager.getInstance(context) WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest); .enqueueUniquePeriodicWork(getName(), ExistingPeriodicWorkPolicy.REPLACE, workRequest);
Log.i("Queued " + getName()); Log.i("Queued " + getName());
} else { } else {
Log.i("Cancelling " + getName()); Log.i("Cancelling " + getName());
WorkManager.getInstance(context).cancelUniqueWork(getName()); WorkManager.getInstance(context).cancelUniqueWork(getName());
Log.i("Cancelled " + getName()); Log.i("Cancelled " + getName());
}
} catch (IllegalStateException ex) {
// https://issuetracker.google.com/issues/138465476
Log.w(ex);
} }
} }

Loading…
Cancel
Save