package net.miz_hi.smileessence.command.page; import android.app.Activity; import android.app.ProgressDialog; import net.miz_hi.smileessence.Client; import net.miz_hi.smileessence.command.MenuCommand; import net.miz_hi.smileessence.core.MyExecutor; import net.miz_hi.smileessence.dialog.SimpleMenuDialog; import net.miz_hi.smileessence.notification.Notificator; import net.miz_hi.smileessence.statuslist.StatusListManager; import net.miz_hi.smileessence.twitter.API; import net.miz_hi.smileessence.util.UiHandler; import twitter4j.UserList; import java.util.ArrayList; import java.util.List; public class CommandCreateNewListPage extends MenuCommand { Activity activity; public CommandCreateNewListPage(Activity activity) { this.activity = activity; } @Override public String getName() { return "リストのタブを追加"; } @Override public void workOnUiThread() { final ProgressDialog pd = ProgressDialog.show(activity, null, "更新中...", true); MyExecutor.execute(new Runnable() { public void run() { try { final List<UserList> lists = API.getReadableLists(Client.getMainAccount()); final List<MenuCommand> commands = new ArrayList<MenuCommand>(); for (UserList list : lists) { if (StatusListManager.getListTimeline(list.getId()) == null) { commands.add(new CommandAddListPage(activity, list)); } } if (commands.isEmpty()) { Notificator.alert("追加できるリストがありません"); } else { final SimpleMenuDialog menu = new SimpleMenuDialog(activity, "リストを選択") { @Override public List<MenuCommand> getMenuList() { return commands; } }; new UiHandler() { @Override public void run() { menu.create().show(); } }.post(); } } catch (Exception e) { e.printStackTrace(); Notificator.alert("リストの取得に失敗しました"); } pd.dismiss(); } }); } }