Skip to content

Commit 9ec39c6

Browse files
authored
Handle dates differently (#4)
* Remove date formatter, update date-related tests
1 parent 26f73de commit 9ec39c6

File tree

2 files changed

+6
-20
lines changed

2 files changed

+6
-20
lines changed

src/main/java/com/segment/analytics/android/integrations/firebase/FirebaseIntegration.java

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020

2121
import java.util.HashMap;
2222
import java.util.Map;
23-
import java.util.Date;
24-
import java.text.SimpleDateFormat;
2523

2624
import static com.segment.analytics.internal.Utils.hasPermission;
2725
import static com.segment.analytics.internal.Utils.isNullOrEmpty;
@@ -65,7 +63,6 @@ public String key() {
6563
private static final String FIREBASE_ANALYTICS_KEY = "Firebase";
6664
private final Logger logger;
6765
private final FirebaseAnalytics firebaseAnalytics;
68-
static final SimpleDateFormat FIREBASE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
6966
private static final Map<String, String> EVENT_MAPPER = createEventMap();
7067

7168
private static Map<String, String> createEventMap() {
@@ -136,17 +133,10 @@ public void identify(IdentifyPayload identify) {
136133
Map<String, Object> traits = identify.traits();
137134
for (Map.Entry<String, Object> entry : traits.entrySet()) {
138135
String trait = entry.getKey();
139-
Object value = entry.getValue();
136+
String value = String.valueOf(entry.getValue());
140137
trait = makeKey(trait);
141-
String formattedValue;
142-
if (value instanceof Date) {
143-
Date dateValue = (Date) value;
144-
formattedValue = FIREBASE_FORMAT.format(dateValue);
145-
} else {
146-
formattedValue = String.valueOf(value);
147-
}
148-
firebaseAnalytics.setUserProperty(trait, formattedValue);
149-
logger.verbose("firebaseAnalytics.setUserProperty(%s, %s);", trait, formattedValue);
138+
firebaseAnalytics.setUserProperty(trait, value);
139+
logger.verbose("firebaseAnalytics.setUserProperty(%s, %s);", trait, value);
150140
}
151141
}
152142

@@ -190,10 +180,6 @@ && isNullOrEmpty(properties.currency())) {
190180
} else if (value instanceof Long) {
191181
long longValue = (long) value;
192182
bundle.putLong(property, longValue);
193-
} else if (value instanceof Date) {
194-
Date dateValue = (Date) value;
195-
String formattedDate = FIREBASE_FORMAT.format(dateValue);
196-
bundle.putString(property, formattedDate);
197183
} else {
198184
String stringValue = String.valueOf(value);
199185
bundle.putString(property, stringValue);

src/test/java/com/segment/analytics/android/integration/firebase/FirebaseTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void identifyWithTraits() {
7373
.putFirstName("bar")
7474
.putLastName("baz")
7575
.putValue("anonymousId", 123)
76-
.putValue("Sign Up Date", new Date())
76+
.putValue("Sign Up Date", new Date(117, 6, 14))
7777
.putValue(" extra spaces ", "bar");
7878

7979

@@ -83,7 +83,7 @@ public void identifyWithTraits() {
8383
verify(firebase).setUserProperty("firstName", "bar");
8484
verify(firebase).setUserProperty("lastName", "baz");
8585
verify(firebase).setUserProperty("anonymousId", "123");
86-
verify(firebase).setUserProperty("Sign_Up_Date", "2017-09-07");
86+
verify(firebase).setUserProperty("Sign_Up_Date", "Fri Jul 14 00:00:00 PDT 2017");
8787
verify(firebase).setUserProperty("extra_spaces", "bar");
8888
}
8989

@@ -110,7 +110,7 @@ public void trackWithProperties() {
110110
expected.putInt("integer", 1);
111111
expected.putDouble("double", 1.0);
112112
expected.putString("string", "foo");
113-
expected.putString("date", "2017-01-01");
113+
expected.putString("date", "Sun Jan 01 00:00:00 PST 2017");
114114
expected.putString("key_with_spaces", "bar");
115115
expected.putDouble("value", 100.0);
116116
expected.putString("currency", "USD");

0 commit comments

Comments
 (0)