package com.boombuler.piraten.map;
import java.util.List;
import org.osmdroid.views.MapView;
import android.os.AsyncTask;
import com.boombuler.piraten.map.data.DBAdapter;
import com.boombuler.piraten.map.data.PlakatOverlay;
import com.boombuler.piraten.map.data.PlakatOverlayItem;
import com.boombuler.piraten.map.data.PlakatOverlayItemFilter;
public class PlakatLoadingTask extends AsyncTask<PlakatOverlayItemFilter, Void, Void> {
private PirateMap context;
private MapView mMapView;
private PlakatOverlay plakatOverlay;
public PlakatLoadingTask(final PirateMap context) {
this.mMapView = context.getMapView();
this.context = context;
}
@Override
protected Void doInBackground(PlakatOverlayItemFilter... filters) {
PlakatOverlayItemFilter filter = filters[0];
DBAdapter dba = new DBAdapter(context);
try {
dba.open();
List<PlakatOverlayItem> items = dba.getMapOverlayItems(filter);
plakatOverlay = new PlakatOverlay(context, items);
mMapView.getOverlays().add(plakatOverlay);
} finally {
dba.close();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
context.setPlakatOverlay(plakatOverlay);
mMapView.getOverlays().add(context.getMyPosOverlay());
mMapView.invalidate();
super.onPostExecute(result);
}
}