MediaBrowserServiceCompat: Handle null results from the implementation

When a null result is sent to ResultWrapper from the implementation of
onLoadChildren and/or onLoadItem on API 23+, the result couldn't be passed
to the origin result object or NPE could be happened.

Bug: 31106294
Change-Id: Idd7e095c3475c2ad3e8cf8a0ce85ec2f38fc4d31
diff --git a/media-compat/api21/android/support/v4/media/MediaBrowserServiceCompatApi21.java b/media-compat/api21/android/support/v4/media/MediaBrowserServiceCompatApi21.java
index 59e44e2..b5c147f 100644
--- a/media-compat/api21/android/support/v4/media/MediaBrowserServiceCompatApi21.java
+++ b/media-compat/api21/android/support/v4/media/MediaBrowserServiceCompatApi21.java
@@ -68,6 +68,9 @@
             } else if (result instanceof Parcel) {
                 mResultObj.sendResult(
                         MediaBrowser.MediaItem.CREATOR.createFromParcel((Parcel) result));
+            } else {
+                // The result is null or an invalid instance.
+                mResultObj.sendResult(null);
             }
         }
 
diff --git a/media-compat/java/android/support/v4/media/MediaBrowserServiceCompat.java b/media-compat/java/android/support/v4/media/MediaBrowserServiceCompat.java
index 091cf35..6c6e523 100644
--- a/media-compat/java/android/support/v4/media/MediaBrowserServiceCompat.java
+++ b/media-compat/java/android/support/v4/media/MediaBrowserServiceCompat.java
@@ -331,9 +331,13 @@
                     = new Result<MediaBrowserCompat.MediaItem>(itemId) {
                 @Override
                 void onResultSent(MediaBrowserCompat.MediaItem item, @ResultFlags int flags) {
-                    Parcel parcelItem = Parcel.obtain();
-                    item.writeToParcel(parcelItem, 0);
-                    resultWrapper.sendResult(parcelItem);
+                    if (item == null) {
+                        resultWrapper.sendResult(null);
+                    } else {
+                        Parcel parcelItem = Parcel.obtain();
+                        item.writeToParcel(parcelItem, 0);
+                        resultWrapper.sendResult(parcelItem);
+                    }
                 }
 
                 @Override