Loading core/jni/android/graphics/BitmapFactory.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -543,6 +543,11 @@ static jboolean nativeIsSeekable(JNIEnv* env, jobject, jobject fileDescriptor) { return ::lseek64(descriptor, 0, SEEK_CUR) != -1 ? JNI_TRUE : JNI_FALSE; } jobject decodeBitmap(JNIEnv* env, void* data, size_t size) { SkMemoryStream stream(data, size); return doDecode(env, &stream, NULL, NULL); } /////////////////////////////////////////////////////////////////////////////// static JNINativeMethod gMethods[] = { Loading core/jni/android/graphics/BitmapFactory.h +2 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,6 @@ extern jfieldID gOptions_bitmapFieldID; jstring getMimeTypeString(JNIEnv* env, SkImageDecoder::Format format); jobject decodeBitmap(JNIEnv* env, void* data, size_t size); #endif // _ANDROID_GRAPHICS_BITMAP_FACTORY_H_ core/jni/android_emoji_EmojiFactory.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <utils/Log.h> #include <ScopedUtfChars.h> #include "BitmapFactory.h" #include "EmojiFactory.h" #include "GraphicsJNI.h" #include <nativehelper/JNIHelp.h> Loading Loading @@ -164,14 +165,7 @@ static jobject android_emoji_EmojiFactory_getBitmapFromAndroidPua( return NULL; } SkBitmap *bitmap = new SkBitmap; if (!SkImageDecoder::DecodeMemory(bytes, size, bitmap)) { ALOGE("SkImageDecoder::DecodeMemory() failed."); return NULL; } return GraphicsJNI::createBitmap(env, bitmap, GraphicsJNI::kBitmapCreateFlag_Premultiplied, NULL); return decodeBitmap(env, (void*)bytes, size); } static void android_emoji_EmojiFactory_destructor( Loading Loading
core/jni/android/graphics/BitmapFactory.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -543,6 +543,11 @@ static jboolean nativeIsSeekable(JNIEnv* env, jobject, jobject fileDescriptor) { return ::lseek64(descriptor, 0, SEEK_CUR) != -1 ? JNI_TRUE : JNI_FALSE; } jobject decodeBitmap(JNIEnv* env, void* data, size_t size) { SkMemoryStream stream(data, size); return doDecode(env, &stream, NULL, NULL); } /////////////////////////////////////////////////////////////////////////////// static JNINativeMethod gMethods[] = { Loading
core/jni/android/graphics/BitmapFactory.h +2 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,6 @@ extern jfieldID gOptions_bitmapFieldID; jstring getMimeTypeString(JNIEnv* env, SkImageDecoder::Format format); jobject decodeBitmap(JNIEnv* env, void* data, size_t size); #endif // _ANDROID_GRAPHICS_BITMAP_FACTORY_H_
core/jni/android_emoji_EmojiFactory.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <utils/Log.h> #include <ScopedUtfChars.h> #include "BitmapFactory.h" #include "EmojiFactory.h" #include "GraphicsJNI.h" #include <nativehelper/JNIHelp.h> Loading Loading @@ -164,14 +165,7 @@ static jobject android_emoji_EmojiFactory_getBitmapFromAndroidPua( return NULL; } SkBitmap *bitmap = new SkBitmap; if (!SkImageDecoder::DecodeMemory(bytes, size, bitmap)) { ALOGE("SkImageDecoder::DecodeMemory() failed."); return NULL; } return GraphicsJNI::createBitmap(env, bitmap, GraphicsJNI::kBitmapCreateFlag_Premultiplied, NULL); return decodeBitmap(env, (void*)bytes, size); } static void android_emoji_EmojiFactory_destructor( Loading