Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e66b5522 authored by Vishnu Nair's avatar Vishnu Nair Committed by android-build-merger
Browse files

Merge "Clear binder references and flush operations when destroying...

Merge "Clear binder references and flush operations when destroying NativeInputWindowHandle" into qt-qpr1-dev
am: f8c3ac92

Change-Id: I31bb4584916770c7353ee0a2461c550e8df25a5d
parents c7b53f75 f8c3ac92
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include "android_hardware_input_InputWindowHandle.h"
#include "android_hardware_input_InputApplicationHandle.h"
#include "android_util_Binder.h"
#include <binder/IPCThreadState.h>

namespace android {

@@ -78,6 +79,12 @@ NativeInputWindowHandle::NativeInputWindowHandle(jweak objWeak) :
NativeInputWindowHandle::~NativeInputWindowHandle() {
    JNIEnv* env = AndroidRuntime::getJNIEnv();
    env->DeleteWeakGlobalRef(mObjWeak);

    // Clear the weak reference to the layer handle and flush any binder ref count operations so we
    // do not hold on to any binder references.
    // TODO(b/139697085) remove this after it can be flushed automatically
    mInfo.touchableRegionCropHandle.clear();
    IPCThreadState::self()->flushCommands();
}

jobject NativeInputWindowHandle::getInputWindowHandleObjLocalRef(JNIEnv* env) {