diff options
| author | 2025-03-08 16:09:49 -0800 | |
|---|---|---|
| committer | 2025-03-08 16:09:49 -0800 | |
| commit | 32ab7738564ffb5f327d2e70f7a8286584f7153f (patch) | |
| tree | 2d698f7db968ce5ebb03271b94a7488e3bfdd239 /services/inputflinger/InputThread.cpp | |
| parent | 4b89f17ef1ba81b6822607760d1a83d069bf8533 (diff) | |
| parent | cadcf50fd804adb2765fd622c3d23589138d5a42 (diff) | |
Merge 25Q1 (ab/BP1A.250305.020) to AOSP main
Bug: 385190204
Merged-In: Ib562fdc672f09e92c646583840c324ad50e2fa39
Change-Id: Ie21212b27d78e41c9dacbfab510925d29653cfeb
Diffstat (limited to 'services/inputflinger/InputThread.cpp')
| -rw-r--r-- | services/inputflinger/InputThread.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/services/inputflinger/InputThread.cpp b/services/inputflinger/InputThread.cpp index 449eb45b4b..7cf4e397f9 100644 --- a/services/inputflinger/InputThread.cpp +++ b/services/inputflinger/InputThread.cpp @@ -26,6 +26,16 @@ namespace input_flags = com::android::input::flags; namespace { +bool applyInputEventProfile(const Thread& thread) { +#if defined(__ANDROID__) + return SetTaskProfiles(thread.getTid(), {"InputPolicy"}); +#else + // Since thread information is not available and there's no benefit of + // applying the task profile on host, return directly. + return true; +#endif +} + // Implementation of Thread from libutils. class InputThreadImpl : public Thread { public: @@ -45,12 +55,13 @@ private: } // namespace -InputThread::InputThread(std::string name, std::function<void()> loop, std::function<void()> wake) - : mName(name), mThreadWake(wake) { +InputThread::InputThread(std::string name, std::function<void()> loop, std::function<void()> wake, + bool isInCriticalPath) + : mThreadWake(wake) { mThread = sp<InputThreadImpl>::make(loop); - mThread->run(mName.c_str(), ANDROID_PRIORITY_URGENT_DISPLAY); - if (input_flags::enable_input_policy_profile()) { - if (!applyInputEventProfile()) { + mThread->run(name.c_str(), ANDROID_PRIORITY_URGENT_DISPLAY); + if (input_flags::enable_input_policy_profile() && isInCriticalPath) { + if (!applyInputEventProfile(*mThread)) { LOG(ERROR) << "Couldn't apply input policy profile for " << name; } } @@ -74,14 +85,4 @@ bool InputThread::isCallingThread() { #endif } -bool InputThread::applyInputEventProfile() { -#if defined(__ANDROID__) - return SetTaskProfiles(mThread->getTid(), {"InputPolicy"}); -#else - // Since thread information is not available and there's no benefit of - // applying the task profile on host, return directly. - return true; -#endif -} - -} // namespace android
\ No newline at end of file +} // namespace android |