Chromium Code Reviews| Index: content/common/android/media_metadata_android.cc |
| diff --git a/content/common/android/media_metadata_android.cc b/content/common/android/media_metadata_android.cc |
| index 0bd1563175891fc221764f984e5f1b048c62ab0f..ebbcc2c50b70f26806d774c869a768cf8ddf6d29 100644 |
| --- a/content/common/android/media_metadata_android.cc |
| +++ b/content/common/android/media_metadata_android.cc |
| @@ -4,12 +4,25 @@ |
| #include "content/common/android/media_metadata_android.h" |
| +#include "base/android/jni_array.h" |
| #include "base/android/jni_string.h" |
| #include "content/public/common/media_metadata.h" |
| #include "jni/MediaMetadata_jni.h" |
| namespace content { |
| +namespace { |
| +std::vector<int> GetFlattenedSizeArray(const std::vector<gfx::Size>& sizes) { |
|
mlamouri (slow - plz ping)
2016/06/23 12:52:28
style: empty lines around namespace {}
Zhiqiang Zhang (Slow)
2016/06/23 14:19:25
Done.
|
| + std::vector<int> flattened_array; |
| + flattened_array.reserve(2 * sizes.size()); |
| + for (const auto& size : sizes) { |
| + flattened_array.push_back(size.width()); |
| + flattened_array.push_back(size.height()); |
| + } |
| + return flattened_array; |
| +} |
| +} |
|
mlamouri (slow - plz ping)
2016/06/23 12:52:29
nit:
} // anonymous namespace
Zhiqiang Zhang (Slow)
2016/06/23 14:19:25
Done.
|
| + |
| // static |
| base::android::ScopedJavaLocalRef<jobject> |
| MediaMetadataAndroid::CreateJavaObject( |
| @@ -21,8 +34,29 @@ MediaMetadataAndroid::CreateJavaObject( |
| ScopedJavaLocalRef<jstring> j_album( |
| base::android::ConvertUTF16ToJavaString(env, metadata.album)); |
| - return Java_MediaMetadata_create( |
| + ScopedJavaLocalRef<jobject> j_metadata = Java_MediaMetadata_create( |
| env, j_title.obj(), j_artist.obj(), j_album.obj()); |
| + |
| + for (const auto& artwork : metadata.artwork) { |
| + std::string src = artwork.src.spec(); |
| + base::string16 type = artwork.type.is_null() ? |
| + base::string16() : artwork.type.string(); |
| + ScopedJavaLocalRef<jstring> j_src( |
| + base::android::ConvertUTF8ToJavaString(env, src)); |
| + ScopedJavaLocalRef<jstring> j_type( |
| + base::android::ConvertUTF16ToJavaString(env, type)); |
| + ScopedJavaLocalRef<jintArray> j_sizes( |
| + base::android::ToJavaIntArray( |
| + env, GetFlattenedSizeArray(artwork.sizes))); |
| + |
| + ScopedJavaLocalRef<jobject> j_artwork = Java_MediaMetadata_createArtwork( |
| + env, j_src.obj(), j_type.obj(), j_sizes.obj()); |
| + |
| + Java_MediaMetadata_addArtwork( |
| + env, j_metadata.obj(), j_artwork.obj()); |
|
mlamouri (slow - plz ping)
2016/06/23 12:52:28
It sounds like we could merge addArtwork and creat
Zhiqiang Zhang (Slow)
2016/06/23 14:19:25
Done.
|
| + } |
| + |
| + return j_metadata; |
| } |
| // static |