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

Commit b4fcc579 authored by Valentin Iftime's avatar Valentin Iftime
Browse files

Use sp<>::make in external camera HAL

Fix external camera HAL crash (android::RefBase::incStrongRequireStrong)

Bug: 184190315
Test: android.hardware.camera.provider@2.5-external-service does not crash
Change-Id: I2406099078fd3c9bddf05afc4011fbece5072139
parent 51ac1e97
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -65,10 +65,10 @@ bool matchDeviceName(int cameraIdOffset,

} // anonymous namespace

ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() :
        mCfg(ExternalCameraConfig::loadFromCfg()),
        mHotPlugThread(this) {
    mHotPlugThread.run("ExtCamHotPlug", PRIORITY_BACKGROUND);
ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4()
    : mCfg(ExternalCameraConfig::loadFromCfg()) {
    mHotPlugThread = sp<HotplugThread>::make(this);
    mHotPlugThread->run("ExtCamHotPlug", PRIORITY_BACKGROUND);

    mPreferredHal3MinorVersion =
        property_get_int32("ro.vendor.camera.external.hal3TrebleMinorVersion", 4);
@@ -88,7 +88,7 @@ ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() :
}

ExternalCameraProviderImpl_2_4::~ExternalCameraProviderImpl_2_4() {
    mHotPlugThread.requestExit();
    mHotPlugThread->requestExit();
}


+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ private:
    sp<ICameraProviderCallback> mCallbacks = nullptr;
    std::unordered_map<std::string, CameraDeviceStatus> mCameraStatusMap; // camera id -> status
    const ExternalCameraConfig mCfg;
    HotplugThread mHotPlugThread;
    sp<HotplugThread> mHotPlugThread;
    int mPreferredHal3MinorVersion;
};