package net.miz_hi.smileessence.command.status.impl;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import net.miz_hi.smileessence.Client;
import net.miz_hi.smileessence.command.IHideable;
import net.miz_hi.smileessence.command.status.StatusCommand;
import net.miz_hi.smileessence.dialog.ReviewDialog;
import net.miz_hi.smileessence.model.status.tweet.TweetModel;
import net.miz_hi.smileessence.task.impl.TweetTask;
import twitter4j.StatusUpdate;
public class StatusCommandReview extends StatusCommand implements IHideable
{
private Activity activity;
public StatusCommandReview(Activity activity, TweetModel model)
{
super(model);
this.activity = activity;
}
@Override
public String getName()
{
return "レビューを書く";
}
@Override
public void workOnUiThread()
{
final ReviewDialog reviewDialog = new ReviewDialog(activity, "ツイートを評価しよう");
reviewDialog.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
if (which == DialogInterface.BUTTON_POSITIVE)
{
int star = reviewDialog.getRates();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 5; i++)
{
if (i < star)
{
builder.append("★");
}
else
{
builder.append("☆");
}
}
builder.append("\r\n");
builder.append("コメント: ");
builder.append(reviewDialog.getText());
builder.append("\r\n");
builder.append("@");
builder.append(status.getOriginal().user.screenName);
builder.append(" ( http://twitter.com/");
builder.append(status.getOriginal().user.screenName);
builder.append("/status/");
builder.append(status.getOriginal().statusId);
builder.append(" )");
StatusUpdate update = new StatusUpdate(builder.toString());
update.setInReplyToStatusId(status.getOriginal().statusId);
new TweetTask(update).callAsync();
status.getOriginal().favorite();
}
}
});
reviewDialog.create().show();
}
@Override
public boolean getDefaultVisibility()
{
return !status.getOriginal().user.isProtected && Client.getPermission().canWarotaRT();
}
}