Index: chrome/android/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java |
index 6c71da45feef9b2ba22c822926f41b07415c9bb1..92f626f9f48e2c72cccc45db1ef2d90e7c6f60b2 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java |
@@ -109,14 +109,19 @@ public class ChromeMediaRouter implements MediaRouteManager { |
/** |
* Starts background monitoring for available media sinks compatible with the given |
- * |sourceUrn| |
+ * |sourceUrn| if the device is in a state that allows it. |
* @param sourceId a URL to use for filtering of the available media sinks |
+ * @return whether the monitoring started (ie. was allowed). |
*/ |
@CalledByNative |
- public void startObservingMediaSinks(String sourceId) { |
+ public boolean startObservingMediaSinks(String sourceId) { |
+ if (SysUtils.isLowEndDevice()) return false; |
+ |
for (MediaRouteProvider provider : mRouteProviders) { |
provider.startObservingMediaSinks(sourceId); |
} |
+ |
+ return true; |
} |
/** |
@@ -246,4 +251,4 @@ public class ChromeMediaRouter implements MediaRouteManager { |
native void nativeOnMessageSentResult( |
long nativeMediaRouterAndroid, boolean success, int callbackId); |
native void nativeOnMessage(long nativeMediaRouterAndroid, String mediaRouteId, String message); |
-} |
+} |