mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-24 02:09:35 +00:00
Move directory refresh from a service over to a job.
// FREEBIE
This commit is contained in:
46
src/org/thoughtcrime/securesms/jobs/DirectoryRefreshJob.java
Normal file
46
src/org/thoughtcrime/securesms/jobs/DirectoryRefreshJob.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package org.thoughtcrime.securesms.jobs;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.PowerManager;
|
||||
|
||||
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
||||
import org.whispersystems.jobqueue.JobParameters;
|
||||
import org.whispersystems.jobqueue.requirements.NetworkRequirement;
|
||||
import org.whispersystems.textsecure.api.push.exceptions.PushNetworkException;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class DirectoryRefreshJob extends ContextJob {
|
||||
|
||||
public DirectoryRefreshJob(Context context) {
|
||||
super(context, JobParameters.newBuilder()
|
||||
.withGroupId(DirectoryRefreshJob.class.getSimpleName())
|
||||
.withRequirement(new NetworkRequirement(context))
|
||||
.create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdded() {}
|
||||
|
||||
@Override
|
||||
public void onRun() throws IOException {
|
||||
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
||||
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Directory Refresh");
|
||||
|
||||
try {
|
||||
wakeLock.acquire();
|
||||
DirectoryHelper.refreshDirectory(context);
|
||||
} finally {
|
||||
if (wakeLock.isHeld()) wakeLock.release();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onShouldRetry(Exception exception) {
|
||||
if (exception instanceof PushNetworkException) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCanceled() {}
|
||||
}
|
||||
Reference in New Issue
Block a user