diff options
| author | 2020-05-18 18:29:11 +0900 | |
|---|---|---|
| committer | 2020-05-18 18:29:11 +0900 | |
| commit | f2b19c8b1ff0543d6a9d73abe0f33385746b2abd (patch) | |
| tree | 40809b817ad9e8bae0e11018063b0247f78aed9f | |
| parent | a4403c2d4a3fddfad0e2513dd35009e1719c5847 (diff) | |
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
| -rw-r--r-- | services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java index a435f1e16b80..53205add0b38 100644 --- a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java +++ b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java @@ -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); } } } |