Android Open Source - Book-MetaSearch Search Activity






From Project

Back to project page Book-MetaSearch.

License

The source code is released under:

Apache License

If you think the Android project Book-MetaSearch listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.grosinger.bookmetasearch;
/*from  w w w. ja v  a2s  .  co m*/
import android.app.Activity;
import android.app.LoaderManager;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.content.Loader;
import android.os.Bundle;
import android.provider.SearchRecentSuggestions;
import android.util.Log;
import android.view.Menu;
import android.widget.SearchView;

import net.grosinger.bookmetasearch.book.Book;
import net.grosinger.bookmetasearch.fragment.SearchResultsFragment;
import net.grosinger.bookmetasearch.loader.GoogleQuery;
import net.grosinger.bookmetasearch.loader.ProductLoader;
import net.grosinger.bookmetasearch.search.RecentBookSearchSuggestionsProvider;

import java.util.List;


/**
 * Created by tony on 11/3/13.
 */
public class SearchActivity extends Activity implements LoaderManager.LoaderCallbacks<List<Book>> {
    SearchResultsFragment searchResultsFragment;

    String queryString;
    ProductLoader queryLoader;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        getLoaderManager().initLoader(0, null, this);

        Intent intent = getIntent();
        if (intent != null && Intent.ACTION_SEARCH.equals(intent.getAction())) {
            Log.d(getClass().getSimpleName(), "Found ACTION_SEARCH intent, creating SearchResultsFragment");

            searchResultsFragment = new SearchResultsFragment();

            getFragmentManager().beginTransaction()
                    .add(R.id.container, searchResultsFragment)
                    .commit();

            handleIntent(getIntent());
        }
    }

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.home, menu);

        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

        return true;
    }

    private void handleIntent(Intent intent) {
        Log.d(getClass().getSimpleName(), "Handling intent");

        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            Log.d(getClass().getSimpleName(), "Intent is ACTION_SEARCH");

            queryString = intent.getStringExtra(SearchManager.QUERY);
            Log.d(getClass().getSimpleName(), "Searching for " + queryString);

            SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
                    RecentBookSearchSuggestionsProvider.AUTHORITY, RecentBookSearchSuggestionsProvider.MODE);
            suggestions.saveRecentQuery(queryString, null);

            if(queryLoader == null) {
                onCreateLoader(0, null);
            }
            queryLoader.setSearchTerm(queryString);
            queryLoader.forceLoad();
        }
    }

    @Override
    public Loader<List<Book>> onCreateLoader(int i, Bundle args) {
        Log.v(getClass().getSimpleName(), "Creating Loader");

        queryLoader = new ProductLoader(this);
        queryLoader.addProductQuery(new GoogleQuery());
        return queryLoader;
    }

    @Override
    public void onLoadFinished(Loader<List<Book>> loader, List<Book> results) {
        searchResultsFragment.setResults(results);
    }

    @Override
    public void onLoaderReset(Loader<List<Book>> loader) {
        queryLoader.setSearchTerm(null);
    }
}




Java Source Code List

com.ECS.client.jax.Accessories.java
com.ECS.client.jax.Arguments.java
com.ECS.client.jax.BrowseNode.java
com.ECS.client.jax.BrowseNodes.java
com.ECS.client.jax.Collections.java
com.ECS.client.jax.CustomerReviews.java
com.ECS.client.jax.DecimalWithUnits.java
com.ECS.client.jax.EditorialReview.java
com.ECS.client.jax.EditorialReviews.java
com.ECS.client.jax.Errors.java
com.ECS.client.jax.ImageSet.java
com.ECS.client.jax.Image.java
com.ECS.client.jax.ItemAttributes.java
com.ECS.client.jax.ItemLink.java
com.ECS.client.jax.ItemLinks.java
com.ECS.client.jax.Item.java
com.ECS.client.jax.LoyaltyPoints.java
com.ECS.client.jax.Merchant.java
com.ECS.client.jax.NewReleases.java
com.ECS.client.jax.NonNegativeIntegerWithUnits.java
com.ECS.client.jax.OfferAttributes.java
com.ECS.client.jax.OfferListing.java
com.ECS.client.jax.OfferSummary.java
com.ECS.client.jax.Offer.java
com.ECS.client.jax.Offers.java
com.ECS.client.jax.Price.java
com.ECS.client.jax.Promotion.java
com.ECS.client.jax.Promotions.java
com.ECS.client.jax.Property.java
com.ECS.client.jax.RelatedItem.java
com.ECS.client.jax.RelatedItems.java
com.ECS.client.jax.SimilarProducts.java
com.ECS.client.jax.TopItemSet.java
com.ECS.client.jax.TopSellers.java
com.ECS.client.jax.Tracks.java
com.ECS.client.jax.VariationAttribute.java
com.ECS.client.jax.VariationDimensions.java
com.ECS.client.jax.VariationSummary.java
com.ECS.client.jax.Variations.java
net.grosinger.bookmetasearch.BookDetail.java
net.grosinger.bookmetasearch.BookInventoryAdapter.java
net.grosinger.bookmetasearch.Home.java
net.grosinger.bookmetasearch.SearchActivity.java
net.grosinger.bookmetasearch.book.Author.java
net.grosinger.bookmetasearch.book.Book.java
net.grosinger.bookmetasearch.book.provider.BookProvider.java
net.grosinger.bookmetasearch.book.provider.LibraryBookProvider.java
net.grosinger.bookmetasearch.book.provider.RetailBookProvider.java
net.grosinger.bookmetasearch.fragment.DetailFragment.java
net.grosinger.bookmetasearch.fragment.HomeFragment.java
net.grosinger.bookmetasearch.fragment.SearchResultsFragment.java
net.grosinger.bookmetasearch.inventory.AvailableBook.java
net.grosinger.bookmetasearch.inventory.InventoryHeader.java
net.grosinger.bookmetasearch.inventory.InventoryListItem.java
net.grosinger.bookmetasearch.loader.AmazonQuery.java
net.grosinger.bookmetasearch.loader.AsyncImageLoader.java
net.grosinger.bookmetasearch.loader.GoodreadsQuery.java
net.grosinger.bookmetasearch.loader.GoogleQuery.java
net.grosinger.bookmetasearch.loader.InventoryLoader.java
net.grosinger.bookmetasearch.loader.InventoryQuery.java
net.grosinger.bookmetasearch.loader.ProductLoader.java
net.grosinger.bookmetasearch.loader.ProductQuery.java
net.grosinger.bookmetasearch.search.RecentBookSearchSuggestionsProvider.java
net.grosinger.bookmetasearch.search.SearchResultAdapter.java