/*
* Created by Itzik Braun on 12/3/2015.
* Copyright (c) 2015 deluge. All rights reserved.
*
* Last Modification at: 3/12/15 4:34 PM
*/
package com.braunster.androidchatsdk.firebaseplugin.firebase;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class FirebaseEventCombo {
private FirebaseGeneralEvent listener;
private String ref;
private Object tag;
public FirebaseEventCombo(FirebaseGeneralEvent listener, String ref) {
this.listener = listener;
this.ref = ref;
}
public FirebaseEventCombo(FirebaseGeneralEvent listener, String ref, Object tag) {
this.listener = listener;
this.ref = ref;
this.tag = tag;
}
public static FirebaseEventCombo getNewInstance(FirebaseGeneralEvent listener, String ref) {
return new FirebaseEventCombo(listener, ref);
}
public static FirebaseEventCombo getNewInstance(FirebaseGeneralEvent listener, String ref, Object tag) {
return new FirebaseEventCombo(listener, ref, tag);
}
public FirebaseGeneralEvent getListener() {
return listener;
}
public String getRef() {
return ref;
}
public Object getTag() {
return tag;
}
/** Remove the saved listener from the saved ref.*/
public void breakCombo(){
DatabaseReference comboRef = FirebaseDatabase.getInstance().getReferenceFromUrl(ref);
listener.killEvent();
if (listener.getType() == FirebaseGeneralEvent.ChildEvent)
{
comboRef.removeEventListener((ChildEventListener) listener);
}
else if (listener.getType() == FirebaseGeneralEvent.ValueEvent)
{
comboRef.removeEventListener((ValueEventListener) listener);
}
}
}