package com.abewy.android.apps.klyph.adapter; import android.content.Context; import android.view.View; import android.widget.ImageView; import com.abewy.android.adapter.TypeAdapter; import com.abewy.android.apps.klyph.R; import com.abewy.android.apps.klyph.core.graph.GraphObject; import com.abewy.android.apps.klyph.core.imageloader.ImageLoader; public abstract class KlyphAdapter extends TypeAdapter<GraphObject> { public KlyphAdapter() { } @Override protected int getLayoutRes() { return getLayout(); } protected int getLayout() { return 0; } @Override public void bindData(View view, GraphObject object) { mergeViewWithData(view, object); } protected void mergeViewWithData(View view, GraphObject object) { setData(view, object); } @Override public boolean isEnabled(GraphObject object) { return true; } @Override protected void attachViewHolder(View view) { attachHolder(view); } protected void attachHolder(View view) { } @Override public void setLayoutParams(View view) { } protected void loadImage(ImageView imageView, String url) { ImageLoader.display(imageView, url); } protected void loadImage(ImageView imageView, String url, int placeHolder) { ImageLoader.display(imageView, url, placeHolder); } protected void loadImage(ImageView imageView, String url, boolean fadeIn) { ImageLoader.display(imageView, url, fadeIn); } protected void loadImage(ImageView imageView, String url, GraphObject graphObject) { ImageLoader.display(imageView, url, !graphObject.getDisplayedOnce()); } protected void loadImage(ImageView imageView, String url, int placeHolder, boolean fadeIn) { ImageLoader.display(imageView, url, fadeIn, placeHolder); } protected void loadImage(ImageView imageView, String url, int placeHolder, GraphObject graphObject) { ImageLoader.display(imageView, url, !graphObject.getDisplayedOnce(), placeHolder); } protected Context getContext(View view) { return view.getContext(); } protected void setHolder(View view, Object holder) { view.setTag(R.id.view_holder, holder); } protected Object getHolder(View view) { return view.getTag(R.id.view_holder); } protected void setData(View view, GraphObject data) { view.setTag(R.id.view_data, data); } protected GraphObject getData(View view) { return (GraphObject) view.getTag(R.id.view_data); } }