summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-23 20:54:08 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-23 20:54:08 +0000
commit6a9b217a7ac90feeb50f1f4c9fbca0b511300281 (patch)
treefe7e3a693ff02bff261674bcc71f9dbd2e31c219
parent4db6575ab1e03bdea1c3296805987557248f0fd5 (diff)
parenta8dcad048c1adb1870fca945bf85197470d5ed29 (diff)
downloadandroid_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.tar.gz
android_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.tar.bz2
android_hardware_interfaces-6a9b217a7ac90feeb50f1f4c9fbca0b511300281.zip
Merge cherrypicks of [2454758, 2454859, 2454837, 2454965, 2454984, 2455001, 2454760, 2454860, 2454838, 2454899, 2454970, 2455005, 2455027, 2454973, 2455006, 2455061, 2455007, 2454914, 2454987, 2454974] into oc-release
Change-Id: I09c0a830491cea2d0e6d8c91456dd9c9e9331550
-rw-r--r--camera/device/1.0/default/CameraDevice.cpp12
-rw-r--r--camera/device/1.0/default/CameraDevice_1_0.h1
2 files changed, 9 insertions, 4 deletions
diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp
index 6f4e70f83..c53c0d8b5 100644
--- a/camera/device/1.0/default/CameraDevice.cpp
+++ b/camera/device/1.0/default/CameraDevice.cpp
@@ -116,7 +116,7 @@ CameraDevice::~CameraDevice() {
Mutex::Autolock _l(mLock);
if (mDevice != nullptr) {
ALOGW("%s: camera %s is deleted while open", __FUNCTION__, mCameraId.c_str());
- close();
+ closeLocked();
}
mHalPreviewWindow.cleanUpCirculatingBuffers();
}
@@ -130,7 +130,7 @@ void CameraDevice::setConnectionStatus(bool connected) {
}
if (!connected) {
ALOGW("%s: camera %s is disconneted. Closing", __FUNCTION__, mCameraId.c_str());
- close();
+ closeLocked();
}
return;
}
@@ -982,8 +982,13 @@ Return<Status> CameraDevice::sendCommand(CommandType cmd, int32_t arg1, int32_t
}
Return<void> CameraDevice::close() {
- ALOGI("Closing camera %s", mCameraId.c_str());
Mutex::Autolock _l(mLock);
+ closeLocked();
+ return Void();
+}
+
+void CameraDevice::closeLocked() {
+ ALOGI("Closing camera %s", mCameraId.c_str());
if(mDevice) {
int rc = mDevice->common.close(&mDevice->common);
if (rc != OK) {
@@ -991,7 +996,6 @@ Return<void> CameraDevice::close() {
}
mDevice = nullptr;
}
- return Void();
}
} // namespace implementation
diff --git a/camera/device/1.0/default/CameraDevice_1_0.h b/camera/device/1.0/default/CameraDevice_1_0.h
index 0e5a49b4e..c07859631 100644
--- a/camera/device/1.0/default/CameraDevice_1_0.h
+++ b/camera/device/1.0/default/CameraDevice_1_0.h
@@ -222,6 +222,7 @@ private:
static status_t getStatusT(const Status& s);
Status initStatus() const;
+ void closeLocked();
};
} // namespace implementation