DO NOT MERGE: Revert "Reset app routes when global a2dp state changed"

This reverts commit 07e40316f8.

Bug: 193831720, Bug: 168093983, Bug: 156549746
Test: manual
Change-Id: I86df6f9f1d672c455cd0aedc58012b3335659479
(cherry picked from commit 6d4a00b17a)
This commit is contained in:
Sungsoo Lim
2021-09-08 11:00:00 +09:00
parent ef07a1a45a
commit d0c29f1bf1
3 changed files with 6 additions and 38 deletions

View File

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

View File

@@ -654,10 +654,13 @@ public class MediaRouter {
final class Client extends IMediaRouterClient.Stub { final class Client extends IMediaRouterClient.Stub {
@Override @Override
public void onStateChanged() { public void onStateChanged() {
mHandler.post(() -> { mHandler.post(new Runnable() {
@Override
public void run() {
if (Client.this == mClient) { if (Client.this == mClient) {
updateClientState(); 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)) { if (intent.getAction().equals(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED)) {
BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
synchronized (mLock) { synchronized (mLock) {
boolean wasA2dpOn = mGlobalBluetoothA2dpOn;
mActiveBluetoothDevice = btDevice; mActiveBluetoothDevice = btDevice;
mGlobalBluetoothA2dpOn = btDevice != null; 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
}
}
}
}
}
} }
} }
} }