2
0
mirror of synced 2025-02-02 17:43:27 +00:00

android: onCancelled should now remove event listeners - fixes hanging issue

This commit is contained in:
Salakar 2017-03-09 16:59:03 +00:00
parent b02bcbd9cf
commit 899dd1a3cb

View File

@ -68,6 +68,7 @@ public class RNFirebaseDatabaseReference {
@Override @Override
public void onCancelled(DatabaseError error) { public void onCancelled(DatabaseError error) {
removeChildEventListener();
handleDatabaseError(error); handleDatabaseError(error);
} }
}; };
@ -90,6 +91,7 @@ public class RNFirebaseDatabaseReference {
@Override @Override
public void onCancelled(DatabaseError error) { public void onCancelled(DatabaseError error) {
removeValueEventListener();
handleDatabaseError(error); handleDatabaseError(error);
} }
}; };
@ -186,10 +188,9 @@ public class RNFirebaseDatabaseReference {
final ReadableArray modifiers) { final ReadableArray modifiers) {
Query query = firebaseDatabase.getReference(path); Query query = firebaseDatabase.getReference(path);
List<Object> strModifiers = Utils.recursivelyDeconstructReadableArray(modifiers); List<Object> strModifiers = Utils.recursivelyDeconstructReadableArray(modifiers);
ListIterator<Object> it = strModifiers.listIterator();
while(it.hasNext()) { for (Object strModifier : strModifiers) {
String str = (String) it.next(); String str = (String) strModifier;
String[] strArr = str.split(":"); String[] strArr = str.split(":");
String methStr = strArr[0]; String methStr = strArr[0];