@Test public void testCallback() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); queue.add(2, "test2"); TrackMe pre = new TrackMe(); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); assertThat(CustomDimension.getDimension(post, 1), is("test1")); assertThat(CustomDimension.getDimension(post, 2), is("test2")); }
@Test public void testEmpty() { new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); TrackMe pre = new TrackMe(); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); }
@Test public void testEmpty() { new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); TrackMe pre = new TrackMe(); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); }
@Test public void testCallback() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); queue.add(2, "test2"); TrackMe pre = new TrackMe(); TrackMe post = mCaptor.getValue().onTrack(pre); assertThat(post, notNullValue()); assertThat(pre, is(post)); assertThat(CustomDimension.getDimension(post, 1), is("test1")); assertThat(CustomDimension.getDimension(post, 2), is("test2")); }
@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")); }
@Test public void testOverwriting() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); queue.add(1, "test3"); queue.add(2, "test2"); { TrackMe post = mCaptor.getValue().onTrack(new TrackMe()); assertThat(post, notNullValue()); assertThat(CustomDimension.getDimension(post, 1), is("test1")); assertThat(CustomDimension.getDimension(post, 2), is("test2")); } { TrackMe post = mCaptor.getValue().onTrack(new TrackMe()); assertThat(post, notNullValue()); assertThat(CustomDimension.getDimension(post, 1), is("test3")); assertThat(CustomDimension.getDimension(post, 2), nullValue()); } } }
@Test public void testOverwriting() { DimensionQueue queue = new DimensionQueue(mTracker); verify(mTracker).addTrackingCallback(mCaptor.capture()); queue.add(1, "test1"); queue.add(1, "test3"); queue.add(2, "test2"); { TrackMe post = mCaptor.getValue().onTrack(new TrackMe()); assertThat(post, notNullValue()); assertThat(CustomDimension.getDimension(post, 1), is("test1")); assertThat(CustomDimension.getDimension(post, 2), is("test2")); } { TrackMe post = mCaptor.getValue().onTrack(new TrackMe()); assertThat(post, notNullValue()); assertThat(CustomDimension.getDimension(post, 1), is("test3")); assertThat(CustomDimension.getDimension(post, 2), nullValue()); } } }
private void onInitTracker() { // Print debug output when working on an app. Timber.plant(new Timber.DebugTree()); // When working on an app we don't want to skew tracking results. // getMatomo().setDryRun(BuildConfig.DEBUG); // If you want to set a specific userID other than the random UUID token, do it NOW to ensure all future actions use that token. // Changing it later will track new events as belonging to a different user. // String userEmail = ....preferences....getString // getTracker().setUserId(userEmail); // Track this app install, this will only trigger once per app version. // i.e. "http://org.matomo.demo:1/185DECB5CFE28FDB2F45887022D668B4" TrackHelper.track().download().identifier(new DownloadTracker.Extra.ApkChecksum(this)).with(getTracker()); // Alternative: // i.e. "http://org.matomo.demo:1/com.android.vending" // getTracker().download(); mDimensionQueue = new DimensionQueue(getTracker()); // This will be send the next time something is tracked. mDimensionQueue.add(0, "test"); getTracker().addTrackingCallback(trackMe -> { Timber.i("Tracker.Callback.onTrack(%s)", trackMe); return trackMe; }); } }
private void onInitTracker() { // Print debug output when working on an app. Timber.plant(new Timber.DebugTree()); // When working on an app we don't want to skew tracking results. // getMatomo().setDryRun(BuildConfig.DEBUG); // If you want to set a specific userID other than the random UUID token, do it NOW to ensure all future actions use that token. // Changing it later will track new events as belonging to a different user. // String userEmail = ....preferences....getString // getTracker().setUserId(userEmail); // Track this app install, this will only trigger once per app version. // i.e. "http://org.matomo.demo:1/185DECB5CFE28FDB2F45887022D668B4" TrackHelper.track().download().identifier(new DownloadTracker.Extra.ApkChecksum(this)).with(getTracker()); // Alternative: // i.e. "http://org.matomo.demo:1/com.android.vending" // getTracker().download(); mDimensionQueue = new DimensionQueue(getTracker()); // This will be send the next time something is tracked. mDimensionQueue.add(0, "test"); getTracker().addTrackingCallback(trackMe -> { Timber.i("Tracker.Callback.onTrack(%s)", trackMe); return trackMe; }); } }