Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(919)

Side by Side Diff: chrome/browser/media/android/router/media_router_android.cc

Issue 1383653002: MediaRouterAction: Only observe Media Routes when there is a local route. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/guid.h" 9 #include "base/guid.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 181
182 void MediaRouterAndroid::ClearIssue(const Issue::Id& issue_id) { 182 void MediaRouterAndroid::ClearIssue(const Issue::Id& issue_id) {
183 NOTIMPLEMENTED(); 183 NOTIMPLEMENTED();
184 } 184 }
185 185
186 void MediaRouterAndroid::OnPresentationSessionDetached( 186 void MediaRouterAndroid::OnPresentationSessionDetached(
187 const MediaRoute::Id& route_id) { 187 const MediaRoute::Id& route_id) {
188 CloseRoute(route_id); 188 CloseRoute(route_id);
189 } 189 }
190 190
191 bool MediaRouterAndroid::HasLocalRoute() const {
192 NOTIMPLEMENTED();
193 return false;
194 }
195
191 bool MediaRouterAndroid::RegisterMediaSinksObserver( 196 bool MediaRouterAndroid::RegisterMediaSinksObserver(
192 MediaSinksObserver* observer) { 197 MediaSinksObserver* observer) {
193 const std::string& source_id = observer->source().id(); 198 const std::string& source_id = observer->source().id();
194 base::ObserverList<MediaSinksObserver>* observer_list = 199 base::ObserverList<MediaSinksObserver>* observer_list =
195 sinks_observers_.get(source_id); 200 sinks_observers_.get(source_id);
196 if (!observer_list) { 201 if (!observer_list) {
197 observer_list = new base::ObserverList<MediaSinksObserver>; 202 observer_list = new base::ObserverList<MediaSinksObserver>;
198 sinks_observers_.add(source_id, make_scoped_ptr(observer_list)); 203 sinks_observers_.add(source_id, make_scoped_ptr(observer_list));
199 } else { 204 } else {
200 DCHECK(!observer_list->HasObserver(observer)); 205 DCHECK(!observer_list->HasObserver(observer));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 PresentationSessionMessagesObserver* observer) { 274 PresentationSessionMessagesObserver* observer) {
270 const MediaRoute::Id& route_id = observer->route_id(); 275 const MediaRoute::Id& route_id = observer->route_id();
271 auto* observer_list = messages_observers_.get(route_id); 276 auto* observer_list = messages_observers_.get(route_id);
272 DCHECK(observer_list->HasObserver(observer)); 277 DCHECK(observer_list->HasObserver(observer));
273 278
274 observer_list->RemoveObserver(observer); 279 observer_list->RemoveObserver(observer);
275 if (!observer_list->might_have_observers()) 280 if (!observer_list->might_have_observers())
276 messages_observers_.erase(route_id); 281 messages_observers_.erase(route_id);
277 } 282 }
278 283
284 void MediaRouterAndroid::RegisterLocalMediaRoutesObserver(
285 LocalMediaRoutesObserver* observer) {
286 NOTIMPLEMENTED();
287 }
288
289 void MediaRouterAndroid::UnregisterLocalMediaRoutesObserver(
290 LocalMediaRoutesObserver* observer) {
291 NOTIMPLEMENTED();
292 }
293
279 void MediaRouterAndroid::OnSinksReceived( 294 void MediaRouterAndroid::OnSinksReceived(
280 JNIEnv* env, 295 JNIEnv* env,
281 jobject obj, 296 jobject obj,
282 jstring jsource_urn, 297 jstring jsource_urn,
283 jint jcount) { 298 jint jcount) {
284 std::vector<MediaSink> sinks_converted; 299 std::vector<MediaSink> sinks_converted;
285 sinks_converted.reserve(jcount); 300 sinks_converted.reserve(jcount);
286 for (int i = 0; i < jcount; ++i) { 301 for (int i = 0; i < jcount; ++i) {
287 ScopedJavaLocalRef<jstring> jsink_urn = 302 ScopedJavaLocalRef<jstring> jsink_urn =
288 Java_ChromeMediaRouter_getSinkUrn( 303 Java_ChromeMediaRouter_getSinkUrn(
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 scoped_ptr<content::PresentationSessionMessage> message( 396 scoped_ptr<content::PresentationSessionMessage> message(
382 new content::PresentationSessionMessage(content::TEXT)); 397 new content::PresentationSessionMessage(content::TEXT));
383 message->message = ConvertJavaStringToUTF8(env, jmessage); 398 message->message = ConvertJavaStringToUTF8(env, jmessage);
384 session_messages.push_back(message.Pass()); 399 session_messages.push_back(message.Pass());
385 400
386 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, 401 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list,
387 OnMessagesReceived(session_messages, true)); 402 OnMessagesReceived(session_messages, true));
388 } 403 }
389 404
390 } // namespace media_router 405 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/android/router/media_router_android.h ('k') | chrome/browser/media/router/local_media_routes_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698