package edu.mit.mitmobile2.libraries; import java.util.ArrayList; import java.util.List; import android.os.Handler; import android.widget.ArrayAdapter; import edu.mit.mitmobile2.MITMenuItem; import edu.mit.mitmobile2.NewModule; import edu.mit.mitmobile2.R; import edu.mit.mitmobile2.SearchActivity; import edu.mit.mitmobile2.objs.SearchResults; public class LibrarySearchActivity extends SearchActivity<BookItem> { @Override protected ArrayAdapter<BookItem> getListAdapter(SearchResults<BookItem> results) { return new BookListAdapter(this, results.getResultsList()); } @Override protected String getSuggestionsAuthority() { return LibrarySearchSuggestionsProvider.AUTHORITY; } @Override protected void initiateSearch(String searchTerm, Handler uiHandler) { LibraryModel.searchBooks(searchTerm, true, null, this, uiHandler); } @Override protected String searchItemPlural() { return "books"; } @Override protected String searchItemSingular() { return "book"; } @Override protected boolean supportsMoreResult() { return true; } @Override protected void continueSearch(SearchResults<BookItem> previousResults, final Handler uiHandler) { LibrarySearchResults libraryPreviousResults = (LibrarySearchResults) previousResults; LibraryModel.searchBooks(previousResults.getSearchTerm(), false, libraryPreviousResults, this, uiHandler); } @Override protected void onItemSelected(SearchResults<BookItem> results, BookItem item) { BookDetailActivity.launchActivity(this, results.getResultsList(), results.getItemPosition(item)); } @Override protected NewModule getNewModule() { return new LibrariesModule(); } @Override protected boolean isScrollable() { return false; } @Override public List<MITMenuItem> getPrimaryMenuItems() { ArrayList<MITMenuItem> items = new ArrayList<MITMenuItem>(); items.add(new MITMenuItem("search", "Search", R.drawable.menu_search)); return items; } @Override protected void onOptionSelected(String optionId) { } }