Skip to content

Commit e5d271b

Browse files
mmustafa-tsewillpassidomo
authored andcommitted
fix: serialize to Android's getUserAttributes results to WritableMap
1 parent 7f0d153 commit e5d271b

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

android/src/main/java/com/mparticle/react/MParticleModule.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import com.facebook.react.bridge.ReadableType;
1414
import com.facebook.react.bridge.WritableMap;
1515
import com.facebook.react.bridge.WritableNativeMap;
16+
import com.facebook.react.bridge.WritableArray;
17+
import com.facebook.react.bridge.WritableNativeArray;
1618
import com.mparticle.AttributionResult;
1719
import com.mparticle.MParticle;
1820
import com.mparticle.MPEvent;
@@ -121,7 +123,19 @@ public void getUserAttributes(final String userId, final Callback completion) {
121123
selectedUser.getUserAttributes(new UserAttributeListener() {
122124
@Override
123125
public void onUserAttributesReceived(Map<String, String> userAttributes, Map<String, List<String>> userAttributeLists, Long mpid) {
124-
completion.invoke(null, userAttributes);
126+
WritableMap resultMap = new WritableNativeMap();
127+
for (Map.Entry<String, String> entry : userAttributes.entrySet()) {
128+
resultMap.putString(entry.getKey(), entry.getValue());
129+
}
130+
for (Map.Entry<String, List<String>> entry : userAttributeLists.entrySet()) {
131+
WritableArray resultArray = new WritableNativeArray();
132+
List<String> valueList = entry.getValue();
133+
for (String arrayVal : valueList) {
134+
resultArray.pushString(arrayVal);
135+
}
136+
resultMap.putArray(entry.getKey(), resultArray);
137+
}
138+
completion.invoke(null, resultMap);
125139
}
126140
});
127141
} else {

0 commit comments

Comments
 (0)