diff options
author | 2020-05-06 18:21:57 +0000 | |
---|---|---|
committer | 2020-05-06 18:21:57 +0000 | |
commit | bb08e3d610d60f24f033c7c452dc41cc898a6631 (patch) | |
tree | 64801eff1a46be6c7f16d38dc9495e63b2282ab8 | |
parent | d996eb887d014a0761dd05ebd5634f2ab25f1a0f (diff) | |
parent | c0a8645e4ec0bc53d8caee065d46f72b5e7496ad (diff) |
Merge "Generate a new id for each window" into rvc-dev am: c0a8645e4e
Change-Id: Ifb12a8535ed6a68887ec694e9be2d7ff3e3a61fd
-rw-r--r-- | services/inputflinger/tests/InputDispatcher_test.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/services/inputflinger/tests/InputDispatcher_test.cpp b/services/inputflinger/tests/InputDispatcher_test.cpp index e0d32a0382..365d43dd16 100644 --- a/services/inputflinger/tests/InputDispatcher_test.cpp +++ b/services/inputflinger/tests/InputDispatcher_test.cpp @@ -634,7 +634,7 @@ public: mInfo.applicationInfo = *inputApplicationHandle->getInfo(); mInfo.token = token; - mInfo.id = 0; + mInfo.id = sId++; mInfo.name = name; mInfo.layoutParamsFlags = 0; mInfo.layoutParamsType = InputWindowInfo::TYPE_APPLICATION; @@ -672,8 +672,6 @@ public: void setLayoutParamFlags(int32_t flags) { mInfo.layoutParamsFlags = flags; } - void setId(int32_t id) { mInfo.id = id; } - void setWindowScale(float xScale, float yScale) { mInfo.windowXScale = xScale; mInfo.windowYScale = yScale; @@ -755,8 +753,11 @@ public: private: const std::string mName; std::unique_ptr<FakeInputReceiver> mInputReceiver; + static std::atomic<int32_t> sId; // each window gets a unique id, like in surfaceflinger }; +std::atomic<int32_t> FakeWindowHandle::sId{1}; + static int32_t injectKeyDown(const sp<InputDispatcher>& dispatcher, int32_t displayId = ADISPLAY_ID_NONE) { KeyEvent event; @@ -1910,14 +1911,12 @@ class InputDispatcherMultiWindowSameTokenTests : public InputDispatcherTest { // We also need FLAG_SPLIT_TOUCH or we won't be able to get touches for both windows. mWindow1->setLayoutParamFlags(InputWindowInfo::FLAG_NOT_TOUCH_MODAL | InputWindowInfo::FLAG_SPLIT_TOUCH); - mWindow1->setId(0); mWindow1->setFrame(Rect(0, 0, 100, 100)); mWindow2 = new FakeWindowHandle(application, mDispatcher, "Fake Window 2", ADISPLAY_ID_DEFAULT, mWindow1->getToken()); mWindow2->setLayoutParamFlags(InputWindowInfo::FLAG_NOT_TOUCH_MODAL | InputWindowInfo::FLAG_SPLIT_TOUCH); - mWindow2->setId(1); mWindow2->setFrame(Rect(100, 100, 200, 200)); mDispatcher->setInputWindows({{ADISPLAY_ID_DEFAULT, {mWindow1, mWindow2}}}); |