Merge "Add debug output for lights." am: 25ccf20c8c

am: ba7d14198b

Change-Id: Iedc1c90b92301477dc1d69d869061b405446e1dc
This commit is contained in:
Steven Moreland
2017-12-22 21:57:05 +00:00
committed by android-build-merger
2 changed files with 27 additions and 2 deletions

View File

@@ -18,6 +18,8 @@
#include <log/log.h>
#include <stdio.h>
#include "Light.h"
namespace android {
@@ -107,6 +109,28 @@ const static std::map<Type, const char*> kLogicalLights = {
{Type::WIFI, LIGHT_ID_WIFI}
};
Return<void> Light::debug(const hidl_handle& handle, const hidl_vec<hidl_string>& /* options */) {
if (handle == nullptr || handle->numFds < 1) {
ALOGE("debug called with no handle\n");
return Void();
}
int fd = handle->data[0];
if (fd < 0) {
ALOGE("invalid FD: %d\n", handle->data[0]);
return Void();
}
dprintf(fd, "The following lights are registered: ");
for (auto const& pair : mLights) {
const Type type = pair.first;
dprintf(fd, "%s,", kLogicalLights.at(type));
}
dprintf(fd, ".\n");
fsync(fd);
return Void();
}
light_device_t* getLightDevice(const char* name) {
light_device_t* lightDevice;
const hw_module_t* hwModule = NULL;

View File

@@ -42,11 +42,12 @@ using ::android::sp;
struct Light : public ILight {
Light(std::map<Type, light_device_t*> &&lights);
// Methods from ::android::hardware::light::V2_0::ILight follow.
Return<Status> setLight(Type type, const LightState& state) override;
Return<void> getSupportedTypes(getSupportedTypes_cb _hidl_cb) override;
private:
Return<void> debug(const hidl_handle& handle, const hidl_vec<hidl_string>& options) override;
private:
std::map<Type, light_device_t*> mLights;
};