summaryrefslogtreecommitdiff
path: root/services/inputflinger/InputManager.cpp
diff options
context:
space:
mode:
author Roshan Pius <rpius@google.com> 2020-09-21 22:44:44 +0000
committer Roshan Pius <rpius@google.com> 2020-09-21 22:44:44 +0000
commit015cb700cb3ddfc4d3bb084513f3651128182bc1 (patch)
treef22ccfc1d0b038b8a96c5019f3c8b58b7882c0fa /services/inputflinger/InputManager.cpp
parent6e9f864088187ecc59282a80c84a21b5d33a26f3 (diff)
Revert "Let InputFlinger create the server InputChannel"
Revert submission 12594832-hide_server_input_channel Reason for revert: <INSERT REASONING HERE> Reverted Changes: I7033caf10:Use new create/removeInputChannel(). I35f768c8a:Let InputFlinger create the server InputChannel Bug: 169083114 Bug: 169088136 Change-Id: Ib6945129936006682cd03cea614fbdfd4f5fa008
Diffstat (limited to 'services/inputflinger/InputManager.cpp')
-rw-r--r--services/inputflinger/InputManager.cpp32
1 files changed, 4 insertions, 28 deletions
diff --git a/services/inputflinger/InputManager.cpp b/services/inputflinger/InputManager.cpp
index 3d995899d0..8af9bcba89 100644
--- a/services/inputflinger/InputManager.cpp
+++ b/services/inputflinger/InputManager.cpp
@@ -31,25 +31,6 @@
namespace android {
-static int32_t exceptionCodeFromStatusT(status_t status) {
- switch (status) {
- case OK:
- return binder::Status::EX_NONE;
- case INVALID_OPERATION:
- return binder::Status::EX_UNSUPPORTED_OPERATION;
- case BAD_VALUE:
- case BAD_TYPE:
- case NAME_NOT_FOUND:
- return binder::Status::EX_ILLEGAL_ARGUMENT;
- case NO_INIT:
- return binder::Status::EX_ILLEGAL_STATE;
- case PERMISSION_DENIED:
- return binder::Status::EX_SECURITY;
- default:
- return binder::Status::EX_TRANSACTION_FAILED;
- }
-}
-
InputManager::InputManager(
const sp<InputReaderPolicyInterface>& readerPolicy,
const sp<InputDispatcherPolicyInterface>& dispatcherPolicy) {
@@ -138,7 +119,7 @@ binder::Status InputManager::setInputWindows(
}
// Used by tests only.
-binder::Status InputManager::createInputChannel(const std::string& name, InputChannel* outChannel) {
+binder::Status InputManager::registerInputChannel(const InputChannel& channel) {
IPCThreadState* ipc = IPCThreadState::self();
const int uid = ipc->getCallingUid();
if (uid != AID_SHELL && uid != AID_ROOT) {
@@ -147,17 +128,12 @@ binder::Status InputManager::createInputChannel(const std::string& name, InputCh
return binder::Status::ok();
}
- base::Result<std::unique_ptr<InputChannel>> channel = mDispatcher->createInputChannel(name);
- if (!channel) {
- return binder::Status::fromExceptionCode(exceptionCodeFromStatusT(channel.error().code()),
- channel.error().message().c_str());
- }
- (*channel)->copyTo(*outChannel);
+ mDispatcher->registerInputChannel(channel.dup());
return binder::Status::ok();
}
-binder::Status InputManager::removeInputChannel(const sp<IBinder>& connectionToken) {
- mDispatcher->removeInputChannel(connectionToken);
+binder::Status InputManager::unregisterInputChannel(const sp<IBinder>& connectionToken) {
+ mDispatcher->unregisterInputChannel(connectionToken);
return binder::Status::ok();
}