diff options
Diffstat (limited to 'platform/android/src/image.cpp')
-rw-r--r-- | platform/android/src/image.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/platform/android/src/image.cpp b/platform/android/src/image.cpp index 2a33944b18..dd98a3a6c8 100644 --- a/platform/android/src/image.cpp +++ b/platform/android/src/image.cpp @@ -8,14 +8,16 @@ namespace mbgl { -PremultipliedImage decodeImage(const std::string& string) { +PremultipliedImage decodeImage(Blob blob) { auto env{ android::AttachEnv() }; - auto array = jni::Array<jni::jbyte>::New(*env, string.size()); - jni::SetArrayRegion(*env, *array, 0, string.size(), - reinterpret_cast<const signed char*>(string.data())); + const auto string = blob.uncompressedData(); - auto bitmap = android::BitmapFactory::DecodeByteArray(*env, array, 0, string.size()); + auto array = jni::Array<jni::jbyte>::New(*env, string->size()); + jni::SetArrayRegion(*env, *array, 0, string->size(), + reinterpret_cast<const signed char*>(string->data())); + + auto bitmap = android::BitmapFactory::DecodeByteArray(*env, array, 0, string->size()); return android::Bitmap::GetImage(*env, bitmap); } |