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

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

Merge "Camera: Use fully qualified name for camera eviction logic" into pi-dev

parents 1deee105 9e3055dd
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1055,8 +1055,16 @@ status_t CameraService::handleEvictionsLocked(const String8& cameraId, int clien
            return BAD_VALUE;
        }

        std::string cameraName;
        err = mCameraProviderManager->getCameraDeviceName(
                std::string(cameraId.c_str()), cameraName);
        if (err != OK) {
            ALOGE("%s: Failed to find camera device name for id %s: %d",
                  __FUNCTION__, cameraId.c_str(), err);
            return err;
        }
        // Make descriptor for incoming client
        clientDescriptor = CameraClientManager::makeClientDescriptor(cameraId,
        clientDescriptor = CameraClientManager::makeClientDescriptor(String8(cameraName.c_str()),
                sp<BasicClient>{nullptr}, static_cast<int32_t>(state->getCost()),
                state->getConflicting(),
                priorityScores[priorityScores.size() - 1],
+10 −0
Original line number Diff line number Diff line
@@ -391,6 +391,16 @@ metadata_vendor_id_t CameraProviderManager::getProviderTagIdLocked(
    return ret;
}

status_t CameraProviderManager::getCameraDeviceName(const std::string& id, std::string& name) {
    std::lock_guard<std::mutex> lock(mInterfaceMutex);

    auto deviceInfo = findDeviceInfoLocked(id);
    if (deviceInfo == nullptr) return NAME_NOT_FOUND;

    name = deviceInfo->mName;
    return OK;
}

status_t CameraProviderManager::addProviderLocked(const std::string& newProvider, bool expected) {
    for (const auto& providerInfo : mProviders) {
        if (providerInfo->mProviderName == newProvider) {
+5 −0
Original line number Diff line number Diff line
@@ -230,6 +230,11 @@ public:
            hardware::hidl_version minVersion = hardware::hidl_version{0,0},
            hardware::hidl_version maxVersion = hardware::hidl_version{1000,0}) const;

    /*
     * Get device name for a particular camera Id
     */
    status_t getCameraDeviceName(const std::string& id, std::string& name);

private:
    // All private members, unless otherwise noted, expect mInterfaceMutex to be locked before use
    mutable std::mutex mInterfaceMutex;