AnswersRetryFilesSender.java
1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.crashlytics.android.answers;
import io.fabric.sdk.android.services.concurrency.internal.DefaultRetryPolicy;
import io.fabric.sdk.android.services.concurrency.internal.ExponentialBackoff;
import io.fabric.sdk.android.services.concurrency.internal.RetryState;
import io.fabric.sdk.android.services.events.FilesSender;
import java.io.File;
import java.util.List;
class AnswersRetryFilesSender
implements FilesSender
{
private static final int BACKOFF_MS = 1000;
private static final int BACKOFF_POWER = 8;
private static final double JITTER_PERCENT = 0.1D;
private static final int MAX_RETRIES = 5;
private final SessionAnalyticsFilesSender filesSender;
private final RetryManager retryManager;
AnswersRetryFilesSender(SessionAnalyticsFilesSender paramSessionAnalyticsFilesSender, RetryManager paramRetryManager)
{
this.filesSender = paramSessionAnalyticsFilesSender;
this.retryManager = paramRetryManager;
}
public static AnswersRetryFilesSender build(SessionAnalyticsFilesSender paramSessionAnalyticsFilesSender)
{
return new AnswersRetryFilesSender(paramSessionAnalyticsFilesSender, new RetryManager(new RetryState(new RandomBackoff(new ExponentialBackoff(1000L, 8), 0.1D), new DefaultRetryPolicy(5))));
}
public boolean send(List<File> paramList)
{
boolean bool = false;
long l = System.nanoTime();
if (this.retryManager.canRetry(l))
{
if (this.filesSender.send(paramList))
{
this.retryManager.reset();
bool = true;
}
}
else {
return bool;
}
this.retryManager.recordRetry(l);
return false;
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/crashlytics/android/answers/AnswersRetryFilesSender.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/