package net.miz_hi.smileessence.command.page; import android.app.Activity; import android.app.Dialog; import android.content.DialogInterface; import android.widget.EditText; import net.miz_hi.smileessence.command.MenuCommand; import net.miz_hi.smileessence.data.search.Search; import net.miz_hi.smileessence.data.search.SearchManager; import net.miz_hi.smileessence.dialog.ContentDialog; import net.miz_hi.smileessence.model.statuslist.timeline.impl.SearchTimeline; import net.miz_hi.smileessence.statuslist.StatusListAdapter; import net.miz_hi.smileessence.statuslist.StatusListManager; import net.miz_hi.smileessence.system.PageController; import net.miz_hi.smileessence.view.fragment.impl.SearchFragment; public class CommandCreateNewSearchPage extends MenuCommand { Activity activity; public CommandCreateNewSearchPage(Activity activity) { this.activity = activity; } @Override public String getName() { return "検索タブを追加"; } @Override public void workOnUiThread() { ContentDialog dialog = new ContentDialog(activity, "検索クエリを入力"); final EditText editText = new EditText(activity); dialog.setContentView(editText); dialog.setOnClickListener(new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case Dialog.BUTTON_POSITIVE: { if (editText.length() == 0) { return; } String query = editText.getText().toString(); createNewSearch(query); break; } default: { } } } }); dialog.create().show(); } private void createNewSearch(String query) { Search search = new Search(query); SearchManager.addSearch(search); SearchTimeline timeline = new SearchTimeline(query); StatusListManager.registerSearchTimeline(search.getId(), timeline, new StatusListAdapter(activity, timeline)); SearchFragment fragment = SearchFragment.getInstance(search.getId(), search.getQuery()); PageController.getInstance().addPage(fragment); PageController.getInstance().moveToLast(); timeline.loadNewer(); } }