package com.eugene.fithealthmaingit.FitBit; import android.content.Context; import android.content.SharedPreferences; import android.os.AsyncTask; import android.preference.PreferenceManager; import android.util.Log; import com.eugene.fithealthmaingit.MainActivity; import com.temboo.Library.Fitbit.Statistics.GetTimeSeriesByDateRange; import com.temboo.core.TembooSession; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.text.DecimalFormat; import java.util.Calendar; import java.util.Date; public class FitBitCaloriesBurned extends AsyncTask<String, Void, String> { private SharedPreferences sharedPreferences; private Context mCon; int calories = 0; int year = 0; int month = 0; int day = 0; DecimalFormat df = new DecimalFormat("00"); String dateChange; public FitBitCaloriesBurned(Context con, Date date) { mCon = con; Calendar cal = Calendar.getInstance(); cal.setTime(date); year = cal.get(Calendar.YEAR); month = cal.get(Calendar.MONTH) + 1; day = cal.get(Calendar.DAY_OF_MONTH); dateChange = year + "-" + df.format(month) + "-" + df.format(day); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(con); } @Override protected void onPreExecute() { super.onPreExecute(); ((MainActivity) mCon).FitBitLoading(); } @Override protected String doInBackground(String... params) { try { /** * Getting activity data */ TembooSession session = new TembooSession("eugeneh", "FitHealth", "Gj74tL9HVPoTM84UvJaJjtMaMslhVWE7"); GetTimeSeriesByDateRange getTimeSeriesByDateRangeChoreo = new GetTimeSeriesByDateRange(session); GetTimeSeriesByDateRange.GetTimeSeriesByDateRangeInputSet getTimeSeriesByDateRangeInputs = getTimeSeriesByDateRangeChoreo.newInputSet(); getTimeSeriesByDateRangeInputs.set_EndDate(dateChange); getTimeSeriesByDateRangeInputs.set_StartDate(dateChange); getTimeSeriesByDateRangeInputs.set_ConsumerSecret("4ea2779049ad25c145b2c83b0496a207"); getTimeSeriesByDateRangeInputs.set_ResourcePath("activities/log/activityCalories"); getTimeSeriesByDateRangeInputs.set_ConsumerKey("d067e7c1b4d326a71add49b73f573f2f"); getTimeSeriesByDateRangeInputs.set_AccessToken(sharedPreferences.getString("FITBIT_ACCESS_TOKEN", "")); getTimeSeriesByDateRangeInputs.set_ResponseFormat("json"); getTimeSeriesByDateRangeInputs.set_AccessTokenSecret(sharedPreferences.getString("FITBIT_ACCESS_TOKEN_SECRET", "")); GetTimeSeriesByDateRange.GetTimeSeriesByDateRangeResultSet getTimeSeriesByDateRangeResults = getTimeSeriesByDateRangeChoreo.execute(getTimeSeriesByDateRangeInputs); try { JSONObject jsonObject = new JSONObject(getTimeSeriesByDateRangeResults.get_Response()); JSONArray lifetime = jsonObject.getJSONArray("activities-log-activityCalories"); JSONObject test = lifetime.getJSONObject(0); calories = test.getInt("value"); Log.e("DATE", test.getString("dateTime")); } catch (JSONException e) { Log.e("ERROR", e.toString()); e.printStackTrace(); } } catch (Exception e) { Log.e("Test", e.toString()); } return null; } @Override protected void onPostExecute(String result) { ((MainActivity) mCon).FitBitCaloriesBurned(String.valueOf(calories)); } }