Loading core/api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5807,14 +5807,19 @@ package android.hardware.usb { public final class DisplayPortAltModeInfo implements android.os.Parcelable { method public int describeContents(); method public int getCableStatus(); method public int getLinkTrainingStatus(); method public int getNumberOfLanes(); method public int getPartnerSinkStatus(); method public boolean isHotPlugDetectActive(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR; field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE = 2; // 0x2 field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3 field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1 field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0 field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2 field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1 field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0 } public class UsbDeviceConnection { core/java/android/hardware/usb/DisplayPortAltModeInfo.java +60 −14 Original line number Diff line number Diff line Loading @@ -39,8 +39,8 @@ public final class DisplayPortAltModeInfo implements Parcelable { private final @DisplayPortAltModeStatus int mPartnerSinkStatus; private final @DisplayPortAltModeStatus int mCableStatus; private final int mNumLanes; private final boolean mHpd; private final int mLinkTrainingStatus; private final boolean mHotPlugDetect; private final @LinkTrainingStatus int mLinkTrainingStatus; /** * Port Partners: Loading Loading @@ -90,6 +90,25 @@ public final class DisplayPortAltModeInfo implements Parcelable { */ public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; /* * Indicates that DisplayPort Alt Mode link training has not initiated or completed. */ public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; /* * Indicates that DisplayPort Alt Mode link training has completed and the optimal data * transmission settings between the device and the connected port partner have successfully * been negotiated. */ public static final int LINK_TRAINING_STATUS_SUCCESS = 1; /* * Indicates that DisplayPort Alt Mode link training has completed but no data transmission * settings between the device and the connected port partner could be established, and that the * link initialization has terminated. */ public static final int LINK_TRAINING_STATUS_FAILURE = 2; /** @hide */ @IntDef(prefix = { "DISPLAYPORT_ALT_MODE_STATUS_" }, value = { DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, Loading @@ -100,22 +119,31 @@ public final class DisplayPortAltModeInfo implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface DisplayPortAltModeStatus {} /** @hide */ @IntDef(prefix = { "LINK_TRAINING_STATUS_" }, value = { LINK_TRAINING_STATUS_UNKNOWN, LINK_TRAINING_STATUS_SUCCESS, LINK_TRAINING_STATUS_FAILURE, }) @Retention(RetentionPolicy.SOURCE) public @interface LinkTrainingStatus {} /** @hide */ public DisplayPortAltModeInfo() { mPartnerSinkStatus = DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; mCableStatus = DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; mNumLanes = 0; mHpd = false; mLinkTrainingStatus = 0; mHotPlugDetect = false; mLinkTrainingStatus = LINK_TRAINING_STATUS_UNKNOWN; } /** @hide */ public DisplayPortAltModeInfo(int partnerSinkStatus, int cableStatus, int numLanes, boolean hpd, int linkTrainingStatus) { int numLanes, boolean hotPlugDetect, int linkTrainingStatus) { mPartnerSinkStatus = partnerSinkStatus; mCableStatus = cableStatus; mNumLanes = numLanes; mHpd = hpd; mHotPlugDetect = hotPlugDetect; mLinkTrainingStatus = linkTrainingStatus; } Loading Loading @@ -151,6 +179,21 @@ public final class DisplayPortAltModeInfo implements Parcelable { return mNumLanes; } /** * Returns whether or not the Hot Plug Detect (HPD) value of the connected DisplayPort Alt Mode * partner sink is active. */ public boolean isHotPlugDetectActive() { return mHotPlugDetect; } /** * Returns the DisplayPort Alt Mode link training status. */ public @LinkTrainingStatus int getLinkTrainingStatus() { return mLinkTrainingStatus; } @Override public int describeContents() { return 0; Loading @@ -161,7 +204,7 @@ public final class DisplayPortAltModeInfo implements Parcelable { dest.writeInt(mPartnerSinkStatus); dest.writeInt(mCableStatus); dest.writeInt(mNumLanes); dest.writeBoolean(mHpd); dest.writeBoolean(mHotPlugDetect); dest.writeInt(mLinkTrainingStatus); } Loading @@ -174,8 +217,8 @@ public final class DisplayPortAltModeInfo implements Parcelable { + mCableStatus + " numLanes=" + mNumLanes + " hpd=" + mHpd + " hotPlugDetect=" + mHotPlugDetect + " linkTrainingStatus=" + mLinkTrainingStatus + "}"; Loading @@ -192,12 +235,15 @@ public final class DisplayPortAltModeInfo implements Parcelable { DisplayPortAltModeInfo other = (DisplayPortAltModeInfo) o; return this.mPartnerSinkStatus == other.mPartnerSinkStatus && this.mCableStatus == other.mCableStatus && this.mNumLanes == other.mNumLanes; && this.mNumLanes == other.mNumLanes && this.mHotPlugDetect == other.mHotPlugDetect && this.mLinkTrainingStatus == other.mLinkTrainingStatus; } @Override public int hashCode() { return Objects.hash(mPartnerSinkStatus, mCableStatus, mNumLanes); return Objects.hash(mPartnerSinkStatus, mCableStatus, mNumLanes, mHotPlugDetect, mLinkTrainingStatus); } public static final @NonNull Parcelable.Creator<DisplayPortAltModeInfo> CREATOR = Loading @@ -207,10 +253,10 @@ public final class DisplayPortAltModeInfo implements Parcelable { int partnerSinkStatus = in.readInt(); int cableStatus = in.readInt(); int numLanes = in.readInt(); boolean hpd = in.readBoolean(); boolean hotPlugDetect = in.readBoolean(); int linkTrainingStatus = in.readInt(); return new DisplayPortAltModeInfo(partnerSinkStatus, cableStatus, numLanes, hpd, linkTrainingStatus); return new DisplayPortAltModeInfo(partnerSinkStatus, cableStatus, numLanes, hotPlugDetect, linkTrainingStatus); } @Override Loading services/usb/java/com/android/server/usb/UsbService.java +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.usb; import static android.hardware.usb.DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; import static android.hardware.usb.DisplayPortAltModeInfo.LINK_TRAINING_STATUS_UNKNOWN; import static android.hardware.usb.UsbOperationInternal.USB_OPERATION_ERROR_INTERNAL; import static android.hardware.usb.UsbPortStatus.DATA_ROLE_DEVICE; import static android.hardware.usb.UsbPortStatus.DATA_ROLE_HOST; Loading Loading @@ -1188,11 +1190,11 @@ public class UsbService extends IUsbManager.Stub { final String portId = args[1]; if (mPortManager != null) { mPortManager.simulateDisplayPortAltModeInfo(portId, DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, 0, false, 0, LINK_TRAINING_STATUS_UNKNOWN, pw); pw.println(); mPortManager.dump(new DualDumpOutputStream(new IndentingPrintWriter(pw, " ")), Loading Loading @@ -1271,7 +1273,7 @@ public class UsbService extends IUsbManager.Stub { pw.println(" <cable>: type DisplayPortAltModeStatus"); pw.println(" <num-lanes>: type int, expected 0, 2, or 4"); pw.println(" <hpd>: type boolean, expected true or false"); pw.println(" <link-training-status>: type int with range [0,2]"); pw.println(" <link-training-status>: type LinkTrainingStatus"); pw.println(" dumpsys usb reset-displayport-status \"matrix\""); pw.println("reset-displayport-status can also be used in order to set"); pw.println("the DisplayPortInfo to default values."); Loading Loading
core/api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5807,14 +5807,19 @@ package android.hardware.usb { public final class DisplayPortAltModeInfo implements android.os.Parcelable { method public int describeContents(); method public int getCableStatus(); method public int getLinkTrainingStatus(); method public int getNumberOfLanes(); method public int getPartnerSinkStatus(); method public boolean isHotPlugDetectActive(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR; field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE = 2; // 0x2 field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3 field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1 field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0 field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2 field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1 field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0 } public class UsbDeviceConnection {
core/java/android/hardware/usb/DisplayPortAltModeInfo.java +60 −14 Original line number Diff line number Diff line Loading @@ -39,8 +39,8 @@ public final class DisplayPortAltModeInfo implements Parcelable { private final @DisplayPortAltModeStatus int mPartnerSinkStatus; private final @DisplayPortAltModeStatus int mCableStatus; private final int mNumLanes; private final boolean mHpd; private final int mLinkTrainingStatus; private final boolean mHotPlugDetect; private final @LinkTrainingStatus int mLinkTrainingStatus; /** * Port Partners: Loading Loading @@ -90,6 +90,25 @@ public final class DisplayPortAltModeInfo implements Parcelable { */ public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; /* * Indicates that DisplayPort Alt Mode link training has not initiated or completed. */ public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; /* * Indicates that DisplayPort Alt Mode link training has completed and the optimal data * transmission settings between the device and the connected port partner have successfully * been negotiated. */ public static final int LINK_TRAINING_STATUS_SUCCESS = 1; /* * Indicates that DisplayPort Alt Mode link training has completed but no data transmission * settings between the device and the connected port partner could be established, and that the * link initialization has terminated. */ public static final int LINK_TRAINING_STATUS_FAILURE = 2; /** @hide */ @IntDef(prefix = { "DISPLAYPORT_ALT_MODE_STATUS_" }, value = { DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, Loading @@ -100,22 +119,31 @@ public final class DisplayPortAltModeInfo implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface DisplayPortAltModeStatus {} /** @hide */ @IntDef(prefix = { "LINK_TRAINING_STATUS_" }, value = { LINK_TRAINING_STATUS_UNKNOWN, LINK_TRAINING_STATUS_SUCCESS, LINK_TRAINING_STATUS_FAILURE, }) @Retention(RetentionPolicy.SOURCE) public @interface LinkTrainingStatus {} /** @hide */ public DisplayPortAltModeInfo() { mPartnerSinkStatus = DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; mCableStatus = DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; mNumLanes = 0; mHpd = false; mLinkTrainingStatus = 0; mHotPlugDetect = false; mLinkTrainingStatus = LINK_TRAINING_STATUS_UNKNOWN; } /** @hide */ public DisplayPortAltModeInfo(int partnerSinkStatus, int cableStatus, int numLanes, boolean hpd, int linkTrainingStatus) { int numLanes, boolean hotPlugDetect, int linkTrainingStatus) { mPartnerSinkStatus = partnerSinkStatus; mCableStatus = cableStatus; mNumLanes = numLanes; mHpd = hpd; mHotPlugDetect = hotPlugDetect; mLinkTrainingStatus = linkTrainingStatus; } Loading Loading @@ -151,6 +179,21 @@ public final class DisplayPortAltModeInfo implements Parcelable { return mNumLanes; } /** * Returns whether or not the Hot Plug Detect (HPD) value of the connected DisplayPort Alt Mode * partner sink is active. */ public boolean isHotPlugDetectActive() { return mHotPlugDetect; } /** * Returns the DisplayPort Alt Mode link training status. */ public @LinkTrainingStatus int getLinkTrainingStatus() { return mLinkTrainingStatus; } @Override public int describeContents() { return 0; Loading @@ -161,7 +204,7 @@ public final class DisplayPortAltModeInfo implements Parcelable { dest.writeInt(mPartnerSinkStatus); dest.writeInt(mCableStatus); dest.writeInt(mNumLanes); dest.writeBoolean(mHpd); dest.writeBoolean(mHotPlugDetect); dest.writeInt(mLinkTrainingStatus); } Loading @@ -174,8 +217,8 @@ public final class DisplayPortAltModeInfo implements Parcelable { + mCableStatus + " numLanes=" + mNumLanes + " hpd=" + mHpd + " hotPlugDetect=" + mHotPlugDetect + " linkTrainingStatus=" + mLinkTrainingStatus + "}"; Loading @@ -192,12 +235,15 @@ public final class DisplayPortAltModeInfo implements Parcelable { DisplayPortAltModeInfo other = (DisplayPortAltModeInfo) o; return this.mPartnerSinkStatus == other.mPartnerSinkStatus && this.mCableStatus == other.mCableStatus && this.mNumLanes == other.mNumLanes; && this.mNumLanes == other.mNumLanes && this.mHotPlugDetect == other.mHotPlugDetect && this.mLinkTrainingStatus == other.mLinkTrainingStatus; } @Override public int hashCode() { return Objects.hash(mPartnerSinkStatus, mCableStatus, mNumLanes); return Objects.hash(mPartnerSinkStatus, mCableStatus, mNumLanes, mHotPlugDetect, mLinkTrainingStatus); } public static final @NonNull Parcelable.Creator<DisplayPortAltModeInfo> CREATOR = Loading @@ -207,10 +253,10 @@ public final class DisplayPortAltModeInfo implements Parcelable { int partnerSinkStatus = in.readInt(); int cableStatus = in.readInt(); int numLanes = in.readInt(); boolean hpd = in.readBoolean(); boolean hotPlugDetect = in.readBoolean(); int linkTrainingStatus = in.readInt(); return new DisplayPortAltModeInfo(partnerSinkStatus, cableStatus, numLanes, hpd, linkTrainingStatus); return new DisplayPortAltModeInfo(partnerSinkStatus, cableStatus, numLanes, hotPlugDetect, linkTrainingStatus); } @Override Loading
services/usb/java/com/android/server/usb/UsbService.java +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.usb; import static android.hardware.usb.DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN; import static android.hardware.usb.DisplayPortAltModeInfo.LINK_TRAINING_STATUS_UNKNOWN; import static android.hardware.usb.UsbOperationInternal.USB_OPERATION_ERROR_INTERNAL; import static android.hardware.usb.UsbPortStatus.DATA_ROLE_DEVICE; import static android.hardware.usb.UsbPortStatus.DATA_ROLE_HOST; Loading Loading @@ -1188,11 +1190,11 @@ public class UsbService extends IUsbManager.Stub { final String portId = args[1]; if (mPortManager != null) { mPortManager.simulateDisplayPortAltModeInfo(portId, DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DisplayPortAltModeInfo.DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN, 0, false, 0, LINK_TRAINING_STATUS_UNKNOWN, pw); pw.println(); mPortManager.dump(new DualDumpOutputStream(new IndentingPrintWriter(pw, " ")), Loading Loading @@ -1271,7 +1273,7 @@ public class UsbService extends IUsbManager.Stub { pw.println(" <cable>: type DisplayPortAltModeStatus"); pw.println(" <num-lanes>: type int, expected 0, 2, or 4"); pw.println(" <hpd>: type boolean, expected true or false"); pw.println(" <link-training-status>: type int with range [0,2]"); pw.println(" <link-training-status>: type LinkTrainingStatus"); pw.println(" dumpsys usb reset-displayport-status \"matrix\""); pw.println("reset-displayport-status can also be used in order to set"); pw.println("the DisplayPortInfo to default values."); Loading