package com.vaguehope.onosendai.payload;
import java.util.Collections;
import android.view.View;
import android.view.View.OnClickListener;
import com.vaguehope.onosendai.R;
import com.vaguehope.onosendai.images.ImageLoader;
import com.vaguehope.onosendai.model.Meta;
import com.vaguehope.onosendai.model.MetaType;
import com.vaguehope.onosendai.model.Tweet;
public class EditPayload extends Payload {
public EditPayload (final Tweet ownerTweet, final Meta editSidMeta) {
super(ownerTweet, null, PayloadType.EDIT);
if (editSidMeta.getType() != MetaType.EDIT_SID) throw new IllegalArgumentException();
}
@Override
public String getTitle () {
return "Edit";
}
@Override
public PayloadLayout getLayout () {
return PayloadLayout.EDIT;
}
@Override
public PayloadRowView makeRowView (final View view) {
return new PayloadRowView(Collections.singletonMap(0, view.findViewById(R.id.btnDelete)));
}
@Override
public void applyTo (final PayloadRowView rowView, final ImageLoader imageLoader, final int reqWidth, final PayloadClickListener clickListener) {
for (int i = 0; i < rowView.getButtons().size(); i++) {
rowView.getButtons().get(i).setOnClickListener(new BtnListener(this, clickListener, i));
}
}
private static class BtnListener implements OnClickListener {
private final Payload payload;
private final PayloadClickListener clickListener;
private final int index;
public BtnListener (final Payload payload, final PayloadClickListener clickListener, final int index) {
this.payload = payload;
this.clickListener = clickListener;
this.index = index;
}
@Override
public void onClick (final View v) {
this.clickListener.subviewClicked(v, this.payload, this.index);
}
}
}