package edu.mit.mitmobile2.maps;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import edu.mit.mitmobile2.R;
import edu.mit.mitmobile2.SimpleArrayAdapter;
import edu.mit.mitmobile2.TwoLineActionRow;
import edu.mit.mitmobile2.objs.MapItem;
public class MapItemsAdapter extends SimpleArrayAdapter<MapItem> {
static final String TAG = "MapItemsAdapter";
List<MapItem> mMapItems;
Context mContext;
String mCategory = "";
public MapItemsAdapter(Context context, List<MapItem> items) {
super(context, items, R.layout.boring_action_row);
mMapItems = items;
mContext = context;
mCategory = "";
}
public MapItemsAdapter(Context context, List<MapItem> items, String category) {
super(context, items, R.layout.boring_action_row);
mMapItems = items;
mContext = context;
mCategory = category;
}
@Override
public void updateView(MapItem mapItem, View view) {
TwoLineActionRow row = (TwoLineActionRow) view;
if (mCategory.equals("")) {
row.setTitle(mapItem.getMapItemName());
}
else {
String displayName = (String)mapItem.getItemData().get("displayName");
String name = (String)mapItem.getItemData().get("name");
String bldgnum = (String)mapItem.getItemData().get("bldgnum");
// Building Number searches have categories with parenthesis
if (mCategory.contains("(")) {
row.setTitle(bldgnum);
}
else if(displayName != null && !displayName.equals("")) {
row.setTitle(displayName);
} else {
row.setTitle(name);
}
}
}
public AdapterView.OnItemClickListener showOnMapOnItemClickListener() {
return new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View row, int position, long id) {
ArrayList<MapItem> mapItems = new ArrayList<MapItem>();
MapItem mapItem = getItem(position);
mapItems.add(mapItem);
Intent i = new Intent(mContext, MITMapActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.putExtra(MITMapView.MAP_ITEMS_KEY, mapItems);
mContext.startActivity(i);
}
};
}
public AdapterView.OnItemClickListener showMapDetailsOnItemClickListener() {
return new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View row, int position, long id) {
//MITMapDetailsSliderActivity.launchMapDetails(mContext, mMapItems, position);
}
};
}
}