diff options
Diffstat (limited to 'platform/android/src/image.cpp')
-rw-r--r-- | platform/android/src/image.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/platform/android/src/image.cpp b/platform/android/src/image.cpp index 0456381578..a85e9aeaa2 100644 --- a/platform/android/src/image.cpp +++ b/platform/android/src/image.cpp @@ -11,17 +11,12 @@ namespace mbgl { PremultipliedImage decodeImage(const std::string& string) { auto env{ android::AttachEnv() }; - auto array = jni::Array<jni::jbyte>::New(*env, string.size()); - jni::SetArrayRegion(*env, *array, 0, string.size(), + auto array = jni::SeizeLocal(*env, 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()); - jni::DeleteLocalRef(*env, array); - - auto image = android::Bitmap::GetImage(*env, bitmap); - jni::DeleteLocalRef(*env, bitmap); - - return image; + return android::Bitmap::GetImage(*env, + *jni::SeizeLocal(*env, android::BitmapFactory::DecodeByteArray(*env, *array, 0, string.size()))); } } // namespace mbgl |