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

Commit 377be1fa authored by Xin Li's avatar Xin Li Committed by Gerrit Code Review
Browse files

Merge "Merge Android 13 QPR3"

parents efb4b939 6c136ebd
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -167,7 +167,15 @@ const std::vector<ConfigDeclaration> kVehicleProperties = {
                         .maxSampleRate = 10.0f,
                 },
         .initialValue = {.floatValues = {0.0f}}},

        {.config =
                 {
                         .prop = toInt(VehicleProperty::PERF_VEHICLE_SPEED_DISPLAY),
                         .access = VehiclePropertyAccess::READ,
                         .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
                         .minSampleRate = 1.0f,
                         .maxSampleRate = 10.0f,
                 },
         .initialValue = {.floatValues = {0.0f}}},
        {.config =
                 {
                         .prop = toInt(VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS),
@@ -177,7 +185,7 @@ const std::vector<ConfigDeclaration> kVehicleProperties = {
                                         toInt(VehicleUnit::MILES_PER_HOUR),
                                         toInt(VehicleUnit::KILOMETERS_PER_HOUR)},
                 },
         .initialValue = {.int32Values = {toInt(VehicleUnit::KILOMETERS_PER_HOUR)}}},
         .initialValue = {.int32Values = {toInt(VehicleUnit::MILES_PER_HOUR)}}},

        {.config =
                 {
@@ -1025,7 +1033,7 @@ const std::vector<ConfigDeclaration> kVehicleProperties = {
                         .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                         .configArray = {(int)VehicleUnit::LITER, (int)VehicleUnit::US_GALLON},
                 },
         .initialValue = {.int32Values = {(int)VehicleUnit::LITER}}},
         .initialValue = {.int32Values = {(int)VehicleUnit::US_GALLON}}},

        {.config =
                 {
+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

#define LOG_TAG "android.hardware.camera.device@3.2-convert-impl"
#include <log/log.h>
#include <system/camera_metadata.h>

#include "include/convert.h"

@@ -43,6 +44,13 @@ bool convertFromHidl(const CameraMetadata &src, const camera_metadata_t** dst) {
        ALOGE("%s: input CameraMetadata is corrupt!", __FUNCTION__);
        return false;
    }

    if (validate_camera_metadata_structure((camera_metadata_t*)data, /*expected_size=*/NULL) !=
        OK) {
        ALOGE("%s: Failed to validate the metadata structure", __FUNCTION__);
        return false;
    }

    *dst = (camera_metadata_t*) data;
    return true;
}
+28 −16
Original line number Diff line number Diff line
@@ -32,40 +32,52 @@ void DeviceFileReader::getDataFromDeviceFile(const std::string& command, int mMi
        return;
    }

    int mGnssFd = open(deviceFilePath.c_str(), O_RDWR | O_NONBLOCK);

    if (mGnssFd == -1) {
    int gnss_fd, epoll_fd;
    if ((gnss_fd = open(deviceFilePath.c_str(), O_RDWR | O_NONBLOCK)) == -1) {
        return;
    }
    if (write(gnss_fd, command.c_str(), command.size()) <= 0) {
        close(gnss_fd);
        return;
    }

    int bytes_write = write(mGnssFd, command.c_str(), command.size());
    if (bytes_write <= 0) {
        close(mGnssFd);
    // Create an epoll instance.
    if ((epoll_fd = epoll_create1(EPOLL_CLOEXEC)) < 0) {
        close(gnss_fd);
        return;
    }

    // Add file descriptor to epoll instance.
    struct epoll_event ev, events[1];
    ev.data.fd = mGnssFd;
    memset(&ev, 0, sizeof(ev));
    ev.data.fd = gnss_fd;
    ev.events = EPOLLIN;
    int epoll_fd = epoll_create1(0);
    epoll_ctl(epoll_fd, EPOLL_CTL_ADD, mGnssFd, &ev);
    int bytes_read = -1;
    std::string inputStr = "";
    int epoll_ret = epoll_wait(epoll_fd, events, 1, mMinIntervalMs);
    if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, gnss_fd, &ev) == -1) {
        close(gnss_fd);
        close(epoll_fd);
        return;
    }

    if (epoll_ret == -1) {
        close(mGnssFd);
    // Wait for device file event.
    if (epoll_wait(epoll_fd, events, 1, mMinIntervalMs) == -1) {
        close(gnss_fd);
        close(epoll_fd);
        return;
    }

    // Handle event and write data to string buffer.
    int bytes_read = -1;
    std::string inputStr = "";
    while (true) {
        memset(inputBuffer, 0, INPUT_BUFFER_SIZE);
        bytes_read = read(mGnssFd, &inputBuffer, INPUT_BUFFER_SIZE);
        bytes_read = read(gnss_fd, &inputBuffer, INPUT_BUFFER_SIZE);
        if (bytes_read <= 0) {
            break;
        }
        s_buffer_ += std::string(inputBuffer, bytes_read);
    }
    close(mGnssFd);
    close(gnss_fd);
    close(epoll_fd);

    // Trim end of file mark(\n\n\n\n).
    auto pos = s_buffer_.find("\n\n\n\n");
+1 −1
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ class ComposerCommandEngine : protected CommandReaderBase {

    bool executeSetClientTarget(uint16_t length) {
        // 4 parameters followed by N rectangles
        if ((length - 4) % 4 != 0) {
        if (!length || (length - 4) % 4 != 0) {
            return false;
        }

+1 −1
Original line number Diff line number Diff line
service vendor.sensors-hal-2-1-multihal /vendor/bin/hw/android.hardware.sensors@2.1-service.multihal
    class hal
    user system
    group system wakelock context_hub input
    group system wakelock context_hub input uhid
    task_profiles ServiceCapacityLow
    capabilities BLOCK_SUSPEND
    rlimit rtprio 10 10