Android Open Source - open311-android Saved Reports Adapter






From Project

Back to project page open311-android.

License

The source code is released under:

GNU General Public License

If you think the Android project open311-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 * @copyright 2012 City of Bloomington, Indiana
 * @license http://www.gnu.org/licenses/gpl.txt GNU/GPL, see LICENSE.txt
 * @author Cliff Ingham <inghamn@bloomington.in.gov>
 *///from w  ww .j av a2s .  c om
package gov.in.bloomington.georeporter.adapters;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import gov.in.bloomington.georeporter.R;
import gov.in.bloomington.georeporter.models.Open311;
import gov.in.bloomington.georeporter.models.ServiceRequest;

import gov.in.bloomington.georeporter.util.json.JSONArray;
import gov.in.bloomington.georeporter.util.json.JSONException;
import gov.in.bloomington.georeporter.util.json.JSONObject;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class SavedReportsAdapter extends BaseAdapter {
  private JSONArray mServiceRequests;
  private static LayoutInflater mInflater;
  
  private DateFormat       mDateFormat;
  private SimpleDateFormat mISODate;
  
  @SuppressLint("SimpleDateFormat")
    public SavedReportsAdapter(JSONArray serviceRequests, Context c) {
    mServiceRequests = serviceRequests;
    mInflater = LayoutInflater.from(c);
    mDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
    mISODate = new SimpleDateFormat(Open311.DATETIME_FORMAT);
  }

  @Override
  public int getCount() {
    return (mServiceRequests == null) ? 0 : mServiceRequests.length();
  }

  @Override
  public ServiceRequest getItem(int position) {
    JSONObject o = mServiceRequests.optJSONObject(position);
    return new ServiceRequest(o.toString());
  }

  @Override
  public long getItemId(int position) {
    return position;
  }
  
  private static class ViewHolder {
    TextView serviceName, status, date, address, endpoint;
    ImageView media;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
      convertView = mInflater.inflate(R.layout.list_item_saved_reports, null);
      holder = new ViewHolder();
      holder.serviceName = (TextView) convertView.findViewById(R.id.service_name);
      holder.status      = (TextView) convertView.findViewById(R.id.status);
      holder.date        = (TextView) convertView.findViewById(R.id.date);
      holder.address     = (TextView) convertView.findViewById(R.id.address);
            holder.endpoint    = (TextView) convertView.findViewById(R.id.endpoint);
      holder.media       = (ImageView)convertView.findViewById(R.id.media);
      convertView.setTag(holder);
    }
    else {
      holder = (ViewHolder) convertView.getTag();
    }
    
        ServiceRequest sr = getItem(position);
    try {
      holder.serviceName.setText(sr.service        .getString(Open311.SERVICE_NAME));
      holder.endpoint   .setText(sr.endpoint       .getString(Open311.NAME));
      holder.address    .setText(sr.post_data      .optString(Open311.ADDRESS_STRING));
      holder.status     .setText(sr.service_request.optString(ServiceRequest.STATUS));
            holder.date       .setText(mDateFormat.format(mISODate.parse(sr.post_data.optString(ServiceRequest.REQUESTED_DATETIME))));
            holder.media.setImageBitmap(sr.getMediaBitmap(80, 80, mInflater.getContext()));
    } catch (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
    return convertView;
  }
  
  /**
   * 
   * @param serviceRequests
   * void
   */
  public void updateSavedReports(JSONArray serviceRequests) {
      mServiceRequests = serviceRequests;
      super.notifyDataSetChanged();
  }
}




Java Source Code List

android.UnusedStub.java
gov.in.bloomington.georeporter.activities.AboutActivity.java
gov.in.bloomington.georeporter.activities.AttributeEntryActivity.java
gov.in.bloomington.georeporter.activities.BaseActivity.java
gov.in.bloomington.georeporter.activities.ChooseLocationActivity.java
gov.in.bloomington.georeporter.activities.DataEntryActivity.java
gov.in.bloomington.georeporter.activities.MainActivity.java
gov.in.bloomington.georeporter.activities.ReportActivity.java
gov.in.bloomington.georeporter.activities.SavedReportsActivity.java
gov.in.bloomington.georeporter.activities.SettingsActivity.java
gov.in.bloomington.georeporter.adapters.GroupsAdapter.java
gov.in.bloomington.georeporter.adapters.PersonalInfoAdapter.java
gov.in.bloomington.georeporter.adapters.SavedReportsAdapter.java
gov.in.bloomington.georeporter.adapters.ServersAdapter.java
gov.in.bloomington.georeporter.adapters.ServiceRequestAdapter.java
gov.in.bloomington.georeporter.adapters.ServicesAdapter.java
gov.in.bloomington.georeporter.fragments.ChooseGroupFragment.java
gov.in.bloomington.georeporter.fragments.ChooseServiceFragment.java
gov.in.bloomington.georeporter.fragments.PersonalInfoFragment.java
gov.in.bloomington.georeporter.fragments.ReportFragment.java
gov.in.bloomington.georeporter.fragments.SavedReportViewFragment.java
gov.in.bloomington.georeporter.fragments.SavedReportsListFragment.java
gov.in.bloomington.georeporter.fragments.ServersFragment.java
gov.in.bloomington.georeporter.models.Open311Exception.java
gov.in.bloomington.georeporter.models.Open311.java
gov.in.bloomington.georeporter.models.Preferences.java
gov.in.bloomington.georeporter.models.ServiceRequest.java
gov.in.bloomington.georeporter.util.Media.java
gov.in.bloomington.georeporter.util.Open311Parser.java
gov.in.bloomington.georeporter.util.Open311XmlParser.java
gov.in.bloomington.georeporter.util.Util.java
gov.in.bloomington.georeporter.util.json.CDL.java
gov.in.bloomington.georeporter.util.json.CookieList.java
gov.in.bloomington.georeporter.util.json.Cookie.java
gov.in.bloomington.georeporter.util.json.HTTPTokener.java
gov.in.bloomington.georeporter.util.json.HTTP.java
gov.in.bloomington.georeporter.util.json.JSONArray.java
gov.in.bloomington.georeporter.util.json.JSONException.java
gov.in.bloomington.georeporter.util.json.JSONML.java
gov.in.bloomington.georeporter.util.json.JSONObject.java
gov.in.bloomington.georeporter.util.json.JSONString.java
gov.in.bloomington.georeporter.util.json.JSONStringer.java
gov.in.bloomington.georeporter.util.json.JSONTokener.java
gov.in.bloomington.georeporter.util.json.JSONWriter.java
gov.in.bloomington.georeporter.util.json.XMLTokener.java
gov.in.bloomington.georeporter.util.json.XML.java