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

Commit 9ad01462 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

Pass in window name along with focus request

Used for generating focus event logs and debug
logs.

Test: go/wm-smoke, check event logs and logcat

Change-Id: I7d96c706ea350ec122c254fb4c327756e8267df5
parent 88ce0fa5
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -1417,17 +1417,6 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setInput
    return *this;
}

SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setFocusedWindow(
        const sp<IBinder>& token, const sp<IBinder>& focusedToken, nsecs_t timestampNanos,
        int32_t displayId) {
    FocusRequest request;
    request.token = token;
    request.focusedToken = focusedToken;
    request.timestamp = timestampNanos;
    request.displayId = displayId;
    return setFocusedWindow(request);
}

SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setFocusedWindow(
        const FocusRequest& request) {
    mInputWindowCommands.focusRequests.push_back(request);
+0 −2
Original line number Diff line number Diff line
@@ -522,8 +522,6 @@ public:

#ifndef NO_INPUT
        Transaction& setInputWindowInfo(const sp<SurfaceControl>& sc, const InputWindowInfo& info);
        Transaction& setFocusedWindow(const sp<IBinder>& token, const sp<IBinder>& focusedToken,
                                      nsecs_t timestampNanos, int32_t displayId);
        Transaction& setFocusedWindow(const FocusRequest& request);
        Transaction& syncInputWindows();
#endif
+8 −2
Original line number Diff line number Diff line
@@ -202,8 +202,14 @@ public:

    void requestFocus() {
        SurfaceComposerClient::Transaction t;
        t.setFocusedWindow(mInputInfo.token, nullptr, systemTime(SYSTEM_TIME_MONOTONIC),
                           0 /* displayId */);
        FocusRequest request;
        request.token = mInputInfo.token;
        request.windowName = mInputInfo.name;
        request.focusedToken = nullptr;
        request.focusedWindowName = "";
        request.timestamp = systemTime(SYSTEM_TIME_MONOTONIC);
        request.displayId = 0;
        t.setFocusedWindow(request);
        t.apply(true);
    }

+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ parcelable FocusRequest {
     * Input channel token used to identify the window that should gain focus.
     */
    IBinder token;
    @utf8InCpp String windowName;
    /**
     * The token that the caller expects currently to be focused. If the
     * specified token does not match the currently focused window, this request will be dropped.
@@ -30,6 +31,7 @@ parcelable FocusRequest {
     * is.
     */
    @nullable IBinder focusedToken;
    @utf8InCpp String focusedWindowName;
    /**
     * SYSTEM_TIME_MONOTONIC timestamp in nanos set by the client (wm) when requesting the focus
     * change. This determines which request gets precedence if there is a focus change request