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

Commit 08868b25 authored by Zach Johnson's avatar Zach Johnson
Browse files

Simplify scan mode handling

Update AdapterServiceTest to reference the binder,
now visible for testing.

Bug: 145171640
Test: compile, run
Change-Id: I7db26b74767fb96eccf69f2acb6e4b6642ba1c03
parent 8fe156a7
Loading
Loading
Loading
Loading
+5 −14
Original line number Diff line number Diff line
@@ -1033,7 +1033,8 @@ public class AdapterService extends Service {
     * why an inner instance class should be avoided.
     *
     */
    private static class AdapterServiceBinder extends IBluetooth.Stub {
    @VisibleForTesting
    public static class AdapterServiceBinder extends IBluetooth.Stub {
        private AdapterService mService;

        AdapterServiceBinder(AdapterService svc) {
@@ -1258,7 +1259,7 @@ public class AdapterService extends Service {

            enforceBluetoothPermission(service);

            return service.getScanMode();
            return service.mAdapterProperties.getScanMode();
        }

        @Override
@@ -1270,7 +1271,8 @@ public class AdapterService extends Service {

            enforceBluetoothPermission(service);

            return service.setScanMode(mode, duration);
            service.mAdapterProperties.setDiscoverableTimeout(duration);
            return service.mAdapterProperties.setScanMode(convertScanModeToHal(mode));
        }

        @Override
@@ -1941,17 +1943,6 @@ public class AdapterService extends Service {
        return true;
    }

    int getScanMode() {
        return mAdapterProperties.getScanMode();
    }

    boolean setScanMode(int mode, int duration) {
        setDiscoverableTimeout(duration);

        int newMode = convertScanModeToHal(mode);
        return mAdapterProperties.setScanMode(newMode);
    }

    int getDiscoverableTimeout() {
        return mAdapterProperties.getDiscoverableTimeout();
    }
+3 −1
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ public class AdapterServiceTest {
    private static final String TAG = AdapterServiceTest.class.getSimpleName();

    private AdapterService mAdapterService;
    private AdapterService.AdapterServiceBinder mServiceBinder;

    private @Mock Context mMockContext;
    private @Mock ApplicationInfo mMockApplicationInfo;
@@ -119,6 +120,7 @@ public class AdapterServiceTest {

        InstrumentationRegistry.getInstrumentation().runOnMainSync(
                () -> mAdapterService = new AdapterService());
        mServiceBinder = new AdapterService.AdapterServiceBinder(mAdapterService);
        mMockPackageManager = mock(PackageManager.class);
        mMockContentResolver = new MockContentResolver(mMockContext);
        MockitoAnnotations.initMocks(this);
@@ -220,7 +222,7 @@ public class AdapterServiceTest {

        verify(mMockContext, timeout(CONTEXT_SWITCH_MS).times(2 * invocationNumber + 2))
                .sendBroadcast(any(), eq(android.Manifest.permission.BLUETOOTH));
        final int scanMode = mAdapterService.getScanMode();
        final int scanMode = mServiceBinder.getScanMode();
        Assert.assertTrue(scanMode == BluetoothAdapter.SCAN_MODE_CONNECTABLE
                || scanMode == BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
        Assert.assertTrue(mAdapterService.getState() == BluetoothAdapter.STATE_ON);