Camera: hook up dumpState path to dumpsys

Test: try dumpsys on walleye
Bug: 71394073
Change-Id: I9617332c01002c5675bd98c5fc21aac31f1027c4
gugelfrei
Yin-Chia Yeh 7 years ago
parent 4f23aa95cf
commit 487785ade7

@ -643,6 +643,14 @@ status_t CameraProviderManager::ProviderInfo::dump(int fd, const Vector<String16
dprintf(fd, " API2 camera characteristics:\n");
info2.dump(fd, /*verbosity*/ 2, /*indentation*/ 4);
}
dprintf(fd, "== Camera HAL device %s (v%d.%d) dumpState: ==\n", device->mName.c_str(),
device->mVersion.get_major(), device->mVersion.get_minor());
res = device->dumpState(fd);
if (res != OK) {
dprintf(fd, " <Error dumping device %s state: %s (%d)>\n",
device->mName.c_str(), strerror(-res), res);
}
}
return OK;
}
@ -908,6 +916,17 @@ status_t CameraProviderManager::ProviderInfo::DeviceInfo1::getCameraInfo(
return OK;
}
status_t CameraProviderManager::ProviderInfo::DeviceInfo1::dumpState(int fd) const {
native_handle_t* handle = native_handle_create(1,0);
handle->data[0] = fd;
hardware::Return<Status> s = mInterface->dumpState(handle);
native_handle_delete(handle);
if (!s.isOk()) {
return INVALID_OPERATION;
}
return mapToStatusT(s);
}
CameraProviderManager::ProviderInfo::DeviceInfo3::DeviceInfo3(const std::string& name,
const metadata_vendor_id_t tagId, const std::string &id,
uint16_t minorVersion,
@ -1011,6 +1030,17 @@ bool CameraProviderManager::ProviderInfo::DeviceInfo3::isAPI1Compatible() const
return isBackwardCompatible;
}
status_t CameraProviderManager::ProviderInfo::DeviceInfo3::dumpState(int fd) const {
native_handle_t* handle = native_handle_create(1,0);
handle->data[0] = fd;
auto ret = mInterface->dumpState(handle);
native_handle_delete(handle);
if (!ret.isOk()) {
return INVALID_OPERATION;
}
return OK;
}
status_t CameraProviderManager::ProviderInfo::DeviceInfo3::getCameraCharacteristics(
CameraMetadata *characteristics) const {
if (characteristics == nullptr) return BAD_VALUE;

@ -293,6 +293,7 @@ private:
virtual status_t setTorchMode(bool enabled) = 0;
virtual status_t getCameraInfo(hardware::CameraInfo *info) const = 0;
virtual bool isAPI1Compatible() const = 0;
virtual status_t dumpState(int fd) const = 0;
virtual status_t getCameraCharacteristics(CameraMetadata *characteristics) const {
(void) characteristics;
return INVALID_OPERATION;
@ -326,6 +327,7 @@ private:
virtual status_t getCameraInfo(hardware::CameraInfo *info) const override;
//In case of Device1Info assume that we are always API1 compatible
virtual bool isAPI1Compatible() const override { return true; }
virtual status_t dumpState(int fd) const override;
DeviceInfo1(const std::string& name, const metadata_vendor_id_t tagId,
const std::string &id, uint16_t minorVersion,
const hardware::camera::common::V1_0::CameraResourceCost& resourceCost,
@ -343,6 +345,7 @@ private:
virtual status_t setTorchMode(bool enabled) override;
virtual status_t getCameraInfo(hardware::CameraInfo *info) const override;
virtual bool isAPI1Compatible() const override;
virtual status_t dumpState(int fd) const override;
virtual status_t getCameraCharacteristics(
CameraMetadata *characteristics) const override;

Loading…
Cancel
Save