diff options
| author | 2023-09-14 14:22:21 +0000 | |
|---|---|---|
| committer | 2023-09-14 14:22:21 +0000 | |
| commit | cfd80298f863fe07e6144329b7421ecb07e54b73 (patch) | |
| tree | 5840bcf14bded327b1d1202169fe873a01b5d5a4 | |
| parent | ae399926349492d5bbd82b60209914059ce814dc (diff) | |
| parent | b8b2ad02b3c6354f3e222705901ee8b341e4e9c3 (diff) | |
Merge changes from topic "usb-dp-dumpsys" into udc-qpr-dev am: 25bd066f01 am: b8b2ad02b3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23860976
Change-Id: I5bec1931525dd049d620127391c75ba4740fed3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | core/java/android/hardware/usb/DisplayPortAltModeInfo.java | 38 | ||||
| -rw-r--r-- | core/java/com/android/internal/usb/DumpUtils.java | 12 | ||||
| -rw-r--r-- | core/proto/android/service/usb.proto | 6 |
3 files changed, 49 insertions, 7 deletions
diff --git a/core/java/android/hardware/usb/DisplayPortAltModeInfo.java b/core/java/android/hardware/usb/DisplayPortAltModeInfo.java index 9da2f4c12977..36c4a2ac09e4 100644 --- a/core/java/android/hardware/usb/DisplayPortAltModeInfo.java +++ b/core/java/android/hardware/usb/DisplayPortAltModeInfo.java @@ -200,19 +200,43 @@ public final class DisplayPortAltModeInfo implements Parcelable { dest.writeInt(mLinkTrainingStatus); } + private String displayPortAltModeStatusToString(@DisplayPortAltModeStatus int status) { + switch (status) { + case DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE: + return "not capable"; + case DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED: + return "capable disabled"; + case DISPLAYPORT_ALT_MODE_STATUS_ENABLED: + return "enabled"; + default: + return "unknown"; + } + } + + private String linkTrainingStatusToString(@LinkTrainingStatus int status) { + switch (status) { + case LINK_TRAINING_STATUS_SUCCESS: + return "success"; + case LINK_TRAINING_STATUS_FAILURE: + return "failure"; + default: + return "unknown"; + } + } + @NonNull @Override public String toString() { return "DisplayPortAltModeInfo{partnerSink=" - + mPartnerSinkStatus - + " cable=" - + mCableStatus - + " numLanes=" + + displayPortAltModeStatusToString(mPartnerSinkStatus) + + ", cable=" + + displayPortAltModeStatusToString(mCableStatus) + + ", numLanes=" + mNumLanes - + " hotPlugDetect=" + + ", hotPlugDetect=" + mHotPlugDetect - + " linkTrainingStatus=" - + mLinkTrainingStatus + + ", linkTrainingStatus=" + + linkTrainingStatusToString(mLinkTrainingStatus) + "}"; } diff --git a/core/java/com/android/internal/usb/DumpUtils.java b/core/java/com/android/internal/usb/DumpUtils.java index f974d9d10efd..21c3e7b5c6b8 100644 --- a/core/java/com/android/internal/usb/DumpUtils.java +++ b/core/java/com/android/internal/usb/DumpUtils.java @@ -16,6 +16,7 @@ package com.android.internal.usb; +import static android.hardware.usb.UsbPort.FLAG_ALT_MODE_TYPE_DISPLAYPORT; import static android.hardware.usb.UsbPortStatus.MODE_AUDIO_ACCESSORY; import static android.hardware.usb.UsbPortStatus.MODE_DEBUG_ACCESSORY; import static android.hardware.usb.UsbPortStatus.MODE_DFP; @@ -26,6 +27,7 @@ import static android.hardware.usb.UsbPortStatus.MODE_UFP; import static com.android.internal.util.dump.DumpUtils.writeStringIfNotNull; import android.annotation.NonNull; +import android.hardware.usb.DisplayPortAltModeInfo; import android.hardware.usb.UsbAccessory; import android.hardware.usb.UsbConfiguration; import android.hardware.usb.UsbDevice; @@ -177,6 +179,10 @@ public class DumpUtils { dump.write("supports_compliance_warnings", UsbPortProto.SUPPORTS_COMPLIANCE_WARNINGS, port.supportsComplianceWarnings()); + if (port.isAltModeSupported(FLAG_ALT_MODE_TYPE_DISPLAYPORT)) { + dump.write("supported_alt_modes", UsbPortProto.SUPPORTED_ALT_MODES, + FLAG_ALT_MODE_TYPE_DISPLAYPORT); + } dump.end(token); } @@ -255,6 +261,12 @@ public class DumpUtils { UsbPort.powerBrickConnectionStatusToString(status.getPowerBrickConnectionStatus())); dump.write("compliance_warning_status", UsbPortStatusProto.COMPLIANCE_WARNINGS_STRING, UsbPort.complianceWarningsToString(status.getComplianceWarnings())); + DisplayPortAltModeInfo displayPortAltModeInfo = status.getDisplayPortAltModeInfo(); + if (displayPortAltModeInfo != null) { + dump.write("displayport_alt_mode_status", + UsbPortStatusProto.DISPLAYPORT_ALT_MODE_STATUS, + status.getDisplayPortAltModeInfo().toString()); + } dump.end(token); } } diff --git a/core/proto/android/service/usb.proto b/core/proto/android/service/usb.proto index 88893205c79e..49b8450fcc67 100644 --- a/core/proto/android/service/usb.proto +++ b/core/proto/android/service/usb.proto @@ -238,10 +238,15 @@ message UsbPortProto { MODE_DEBUG_ACCESSORY = 8; } + enum AltMode { + ALT_MODE_DISPLAYPORT = 1; + } + // ID of the port. A device (eg: Chromebooks) might have multiple ports. optional string id = 1; repeated Mode supported_modes = 2; optional bool supports_compliance_warnings = 3; + repeated AltMode supported_alt_modes = 4; } message UsbPortStatusProto { @@ -271,6 +276,7 @@ message UsbPortStatusProto { optional bool is_power_transfer_limited = 8; optional string usb_power_brick_status = 9; optional string compliance_warnings_string = 10; + optional string displayport_alt_mode_status = 11; } message UsbPortStatusRoleCombinationProto { |