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

Commit 5d183a92 authored by Emilian Peev's avatar Emilian Peev Committed by android-build-merger
Browse files

Merge "Camera: Advertise only unique API1 compatible devices" into oc-dev

am: c03b7307

Change-Id: I741aa04bee600b73d7f25699b4961ab3a4e14c6e
parents c97b068f c03b7307
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -87,11 +87,7 @@ int CameraProviderManager::getAPI1CompatibleCameraCount() const {
    int count = 0;
    for (auto& provider : mProviders) {
        if (kStandardProviderTypes.find(provider->getType()) != std::string::npos) {
            for (auto& device : provider->mDevices) {
                if (device->isAPI1Compatible()) {
                    count++;
                }
            }
            count += provider->mUniqueAPI1CompatibleCameraIds.size();
        }
    }
    return count;
@@ -113,10 +109,8 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
    std::vector<std::string> deviceIds;
    for (auto& provider : mProviders) {
        if (kStandardProviderTypes.find(provider->getType()) != std::string::npos) {
            for (auto& device : provider->mDevices) {
                if (device->isAPI1Compatible()) {
                    deviceIds.push_back(device->mId);
                }
            for (auto& id : provider->mUniqueAPI1CompatibleCameraIds) {
                deviceIds.push_back(id);
            }
        }
    }
@@ -466,6 +460,7 @@ CameraProviderManager::ProviderInfo::ProviderInfo(
        mProviderName(providerName),
        mInterface(interface),
        mProviderTagid(generateVendorTagId(providerName)),
        mUniqueDeviceCount(0),
        mManager(manager) {
    (void) mManager;
}
@@ -539,6 +534,9 @@ status_t CameraProviderManager::ProviderInfo::initialize() {

    for (auto& device : mDevices) {
        mUniqueCameraIds.insert(device->mId);
        if (device->isAPI1Compatible()) {
            mUniqueAPI1CompatibleCameraIds.insert(device->mId);
        }
    }
    mUniqueDeviceCount = mUniqueCameraIds.size();

+1 −0
Original line number Diff line number Diff line
@@ -315,6 +315,7 @@ private:
        std::vector<std::unique_ptr<DeviceInfo>> mDevices;
        std::set<std::string> mUniqueCameraIds;
        int mUniqueDeviceCount;
        std::set<std::string> mUniqueAPI1CompatibleCameraIds;

        // HALv1-specific camera fields, including the actual device interface
        struct DeviceInfo1 : public DeviceInfo {