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
This commit is contained in:
Siarhei Vishniakou
2020-07-10 14:40:18 -05:00
parent e28cef055b
commit 2e82e62cdc

View File

@@ -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;
}