Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e23f900 authored by Sungsoo Lim's avatar Sungsoo Lim Committed by Automerger Merge Worker
Browse files

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15884591

Change-Id: Iacf081607001839ea00d33c79c986c195ac9b494
parents 507cd3ec d0c29f1b
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -23,5 +23,4 @@ oneway interface IMediaRouterClient {
    void onStateChanged();
    void onRestoreRoute();
    void onGroupRouteSelected(String routeId);
    void onGlobalA2dpChanged(boolean a2dpOn);
}
+6 −19
Original line number Diff line number Diff line
@@ -654,10 +654,13 @@ public class MediaRouter {
        final class Client extends IMediaRouterClient.Stub {
            @Override
            public void onStateChanged() {
                mHandler.post(() -> {
                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);
                    }
                });
            }
        }
    }

+0 −18
Original line number Diff line number Diff line
@@ -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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }