@Override public Dimension dimension(int id, String value) { CustomDimension.setDimension(mBaseTrackMe, id, value); return this; } }
@Override public Dimension dimension(int id, String value) { CustomDimension.setDimension(mBaseTrackMe, id, value); return this; } }
public static boolean setDimension(TrackMe trackMe, CustomDimension dimension) { return setDimension(trackMe, dimension.getId(), dimension.getValue()); }
public static boolean setDimension(TrackMe trackMe, CustomDimension dimension) { return setDimension(trackMe, dimension.getId(), dimension.getValue()); }
private TrackMe onTrack(TrackMe trackMe) { for (Iterator<CustomDimension> it = mOneTimeDimensions.iterator(); it.hasNext(); ) { CustomDimension dim = it.next(); String existing = CustomDimension.getDimension(trackMe, dim.getId()); if (existing != null) { Timber.tag(TAG).d("Setting dimension %s to slot %d would overwrite %s, skipping!", dim.getValue(), dim.getId(), existing); } else { CustomDimension.setDimension(trackMe, dim); it.remove(); } } return trackMe; } }
private TrackMe onTrack(TrackMe trackMe) { for (Iterator<CustomDimension> it = mOneTimeDimensions.iterator(); it.hasNext(); ) { CustomDimension dim = it.next(); String existing = CustomDimension.getDimension(trackMe, dim.getId()); if (existing != null) { Timber.tag(TAG).d("Setting dimension %s to slot %d would overwrite %s, skipping!", dim.getValue(), dim.getId(), existing); } else { CustomDimension.setDimension(trackMe, dim); it.remove(); } } return trackMe; } }
@Override public TrackMe build() { if (mPath == null) { throw new IllegalArgumentException("Screen tracking requires a non-empty path"); } final TrackMe trackMe = new TrackMe(getBaseTrackMe()) .set(QueryParams.URL_PATH, mPath) .set(QueryParams.ACTION_NAME, mTitle) .set(QueryParams.CAMPAIGN_NAME, mCampaignName) .set(QueryParams.CAMPAIGN_KEYWORD, mCampaignKeyword); if (mCustomVariables.size() > 0) { //noinspection deprecation trackMe.set(QueryParams.SCREEN_SCOPE_CUSTOM_VARIABLES, mCustomVariables.toString()); } for (Map.Entry<Integer, String> entry : mCustomDimensions.entrySet()) { CustomDimension.setDimension(trackMe, entry.getKey(), entry.getValue()); } return trackMe; } }
@Override public TrackMe build() { if (mPath == null) { throw new IllegalArgumentException("Screen tracking requires a non-empty path"); } final TrackMe trackMe = new TrackMe(getBaseTrackMe()) .set(QueryParams.URL_PATH, mPath) .set(QueryParams.ACTION_NAME, mTitle) .set(QueryParams.CAMPAIGN_NAME, mCampaignName) .set(QueryParams.CAMPAIGN_KEYWORD, mCampaignKeyword); if (mCustomVariables.size() > 0) { //noinspection deprecation trackMe.set(QueryParams.SCREEN_SCOPE_CUSTOM_VARIABLES, mCustomVariables.toString()); } for (Map.Entry<Integer, String> entry : mCustomDimensions.entrySet()) { CustomDimension.setDimension(trackMe, entry.getKey(), entry.getValue()); } return trackMe; } }
@Test public void testSet_removal() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, UUID.randomUUID().toString()); assertFalse(trackMe.isEmpty()); CustomDimension.setDimension(trackMe, 1, null); assertTrue(trackMe.isEmpty()); }
@Test public void testSet_empty() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, UUID.randomUUID().toString()); assertFalse(trackMe.isEmpty()); CustomDimension.setDimension(trackMe, 1, ""); assertTrue(trackMe.isEmpty()); } }
@Test public void testSet_empty() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, UUID.randomUUID().toString()); assertFalse(trackMe.isEmpty()); CustomDimension.setDimension(trackMe, 1, ""); assertTrue(trackMe.isEmpty()); } }
@Test public void testSet_removal() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, UUID.randomUUID().toString()); assertFalse(trackMe.isEmpty()); CustomDimension.setDimension(trackMe, 1, null); assertTrue(trackMe.isEmpty()); }
@Test public void testSetCustomDimensions() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 0, "foo"); CustomDimension.setDimension(trackMe, 1, "foo"); CustomDimension.setDimension(trackMe, 2, "bar"); CustomDimension.setDimension(trackMe, 3, "empty"); CustomDimension.setDimension(trackMe, 3, null); CustomDimension.setDimension(trackMe, 4, ""); assertEquals("foo", trackMe.get("dimension1")); assertEquals("bar", trackMe.get("dimension2")); assertNull(trackMe.get("dimension0")); assertNull(trackMe.get("dimension3")); assertNull(trackMe.get("dimension4")); }
@Test public void testSetCustomDimensions() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 0, "foo"); CustomDimension.setDimension(trackMe, 1, "foo"); CustomDimension.setDimension(trackMe, 2, "bar"); CustomDimension.setDimension(trackMe, 3, "empty"); CustomDimension.setDimension(trackMe, 3, null); CustomDimension.setDimension(trackMe, 4, ""); assertEquals("foo", trackMe.get("dimension1")); assertEquals("bar", trackMe.get("dimension2")); assertNull(trackMe.get("dimension0")); assertNull(trackMe.get("dimension3")); assertNull(trackMe.get("dimension4")); }
@Test public void testSet_badId() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 0, UUID.randomUUID().toString()); assertTrue(trackMe.isEmpty()); }
@Test public void testSet_truncate() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, new String(new char[1000])); assertEquals(255, trackMe.get("dimension1").length()); }
@Test public void testSet_badId() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 0, UUID.randomUUID().toString()); assertTrue(trackMe.isEmpty()); }
@Test public void testSet_truncate() throws Exception { TrackMe trackMe = new TrackMe(); CustomDimension.setDimension(trackMe, 1, new String(new char[1000])); assertEquals(255, trackMe.get("dimension1").length()); }
@Test public void testCollision() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); TrackMe pre = new TrackMe(); CustomDimension.setDimension(pre, 1, "don't overwrite me"); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); assertThat(CustomDimension.getDimension(post, 1), is("don't overwrite me")); }
@Test public void testCollision() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); TrackMe pre = new TrackMe(); CustomDimension.setDimension(pre, 1, "don't overwrite me"); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); assertThat(CustomDimension.getDimension(post, 1), is("don't overwrite me")); }