Commit eac7a1a3 authored by avayvod's avatar avayvod Committed by Commit bot

[Cast,Android] Don't assume there's always a matching provider for a route

After https://codereview.chromium.org/1593313011 the mappings between routes and MRPs are being cleaned up.
Which means that if casting is stopped from the browser UI while the page tried to send a message over, Chrome will crash.

BUG=None
TEST=Manual

Review URL: https://codereview.chromium.org/1632133006

Cr-Commit-Position: refs/heads/master@{#371509}
parent f2bd438b
......@@ -272,7 +272,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
@CalledByNative
public void closeRoute(String routeId) {
MediaRouteProvider provider = mRouteIdsToProviders.get(routeId);
assert provider != null;
if (provider == null) return;
provider.closeRoute(routeId);
}
......@@ -284,7 +284,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
@CalledByNative
public void detachRoute(String routeId) {
MediaRouteProvider provider = mRouteIdsToProviders.get(routeId);
assert provider != null;
if (provider == null) return;
provider.detachRoute(routeId);
mRouteIdsToProviders.remove(routeId);
......@@ -299,7 +299,10 @@ public class ChromeMediaRouter implements MediaRouteManager {
@CalledByNative
public void sendStringMessage(String routeId, String message, int callbackId) {
MediaRouteProvider provider = mRouteIdsToProviders.get(routeId);
assert provider != null;
if (provider == null) {
nativeOnMessageSentResult(mNativeMediaRouterAndroid, false, callbackId);
return;
}
provider.sendStringMessage(routeId, message, callbackId);
}
......@@ -313,7 +316,10 @@ public class ChromeMediaRouter implements MediaRouteManager {
@CalledByNative
public void sendBinaryMessage(String routeId, byte[] data, int callbackId) {
MediaRouteProvider provider = mRouteIdsToProviders.get(routeId);
assert provider != null;
if (provider == null) {
nativeOnMessageSentResult(mNativeMediaRouterAndroid, false, callbackId);
return;
}
provider.sendBinaryMessage(routeId, data, callbackId);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment