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

Commit ab91ab56 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11251507 from e9ef6bc8 to 24Q2-release

Change-Id: I6bb7ea03dc54744bbe77331e572f2aa7c782f227
parents 89331ee6 e9ef6bc8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@ void add_mountinfo();
#define PROFILE_DATA_DIR_CUR "/data/misc/profiles/cur"
#define PROFILE_DATA_DIR_REF "/data/misc/profiles/ref"
#define XFRM_STAT_PROC_FILE "/proc/net/xfrm_stat"
#define KERNEL_CONFIG "/proc/config.gz"
#define WLUTIL "/vendor/xbin/wlutil"
#define WMTRACE_DATA_DIR "/data/misc/wmtrace"
#define OTA_METADATA_DIR "/metadata/ota"
@@ -1951,6 +1952,8 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() {
    DumpFile("PSI memory", "/proc/pressure/memory");
    DumpFile("PSI io", "/proc/pressure/io");

    ds.AddZipEntry(ZIP_ROOT_DIR + KERNEL_CONFIG, KERNEL_CONFIG);

    RunCommand("SDK EXTENSIONS", {SDK_EXT_INFO, "--dump"},
               CommandOptions::WithTimeout(10).Always().DropRoot().Build());

+1 −0
Original line number Diff line number Diff line
@@ -836,6 +836,7 @@ cc_defaults {
        ],
        // Adds bugs to hotlist "AIDL fuzzers bugs" on buganizer
        hotlists: ["4637097"],
        use_for_presubmit: true,
    },
}

+16 −0
Original line number Diff line number Diff line
@@ -248,6 +248,22 @@ ssize_t SensorManager::getSensorList(Sensor const* const** list) {
    return static_cast<ssize_t>(mSensors.size());
}

ssize_t SensorManager::getDefaultDeviceSensorList(Vector<Sensor> & list) {
    Mutex::Autolock _l(mLock);
    status_t err = assertStateLocked();
    if (err < 0) {
        return static_cast<ssize_t>(err);
    }

    if (mDeviceId == DEVICE_ID_DEFAULT) {
        list = mSensors;
    } else {
        list = mSensorServer->getSensorList(mOpPackageName);
    }

    return static_cast<ssize_t>(list.size());
}

ssize_t SensorManager::getDynamicSensorList(Vector<Sensor> & dynamicSensors) {
    Mutex::Autolock _l(mLock);
    status_t err = assertStateLocked();
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public:
    ~SensorManager();

    ssize_t getSensorList(Sensor const* const** list);
    ssize_t getDefaultDeviceSensorList(Vector<Sensor> & list);
    ssize_t getDynamicSensorList(Vector<Sensor>& list);
    ssize_t getDynamicSensorList(Sensor const* const** list);
    ssize_t getRuntimeSensorList(int deviceId, Vector<Sensor>& list);
+32 −19
Original line number Diff line number Diff line
@@ -3389,27 +3389,40 @@ void InputDispatcher::enqueueDispatchEntryLocked(const std::shared_ptr<Connectio

                dispatchEntry->resolvedFlags = resolvedFlags;
                if (resolvedAction != motionEntry.action) {
                    std::optional<std::vector<PointerProperties>> usingProperties;
                    std::optional<std::vector<PointerCoords>> usingCoords;
                    if (resolvedAction == AMOTION_EVENT_ACTION_HOVER_EXIT ||
                        resolvedAction == AMOTION_EVENT_ACTION_CANCEL) {
                        // This is a HOVER_EXIT or an ACTION_CANCEL event that was synthesized by
                        // the dispatcher, and therefore the coordinates of this event are currently
                        // incorrect. These events should use the coordinates of the last dispatched
                        // ACTION_MOVE or HOVER_MOVE. We need to query InputState to get this data.
                        const bool hovering = resolvedAction == AMOTION_EVENT_ACTION_HOVER_EXIT;
                        std::optional<std::pair<std::vector<PointerProperties>,
                                                std::vector<PointerCoords>>>
                                pointerInfo =
                                        connection->inputState.getPointersOfLastEvent(motionEntry,
                                                                                      hovering);
                        if (pointerInfo) {
                            usingProperties = pointerInfo->first;
                            usingCoords = pointerInfo->second;
                        }
                    }
                    // Generate a new MotionEntry with a new eventId using the resolved action and
                    // flags.
                    resolvedMotion =
                            std::make_shared<MotionEntry>(mIdGenerator.nextId(),
                                                          motionEntry.injectionState,
                                                          motionEntry.eventTime,
                                                          motionEntry.deviceId, motionEntry.source,
                                                          motionEntry.displayId,
                    resolvedMotion = std::make_shared<
                            MotionEntry>(mIdGenerator.nextId(), motionEntry.injectionState,
                                         motionEntry.eventTime, motionEntry.deviceId,
                                         motionEntry.source, motionEntry.displayId,
                                         motionEntry.policyFlags, resolvedAction,
                                         motionEntry.actionButton, resolvedFlags,
                                                          motionEntry.metaState,
                                                          motionEntry.buttonState,
                                                          motionEntry.classification,
                                                          motionEntry.edgeFlags,
                                                          motionEntry.xPrecision,
                                                          motionEntry.yPrecision,
                                                          motionEntry.xCursorPosition,
                                                          motionEntry.yCursorPosition,
                                         motionEntry.metaState, motionEntry.buttonState,
                                         motionEntry.classification, motionEntry.edgeFlags,
                                         motionEntry.xPrecision, motionEntry.yPrecision,
                                         motionEntry.xCursorPosition, motionEntry.yCursorPosition,
                                         motionEntry.downTime,
                                                          motionEntry.pointerProperties,
                                                          motionEntry.pointerCoords);
                                         usingProperties.value_or(motionEntry.pointerProperties),
                                         usingCoords.value_or(motionEntry.pointerCoords));
                    if (ATRACE_ENABLED()) {
                        std::string message = StringPrintf("Transmute MotionEvent(id=0x%" PRIx32
                                                           ") to MotionEvent(id=0x%" PRIx32 ").",
Loading