summaryrefslogtreecommitdiff
path: root/usb/Usb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'usb/Usb.cpp')
-rw-r--r--usb/Usb.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/usb/Usb.cpp b/usb/Usb.cpp
index a608130..9244f16 100644
--- a/usb/Usb.cpp
+++ b/usb/Usb.cpp
@@ -49,6 +49,8 @@ volatile bool destroyThread;
constexpr char kEnabledPath[] = "/sys/class/power_supply/usb/moisture_detection_enabled";
constexpr char kDetectedPath[] = "/sys/class/power_supply/usb/moisture_detected";
+constexpr char kConsole[] = "init.svc.console";
+constexpr char kDisableContatminantDetection[] = "vendor.usb.contaminantdisable";
void queryVersionHelper(android::hardware::usb::V1_2::implementation::Usb *usb,
hidl_vec<PortStatus> *currentPortStatus_1_2);
@@ -132,8 +134,11 @@ Status queryMoistureDetectionStatus(hidl_vec<PortStatus> *currentPortStatus_1_2)
Return<void> Usb::enableContaminantPresenceDetection(const hidl_string & /*portName*/,
bool enable) {
- std::string status = GetProperty("init.svc.console", "");
- if (status != "running")
+
+ std::string status = GetProperty(kConsole, "");
+ std::string disable = GetProperty(kDisableContatminantDetection, "");
+
+ if (status != "running" && disable != "true")
writeFile(kEnabledPath, enable ? "1" : "0");
hidl_vec<PortStatus> currentPortStatus_1_2;