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

Commit 2e82e62c authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Use unique_ptr when creating InputChannel

To highlight the point where input channel becomes shared, use
unique_ptr in the create methods.

Bug: 142581626
Test: presubmit
Change-Id: I1d2738bae77266ca05034c2e6d9393825a52aa60
parent e28cef05
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -122,8 +122,8 @@ static jlongArray android_view_InputChannel_nativeOpenInputChannelPair(JNIEnv* e
    ScopedUtfChars nameChars(env, nameObj);
    std::string name = nameChars.c_str();

    std::shared_ptr<InputChannel> serverChannel;
    std::shared_ptr<InputChannel> clientChannel;
    std::unique_ptr<InputChannel> serverChannel;
    std::unique_ptr<InputChannel> clientChannel;
    status_t result = InputChannel::openInputChannelPair(name, serverChannel, clientChannel);

    if (result) {
@@ -139,12 +139,12 @@ static jlongArray android_view_InputChannel_nativeOpenInputChannelPair(JNIEnv* e
    }

    jlong* outArray = env->GetLongArrayElements(channelPair, 0);
    outArray[0] = android_view_InputChannel_createInputChannel(env, serverChannel);
    outArray[0] = android_view_InputChannel_createInputChannel(env, std::move(serverChannel));
    if (env->ExceptionCheck()) {
        return nullptr;
    }

    outArray[1] = android_view_InputChannel_createInputChannel(env, clientChannel);
    outArray[1] = android_view_InputChannel_createInputChannel(env, std::move(clientChannel));
    if (env->ExceptionCheck()) {
        return nullptr;
    }