Send last discovery preference to provider service
To ensure discovery preference is delivered to the provider service, it delivers the discovery preference whenever the connection is established. Without this CL, discovery preference may not be delivered to the service when rebindIfDisconnected is called in the middle of connecting. Bug: 151128724 Test: cts test and atest mediaroutertest Change-Id: I723298f108a0a7d3217c997be362e43764313bae
This commit is contained in:
@@ -60,7 +60,7 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider
|
||||
private Connection mActiveConnection;
|
||||
private boolean mConnectionReady;
|
||||
|
||||
private RouteDiscoveryPreference mPendingDiscoveryPreference = null;
|
||||
private RouteDiscoveryPreference mLastDiscoveryPreference = null;
|
||||
|
||||
MediaRoute2ProviderServiceProxy(@NonNull Context context, @NonNull ComponentName componentName,
|
||||
int userId) {
|
||||
@@ -98,11 +98,10 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider
|
||||
|
||||
@Override
|
||||
public void updateDiscoveryPreference(RouteDiscoveryPreference discoveryPreference) {
|
||||
mLastDiscoveryPreference = discoveryPreference;
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.updateDiscoveryPreference(discoveryPreference);
|
||||
updateBinding();
|
||||
} else {
|
||||
mPendingDiscoveryPreference = discoveryPreference;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,9 +276,8 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider
|
||||
private void onConnectionReady(Connection connection) {
|
||||
if (mActiveConnection == connection) {
|
||||
mConnectionReady = true;
|
||||
if (mPendingDiscoveryPreference != null) {
|
||||
updateDiscoveryPreference(mPendingDiscoveryPreference);
|
||||
mPendingDiscoveryPreference = null;
|
||||
if (mLastDiscoveryPreference != null) {
|
||||
updateDiscoveryPreference(mLastDiscoveryPreference);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user