package com.gettingmobile.goodnews.itemview;
import android.app.Application;
import com.gettingmobile.android.app.actions.AbstractAction;
import com.gettingmobile.android.app.actions.ActionContext;
import com.gettingmobile.google.reader.Item;
abstract class AbstractItemAction extends AbstractAction<Application> {
protected Item getItem(ActionContext context) {
return ((ItemViewActivity) context.getActivity()).getItem();
}
@Override
public int getState(ActionContext<? extends Application> context) {
final Item item = getItem(context);
return item != null ? getState(context, item) : GONE;
}
protected int getState(ActionContext<? extends Application> context, Item item) {
return ENABLED;
}
@Override
public boolean onFired(ActionContext<? extends Application> context) {
final Item item = getItem(context);
return item == null || onFired(context, item);
}
protected abstract boolean onFired(ActionContext<? extends Application> context, Item item);
}