Merge "DO NOT MERGE: Revert "Reset app routes when global a2dp state changed"" into sc-qpr1-dev

This commit is contained in:
TreeHugger Robot
2021-09-24 04:10:09 +00:00
committed by Android (Google) Code Review
3 changed files with 6 additions and 38 deletions

View File

@@ -23,5 +23,4 @@ oneway interface IMediaRouterClient {
void onStateChanged();
void onRestoreRoute();
void onGroupRouteSelected(String routeId);
void onGlobalA2dpChanged(boolean a2dpOn);
}

View File

@@ -654,9 +654,12 @@ public class MediaRouter {
final class Client extends IMediaRouterClient.Stub {
@Override
public void onStateChanged() {
mHandler.post(() -> {
if (Client.this == mClient) {
updateClientState();
mHandler.post(new Runnable() {
@Override
public void run() {
if (Client.this == mClient) {
updateClientState();
}
}
});
}
@@ -690,22 +693,6 @@ public class MediaRouter {
}
});
}
// Called when the selection of a connected device (phone speaker or BT devices)
// is changed.
@Override
public void onGlobalA2dpChanged(boolean a2dpOn) {
mHandler.post(() -> {
if (mSelectedRoute == null) {
return;
}
if (mSelectedRoute.isDefault() && a2dpOn) {
setSelectedRoute(mBluetoothA2dpRoute, /*explicit=*/false);
} else if (mSelectedRoute.isBluetooth() && !a2dpOn) {
setSelectedRoute(mDefaultAudioVideo, /*explicit=*/false);
}
});
}
}
}

View File

@@ -903,26 +903,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub
if (intent.getAction().equals(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED)) {
BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
synchronized (mLock) {
boolean wasA2dpOn = mGlobalBluetoothA2dpOn;
mActiveBluetoothDevice = btDevice;
mGlobalBluetoothA2dpOn = btDevice != null;
if (wasA2dpOn != mGlobalBluetoothA2dpOn) {
Slog.d(TAG, "GlobalBluetoothA2dpOn is changed to '"
+ mGlobalBluetoothA2dpOn + "'");
UserRecord userRecord = mUserRecords.get(mCurrentUserId);
if (userRecord != null) {
for (ClientRecord cr : userRecord.mClientRecords) {
// mSelectedRouteId will be null for BT and phone speaker.
if (cr.mSelectedRouteId == null) {
try {
cr.mClient.onGlobalA2dpChanged(mGlobalBluetoothA2dpOn);
} catch (RemoteException e) {
// Ignore exception
}
}
}
}
}
}
}
}