package io.evercam.androidapp.feedback; import android.content.Context; import android.util.Log; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import io.evercam.androidapp.utils.Constants; import io.keen.client.java.KeenClient; public class LoadTimeFeedbackItem extends FeedbackItem { private final String TAG = "LoadTimeFeedbackItem"; public final static String TYPE_REMOTE = "loadFromServer"; public final static String TYPE_LOCAL = "loadFromDatabase"; public final static String TYPE_REFRESH = "loadByRefreshing"; private Float database_load_time; private Float evercam_load_time; public LoadTimeFeedbackItem(Context context, String username, Float databaseLoadTime, Float evercamLoadTime) { super(context, username); this.database_load_time = databaseLoadTime; this.evercam_load_time = evercamLoadTime; } public String toJson() { JSONObject jsonObject; try { jsonObject = getBaseJsonObject(); jsonObject.put("database_load_time", database_load_time); jsonObject.put("evercam_load_time", evercam_load_time); return jsonObject.toString(); } catch(JSONException e) { Log.e(TAG, e.toString()); } return ""; } @Override public HashMap<String, Object> toHashMap() { HashMap<String, Object> event = super.toHashMap(); event.put("database_load_time", database_load_time); event.put("evercam_load_time", evercam_load_time); return event; } @Override public void sendToKeenIo(final KeenClient client) { if(client != null) { final FeedbackItem feedbackItem = this; new Thread(new Runnable() { @Override public void run() { client.addEvent(Constants.KEEN_COLLECTION_LIST_LOADING_TIME, feedbackItem.toHashMap()); } }).start(); } } }