Merge "Prefer ScopedUtfChars where possible"
diff --git a/core/jni/android_hardware_input_InputApplicationHandle.cpp b/core/jni/android_hardware_input_InputApplicationHandle.cpp
index 8ace8da..c66a87c 100644
--- a/core/jni/android_hardware_input_InputApplicationHandle.cpp
+++ b/core/jni/android_hardware_input_InputApplicationHandle.cpp
@@ -17,6 +17,7 @@
#define LOG_TAG "InputApplicationHandle"
#include <nativehelper/JNIHelp.h>
+#include "nativehelper/scoped_utf_chars.h"
#include "jni.h"
#include <android_runtime/AndroidRuntime.h>
#include <utils/threads.h>
@@ -64,9 +65,8 @@
jstring nameObj = jstring(env->GetObjectField(obj,
gInputApplicationHandleClassInfo.name));
if (nameObj) {
- const char* nameStr = env->GetStringUTFChars(nameObj, NULL);
- mInfo->name = nameStr;
- env->ReleaseStringUTFChars(nameObj, nameStr);
+ ScopedUtfChars nameChars(env, nameObj);
+ mInfo->name = nameChars.c_str();
env->DeleteLocalRef(nameObj);
} else {
mInfo->name = "<null>";
diff --git a/core/jni/android_hardware_input_InputWindowHandle.cpp b/core/jni/android_hardware_input_InputWindowHandle.cpp
index f4829ad..f232919b 100644
--- a/core/jni/android_hardware_input_InputWindowHandle.cpp
+++ b/core/jni/android_hardware_input_InputWindowHandle.cpp
@@ -17,6 +17,7 @@
#define LOG_TAG "InputWindowHandle"
#include <nativehelper/JNIHelp.h>
+#include "nativehelper/scoped_utf_chars.h"
#include "jni.h"
#include <android_runtime/AndroidRuntime.h>
#include <utils/threads.h>
@@ -102,9 +103,8 @@
jstring nameObj = jstring(env->GetObjectField(obj,
gInputWindowHandleClassInfo.name));
if (nameObj) {
- const char* nameStr = env->GetStringUTFChars(nameObj, NULL);
- mInfo->name = nameStr;
- env->ReleaseStringUTFChars(nameObj, nameStr);
+ ScopedUtfChars nameChars(env, nameObj);
+ mInfo->name = nameChars.c_str();
env->DeleteLocalRef(nameObj);
} else {
mInfo->name = "<null>";
diff --git a/core/jni/android_view_InputChannel.cpp b/core/jni/android_view_InputChannel.cpp
index 2f17907..1e887b3 100644
--- a/core/jni/android_view_InputChannel.cpp
+++ b/core/jni/android_view_InputChannel.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "InputChannel-JNI"
#include <nativehelper/JNIHelp.h>
-
+#include "nativehelper/scoped_utf_chars.h"
#include <android_runtime/AndroidRuntime.h>
#include <binder/Parcel.h>
#include <utils/Log.h>
@@ -123,9 +123,8 @@
static jobjectArray android_view_InputChannel_nativeOpenInputChannelPair(JNIEnv* env,
jclass clazz, jstring nameObj) {
- const char* nameChars = env->GetStringUTFChars(nameObj, NULL);
- std::string name = nameChars;
- env->ReleaseStringUTFChars(nameObj, nameChars);
+ ScopedUtfChars nameChars(env, nameObj);
+ std::string name = nameChars.c_str();
sp<InputChannel> serverChannel;
sp<InputChannel> clientChannel;