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

Commit dd4b1f87 authored by Archie Pusaka's avatar Archie Pusaka Committed by Gerrit Code Review
Browse files

Merge "Cache the current HidDeviceService to avoid crashes" into main

parents cad0aa3f 616f54d9
Loading
Loading
Loading
Loading
+8 −13
Original line number Diff line number Diff line
@@ -303,14 +303,6 @@ public class HidDeviceService extends ProfileService {
            mService = service;
        }

        @VisibleForTesting
        HidDeviceService getServiceForTesting() {
            if (mService != null && mService.isAvailable()) {
                return mService;
            }
            return null;
        }

        @Override
        public void cleanup() {
            mService = null;
@@ -318,15 +310,18 @@ public class HidDeviceService extends ProfileService {

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

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

        @Override
+0 −1
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ public class BluetoothHidDeviceBinderTest {
    @Test
    public void cleanup() {
        mBinder.cleanup();
        assertThat(mBinder.getServiceForTesting()).isNull();
    }

    @Test