package com.jdroid.android.firebase.database; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.jdroid.java.exception.UnexpectedException; public class FirebaseDatabaseCompletionListener implements DatabaseReference.CompletionListener { private FirebaseDatabaseCountDownLatch done = new FirebaseDatabaseCountDownLatch(); @Override public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { if (databaseError != null) { done.setFirebaseDatabaseException(new FirebaseDatabaseException(databaseError)); } done.countDown(); } public void waitOperation() { try { done.await(); if (done.getFirebaseDatabaseException() != null) { throw done.getFirebaseDatabaseException(); } } catch (InterruptedException e) { throw new UnexpectedException(e); } } }