diff options
author | Elliott Hughes <enh@google.com> | 2011-04-13 10:17:46 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-04-13 10:17:46 -0700 |
commit | e9cf71dfd01f3e2006462de99d5c423038e20b65 (patch) | |
tree | 5987d4f4c4023b1c33a39fbb820a84b69644106c /core/jni/android | |
parent | fda06c0cd9bf1db78adcddf11d374785c6737b61 (diff) | |
parent | cf6f7a0f006c0fcf59bb634cbe79f2a8500fd92a (diff) | |
download | frameworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.zip frameworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.tar.gz frameworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.tar.bz2 |
Merge "Don't allocate a raw object then call its constructor manually..."
Diffstat (limited to 'core/jni/android')
-rw-r--r-- | core/jni/android/graphics/Graphics.cpp | 37 | ||||
-rw-r--r-- | core/jni/android/graphics/Movie.cpp | 7 |
2 files changed, 13 insertions, 31 deletions
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp index 6c28e65..64bd207 100644 --- a/core/jni/android/graphics/Graphics.cpp +++ b/core/jni/android/graphics/Graphics.cpp @@ -350,14 +350,10 @@ jobject GraphicsJNI::createBitmap(JNIEnv* env, SkBitmap* bitmap, jbyteArray buff SkASSERT(bitmap); SkASSERT(bitmap->pixelRef()); - jobject obj = env->AllocObject(gBitmap_class); - if (obj) { - env->CallVoidMethod(obj, gBitmap_constructorMethodID, - (jint)bitmap, buffer, isMutable, ninepatch, density); - if (hasException(env)) { - obj = NULL; - } - } + jobject obj = env->NewObject(gBitmap_class, gBitmap_constructorMethodID, + static_cast<jint>(reinterpret_cast<uintptr_t>(bitmap)), + buffer, isMutable, ninepatch, density); + hasException(env); // For the side effect of logging. return obj; } @@ -372,30 +368,19 @@ jobject GraphicsJNI::createBitmapRegionDecoder(JNIEnv* env, SkBitmapRegionDecode { SkASSERT(bitmap != NULL); - jobject obj = env->AllocObject(gBitmapRegionDecoder_class); - if (hasException(env)) { - obj = NULL; - return obj; - } - if (obj) { - env->CallVoidMethod(obj, gBitmapRegionDecoder_constructorMethodID, (jint)bitmap); - if (hasException(env)) { - obj = NULL; - } - } + jobject obj = env->NewObject(gBitmapRegionDecoder_class, + gBitmapRegionDecoder_constructorMethodID, + static_cast<jint>(reinterpret_cast<uintptr_t>(bitmap))); + hasException(env); // For the side effect of logging. return obj; } jobject GraphicsJNI::createRegion(JNIEnv* env, SkRegion* region) { SkASSERT(region != NULL); - jobject obj = env->AllocObject(gRegion_class); - if (obj) { - env->CallVoidMethod(obj, gRegion_constructorMethodID, (jint)region, 0); - if (hasException(env)) { - obj = NULL; - } - } + jobject obj = env->NewObject(gRegion_class, gRegion_constructorMethodID, + static_cast<jint>(reinterpret_cast<uintptr_t>(region)), 0); + hasException(env); // For the side effect of logging. return obj; } diff --git a/core/jni/android/graphics/Movie.cpp b/core/jni/android/graphics/Movie.cpp index 7145433..c112423 100644 --- a/core/jni/android/graphics/Movie.cpp +++ b/core/jni/android/graphics/Movie.cpp @@ -23,11 +23,8 @@ jobject create_jmovie(JNIEnv* env, SkMovie* moov) { if (NULL == moov) { return NULL; } - jobject obj = env->AllocObject(gMovie_class); - if (obj) { - env->CallVoidMethod(obj, gMovie_constructorMethodID, (jint)moov); - } - return obj; + return env->NewObject(gMovie_class, gMovie_constructorMethodID, + static_cast<jint>(reinterpret_cast<uintptr_t>(moov))); } static SkMovie* J2Movie(JNIEnv* env, jobject movie) { |