[x] I have validated my changes against all supported platform versions
Related issues
While testing, we noticed that timestamp in milliseconds since epoch wasn't sent to LaunchDarkly when running on Android. This happens due to long type not being handled when parsing custom attributes.
Unlike Dart, Java has four integer types: byte, short, int and long. Long integers like a timestamp won't fit int and will be converted to a long rather than an int. Meaning, when identify / init is called, those attributes will be omitted from the resulting custom attributes map and won't be sent to LaunchDarkly.
Describe the solution you've provided
I've added another if-else branch to handle long type.
Requirements
Related issues
While testing, we noticed that
timestamp
in milliseconds since epoch wasn't sent to LaunchDarkly when running on Android. This happens due tolong
type not being handled when parsingcustom
attributes.Unlike Dart, Java has four integer types:
byte
,short
,int
andlong
. Long integers like a timestamp won't fitint
and will be converted to along
rather than anint
. Meaning, whenidentify
/init
is called, those attributes will be omitted from the resulting custom attributes map and won't be sent to LaunchDarkly.Describe the solution you've provided
I've added another if-else branch to handle
long
type.Additional context
Platform channel data types support and codecs
How to test?
The issue can be reproduced with this code:
Thank you for the great package!