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

Commit 126554b6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes Ia6ceee3b,I975c4813,I4d827a20 into main am: 04bf1b9b am: 277731bb

parents 49360fe8 277731bb
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -1378,18 +1378,19 @@ public class A2dpService extends ProfileService {

        @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
        private A2dpService getService(AttributionSource source) {
            // Cache mService because it can change while getService is called
            A2dpService service = mService;

            if (Utils.isInstrumentationTestMode()) {
                return mService;
                return service;
            }
            A2dpService currService = mService;

            if (currService == null
                    || !Utils.checkServiceAvailable(currService, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(currService, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(currService, source, TAG)) {
            if (!Utils.checkServiceAvailable(service, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(service, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) {
                return null;
            }
            return currService;
            return service;
        }

        BluetoothA2dpBinder(A2dpService svc) {
+18 −13
Original line number Diff line number Diff line
@@ -195,19 +195,6 @@ public class A2dpSinkService extends ProfileService {
            implements IProfileServiceBinder {
        private A2dpSinkService mService;

        @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
        private A2dpSinkService getService(AttributionSource source) {
            if (Utils.isInstrumentationTestMode()) {
                return mService;
            }
            if (!Utils.checkServiceAvailable(mService, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(mService, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(mService, source, TAG)) {
                return null;
            }
            return mService;
        }

        A2dpSinkServiceBinder(A2dpSinkService svc) {
            mService = svc;
        }
@@ -217,6 +204,24 @@ public class A2dpSinkService extends ProfileService {
            mService = null;
        }

        @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
        private A2dpSinkService getService(AttributionSource source) {
            // Cache mService because it can change while getService is called
            A2dpSinkService service = mService;

            if (Utils.isInstrumentationTestMode()) {
                return service;
            }

            if (!Utils.checkServiceAvailable(service, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(service, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) {
                return null;
            }

            return service;
        }

        @Override
        public boolean connect(BluetoothDevice device, AttributionSource source) {
            A2dpSinkService service = getService(source);
+18 −13
Original line number Diff line number Diff line
@@ -371,19 +371,6 @@ public class AvrcpControllerService extends ProfileService {
            implements IProfileServiceBinder {
        private AvrcpControllerService mService;

        @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
        private AvrcpControllerService getService(AttributionSource source) {
            if (Utils.isInstrumentationTestMode()) {
                return mService;
            }
            if (!Utils.checkServiceAvailable(mService, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(mService, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(mService, source, TAG)) {
                return null;
            }
            return mService;
        }

        AvrcpControllerServiceBinder(AvrcpControllerService service) {
            mService = service;
        }
@@ -393,6 +380,24 @@ public class AvrcpControllerService extends ProfileService {
            mService = null;
        }

        @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
        private AvrcpControllerService getService(AttributionSource source) {
            // Cache mService because it can change while getService is called
            AvrcpControllerService service = mService;

            if (Utils.isInstrumentationTestMode()) {
                return service;
            }

            if (!Utils.checkServiceAvailable(service, TAG)
                    || !Utils.checkCallerIsSystemOrActiveOrManagedUser(service, TAG)
                    || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) {
                return null;
            }

            return service;
        }

        @Override
        public List<BluetoothDevice> getConnectedDevices(AttributionSource source) {
            AvrcpControllerService service = getService(source);
+49 −55
Original line number Diff line number Diff line
@@ -983,12 +983,7 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac

    private boolean setLeAudioActiveDevice(
            @Nullable BluetoothDevice device, boolean hasFallbackDevice) {
        Log.d(
                TAG,
                "setLeAudioActiveDevice("
                        + device
                        + ")"
                        + (device == null ? " hasFallbackDevice=" + hasFallbackDevice : ""));
        Log.d(TAG, "setLeAudioActiveDevice(" + device + ", " + hasFallbackDevice + ")");
        synchronized (mLock) {
            final LeAudioService leAudioService = mFactory.getLeAudioService();
            if (leAudioService == null) {
@@ -1114,7 +1109,10 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac
                }
        }
        BluetoothDevice device = mDbManager.getMostRecentlyConnectedDevicesInList(connectedDevices);
        if (device != null) {
        if (device == null) {
            Log.d(TAG, "No fallback devices are found");
            return false;
        }
        if (mAudioManager.getMode() == AudioManager.MODE_NORMAL) {
            if (Objects.equals(a2dpFallbackDevice, device)) {
                Log.d(TAG, "Found an A2DP fallback device: " + device);
@@ -1168,10 +1166,6 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac
        return true;
    }

        Log.d(TAG, "No fallback devices are found");
        return false;
    }

    private void resetState() {
        synchronized (mLock) {
            mA2dpConnectedDevices.clear();
+6 −3
Original line number Diff line number Diff line
@@ -2305,11 +2305,14 @@ public class AdapterService extends Service {
        }

        public AdapterService getService() {
            if (mService != null && mService.isAvailable()) {
                return mService;
            }
            // Cache mService because it can change while getService is called
            AdapterService service = mService;

            if (service == null || !service.isAvailable()) {
                return null;
            }
            return service;
        }

        @Override
        public int getState() {
Loading