package com.code44.finance.ui.playservices; import com.code44.finance.utils.EventBus; import com.google.android.gms.common.api.GoogleApiClient; import com.squareup.otto.Produce; import java.util.HashMap; import java.util.Map; public class GoogleApiConnection { private final EventBus eventBus; private final Map<String, GoogleApiClient> googleApiClients = new HashMap<>(); public GoogleApiConnection(EventBus eventBus) { this.eventBus = eventBus; eventBus.register(this); } @Produce public GoogleApiConnection produceGoogleApiConnection() { return googleApiClients.size() > 0 ? this : null; } public void put(String clientUniqueId, GoogleApiClient client) { if (client != null && (client.isConnected() || client.isConnecting())) { googleApiClients.put(clientUniqueId, client); eventBus.post(this); } } public void remove(String clientUniqueId) { googleApiClients.remove(clientUniqueId); } public GoogleApiClient get(String clientUniqueId) { return googleApiClients.get(clientUniqueId); } public boolean contains(String clientUniqueId) { return googleApiClients.containsKey(clientUniqueId); } }