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

Commit d3f8f486 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Sensor direct report with HardwareBuffer channel"

parents 6f56abff d9c8a864
Loading
Loading
Loading
Loading
+17 −20
Original line number Original line Diff line number Diff line
@@ -247,8 +247,12 @@ int SensorManager::createDirectChannel(
        return NO_INIT;
        return NO_INIT;
    }
    }


    switch (channelType) {
    if (channelType != SENSOR_DIRECT_MEM_TYPE_ASHMEM
        case SENSOR_DIRECT_MEM_TYPE_ASHMEM: {
            && channelType != SENSOR_DIRECT_MEM_TYPE_GRALLOC) {
        ALOGE("Bad channel shared memory type %d", channelType);
        return BAD_VALUE;
    }

    sp<ISensorEventConnection> conn =
    sp<ISensorEventConnection> conn =
              mSensorServer->createSensorDirectConnection(mOpPackageName,
              mSensorServer->createSensorDirectConnection(mOpPackageName,
                  static_cast<uint32_t>(size),
                  static_cast<uint32_t>(size),
@@ -257,18 +261,11 @@ int SensorManager::createDirectChannel(
    if (conn == nullptr) {
    if (conn == nullptr) {
        return NO_MEMORY;
        return NO_MEMORY;
    }
    }

    int nativeHandle = mDirectConnectionHandle++;
    int nativeHandle = mDirectConnectionHandle++;
    mDirectConnection.emplace(nativeHandle, conn);
    mDirectConnection.emplace(nativeHandle, conn);
    return nativeHandle;
    return nativeHandle;
}
}
        case SENSOR_DIRECT_MEM_TYPE_GRALLOC:
            LOG_FATAL("%s: Finish implementation of ION and GRALLOC or remove", __FUNCTION__);
            return BAD_VALUE;
        default:
            ALOGE("Bad channel shared memory type %d", channelType);
            return BAD_VALUE;
    }
}


void SensorManager::destroyDirectChannel(int channelNativeHandle) {
void SensorManager::destroyDirectChannel(int channelNativeHandle) {
    Mutex::Autolock _l(mLock);
    Mutex::Autolock _l(mLock);
+1 −0
Original line number Original line Diff line number Diff line
@@ -190,6 +190,7 @@ std::string SensorList::dump() const {
                if (s.isDirectChannelTypeSupported(SENSOR_DIRECT_MEM_TYPE_GRALLOC)) {
                if (s.isDirectChannelTypeSupported(SENSOR_DIRECT_MEM_TYPE_GRALLOC)) {
                    result.append("gralloc, ");
                    result.append("gralloc, ");
                }
                }
                result.appendFormat("flag =0x%08x", static_cast<int>(s.getFlags()));
                result.append("\n");
                result.append("\n");
            }
            }
            return true;
            return true;