package co.smartreceipts.android.analytics.impl.logger; import android.support.annotation.NonNull; import java.util.List; import co.smartreceipts.android.analytics.Analytics; import co.smartreceipts.android.analytics.events.DataPoint; import co.smartreceipts.android.analytics.events.Event; import co.smartreceipts.android.utils.log.Logger; public class AnalyticsLogger implements Analytics { @Override public void record(@NonNull Event event) { Logger.info(this, "Logging Event: {} with datapoints: {}", event, getDataPointsString(event.getDataPoints())); } @NonNull private String getDataPointsString(@NonNull List<DataPoint> dataPoints) { if (!dataPoints.isEmpty()) { final StringBuilder stringBuilder = new StringBuilder("{"); final String separatorChar = ","; String currentSeparator = ""; for (int i = 0; i < dataPoints.size(); i++) { stringBuilder.append(currentSeparator).append(dataPoints.get(i).toString()); currentSeparator = separatorChar; } return stringBuilder.append("}").toString(); } else { return "{}"; } } }