Do not enable Moisture Detection if vendor prop is set

setprop vendor.usb.contaminantdisable true
disable contaminant detection.

Bug: 154985161
Test: setprop vendor.usb.contaminantdisable true
Change-Id: I2cfd5baab45074f2ca68216cb5d8b9790d711b75
(cherry picked from commit 21e7d5aec7e3e5b9b032b71a3153310376a46ae2)
[separated the commit into rc part and HAL part]
Signed-off-by: Kyle Tso <kyletso@google.com>
This commit is contained in:
Kyle Tso
2020-05-01 21:54:30 +08:00
committed by Cyan_Hsieh
parent 606ee94a25
commit 29edf80f17

View File

@@ -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;