| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/media/android/router/media_router_android.h" | 5 #include "chrome/browser/media/android/router/media_router_android.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/android/context_utils.h" | 9 #include "base/android/context_utils.h" |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 env, | 109 env, |
| 110 java_media_router_.obj(), | 110 java_media_router_.obj(), |
| 111 jsource_id.obj(), | 111 jsource_id.obj(), |
| 112 jsink_id.obj(), | 112 jsink_id.obj(), |
| 113 jpresentation_id.obj(), | 113 jpresentation_id.obj(), |
| 114 jorigin.obj(), | 114 jorigin.obj(), |
| 115 tab_id, | 115 tab_id, |
| 116 route_request_id); | 116 route_request_id); |
| 117 } | 117 } |
| 118 | 118 |
| 119 void MediaRouterAndroid::ConnectRouteByRouteId( |
| 120 const MediaSource::Id& source, |
| 121 const MediaRoute::Id& route_id, |
| 122 const GURL& origin, |
| 123 content::WebContents* web_contents, |
| 124 const std::vector<MediaRouteResponseCallback>& callbacks) { |
| 125 NOTIMPLEMENTED(); |
| 126 } |
| 127 |
| 119 void MediaRouterAndroid::JoinRoute( | 128 void MediaRouterAndroid::JoinRoute( |
| 120 const MediaSource::Id& source_id, | 129 const MediaSource::Id& source_id, |
| 121 const std::string& presentation_id, | 130 const std::string& presentation_id, |
| 122 const GURL& origin, | 131 const GURL& origin, |
| 123 content::WebContents* web_contents, | 132 content::WebContents* web_contents, |
| 124 const std::vector<MediaRouteResponseCallback>& callbacks) { | 133 const std::vector<MediaRouteResponseCallback>& callbacks) { |
| 125 if (!origin.is_valid()) { | 134 if (!origin.is_valid()) { |
| 126 for (const MediaRouteResponseCallback& callback : callbacks) | 135 for (const MediaRouteResponseCallback& callback : callbacks) |
| 127 callback.Run(nullptr, "", "Invalid origin"); | 136 callback.Run(nullptr, "", "Invalid origin"); |
| 128 return; | 137 return; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 ScopedJavaLocalRef<jstring> jsource_id = | 272 ScopedJavaLocalRef<jstring> jsource_id = |
| 264 base::android::ConvertUTF8ToJavaString(env, source_id); | 273 base::android::ConvertUTF8ToJavaString(env, source_id); |
| 265 Java_ChromeMediaRouter_stopObservingMediaSinks( | 274 Java_ChromeMediaRouter_stopObservingMediaSinks( |
| 266 env, java_media_router_.obj(), jsource_id.obj()); | 275 env, java_media_router_.obj(), jsource_id.obj()); |
| 267 } | 276 } |
| 268 } | 277 } |
| 269 | 278 |
| 270 void MediaRouterAndroid::RegisterMediaRoutesObserver( | 279 void MediaRouterAndroid::RegisterMediaRoutesObserver( |
| 271 MediaRoutesObserver* observer) { | 280 MediaRoutesObserver* observer) { |
| 272 DVLOG(2) << "Added MediaRoutesObserver: " << observer; | 281 DVLOG(2) << "Added MediaRoutesObserver: " << observer; |
| 282 if (!observer->source_id().empty()) |
| 283 NOTIMPLEMENTED() << "Joinable routes query not implemented."; |
| 284 |
| 273 routes_observers_.AddObserver(observer); | 285 routes_observers_.AddObserver(observer); |
| 274 } | 286 } |
| 275 | 287 |
| 276 void MediaRouterAndroid::UnregisterMediaRoutesObserver( | 288 void MediaRouterAndroid::UnregisterMediaRoutesObserver( |
| 277 MediaRoutesObserver* observer) { | 289 MediaRoutesObserver* observer) { |
| 278 if (!routes_observers_.HasObserver(observer)) | 290 if (!routes_observers_.HasObserver(observer)) |
| 279 return; | 291 return; |
| 280 routes_observers_.RemoveObserver(observer); | 292 routes_observers_.RemoveObserver(observer); |
| 281 } | 293 } |
| 282 | 294 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 jis_local, std::string(), | 380 jis_local, std::string(), |
| 369 true); // TODO(avayvod): Populate for_display. | 381 true); // TODO(avayvod): Populate for_display. |
| 370 | 382 |
| 371 for (const MediaRouteResponseCallback& callback : request->callbacks) | 383 for (const MediaRouteResponseCallback& callback : request->callbacks) |
| 372 callback.Run(&route, request->presentation_id, std::string()); | 384 callback.Run(&route, request->presentation_id, std::string()); |
| 373 | 385 |
| 374 route_requests_.Remove(jroute_request_id); | 386 route_requests_.Remove(jroute_request_id); |
| 375 | 387 |
| 376 active_routes_.push_back(route); | 388 active_routes_.push_back(route); |
| 377 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, | 389 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, |
| 378 OnRoutesUpdated(active_routes_)); | 390 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>())); |
| 379 } | 391 } |
| 380 | 392 |
| 381 void MediaRouterAndroid::OnRouteRequestError( | 393 void MediaRouterAndroid::OnRouteRequestError( |
| 382 JNIEnv* env, | 394 JNIEnv* env, |
| 383 const JavaParamRef<jobject>& obj, | 395 const JavaParamRef<jobject>& obj, |
| 384 const JavaParamRef<jstring>& jerror_text, | 396 const JavaParamRef<jstring>& jerror_text, |
| 385 jint jroute_request_id) { | 397 jint jroute_request_id) { |
| 386 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); | 398 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); |
| 387 if (!request) | 399 if (!request) |
| 388 return; | 400 return; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 400 const JavaParamRef<jobject>& obj, | 412 const JavaParamRef<jobject>& obj, |
| 401 const JavaParamRef<jstring>& jmedia_route_id) { | 413 const JavaParamRef<jstring>& jmedia_route_id) { |
| 402 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); | 414 MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); |
| 403 for (auto it = active_routes_.begin(); it != active_routes_.end(); ++it) | 415 for (auto it = active_routes_.begin(); it != active_routes_.end(); ++it) |
| 404 if (it->media_route_id() == route_id) { | 416 if (it->media_route_id() == route_id) { |
| 405 active_routes_.erase(it); | 417 active_routes_.erase(it); |
| 406 break; | 418 break; |
| 407 } | 419 } |
| 408 | 420 |
| 409 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, | 421 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, |
| 410 OnRoutesUpdated(active_routes_)); | 422 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>())); |
| 411 } | 423 } |
| 412 | 424 |
| 413 void MediaRouterAndroid::OnMessageSentResult(JNIEnv* env, | 425 void MediaRouterAndroid::OnMessageSentResult(JNIEnv* env, |
| 414 const JavaParamRef<jobject>& obj, | 426 const JavaParamRef<jobject>& obj, |
| 415 jboolean jsuccess, | 427 jboolean jsuccess, |
| 416 jint jcallback_id) { | 428 jint jcallback_id) { |
| 417 SendRouteMessageCallback* callback = message_callbacks_.Lookup(jcallback_id); | 429 SendRouteMessageCallback* callback = message_callbacks_.Lookup(jcallback_id); |
| 418 callback->Run(jsuccess); | 430 callback->Run(jsuccess); |
| 419 message_callbacks_.Remove(jcallback_id); | 431 message_callbacks_.Remove(jcallback_id); |
| 420 } | 432 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 433 scoped_ptr<content::PresentationSessionMessage> message( | 445 scoped_ptr<content::PresentationSessionMessage> message( |
| 434 new content::PresentationSessionMessage(content::TEXT)); | 446 new content::PresentationSessionMessage(content::TEXT)); |
| 435 message->message = ConvertJavaStringToUTF8(env, jmessage); | 447 message->message = ConvertJavaStringToUTF8(env, jmessage); |
| 436 session_messages.push_back(std::move(message)); | 448 session_messages.push_back(std::move(message)); |
| 437 | 449 |
| 438 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, | 450 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, |
| 439 OnMessagesReceived(session_messages, true)); | 451 OnMessagesReceived(session_messages, true)); |
| 440 } | 452 } |
| 441 | 453 |
| 442 } // namespace media_router | 454 } // namespace media_router |
| OLD | NEW |