package com.num.helpers; import java.util.ArrayList; import java.util.HashMap; import com.num.*; import com.num.models.Measurement; import com.num.models.Screen; import com.num.utils.HTTPUtil; import com.num.utils.SDCardFileReader; import org.json.JSONObject; import android.content.Context; public class MeasurementHelper { public static void attemptSendingUnsentMeasurements(Context context){ Values session = (Values) context.getApplicationContext(); HTTPUtil http = new HTTPUtil(); while(!session.unsentMeasurements.isEmpty()){ String input = session.unsentMeasurements.getLastMeasurement(); try { String output = http.request(new HashMap<String,String>(), "POST", "measurement_v2", "", input); session.unsentMeasurements.removeLastMeasurement(); } catch (Exception e) { return; } } } public static String sendMeasurement(Context context,Measurement measurement){ Values session = (Values) context.getApplicationContext(); HTTPUtil http = new HTTPUtil(); JSONObject object = new JSONObject(); if(session.DEBUG) { System.out.println("file saved"); SDCardFileReader.saveData("measurement_last.txt",measurement.toJSON().toString()); } try { object = measurement.toJSON(); } catch (Exception e) { e.printStackTrace(); GAnalytics.log(GAnalytics.MEASUREMENT, "Send Fail New",e.getMessage()); return "Failure"; } GAnalytics.log(GAnalytics.MEASUREMENT, "Send Success New",""); try { String output = http.request(new HashMap<String,String>(), "POST", "measurement_v2", "", object.toString()); System.out.println(object.toString()); System.out.println(output); session.screenBuffer = new ArrayList<Screen>(); MeasurementHelper.attemptSendingUnsentMeasurements(context); GAnalytics.log(GAnalytics.MEASUREMENT, "Send Success Old",""); } catch (Exception e) { e.printStackTrace(); GAnalytics.log(GAnalytics.MEASUREMENT, "Send Fail Old",e.getMessage()); return "Failure"; } return "Success"; } }