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..f5d00fe1f7fa341181bf51868d3f91bb260bcc59 100644 |
--- a/content/common/android/media_metadata_android.cc |
+++ b/content/common/android/media_metadata_android.cc |
@@ -21,8 +21,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<jobject> j_artwork = Java_MediaMetadata_createArtwork( |
+ env, j_src.obj(), j_type.obj()); |
mlamouri (slow - plz ping)
2016/06/21 13:19:46
Is there any way you can pass the sizes in there?
Zhiqiang Zhang (Slow)
2016/06/21 16:35:21
Now I flatten the std::vector<std::pair<int,int>>
|
+ for (const auto& size : artwork.sizes) { |
+ Java_MediaMetadata_addArtworkSize( |
+ env, j_artwork.obj(), size.width(), size.height()); |
+ } |
+ Java_MediaMetadata_addArtwork( |
+ env, j_metadata.obj(), j_artwork.obj()); |
+ } |
+ |
+ return j_metadata; |
} |
// static |