Keep retrying message sends for 24 hours.

Previously, we retried based on a count. Now we've added the ability to
keep retrying for a specified time, using exponential backoff to
throttle attempts.
This commit is contained in:
Greyson Parrelli
2018-06-19 19:22:39 -07:00
parent cddb8082f4
commit a50edc3d25
18 changed files with 228 additions and 44 deletions

View File

@@ -4,9 +4,10 @@ import android.content.Context;
import org.thoughtcrime.securesms.jobmanager.dependencies.ContextDependent;
import org.thoughtcrime.securesms.jobmanager.requirements.Requirement;
import org.thoughtcrime.securesms.jobmanager.requirements.SimpleRequirement;
import org.thoughtcrime.securesms.service.KeyCachingService;
public class MasterSecretRequirement implements Requirement, ContextDependent {
public class MasterSecretRequirement extends SimpleRequirement implements ContextDependent {
private transient Context context;

View File

@@ -5,8 +5,9 @@ import android.content.Context;
import org.thoughtcrime.securesms.jobmanager.dependencies.ContextDependent;
import org.thoughtcrime.securesms.jobmanager.requirements.NetworkRequirement;
import org.thoughtcrime.securesms.jobmanager.requirements.Requirement;
import org.thoughtcrime.securesms.jobmanager.requirements.SimpleRequirement;
public class NetworkOrServiceRequirement implements Requirement, ContextDependent {
public class NetworkOrServiceRequirement extends SimpleRequirement implements ContextDependent {
private transient Context context;

View File

@@ -4,9 +4,10 @@ import android.content.Context;
import org.thoughtcrime.securesms.jobmanager.dependencies.ContextDependent;
import org.thoughtcrime.securesms.jobmanager.requirements.Requirement;
import org.thoughtcrime.securesms.jobmanager.requirements.SimpleRequirement;
import org.thoughtcrime.securesms.sms.TelephonyServiceState;
public class ServiceRequirement implements Requirement, ContextDependent {
public class ServiceRequirement extends SimpleRequirement implements ContextDependent {
private static final String TAG = ServiceRequirement.class.getSimpleName();

View File

@@ -6,9 +6,10 @@ import android.support.annotation.NonNull;
import org.thoughtcrime.securesms.jobmanager.dependencies.ContextDependent;
import org.thoughtcrime.securesms.jobmanager.requirements.Requirement;
import org.thoughtcrime.securesms.jobmanager.requirements.SimpleRequirement;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
public class SqlCipherMigrationRequirement implements Requirement, ContextDependent {
public class SqlCipherMigrationRequirement extends SimpleRequirement implements ContextDependent {
@SuppressWarnings("unused")
private static final String TAG = SqlCipherMigrationRequirement.class.getSimpleName();