package org.magnum.soda.example.controllers.searchlocationfragment;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.magnum.soda.example.maint.MaintenanceReport;
import org.magnum.soda.example.maint.R;
import org.magnum.soda.example.maint.ReportEditorActivity;
import org.magnum.soda.example.maint.ReportParcelable;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import com.actionbarsherlock.app.SherlockFragment;
public class ReportsListFragment extends SherlockFragment {
private static final String TAG = ReportsListFragment.class.getName();
private View mRootView;
private ListView mReportsListView;
private List<MaintenanceReport> mReports;
private ReportsAdapter mReportsAdapter;
public ReportsListFragment() {
super();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mRootView = inflater.inflate(R.layout.fragment_list_reports, container,
false);
mReportsListView = (ListView) mRootView
.findViewById(R.id.listViewListReports);
mReportsListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.d(TAG, "onItemClicked: " + position);
if(mReports == null) {
Log.d(TAG, "mReports was null");
return;
}
launchReportEditor(mReports.get(position));
}
});
mReportsAdapter = new ReportsAdapter(getActivity());
mReportsListView.setAdapter(mReportsAdapter);
return mRootView;
}
public void setReports(List<MaintenanceReport> reports) {
Log.d(TAG, "Setting reports");
mReports = reports;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mReportsAdapter.update(mReports);
mReportsAdapter.notifyDataSetChanged();
}
});
}
private void launchReportEditor(MaintenanceReport report) {
Log.d(TAG,"launcing report editor");
Intent i = new Intent(this.getActivity(), ReportEditorActivity.class);
i.putExtra("mReport", new ReportParcelable(report));
startActivity(i);
}
}