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

Commit 02f88337 authored by Prabir Pradhan's avatar Prabir Pradhan
Browse files

Export touchpad hardware state from libinputflinger

Export libchrome-gestures_headers from libinputflinger so that we can
expose touchpad hardware state outside of InputReader via the policy
interface.

Bug: 286551975
Test: Build
Flag: EXEMPT refactor
Change-Id: I58bdea433e090c98f4aeddfb43b063b2b944de7a
parent 93787906
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -172,9 +172,8 @@ cc_library_shared {
    export_static_lib_headers: [
        "libinputdispatcher",
    ],
    export_include_dirs: [
        ".",
        "include",
    export_shared_lib_headers: [
        "libinputflinger_base",
    ],
}

@@ -185,7 +184,16 @@ cc_library_shared {
cc_library_headers {
    name: "libinputflinger_headers",
    host_supported: true,
    export_include_dirs: ["include"],
    export_include_dirs: [
        "include",
        ".",
    ],
    header_libs: [
        "libchrome-gestures_headers",
    ],
    export_header_lib_headers: [
        "libchrome-gestures_headers",
    ],
}

filegroup {
+32 −0
Original line number Diff line number Diff line
/*
 * Copyright 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#include <include/gestures.h>
#include <vector>

namespace android {

// A Gestures library HardwareState struct (from libchrome-gestures), but bundled
// with a vector to contain its FingerStates, so you don't have to worry about where
// that memory is allocated.
struct SelfContainedHardwareState {
    HardwareState state;
    std::vector<FingerState> fingers;
};

} // namespace android
+1 −7
Original line number Diff line number Diff line
@@ -26,18 +26,12 @@
#include "accumulator/CursorButtonAccumulator.h"
#include "accumulator/MultiTouchMotionAccumulator.h"
#include "accumulator/TouchButtonAccumulator.h"
#include "include/TouchpadHardwareState.h"

#include "include/gestures.h"

namespace android {

// A HardwareState struct, but bundled with a vector to contain its FingerStates, so you don't have
// to worry about where that memory is allocated.
struct SelfContainedHardwareState {
    HardwareState state;
    std::vector<FingerState> fingers;
};

// Converts RawEvents into the HardwareState structs used by the gestures library.
class HardwareStateConverter {
public: