JNIEnv* env = jniEnv();
- ScopedLocalRef<jobject> tokenObj(env, javaObjectForIBinder(env, token));
- ScopedLocalRef<jstring> reasonObj(env, env->NewStringUTF(reason.c_str()));
+ jobject tokenObj = javaObjectForIBinder(env, token);
+ jstring reasonObj = env->NewStringUTF(reason.c_str());
jlong newTimeout = env->CallLongMethod(mServiceObj,
- gServiceClassInfo.notifyANR, tokenObj.get(),
- reasonObj.get());
+ gServiceClassInfo.notifyANR, tokenObj,
+ reasonObj);
if (checkAndClearExceptionFromCallback(env, "notifyANR")) {
newTimeout = 0; // abort dispatch
} else {
assert(newTimeout >= 0);
}
+ env->DeleteLocalRef(reasonObj);
return newTimeout;
}
JNIEnv* env = jniEnv();
- ScopedLocalRef<jobject> tokenObj(env, javaObjectForIBinder(env, token));
- if (tokenObj.get()) {
+ jobject tokenObj = javaObjectForIBinder(env, token);
+ if (tokenObj) {
env->CallVoidMethod(mServiceObj, gServiceClassInfo.notifyInputChannelBroken,
- tokenObj.get());
+ tokenObj);
checkAndClearExceptionFromCallback(env, "notifyInputChannelBroken");
}
}
JNIEnv* env = jniEnv();
- ScopedLocalRef<jobject> oldTokenObj(env, javaObjectForIBinder(env, oldToken));
- ScopedLocalRef<jobject> newTokenObj(env, javaObjectForIBinder(env, newToken));
+ jobject oldTokenObj = javaObjectForIBinder(env, oldToken);
+ jobject newTokenObj = javaObjectForIBinder(env, newToken);
env->CallVoidMethod(mServiceObj, gServiceClassInfo.notifyFocusChanged,
- oldTokenObj.get(), newTokenObj.get());
+ oldTokenObj, newTokenObj);
checkAndClearExceptionFromCallback(env, "notifyFocusChanged");
}
JNIEnv* env = jniEnv();
// Token may be null
- ScopedLocalRef<jobject> tokenObj(env, javaObjectForIBinder(env, token));
+ jobject tokenObj = javaObjectForIBinder(env, token);
jobject keyEventObj = android_view_KeyEvent_fromNative(env, keyEvent);
if (keyEventObj) {
jlong delayMillis = env->CallLongMethod(mServiceObj,
gServiceClassInfo.interceptKeyBeforeDispatching,
- tokenObj.get(), keyEventObj, policyFlags);
+ tokenObj, keyEventObj, policyFlags);
bool error = checkAndClearExceptionFromCallback(env, "interceptKeyBeforeDispatching");
android_view_KeyEvent_recycle(env, keyEventObj);
env->DeleteLocalRef(keyEventObj);
JNIEnv* env = jniEnv();
// Note: tokenObj may be null.
- ScopedLocalRef<jobject> tokenObj(env, javaObjectForIBinder(env, token));
+ jobject tokenObj = javaObjectForIBinder(env, token);
jobject keyEventObj = android_view_KeyEvent_fromNative(env, keyEvent);
if (keyEventObj) {
jobject fallbackKeyEventObj = env->CallObjectMethod(mServiceObj,
gServiceClassInfo.dispatchUnhandledKey,
- tokenObj.get(), keyEventObj, policyFlags);
+ tokenObj, keyEventObj, policyFlags);
if (checkAndClearExceptionFromCallback(env, "dispatchUnhandledKey")) {
fallbackKeyEventObj = nullptr;
}
ATRACE_CALL();
JNIEnv* env = jniEnv();
- ScopedLocalRef<jobject> touchedTokenObj(env, javaObjectForIBinder(env, touchedToken));
- env->CallVoidMethod(mServiceObj, gServiceClassInfo.onPointerDownOutsideFocus,
- touchedTokenObj.get());
+ jobject touchedTokenObj = javaObjectForIBinder(env, touchedToken);
+ env->CallVoidMethod(mServiceObj, gServiceClassInfo.onPointerDownOutsideFocus, touchedTokenObj);
checkAndClearExceptionFromCallback(env, "onPointerDownOutsideFocus");
}