Disconnect and reconnect the OBEX session on change path
According to AVRCP 1.6.2, Section 5.14.2.2.2, the controller shall ensure the OBEX session is disconnected and image handles are cleaned up any time the UIDs change or, for a database unaware player (which we are), we change paths successfully. This is further enforced with a PTS test as well. This change adds a "refresh" operation that will disconnect and reconnect to OBEX without tearing down the actual L2CAP connection. This operation is suggested by the specification in section 4.1.8. The refresh operation is called on notification of a successful change path operation. Since we don't support the UIDs changed event, so this should satisfy PTS for now. In the event we do support UIDs changed we will have to also call refreshCoverArt() there as well. Not all Target devices support the recommendation section 4.1.8 of the specification. Some treat an OBEX level disconnect as an indiation to close the entire L2CAP connection. This was fixed in this change by assuming that all disconnected states that occur when we had a client in our set are incoming and thus unepected. We rightfully try to reconnect at this point. Tag: #compatibility Bug: 149592384 Test: Build, flash, interop test, atest BluetoothInstrumentationTests Merged-In: Icd4b2f1ac00bf32855f436be57212c8bc264a9f7 Change-Id: Icd4b2f1ac00bf32855f436be57212c8bc264a9f7
Loading
Please register or sign in to comment