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 CloseRoute(route_id); | 188 CloseRoute(route_id); |
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 |