package com.rattlehead666.performancetweaker.app.ui.fragments; import com.rattlehead666.performancetweaker.app.R; import com.rattlehead666.performancetweaker.app.ui.adapters.TimeInStatesListAdapter; import com.rattlehead666.performancetweaker.app.utils.Constants; import com.rattlehead666.performancetweaker.app.utils.SysUtils; import android.app.Fragment; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v7.widget.CardView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.TextView; public class TimeInStatesFragment extends Fragment { View view; ListView listView; TimeInStatesListAdapter timeInStateAdapter; TextView totalTimeInState; SharedPreferences prefs; Context context; CardView cardView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setHasOptionsMenu(true); view = inflater.inflate(R.layout.time_in_states, container, false); listView = (ListView) view.findViewById(R.id.time_in_state_listView); totalTimeInState = (TextView) view.findViewById(R.id.total_time); cardView = (CardView) view.findViewById(R.id.total_time_card); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); context = view.getContext(); timeInStateAdapter = new TimeInStatesListAdapter(context); prefs = PreferenceManager.getDefaultSharedPreferences(context); String previousStats = prefs.getString(Constants.PREF_TIS_RESET_STATS, null); if (previousStats != null) { timeInStateAdapter.loadPreviousStats(); } ViewGroup header = (ViewGroup) getActivity().getLayoutInflater() .inflate(R.layout.time_in_state_list_header, listView, false); listView.addHeaderView(header, null, false); listView.setAdapter(timeInStateAdapter); totalTimeInState.setText(SysUtils.secToString(timeInStateAdapter.totaltime / 100)); timeInStateAdapter.refresh(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.time_in_stat_menu, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.refresh: timeInStateAdapter.refresh(); totalTimeInState.setText(SysUtils.secToString(timeInStateAdapter.totaltime / 100)); break; case R.id.reset_timers: timeInStateAdapter.reset(); totalTimeInState.setText(SysUtils.secToString(timeInStateAdapter.totaltime / 100)); break; case R.id.restore_timers: timeInStateAdapter.removeOffsets(); timeInStateAdapter.refresh(); break; default: break; } return super.onOptionsItemSelected(item); } }