package com.elmz.drift; import android.app.Fragment; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; import com.elmz.drift.adapters.HistoryAdapter; import com.elmz.drift.items.Drive; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import org.json.JSONArray; import org.json.JSONObject; import java.text.DateFormat; import java.text.FieldPosition; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class HistoryFragment extends Fragment { public RecyclerView historyList; public ProgressBar historySpinner; public LinearLayoutManager llm; public HistoryAdapter adapter; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View view = inflater.inflate(R.layout.history_list, container, false); historyList = (RecyclerView) view.findViewById(R.id.history_list); historySpinner = (ProgressBar) view.findViewById(R.id.prog_history_spinner); historyList.setHasFixedSize(true); llm = new LinearLayoutManager(getActivity().getApplicationContext()); historyList.setLayoutManager(llm); SharedPreferences sp = getActivity().getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE); String username = sp.getString("username", ""); String authToken = sp.getString("authToken", ""); APIRequestFragment arf = new APIRequestFragment(new ICallback(){ @Override public void callback(JsonElement arg){ historySpinner.setVisibility(View.INVISIBLE); try{ JsonArray drivesJson = arg.getAsJsonArray(); Drive[] drives = new Drive[drivesJson.size()]; for(int i = 0; i < drivesJson.size(); i++){ drives[i] = new Drive(); JsonObject driveObj = drivesJson.get(i).getAsJsonObject(); Log.d(getString(R.string.log_tag), driveObj.toString()); drives[i].setFrom(driveObj.get("startLocation").getAsString()); drives[i].setTo(driveObj.get("endLocation").getAsString()); drives[i].setStart(new Date(Long.parseLong(driveObj.get("startTime").getAsString()))); drives[i].setEnd(new Date(Long.parseLong(driveObj.get("endTime").getAsString()))); drives[i].setScore(driveObj.get("avgFatigue").getAsInt()); } Log.d(getString(R.string.log_tag), "setting adapter"); adapter = new HistoryAdapter(drives); historyList.setAdapter(adapter); historyList.setVisibility(View.VISIBLE); } catch(Exception e){ Log.e(getString(R.string.log_tag), "error :("); } } }); arf.execute("POST", "getUserTrips", username, authToken); return view; } }