Merge "Allow empty strings in playFromSearch" into lmp-dev
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index 12ee59e..4d4d646 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -613,14 +613,18 @@
/**
* Request that the player start playback for a specific search query.
+ * An empty or null query should be treated as a request to play any
+ * music.
*
* @param query The search query.
- * @param extras Optional extras that can include extra information about the query.
+ * @param extras Optional extras that can include extra information
+ * about the query.
*/
public void playFromSearch(String query, Bundle extras) {
- if (TextUtils.isEmpty(query)) {
- throw new IllegalArgumentException(
- "You must specify a non-empty search query for playFromSearch.");
+ if (query == null) {
+ // This is to remain compatible with
+ // INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH
+ query = "";
}
try {
mSessionBinder.playFromSearch(query, extras);
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index ae8ce4b..095f885 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -771,7 +771,10 @@
}
/**
- * Override to handle requests to begin playback from a search query.
+ * Override to handle requests to begin playback from a search query. An
+ * empty query indicates that the app may play any music. The
+ * implementation should attempt to make a smart choice about what to
+ * play.
*/
public void onPlayFromSearch(String query, Bundle extras) {
}