/**
* Copyright 2009 Joe LaPenna
*/
package com.joelapenna.foursquared.maps;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapView;
import com.google.android.maps.OverlayItem;
import com.joelapenna.foursquare.types.FoursquareType;
import com.joelapenna.foursquare.types.Group;
import com.joelapenna.foursquared.FoursquaredSettings;
import android.graphics.drawable.Drawable;
import android.util.Log;
/**
* @author Joe LaPenna (joe@joelapenna.com)
*/
abstract class BaseGroupItemizedOverlay<T extends FoursquareType> extends ItemizedOverlay<OverlayItem> {
public static final String TAG = "BaseGroupItemizedOverlay";
public static final boolean DEBUG = FoursquaredSettings.DEBUG;
Group<T> group = null;
public BaseGroupItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
@Override
public int size() {
if (group == null) {
return 0;
}
return group.size();
}
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
if (DEBUG) Log.d(TAG, "onTap: " + group.getType() + " " + p);
return super.onTap(p, mapView);
}
@Override
protected boolean onTap(int i) {
if (DEBUG) Log.d(TAG, "onTap: " + group.getType() + " " + i);
return super.onTap(i);
}
public void setGroup(Group<T> g) {
assert g.getType() != null;
group = g;
super.populate();
}
}