• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

opensrp / opensrp-client-core / #176

pending completion
#176

Pull #922

github-actions

web-flow
Merge 92b6dfb69 into 2b50eaf02
Pull Request #922: Update doSync method access

18304 of 26768 relevant lines covered (68.38%)

0.68 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.0
opensrp-core/src/main/java/org/smartregister/event/Event.java
1
package org.smartregister.event;
2

3
import org.apache.commons.lang3.ObjectUtils;
4
import org.smartregister.domain.FetchStatus;
5

6
import java.lang.ref.WeakReference;
7
import java.util.ArrayList;
8
import java.util.List;
9

10
public class Event<CallbackType> {
11
    public static final Event<FetchStatus> ON_DATA_FETCHED = new Event<FetchStatus>();
1✔
12
    public static final Event<CapturedPhotoInformation> ON_PHOTO_CAPTURED = new Event<>();
1✔
13
    public static final Event<Boolean> ON_LOGOUT = new Event<>();
1✔
14
    public static final Event<Boolean> SYNC_STARTED = new Event<>();
1✔
15
    public static final Event<Boolean> SYNC_COMPLETED = new Event<>();
1✔
16
    public static final Event<String> FORM_SUBMITTED = new Event<>();
1✔
17
    public static final Event<String> ACTION_HANDLED = new Event<>();
1✔
18

19
    List<WeakReference<Listener<CallbackType>>> listeners;
20

21
    public Event() {
1✔
22
        listeners = new ArrayList<WeakReference<Listener<CallbackType>>>();
1✔
23
    }
1✔
24

25
    public void addListener(Listener<CallbackType> listener) {
26
        listeners.add(new WeakReference<Listener<CallbackType>>(listener));
1✔
27
    }
1✔
28

29
    public void removeListener(Listener<CallbackType> listener) {
30
        WeakReference<Listener<CallbackType>> listenerToRemove = null;
1✔
31
        for (WeakReference<Listener<CallbackType>> l : listeners) {
1✔
32
            if (ObjectUtils.equals(listener, l.get())) {
1✔
33
                listenerToRemove = l;
1✔
34
                break;
1✔
35
            }
36
        }
×
37
        listeners.remove(listenerToRemove);
1✔
38
    }
1✔
39

40
    public void notifyListeners(CallbackType data) {
41
        for (WeakReference<Listener<CallbackType>> listener : listeners) {
1✔
42
            if (listener.get() != null) {
1✔
43
                listener.get().onEvent(data);
1✔
44
            }
45
        }
1✔
46
    }
1✔
47
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc