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

Commit 05874626 authored by Prabir Pradhan's avatar Prabir Pradhan Committed by Android (Google) Code Review
Browse files

Merge "Remove RefBase from NativeInputManager"

parents 4129f546 e343546d
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -260,8 +260,7 @@ static std::string getStringElementFromJavaArray(JNIEnv* env, jobjectArray array

// --- NativeInputManager ---

class NativeInputManager : public virtual RefBase,
    public virtual InputReaderPolicyInterface,
class NativeInputManager : public virtual InputReaderPolicyInterface,
                           public virtual InputDispatcherPolicyInterface,
                           public virtual PointerControllerPolicyInterface {
protected:
@@ -1520,8 +1519,14 @@ static jlong nativeInit(JNIEnv* env, jclass /* clazz */, jobject serviceObj,
        return 0;
    }

    NativeInputManager* im = new NativeInputManager(serviceObj, messageQueue->getLooper());
    im->incStrong(0);
    static std::once_flag nativeInitialize;
    NativeInputManager* im = nullptr;
    std::call_once(nativeInitialize, [&]() {
        // Create the NativeInputManager, which should not be destroyed or deallocated for the
        // lifetime of the process.
        im = new NativeInputManager(serviceObj, messageQueue->getLooper());
    });
    LOG_ALWAYS_FATAL_IF(im == nullptr, "NativeInputManager was already initialized.");
    return reinterpret_cast<jlong>(im);
}