package net.miz_hi.smileessence.command;
import net.miz_hi.smileessence.Client;
import net.miz_hi.smileessence.dialog.ConfirmDialog;
import net.miz_hi.smileessence.dialog.MenuDialog;
import net.miz_hi.smileessence.preference.EnumPreferenceKey;
import net.miz_hi.smileessence.util.UiHandler;
import net.miz_hi.smileessence.view.activity.MainActivity;
public abstract class MenuCommand implements ICommand
{
@Override
public boolean getDefaultVisibility()
{
return true;
}
@Override
public final void run()
{
new UiHandler()
{
@Override
public void run()
{
if (MenuCommand.this instanceof IConfirmable && Client.<Boolean>getPreferenceValue(EnumPreferenceKey.CONFIRM_DIALOG))
{
ConfirmDialog.show(MainActivity.getInstance(), "実行しますか?", new Runnable()
{
@Override
public void run()
{
MenuDialog.dispose();
workOnUiThread();
}
});
}
else
{
MenuDialog.dispose();
workOnUiThread();
}
}
}.post();
}
public abstract void workOnUiThread();
}