Lines Matching refs:env

62 void JHwBinder::InitClass(JNIEnv *env) {
64 env, FindClassOrDie(env, CLASS_PATH));
67 GetFieldIDOrDie(env, clazz.get(), "mNativeContext", "J");
71 env,
79 JNIEnv *env, jobject thiz, const sp<JHwBinder> &context) {
81 (JHwBinder *)env->GetLongField(thiz, gFields.contextID);
91 env->SetLongField(thiz, gFields.contextID, (long)context.get());
98 JNIEnv *env, jobject thiz) {
99 return (JHwBinder *)env->GetLongField(thiz, gFields.contextID);
102 JHwBinder::JHwBinder(JNIEnv *env, jobject thiz) {
103 jclass clazz = env->GetObjectClass(thiz);
106 mClass = (jclass)env->NewGlobalRef(clazz);
107 mObject = env->NewWeakGlobalRef(thiz);
111 JNIEnv *env = AndroidRuntime::getJNIEnv();
113 env->DeleteWeakGlobalRef(mObject);
116 env->DeleteGlobalRef(mClass);
126 JNIEnv *env = AndroidRuntime::getJNIEnv();
128 ScopedLocalRef<jobject> replyObj(env, nullptr);
131 ScopedLocalRef<jobject> requestObj(env, JHwParcel::NewObject(env));
132 JHwParcel::GetNativeContext(env, requestObj.get())->setParcel(
137 replyObj.reset(JHwParcel::NewObject(env));
139 replyContext = JHwParcel::GetNativeContext(env, replyObj.get());
145 env->CallVoidMethod(
153 if (env->ExceptionCheck()) {
154 jthrowable excep = env->ExceptionOccurred();
155 env->ExceptionDescribe();
156 env->ExceptionClear();
160 if (env->IsInstanceOf(excep, gErrorClass)) {
168 env->DeleteLocalRef(excep);
184 replyContext->getStorage()->release(env);
193 JHwParcel::GetNativeContext(env, requestObj.get())->setParcel(
213 static jlong JHwBinder_native_init(JNIEnv *env) {
214 JHwBinder::InitClass(env);
219 static void JHwBinder_native_setup(JNIEnv *env, jobject thiz) {
220 sp<JHwBinder> context = new JHwBinder(env, thiz);
222 JHwBinder::SetNativeContext(env, thiz, context);
226 JNIEnv * /* env */,
236 JNIEnv *env,
240 jniThrowException(env, "java/lang/NullPointerException", NULL);
244 const char *serviceName = env->GetStringUTFChars(serviceNameObj, NULL);
249 sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
258 signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */);
264 env->ReleaseStringUTFChars(serviceNameObj, serviceName);
274 signalExceptionForError(env, (ok ? OK : UNKNOWN_ERROR), true /* canThrowRemoteException */);
278 JNIEnv *env,
287 jniThrowException(env, "java/lang/NullPointerException", NULL);
291 jniThrowException(env, "java/lang/NullPointerException", NULL);
299 signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */);
303 const char *ifaceNameCStr = env->GetStringUTFChars(ifaceNameObj, NULL);
308 env->ReleaseStringUTFChars(ifaceNameObj, ifaceNameCStr);
312 const char *serviceNameCStr = env->GetStringUTFChars(serviceNameObj, NULL);
317 env->ReleaseStringUTFChars(serviceNameObj, serviceNameCStr);
330 signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */);
351 signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */);
358 signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */);
366 signalExceptionForError(env, NAME_NOT_FOUND);
373 return JHwRemoteBinder::NewObject(env, service);
393 int register_android_os_HwBinder(JNIEnv *env) {
394 jclass errorClass = FindClassOrDie(env, "java/lang/Error");
395 gErrorClass = MakeGlobalRefOrDie(env, errorClass);
397 return RegisterMethodsOrDie(env, CLASS_PATH, gMethods, NELEM(gMethods));