summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kyunglyul Hyun <klhyun@google.com> 2020-05-18 18:29:11 +0900
committer Kyunglyul Hyun <klhyun@google.com> 2020-05-18 18:29:11 +0900
commitf2b19c8b1ff0543d6a9d73abe0f33385746b2abd (patch)
tree40809b817ad9e8bae0e11018063b0247f78aed9f
parenta4403c2d4a3fddfad0e2513dd35009e1719c5847 (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.java10
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);
}
}
}