Snap for 9642788 from 7c2d62aafc
to udc-release
Change-Id: I76a2986a58287ca99e61f2f95088511574a9f0d0
This commit is contained in:
commit
79b6d7896f
4 changed files with 59 additions and 2 deletions
|
@ -34,3 +34,11 @@ license {
|
||||||
"NOTICE",
|
"NOTICE",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "preinstalled-packages-product-gs201-device-debug.xml",
|
||||||
|
src: "preinstalled-packages-product-gs201-device-debug.xml",
|
||||||
|
product_specific: true,
|
||||||
|
sub_dir: "sysconfig",
|
||||||
|
filename_from_src: true,
|
||||||
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ cc_binary {
|
||||||
"android.hardware.thermal@2.0",
|
"android.hardware.thermal@2.0",
|
||||||
"android.hardware.thermal-V1-ndk",
|
"android.hardware.thermal-V1-ndk",
|
||||||
"android.hardware.usb.gadget@1.0",
|
"android.hardware.usb.gadget@1.0",
|
||||||
"android.hardware.usb-V1-ndk",
|
"android.hardware.usb-V2-ndk",
|
||||||
"android.hardware.usb.gadget-V1-ndk",
|
"android.hardware.usb.gadget-V1-ndk",
|
||||||
"libcutils",
|
"libcutils",
|
||||||
"android.frameworks.stats-V1-ndk",
|
"android.frameworks.stats-V1-ndk",
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
|
|
||||||
using aidl::android::frameworks::stats::IStats;
|
using aidl::android::frameworks::stats::IStats;
|
||||||
using android::base::GetProperty;
|
using android::base::GetProperty;
|
||||||
|
using android::base::Tokenize;
|
||||||
using android::base::Trim;
|
using android::base::Trim;
|
||||||
using android::hardware::google::pixel::getStatsService;
|
using android::hardware::google::pixel::getStatsService;
|
||||||
using android::hardware::google::pixel::PixelAtoms::VendorUsbPortOverheat;
|
using android::hardware::google::pixel::PixelAtoms::VendorUsbPortOverheat;
|
||||||
|
@ -64,6 +65,11 @@ volatile bool destroyThread;
|
||||||
string enabledPath;
|
string enabledPath;
|
||||||
constexpr char kHsi2cPath[] = "/sys/devices/platform/10d60000.hsi2c";
|
constexpr char kHsi2cPath[] = "/sys/devices/platform/10d60000.hsi2c";
|
||||||
constexpr char kI2CPath[] = "/sys/devices/platform/10d60000.hsi2c/i2c-";
|
constexpr char kI2CPath[] = "/sys/devices/platform/10d60000.hsi2c/i2c-";
|
||||||
|
constexpr char kComplianceWarningsPath[] = "device/non_compliant_reasons";
|
||||||
|
constexpr char kComplianceWarningBC12[] = "bc12";
|
||||||
|
constexpr char kComplianceWarningDebugAccessory[] = "debug-accessory";
|
||||||
|
constexpr char kComplianceWarningMissingRp[] = "missing_rp";
|
||||||
|
constexpr char kComplianceWarningOther[] = "other";
|
||||||
constexpr char kContaminantDetectionPath[] = "i2c-max77759tcpc/contaminant_detection";
|
constexpr char kContaminantDetectionPath[] = "i2c-max77759tcpc/contaminant_detection";
|
||||||
constexpr char kStatusPath[] = "i2c-max77759tcpc/contaminant_detection_status";
|
constexpr char kStatusPath[] = "i2c-max77759tcpc/contaminant_detection_status";
|
||||||
constexpr char kSinkLimitEnable[] = "i2c-max77759tcpc/usb_limit_sink_enable";
|
constexpr char kSinkLimitEnable[] = "i2c-max77759tcpc/usb_limit_sink_enable";
|
||||||
|
@ -286,6 +292,48 @@ Status queryMoistureDetectionStatus(std::vector<PortStatus> *currentPortStatus)
|
||||||
return Status::SUCCESS;
|
return Status::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Status queryNonCompliantChargerStatus(std::vector<PortStatus> *currentPortStatus) {
|
||||||
|
string reasons, path;
|
||||||
|
|
||||||
|
for (int i = 0; i < currentPortStatus->size(); i++) {
|
||||||
|
(*currentPortStatus)[i].supportsComplianceWarnings = true;
|
||||||
|
path = string(kTypecPath) + "/" + (*currentPortStatus)[i].portName + "/" +
|
||||||
|
string(kComplianceWarningsPath);
|
||||||
|
if (ReadFileToString(path.c_str(), &reasons)) {
|
||||||
|
std::vector<string> reasonsList = Tokenize(reasons.c_str(), "[], \n\0");
|
||||||
|
for (string reason : reasonsList) {
|
||||||
|
if (!strncmp(reason.c_str(), kComplianceWarningDebugAccessory,
|
||||||
|
strlen(kComplianceWarningDebugAccessory))) {
|
||||||
|
(*currentPortStatus)[i].complianceWarnings.push_back(ComplianceWarning::DEBUG_ACCESSORY);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!strncmp(reason.c_str(), kComplianceWarningBC12,
|
||||||
|
strlen(kComplianceWarningBC12))) {
|
||||||
|
(*currentPortStatus)[i].complianceWarnings.push_back(ComplianceWarning::BC_1_2);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!strncmp(reason.c_str(), kComplianceWarningMissingRp,
|
||||||
|
strlen(kComplianceWarningMissingRp))) {
|
||||||
|
(*currentPortStatus)[i].complianceWarnings.push_back(ComplianceWarning::MISSING_RP);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!strncmp(reason.c_str(), kComplianceWarningOther,
|
||||||
|
strlen(kComplianceWarningOther))) {
|
||||||
|
(*currentPortStatus)[i].complianceWarnings.push_back(ComplianceWarning::OTHER);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((*currentPortStatus)[i].complianceWarnings.size() > 0) {
|
||||||
|
(*currentPortStatus)[i].currentMode = PortMode::UFP;
|
||||||
|
(*currentPortStatus)[i].currentPowerRole = PortPowerRole::SINK;
|
||||||
|
(*currentPortStatus)[i].currentDataRole = PortDataRole::NONE;
|
||||||
|
(*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::CONNECTED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Status::SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
string appendRoleNodeHelper(const string &portName, PortRole::Tag tag) {
|
string appendRoleNodeHelper(const string &portName, PortRole::Tag tag) {
|
||||||
string node("/sys/class/typec/" + portName);
|
string node("/sys/class/typec/" + portName);
|
||||||
|
|
||||||
|
@ -783,6 +831,7 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
||||||
status = getPortStatusHelper(usb, currentPortStatus);
|
status = getPortStatusHelper(usb, currentPortStatus);
|
||||||
queryMoistureDetectionStatus(currentPortStatus);
|
queryMoistureDetectionStatus(currentPortStatus);
|
||||||
queryPowerTransferStatus(currentPortStatus);
|
queryPowerTransferStatus(currentPortStatus);
|
||||||
|
queryNonCompliantChargerStatus(currentPortStatus);
|
||||||
if (usb->mCallback != NULL) {
|
if (usb->mCallback != NULL) {
|
||||||
ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus,
|
ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus,
|
||||||
status);
|
status);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<manifest version="1.0" type="device">
|
<manifest version="1.0" type="device">
|
||||||
<hal format="aidl">
|
<hal format="aidl">
|
||||||
<name>android.hardware.usb</name>
|
<name>android.hardware.usb</name>
|
||||||
<version>1</version>
|
<version>2</version>
|
||||||
<interface>
|
<interface>
|
||||||
<name>IUsb</name>
|
<name>IUsb</name>
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue