package pl.charmas.android.reactivelocation.observables.geofence;
import android.content.Context;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.ResultCallback;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.location.LocationServices;
import java.util.List;
import pl.charmas.android.reactivelocation.observables.StatusException;
import rx.Observer;
class RemoveGeofenceRequestIdsObservable extends RemoveGeofenceObservable<Status> {
private final List<String> geofenceRequestIds;
RemoveGeofenceRequestIdsObservable(Context ctx, List<String> geofenceRequestIds) {
super(ctx);
this.geofenceRequestIds = geofenceRequestIds;
}
@Override
protected void removeGeofences(GoogleApiClient locationClient, final Observer<? super Status> observer) {
LocationServices.GeofencingApi.removeGeofences(locationClient, geofenceRequestIds)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
observer.onNext(status);
observer.onCompleted();
} else {
observer.onError(new StatusException(status));
}
}
});
}
}