| 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 "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 Loading... |
| 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 NOTIMPLEMENTED(); | 188 NOTIMPLEMENTED(); |
| 189 } | 189 } |
| 190 | 190 |
| 191 void MediaRouterAndroid::RegisterMediaSinksObserver( | 191 bool MediaRouterAndroid::RegisterMediaSinksObserver( |
| 192 MediaSinksObserver* observer) { | 192 MediaSinksObserver* observer) { |
| 193 const std::string& source_id = observer->source().id(); | 193 const std::string& source_id = observer->source().id(); |
| 194 base::ObserverList<MediaSinksObserver>* observer_list = | 194 base::ObserverList<MediaSinksObserver>* observer_list = |
| 195 sinks_observers_.get(source_id); | 195 sinks_observers_.get(source_id); |
| 196 if (!observer_list) { | 196 if (!observer_list) { |
| 197 observer_list = new base::ObserverList<MediaSinksObserver>; | 197 observer_list = new base::ObserverList<MediaSinksObserver>; |
| 198 sinks_observers_.add(source_id, make_scoped_ptr(observer_list)); | 198 sinks_observers_.add(source_id, make_scoped_ptr(observer_list)); |
| 199 } else { | 199 } else { |
| 200 DCHECK(!observer_list->HasObserver(observer)); | 200 DCHECK(!observer_list->HasObserver(observer)); |
| 201 } | 201 } |
| 202 | 202 |
| 203 observer_list->AddObserver(observer); | 203 observer_list->AddObserver(observer); |
| 204 JNIEnv* env = base::android::AttachCurrentThread(); | 204 JNIEnv* env = base::android::AttachCurrentThread(); |
| 205 ScopedJavaLocalRef<jstring> jsource_id = | 205 ScopedJavaLocalRef<jstring> jsource_id = |
| 206 base::android::ConvertUTF8ToJavaString(env, source_id); | 206 base::android::ConvertUTF8ToJavaString(env, source_id); |
| 207 Java_ChromeMediaRouter_startObservingMediaSinks( | 207 return Java_ChromeMediaRouter_startObservingMediaSinks( |
| 208 env, java_media_router_.obj(), jsource_id.obj()); | 208 env, java_media_router_.obj(), jsource_id.obj()); |
| 209 } | 209 } |
| 210 | 210 |
| 211 void MediaRouterAndroid::UnregisterMediaSinksObserver( | 211 void MediaRouterAndroid::UnregisterMediaSinksObserver( |
| 212 MediaSinksObserver* observer) { | 212 MediaSinksObserver* observer) { |
| 213 const std::string& source_id = observer->source().id(); | 213 const std::string& source_id = observer->source().id(); |
| 214 auto* observer_list = sinks_observers_.get(source_id); | 214 auto* observer_list = sinks_observers_.get(source_id); |
| 215 if (!observer_list || !observer_list->HasObserver(observer)) | 215 if (!observer_list || !observer_list->HasObserver(observer)) |
| 216 return; | 216 return; |
| 217 | 217 |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 scoped_ptr<content::PresentationSessionMessage> message( | 381 scoped_ptr<content::PresentationSessionMessage> message( |
| 382 new content::PresentationSessionMessage(content::TEXT)); | 382 new content::PresentationSessionMessage(content::TEXT)); |
| 383 message->message = ConvertJavaStringToUTF8(env, jmessage); | 383 message->message = ConvertJavaStringToUTF8(env, jmessage); |
| 384 session_messages.push_back(message.Pass()); | 384 session_messages.push_back(message.Pass()); |
| 385 | 385 |
| 386 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, | 386 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, |
| 387 OnMessagesReceived(session_messages, true)); | 387 OnMessagesReceived(session_messages, true)); |
| 388 } | 388 } |
| 389 | 389 |
| 390 } // namespace media_router | 390 } // namespace media_router |
| OLD | NEW |