-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathSynchronizerSpyImpl.java
More file actions
134 lines (108 loc) · 3.88 KB
/
SynchronizerSpyImpl.java
File metadata and controls
134 lines (108 loc) · 3.88 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package fake;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import io.split.android.client.api.Key;
import io.split.android.client.dtos.Event;
import io.split.android.client.impressions.DecoratedImpression;
import io.split.android.client.service.synchronizer.Synchronizer;
import io.split.android.client.service.synchronizer.SynchronizerSpy;
import io.split.android.client.service.synchronizer.attributes.AttributesSynchronizer;
import io.split.android.client.service.synchronizer.attributes.AttributesSynchronizerRegistry;
import io.split.android.client.service.synchronizer.mysegments.MySegmentsSynchronizer;
import io.split.android.client.service.synchronizer.mysegments.MySegmentsSynchronizerRegistry;
public class SynchronizerSpyImpl implements SynchronizerSpy, MySegmentsSynchronizerRegistry, AttributesSynchronizerRegistry {
Synchronizer mSynchronizer;
public CountDownLatch startPeriodicFetchLatch = null;
public CountDownLatch stopPeriodicFetchLatch = null;
public AtomicInteger mForceMySegmentSyncCalledCount = new AtomicInteger(0);
@Override
public void setSynchronizer(Synchronizer synchronizer) {
mSynchronizer = synchronizer;
}
@Override
public void loadAndSynchronizeSplits() {
mSynchronizer.loadAndSynchronizeSplits();
}
@Override
public void loadMySegmentsFromCache() {
mSynchronizer.loadMySegmentsFromCache();
}
@Override
public void loadAttributesFromCache() {
mSynchronizer.loadAttributesFromCache();
}
@Override
public void synchronizeSplits(long since) {
mSynchronizer.synchronizeSplits();
}
@Override
public void synchronizeSplits() {
mSynchronizer.synchronizeSplits();
}
@Override
public void synchronizeMySegments() {
mSynchronizer.synchronizeMySegments();
}
@Override
public void startPeriodicFetching() {
mSynchronizer.startPeriodicFetching();
if (startPeriodicFetchLatch != null) {
startPeriodicFetchLatch.countDown();
}
}
@Override
public void stopPeriodicFetching() {
mSynchronizer.stopPeriodicFetching();
if (stopPeriodicFetchLatch != null) {
stopPeriodicFetchLatch.countDown();
}
}
@Override
public void startPeriodicRecording() {
mSynchronizer.startPeriodicRecording();
}
@Override
public void stopPeriodicRecording() {
mSynchronizer.stopPeriodicRecording();
}
@Override
public void pushEvent(Event event) {
mSynchronizer.pushEvent(event);
}
@Override
public void pushImpression(DecoratedImpression impression) {
mSynchronizer.pushImpression(impression);
}
@Override
public void flush() {
mSynchronizer.flush();
}
@Override
public void destroy() {
mSynchronizer.destroy();
}
@Override
public void pause() {
mSynchronizer.pause();
}
@Override
public void resume() {
mSynchronizer.resume();
}
@Override
public void registerAttributesSynchronizer(String userKey, AttributesSynchronizer attributesSynchronizer) {
((AttributesSynchronizerRegistry) mSynchronizer).registerAttributesSynchronizer(userKey, attributesSynchronizer);
}
@Override
public void unregisterAttributesSynchronizer(String userKey) {
((AttributesSynchronizerRegistry) mSynchronizer).unregisterAttributesSynchronizer(userKey);
}
@Override
public void registerMySegmentsSynchronizer(Key key, MySegmentsSynchronizer mySegmentsSynchronizer) {
((MySegmentsSynchronizerRegistry) mSynchronizer).registerMySegmentsSynchronizer(key, mySegmentsSynchronizer);
}
@Override
public void unregisterMySegmentsSynchronizer(Key key) {
((MySegmentsSynchronizerRegistry) mSynchronizer).unregisterMySegmentsSynchronizer(key);
}
}