summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaRouter.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 6fa378724240..cd68a1d8eb1a 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -361,7 +361,12 @@ public class MediaRouter {
}
public Display[] getAllPresentationDisplays() {
- return mDisplayService.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
+ try {
+ return mDisplayService.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
+ } catch (RuntimeException ex) {
+ Log.e(TAG, "Unable to get displays.", ex);
+ return null;
+ }
}
private void updatePresentationDisplays(int changedDisplayId) {
@@ -2075,6 +2080,9 @@ public class MediaRouter {
private Display choosePresentationDisplay() {
if ((mSupportedTypes & ROUTE_TYPE_LIVE_VIDEO) != 0) {
Display[] displays = sStatic.getAllPresentationDisplays();
+ if (displays == null || displays.length == 0) {
+ return null;
+ }
// Ensure that the specified display is valid for presentations.
// This check will normally disallow the default display unless it was