Skip to content

Commit d20a62a

Browse files
author
Arpit Singh
committed
Revert "[10/n Dispatcher refactor] Move obscuring related method..."
Revert submission 31063667 Reason for revert: b/389024840 Reverted changes: /q/submissionid:31063667 Change-Id: I4c6b6de4bc0ea4448873f1f18b71de7a3bcb7af4
1 parent eeec678 commit d20a62a

2 files changed

Lines changed: 26 additions & 26 deletions

File tree

services/inputflinger/dispatcher/InputDispatcher.cpp

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2506,9 +2506,9 @@ InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, const Motio
25062506
if (isSplit) {
25072507
targetFlags |= InputTarget::Flags::SPLIT;
25082508
}
2509-
if (mWindowInfos.isWindowObscuredAtPoint(windowHandle, x, y)) {
2509+
if (isWindowObscuredAtPointLocked(windowHandle, x, y)) {
25102510
targetFlags |= InputTarget::Flags::WINDOW_IS_OBSCURED;
2511-
} else if (mWindowInfos.isWindowObscured(windowHandle)) {
2511+
} else if (isWindowObscuredLocked(windowHandle)) {
25122512
targetFlags |= InputTarget::Flags::WINDOW_IS_PARTIALLY_OBSCURED;
25132513
}
25142514

@@ -2539,8 +2539,7 @@ InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, const Motio
25392539
if (isDownOrPointerDown && targetFlags.test(InputTarget::Flags::FOREGROUND) &&
25402540
windowHandle->getInfo()->inputConfig.test(
25412541
gui::WindowInfo::InputConfig::DUPLICATE_TOUCH_TO_WALLPAPER)) {
2542-
sp<WindowInfoHandle> wallpaper =
2543-
mWindowInfos.findWallpaperWindowBelow(windowHandle);
2542+
sp<WindowInfoHandle> wallpaper = findWallpaperWindowBelow(windowHandle);
25442543
if (wallpaper != nullptr) {
25452544
ftl::Flags<InputTarget::Flags> wallpaperFlags =
25462545
InputTarget::Flags::WINDOW_IS_OBSCURED |
@@ -2653,9 +2652,9 @@ InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, const Motio
26532652
if (isSplit) {
26542653
targetFlags |= InputTarget::Flags::SPLIT;
26552654
}
2656-
if (mWindowInfos.isWindowObscuredAtPoint(newTouchedWindowHandle, x, y)) {
2655+
if (isWindowObscuredAtPointLocked(newTouchedWindowHandle, x, y)) {
26572656
targetFlags |= InputTarget::Flags::WINDOW_IS_OBSCURED;
2658-
} else if (mWindowInfos.isWindowObscured(newTouchedWindowHandle)) {
2657+
} else if (isWindowObscuredLocked(newTouchedWindowHandle)) {
26592658
targetFlags |= InputTarget::Flags::WINDOW_IS_PARTIALLY_OBSCURED;
26602659
}
26612660

@@ -3181,27 +3180,29 @@ bool InputDispatcher::isTouchTrustedLocked(
31813180
return true;
31823181
}
31833182

3184-
bool InputDispatcher::DispatcherWindowInfo::isWindowObscuredAtPoint(
3185-
const sp<WindowInfoHandle>& windowHandle, float x, float y) const {
3183+
bool InputDispatcher::isWindowObscuredAtPointLocked(const sp<WindowInfoHandle>& windowHandle,
3184+
float x, float y) const {
31863185
ui::LogicalDisplayId displayId = windowHandle->getInfo()->displayId;
3187-
const std::vector<sp<WindowInfoHandle>>& windowHandles = getWindowHandlesForDisplay(displayId);
3186+
const std::vector<sp<WindowInfoHandle>>& windowHandles =
3187+
mWindowInfos.getWindowHandlesForDisplay(displayId);
31883188
for (const sp<WindowInfoHandle>& otherHandle : windowHandles) {
31893189
if (windowHandle == otherHandle) {
31903190
break; // All future windows are below us. Exit early.
31913191
}
31923192
const WindowInfo* otherInfo = otherHandle->getInfo();
31933193
if (canBeObscuredBy(windowHandle, otherHandle) &&
3194-
windowOccludesTouchAt(*otherInfo, displayId, x, y, getDisplayTransform(displayId))) {
3194+
windowOccludesTouchAt(*otherInfo, displayId, x, y,
3195+
mWindowInfos.getDisplayTransform(displayId))) {
31953196
return true;
31963197
}
31973198
}
31983199
return false;
31993200
}
32003201

3201-
bool InputDispatcher::DispatcherWindowInfo::isWindowObscured(
3202-
const sp<WindowInfoHandle>& windowHandle) const {
3202+
bool InputDispatcher::isWindowObscuredLocked(const sp<WindowInfoHandle>& windowHandle) const {
32033203
ui::LogicalDisplayId displayId = windowHandle->getInfo()->displayId;
3204-
const std::vector<sp<WindowInfoHandle>>& windowHandles = getWindowHandlesForDisplay(displayId);
3204+
const std::vector<sp<WindowInfoHandle>>& windowHandles =
3205+
mWindowInfos.getWindowHandlesForDisplay(displayId);
32053206
const WindowInfo* windowInfo = windowHandle->getInfo();
32063207
for (const sp<WindowInfoHandle>& otherHandle : windowHandles) {
32073208
if (windowHandle == otherHandle) {
@@ -7065,7 +7066,7 @@ bool InputDispatcher::shouldDropInput(
70657066
if (windowHandle->getInfo()->inputConfig.test(WindowInfo::InputConfig::DROP_INPUT) ||
70667067
(windowHandle->getInfo()->inputConfig.test(
70677068
WindowInfo::InputConfig::DROP_INPUT_IF_OBSCURED) &&
7068-
mWindowInfos.isWindowObscured(windowHandle))) {
7069+
isWindowObscuredLocked(windowHandle))) {
70697070
ALOGW("Dropping %s event targeting %s as requested by the input configuration {%s} on "
70707071
"display %s.",
70717072
ftl::enum_string(entry.type).c_str(), windowHandle->getName().c_str(),
@@ -7118,7 +7119,7 @@ void InputDispatcher::slipWallpaperTouch(ftl::Flags<InputTarget::Flags> targetFl
71187119
const sp<WindowInfoHandle> oldWallpaper =
71197120
oldHasWallpaper ? state.getWallpaperWindow(deviceId) : nullptr;
71207121
const sp<WindowInfoHandle> newWallpaper =
7121-
newHasWallpaper ? mWindowInfos.findWallpaperWindowBelow(newWindowHandle) : nullptr;
7122+
newHasWallpaper ? findWallpaperWindowBelow(newWindowHandle) : nullptr;
71227123
if (oldWallpaper == newWallpaper) {
71237124
return;
71247125
}
@@ -7155,7 +7156,7 @@ void InputDispatcher::transferWallpaperTouch(
71557156
const sp<WindowInfoHandle> oldWallpaper =
71567157
oldHasWallpaper ? state.getWallpaperWindow(deviceId) : nullptr;
71577158
const sp<WindowInfoHandle> newWallpaper =
7158-
newHasWallpaper ? mWindowInfos.findWallpaperWindowBelow(toWindowHandle) : nullptr;
7159+
newHasWallpaper ? findWallpaperWindowBelow(toWindowHandle) : nullptr;
71597160
if (oldWallpaper == newWallpaper) {
71607161
return;
71617162
}
@@ -7187,10 +7188,10 @@ void InputDispatcher::transferWallpaperTouch(
71877188
}
71887189
}
71897190

7190-
sp<WindowInfoHandle> InputDispatcher::DispatcherWindowInfo::findWallpaperWindowBelow(
7191+
sp<WindowInfoHandle> InputDispatcher::findWallpaperWindowBelow(
71917192
const sp<WindowInfoHandle>& windowHandle) const {
71927193
const std::vector<sp<WindowInfoHandle>>& windowHandles =
7193-
getWindowHandlesForDisplay(windowHandle->getInfo()->displayId);
7194+
mWindowInfos.getWindowHandlesForDisplay(windowHandle->getInfo()->displayId);
71947195
bool foundWindow = false;
71957196
for (const sp<WindowInfoHandle>& otherHandle : windowHandles) {
71967197
if (!foundWindow && otherHandle != windowHandle) {

services/inputflinger/dispatcher/InputDispatcher.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -326,14 +326,6 @@ class InputDispatcher : public android::InputDispatcherInterface {
326326
TouchOcclusionInfo computeTouchOcclusionInfo(
327327
const sp<android::gui::WindowInfoHandle>& windowHandle, float x, float y) const;
328328

329-
bool isWindowObscured(const sp<android::gui::WindowInfoHandle>& windowHandle) const;
330-
331-
bool isWindowObscuredAtPoint(const sp<android::gui::WindowInfoHandle>& windowHandle,
332-
float x, float y) const;
333-
334-
sp<android::gui::WindowInfoHandle> findWallpaperWindowBelow(
335-
const sp<android::gui::WindowInfoHandle>& windowHandle) const;
336-
337329
std::string dumpDisplayAndWindowInfo() const;
338330

339331
private:
@@ -648,6 +640,10 @@ class InputDispatcher : public android::InputDispatcherInterface {
648640

649641
bool isTouchTrustedLocked(const DispatcherWindowInfo::TouchOcclusionInfo& occlusionInfo) const
650642
REQUIRES(mLock);
643+
bool isWindowObscuredAtPointLocked(const sp<android::gui::WindowInfoHandle>& windowHandle,
644+
float x, float y) const REQUIRES(mLock);
645+
bool isWindowObscuredLocked(const sp<android::gui::WindowInfoHandle>& windowHandle) const
646+
REQUIRES(mLock);
651647
std::string getApplicationWindowLabel(const InputApplicationHandle* applicationHandle,
652648
const sp<android::gui::WindowInfoHandle>& windowHandle);
653649

@@ -800,6 +796,9 @@ class InputDispatcher : public android::InputDispatcherInterface {
800796
const std::unique_ptr<trace::EventTrackerInterface>& traceTracker)
801797
REQUIRES(mLock);
802798

799+
sp<android::gui::WindowInfoHandle> findWallpaperWindowBelow(
800+
const sp<android::gui::WindowInfoHandle>& windowHandle) const REQUIRES(mLock);
801+
803802
/** Stores the value of the input flag for per device input latency metrics. */
804803
const bool mPerDeviceInputLatencyMetricsFlag =
805804
com::android::input::flags::enable_per_device_input_latency_metrics();

0 commit comments

Comments
 (0)