OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/browser/media/session/media_session_android.h" | 5 #include "content/browser/media/session/media_session_android.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include "content/browser/media/session/media_session_impl.h" | 8 #include "content/browser/media/session/media_session_impl.h" |
9 #include "content/browser/web_contents/web_contents_android.h" | 9 #include "content/browser/web_contents/web_contents_android.h" |
10 #include "content/common/android/media_metadata_android.h" | 10 #include "content/common/android/media_metadata_android.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 if (!Java_MediaSessionImpl_hasObservers(env, j_media_session_)) | 76 if (!Java_MediaSessionImpl_hasObservers(env, j_media_session_)) |
77 return; | 77 return; |
78 | 78 |
79 base::android::ScopedJavaLocalRef<jobject> j_metadata; | 79 base::android::ScopedJavaLocalRef<jobject> j_metadata; |
80 if (metadata.has_value()) | 80 if (metadata.has_value()) |
81 j_metadata = MediaMetadataAndroid::CreateJavaObject(env, metadata.value()); | 81 j_metadata = MediaMetadataAndroid::CreateJavaObject(env, metadata.value()); |
82 Java_MediaSessionImpl_mediaSessionMetadataChanged(env, j_media_session_, | 82 Java_MediaSessionImpl_mediaSessionMetadataChanged(env, j_media_session_, |
83 j_metadata); | 83 j_metadata); |
84 } | 84 } |
85 | 85 |
| 86 void MediaSessionAndroid::MediaSessionEnabledAction( |
| 87 blink::mojom::MediaSessionAction action) { |
| 88 JNIEnv* env = base::android::AttachCurrentThread(); |
| 89 Java_MediaSessionImpl_mediaSessionEnabledAction(env, j_media_session_, |
| 90 static_cast<int>(action)); |
| 91 } |
| 92 |
| 93 void MediaSessionAndroid::MediaSessionDisabledAction( |
| 94 blink::mojom::MediaSessionAction action) { |
| 95 JNIEnv* env = base::android::AttachCurrentThread(); |
| 96 base::android::ScopedJavaLocalRef<jobject> obj(j_media_session_); |
| 97 Java_MediaSessionImpl_mediaSessionDisabledAction(env, j_media_session_, |
| 98 static_cast<int>(action)); |
| 99 } |
| 100 |
86 void MediaSessionAndroid::Resume( | 101 void MediaSessionAndroid::Resume( |
87 JNIEnv* env, | 102 JNIEnv* env, |
88 const base::android::JavaParamRef<jobject>& j_obj) { | 103 const base::android::JavaParamRef<jobject>& j_obj) { |
89 DCHECK(media_session()); | 104 DCHECK(media_session()); |
90 media_session()->Resume(MediaSession::SuspendType::UI); | 105 media_session()->Resume(MediaSession::SuspendType::UI); |
91 } | 106 } |
92 | 107 |
93 void MediaSessionAndroid::Suspend( | 108 void MediaSessionAndroid::Suspend( |
94 JNIEnv* env, | 109 JNIEnv* env, |
95 const base::android::JavaParamRef<jobject>& j_obj) { | 110 const base::android::JavaParamRef<jobject>& j_obj) { |
96 DCHECK(media_session()); | 111 DCHECK(media_session()); |
97 media_session()->Suspend(MediaSession::SuspendType::UI); | 112 media_session()->Suspend(MediaSession::SuspendType::UI); |
98 } | 113 } |
99 | 114 |
100 void MediaSessionAndroid::Stop( | 115 void MediaSessionAndroid::Stop( |
101 JNIEnv* env, | 116 JNIEnv* env, |
102 const base::android::JavaParamRef<jobject>& j_obj) { | 117 const base::android::JavaParamRef<jobject>& j_obj) { |
103 DCHECK(media_session()); | 118 DCHECK(media_session()); |
104 media_session()->Stop(MediaSession::SuspendType::UI); | 119 media_session()->Stop(MediaSession::SuspendType::UI); |
105 } | 120 } |
106 | 121 |
| 122 void MediaSessionAndroid::DidReceiveAction(JNIEnv* env, |
| 123 const JavaParamRef<jobject>& obj, |
| 124 int action) { |
| 125 media_session()->DidReceiveAction( |
| 126 static_cast<blink::mojom::MediaSessionAction>(action)); |
| 127 } |
| 128 |
107 } // namespace content | 129 } // namespace content |
OLD | NEW |