No search dropdown shown on SearchView widget
<p>I added a <code>SearchView widget</code> to my <code>toolbar</code> following the Android docs. </p>

<p>The problem is I don't get a <code>dropdown</code> of previous searches.</p>

<p>I can see that search suggestions are being added to the database via <code>SearchRecentSuggestionsProvider.insert(Uri uri, ContentValues values)</code>,  But I don't see any call to <code>SearchRecentSuggestionsProvider.query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)</code> to return prior results (I am assuming this should be called?)</p>

<p>Code snippets below (my apologies in advance for being so long winded.)</p>

<p>What am I missing?</p>

<p>My <code>gradle.build</code> has:</p>

<pre><code>android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        applicationId 'com.demonewsreader'
        minSdkVersion 19
        targetSdkVersion 23
 ....
dependencies {
 'com.android.support:appcompat-v7:23.1.1', with minSdkVersion 
...
</code></pre>

<p>I created a subclass of <code>SearchRecentSuggestionsProvider</code>:</p>

<pre><code>public class MySuggestionProvider extends SearchRecentSuggestionsProvider {
public final static String AUTHORITY = "com.demonewsreader.MySuggestionProvider";
public final static int MODE = DATABASE_MODE_QUERIES;

    public MySuggestionProvider() {
        setupSuggestions(AUTHORITY, MODE);
    }
}
</code></pre>

<p>The <code>searchable.xml</code> is defined as: </p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:hint="@string/search_hint"
    android:label="@string/app_name"
    android:searchSuggestAuthority="com.demonewsreader.MySuggestionProvider"
    android:searchSuggestSelection=" ?"/&gt;
</code></pre>

<p>My <code>AndroidManifest.xml</code> defines the search activity by:</p>

<pre><code> &lt;activity
        android:name=".ui.NewsArticleListActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar"&gt;
        &lt;intent-filter&gt;
            &lt;action android:name="android.intent.action.MAIN" /&gt;
            &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
            &lt;meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable" /&gt;
        &lt;/intent-filter&gt;
    &lt;/activity&gt;
</code></pre>

<p>My search menu item is defined as:</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;menu xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:app="http://schemas.android.com/apk/res-auto"&gt;
&lt;item android:id="@+id/search"
    android:title="@string/search_title"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="always"
    app:actionViewClass="android.support.v7.widget.SearchView"
    android:searchSuggestAuthority="com.demonewsreader.MySuggestionProvider"
    android:searchSuggestSelection=" ?"/&gt;
</code></pre>

<p>And the search view is defined in NewsArticleListActivity:</p>

<pre><code> @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.options_menu, menu);
    mMenu = menu;
    SearchManager searchManager =
            (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    mSearchView =  (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search));
    mSearchView.setSearchableInfo(
            searchManager.getSearchableInfo(getComponentName()));
    //mSearchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default
    mSearchView.setSubmitButtonEnabled(true);

    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            Log.d(TAG," SearchView OnQueryTextListener.onQueryTextSubmit fired");
            mSearchString = mSearchView.getQuery().toString();
            saveSearchString(mSearchString);
            performRequest(mSearchString);
            mSearchView.onActionViewCollapsed();
            setProgressBarVisibility(View.VISIBLE);
            return true;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            return true;
        }
    });
...
private void saveSearchString(String searchString) {
    SearchRecentSuggestions searchSuggestions = new SearchRecentSuggestions(this,
            MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE);
    searchSuggestions.saveRecentQuery(searchString, null);
}
</code></pre>

<p>The view containing the <code>SearchView</code> is defined in the layout:</p>

<pre><code>...
&lt;android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"&gt;

    &lt;android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:popupTheme="@style/AppTheme.PopupOverlay"&gt;
    &lt;TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/todays_headlines"
        android:textAppearance="?android:textAppearanceLarge"
        android:layout_gravity="center"
        android:id="@+id/toolbar_title" /&gt;
    &lt;/android.support.v7.widget.Toolbar&gt;

&lt;/android.support.design.widget.AppBarLayout&gt;
...
</code></pre>