Skip to content

Commit 291f6a2

Browse files
authored
Merge pull request #29 from saleeh93/master
Bug fix while accessing direct values
2 parents 5cc41b3 + 5bed61f commit 291f6a2

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

android/src/main/java/io/fullstack/firestack/FirestackUtils.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static void todoNote(final String tag, final String name, final Callback
3535
/**
3636
* send a JS event
3737
**/
38-
public static void sendEvent(final ReactContext context,
38+
public static void sendEvent(final ReactContext context,
3939
String eventName,
4040
WritableMap params) {
4141
context
@@ -52,9 +52,28 @@ public static WritableMap dataSnapshotToMap(String name, DataSnapshot dataSnapsh
5252
data.putBoolean("hasChildren", dataSnapshot.hasChildren());
5353

5454
data.putDouble("childrenCount", dataSnapshot.getChildrenCount());
55-
56-
WritableMap valueMap = FirestackUtils.castSnapshotValue(dataSnapshot);
57-
data.putMap("value", valueMap);
55+
if (!dataSnapshot.hasChildren() && dataSnapshot.getValue() != null) {
56+
String type = dataSnapshot.getValue().getClass().getName();
57+
switch (type) {
58+
case "java.lang.Boolean":
59+
data.putBoolean("value", (Boolean) dataSnapshot.getValue());
60+
break;
61+
case "java.lang.Long":
62+
data.putInt("value",(Integer)(((Long) dataSnapshot.getValue()).intValue()));
63+
break;
64+
case "java.lang.Double":
65+
data.putDouble("value",(Double) dataSnapshot.getValue());
66+
break;
67+
case "java.lang.String":
68+
data.putString("value",(String) dataSnapshot.getValue());
69+
break;
70+
default:
71+
data.putString("value", null);
72+
}
73+
}else{
74+
WritableMap valueMap = FirestackUtils.castSnapshotValue(dataSnapshot);
75+
data.putMap("value", valueMap);
76+
}
5877

5978
Object priority = dataSnapshot.getPriority();
6079
if (priority == null) {
@@ -176,4 +195,4 @@ public static List<Object> recursivelyDeconstructReadableArray(ReadableArray rea
176195
}
177196
return deconstructedList;
178197
}
179-
}
198+
}

0 commit comments

Comments
 (0)