Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc5dbff9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Notify dispatcher when its configuration needs to be updated" into...

Merge "Notify dispatcher when its configuration needs to be updated" into udc-dev am: 8db57bf9 am: 46e23626

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/22761147



Change-Id: I0be6052751288fd8b0a0312b101169ecbc0a8e04
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents fc5381cf 46e23626
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -676,7 +676,6 @@ InputDispatcher::InputDispatcher(const sp<InputDispatcherPolicyInterface>& polic
    SurfaceComposerClient::getDefault()->addWindowInfosListener(mWindowInfoListener);
#endif
    mKeyRepeatState.lastKeyEntry = nullptr;
    policy->getDispatcherConfiguration(&mConfig);
}

InputDispatcher::~InputDispatcher() {
@@ -6606,6 +6605,14 @@ void InputDispatcher::cancelCurrentTouch() {
    mLooper->wake();
}

void InputDispatcher::requestRefreshConfiguration() {
    InputDispatcherConfiguration config;
    mPolicy->getDispatcherConfiguration(&config);

    std::scoped_lock _l(mLock);
    mConfig = config;
}

void InputDispatcher::setMonitorDispatchingTimeoutForTest(std::chrono::nanoseconds timeout) {
    std::scoped_lock _l(mLock);
    mMonitorDispatchingTimeout = timeout;
+3 −1
Original line number Diff line number Diff line
@@ -149,6 +149,8 @@ public:

    void cancelCurrentTouch() override;

    void requestRefreshConfiguration() override;

    // Public to allow tests to verify that a Monitor can get ANR.
    void setMonitorDispatchingTimeoutForTest(std::chrono::nanoseconds timeout);

@@ -166,7 +168,7 @@ private:
    std::unique_ptr<InputThread> mThread;

    sp<InputDispatcherPolicyInterface> mPolicy;
    android::InputDispatcherConfiguration mConfig;
    android::InputDispatcherConfiguration mConfig GUARDED_BY(mLock);

    std::mutex mLock;

+6 −0
Original line number Diff line number Diff line
@@ -225,6 +225,12 @@ public:
     * Abort the current touch stream.
     */
    virtual void cancelCurrentTouch() = 0;

    /**
     * Request that the InputDispatcher's configuration, which can be obtained through the policy,
     * be updated.
     */
    virtual void requestRefreshConfiguration() = 0;
};

} // namespace android
+1 −0
Original line number Diff line number Diff line
@@ -5284,6 +5284,7 @@ protected:
        mFakePolicy = sp<FakeInputDispatcherPolicy>::make();
        mFakePolicy->setKeyRepeatConfiguration(KEY_REPEAT_TIMEOUT, KEY_REPEAT_DELAY);
        mDispatcher = std::make_unique<InputDispatcher>(mFakePolicy);
        mDispatcher->requestRefreshConfiguration();
        mDispatcher->setInputDispatchMode(/*enabled*/ true, /*frozen*/ false);
        ASSERT_EQ(OK, mDispatcher->start());