package com.lateensoft.pathfinder.toolkit.views.widget;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.view.View;
import java.util.List;
public abstract class DynamicArrayAdapter<T> extends BaseArrayAdapter<T> {
private ItemSwapListener swapListener;
public interface ItemSwapListener {
public void onHoverEventFinished(DynamicListView.HoverEvent event);
public void onItemsSwapped(int pos1, int pos2);
}
public DynamicArrayAdapter(Context context, int textViewResourceId, List<T> objects) {
super(context, textViewResourceId, objects);
}
public void setOnItemsSwappedListener(ItemSwapListener listener) {
swapListener = listener;
}
public void swapItems(int pos1, int pos2) {
doItemSwap(pos1, pos2);
if (swapListener != null) {
swapListener.onItemsSwapped(pos1, pos2);
}
}
public void finishedHoverEvent(DynamicListView.HoverEvent event) {
if (swapListener != null) {
swapListener.onHoverEventFinished(event);
}
}
protected abstract void doItemSwap(int pos1, int pos2);
public Bitmap getBitmapForMobileRow(View row) {
return getBitmapFromView(row);
}
private Bitmap getBitmapFromView(View v) {
Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas (bitmap);
v.draw(canvas);
return bitmap;
}
}