summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-build-prod@system.gserviceaccount.com>2021-08-14 02:50:35 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-08-14 02:50:35 +0000
commit74f0512dfcde5dbdc87ad2cace399080c35bd7e3 (patch)
tree519da5c72f0bd9188d27aef6589ca447d8fde012
parent60028b87406933627161e14764bbb8fa8ab543a8 (diff)
parentbbc5d3f6609a918aaee5cfb1518e2f285339b658 (diff)
Merge "WiredAccessoryManager: Update stream index assignment" into s-keystone-qcom-dev
-rw-r--r--services/core/java/com/android/server/WiredAccessoryManager.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/WiredAccessoryManager.java b/services/core/java/com/android/server/WiredAccessoryManager.java
index 5562275570e0..b3a45079ed5e 100644
--- a/services/core/java/com/android/server/WiredAccessoryManager.java
+++ b/services/core/java/com/android/server/WiredAccessoryManager.java
@@ -574,6 +574,9 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
}
if (devPath.equals(uei.getDevPath())) {
+ if (state == 1 && mDpCount > 0) {
+ uei.setStreamIndex(mDpCount);
+ }
updateLocked(name, uei.getDevAddress(),
uei.computeNewHeadsetState(mHeadsetState,
state));
@@ -608,7 +611,6 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
assert(idx2 != -1);
int dev = Integer.parseInt(mDevName.substring(idx+1, idx2));
int cable = Integer.parseInt(mDevName.substring(idx2+1));
- mDevAddress = "controller=" + cable + ";stream=" + dev;
if (LOG) {
Slog.v(TAG, "UEvent dev address " + mDevAddress);
}
@@ -693,6 +695,14 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
}
}
+ public void setStreamIndex(int streamIndex) {
+ int index1 = mDevAddress.indexOf("=");
+ int index2 = mDevAddress.indexOf("=", index1 + 1);
+
+ String allExceptStreamIdx = mDevAddress.substring(0, index2 + 1);
+ mDevAddress = allExceptStreamIdx + String.valueOf(streamIndex);
+ }
+
public String getDevName() {
return mDevName;
}