@Test public void testBaseEvent_track_safely() { final TrackHelper.BaseEvent badTrackMe = new TrackHelper.BaseEvent(null) { @Override public TrackMe build() { throw new IllegalArgumentException(); } }; assertThat(badTrackMe.safelyWith(mTracker), is(false)); assertThat(badTrackMe.safelyWith(mMatomoApplication), is(false)); verify(mTracker, never()).track(any(TrackMe.class)); final TrackHelper.BaseEvent goodTrackMe = new TrackHelper.BaseEvent(null) { @Override public TrackMe build() { return new TrackMe(); } }; assertThat(goodTrackMe.safelyWith(mTracker), is(true)); verify(mTracker, times(1)).track(any(TrackMe.class)); assertThat(goodTrackMe.safelyWith(mMatomoApplication), is(true)); verify(mTracker, times(2)).track(any(TrackMe.class)); }
@Test public void testBaseEvent_track_safely() { final TrackHelper.BaseEvent badTrackMe = new TrackHelper.BaseEvent(null) { @Override public TrackMe build() { throw new IllegalArgumentException(); } }; assertThat(badTrackMe.safelyWith(mTracker), is(false)); assertThat(badTrackMe.safelyWith(mMatomoApplication), is(false)); verify(mTracker, never()).track(any(TrackMe.class)); final TrackHelper.BaseEvent goodTrackMe = new TrackHelper.BaseEvent(null) { @Override public TrackMe build() { return new TrackMe(); } }; assertThat(goodTrackMe.safelyWith(mTracker), is(true)); verify(mTracker, times(1)).track(any(TrackMe.class)); assertThat(goodTrackMe.safelyWith(mMatomoApplication), is(true)); verify(mTracker, times(2)).track(any(TrackMe.class)); }
/** * {@link #build()} can throw an exception on illegal arguments. * This can be used to avoid crashes when using dynamic {@link TrackMe} arguments. * * @return false if an error occured, true if the TrackMe has been submitted to be dispatched. */ public boolean safelyWith(Tracker tracker) { try { TrackMe trackMe = build(); tracker.track(trackMe); } catch (IllegalArgumentException e) { Timber.e(e); return false; } return true; } }
/** * {@link #build()} can throw an exception on illegal arguments. * This can be used to avoid crashes when using dynamic {@link TrackMe} arguments. * * @return false if an error occured, true if the TrackMe has been submitted to be dispatched. */ public boolean safelyWith(Tracker tracker) { try { TrackMe trackMe = build(); tracker.track(trackMe); } catch (IllegalArgumentException e) { Timber.e(e); return false; } return true; } }
public boolean safelyWith(MatomoApplication matomoApplication) { return safelyWith(matomoApplication.getTracker()); }
public void with(MatomoApplication matomoApplication) { with(matomoApplication.getTracker()); }
public boolean safelyWith(MatomoApplication matomoApplication) { return safelyWith(matomoApplication.getTracker()); }
public void with(MatomoApplication matomoApplication) { with(matomoApplication.getTracker()); }
public void with(Tracker tracker) { TrackMe trackMe = build(); tracker.track(trackMe); }
public void with(Tracker tracker) { TrackMe trackMe = build(); tracker.track(trackMe); }