SDK Only: Fix search interaction with various samples.

These were broken where pressing back would not clear the
search filter.

Change-Id: Iafd4a497a31a9689efabe7d92f44618a5e8dc80c
diff --git a/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCursorSupport.java b/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCursorSupport.java
index bc74b6d..f2f9b3c 100644
--- a/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCursorSupport.java
+++ b/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCursorSupport.java
@@ -24,6 +24,7 @@
 import android.support.v4.content.Loader;
 import android.support.v4.view.MenuItemCompat;
 import android.support.v4.widget.SearchViewCompat;
+import android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat;
 import android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat;
 import android.support.v4.widget.SimpleCursorAdapter;
 
@@ -101,7 +102,7 @@
             item.setIcon(android.R.drawable.ic_menu_search);
             MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_ALWAYS
                     | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
-            View searchView = SearchViewCompat.newSearchView(getActivity());
+            final View searchView = SearchViewCompat.newSearchView(getActivity());
             if (searchView != null) {
                 SearchViewCompat.setOnQueryTextListener(searchView,
                         new OnQueryTextListenerCompat() {
@@ -124,6 +125,17 @@
                         return true;
                     }
                 });
+                SearchViewCompat.setOnCloseListener(searchView,
+                        new OnCloseListenerCompat() {
+                            @Override
+                            public boolean onClose() {
+                                if (!TextUtils.isEmpty(SearchViewCompat.getQuery(searchView))) {
+                                    SearchViewCompat.setQuery(searchView, null, true);
+                                }
+                                return true;
+                            }
+                    
+                });
                 MenuItemCompat.setActionView(item, searchView);
             }
         }
diff --git a/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCustomSupport.java b/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCustomSupport.java
index b735e65..312aba4 100644
--- a/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCustomSupport.java
+++ b/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCustomSupport.java
@@ -37,6 +37,7 @@
 import android.support.v4.content.pm.ActivityInfoCompat;
 import android.support.v4.view.MenuItemCompat;
 import android.support.v4.widget.SearchViewCompat;
+import android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat;
 import android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat;
 import android.text.TextUtils;
 import android.util.Log;
@@ -440,7 +441,7 @@
             item.setIcon(android.R.drawable.ic_menu_search);
             MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM
                     | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
-            View searchView = SearchViewCompat.newSearchView(getActivity());
+            final View searchView = SearchViewCompat.newSearchView(getActivity());
             if (searchView != null) {
                 SearchViewCompat.setOnQueryTextListener(searchView,
                         new OnQueryTextListenerCompat() {
@@ -453,6 +454,17 @@
                         return true;
                     }
                 });
+                SearchViewCompat.setOnCloseListener(searchView,
+                        new OnCloseListenerCompat() {
+                            @Override
+                            public boolean onClose() {
+                                if (!TextUtils.isEmpty(SearchViewCompat.getQuery(searchView))) {
+                                    SearchViewCompat.setQuery(searchView, null, true);
+                                }
+                                return true;
+                            }
+                    
+                });
                 MenuItemCompat.setActionView(item, searchView);
             }
         }