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

Commit d1aa1863 authored by jasonwshsu's avatar jasonwshsu
Browse files

Add missing callback for onServiceDisconnected()

* Add in A2dpProfile and HearingAidProfile. They have callServiceConnectedListeners() but did not have disconnect part.

Bug: 243489972
Test: atest HearingAidProfile A2dpProfile
Change-Id: Ia3d0a44ff065cafc9fed70c2648ac69d9de0e5b7
parent 552e7782
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ public class A2dpProfile implements LocalBluetoothProfile {

        public void onServiceDisconnected(int profile) {
            mIsProfileReady = false;
            mProfileManager.callServiceDisconnectedListeners();
        }
    }

+3 −2
Original line number Diff line number Diff line
@@ -119,6 +119,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {

        public void onServiceDisconnected(int profile) {
            mIsProfileReady = false;
            mProfileManager.callServiceDisconnectedListeners();
        }
    }

+16 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.bluetooth.BluetoothA2dp;
@@ -78,6 +79,21 @@ public class A2dpProfileTest {
                .thenReturn(Arrays.asList(mDevice));
    }


    @Test
    public void onServiceConnected_isProfileReady() {
        assertThat(mProfile.isProfileReady()).isTrue();
        verify(mProfileManager).callServiceConnectedListeners();
    }

    @Test
    public void onServiceDisconnected_profileNotReady() {
        mServiceListener.onServiceDisconnected(BluetoothProfile.A2DP);

        assertThat(mProfile.isProfileReady()).isFalse();
        verify(mProfileManager).callServiceDisconnectedListeners();
    }

    @Test
    public void supportsHighQualityAudio() {
        when(mBluetoothA2dp.isOptionalCodecsSupported(mDevice)).thenReturn(
+17 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settingslib.bluetooth;
import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.bluetooth.BluetoothAdapter;
@@ -66,7 +67,6 @@ public class HearingAidProfileTest {

        mProfile = new HearingAidProfile(context, mDeviceManager, mProfileManager);
        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
        mServiceListener.onServiceConnected(BluetoothProfile.HEADSET, mService);
    }

    @Test
@@ -74,4 +74,20 @@ public class HearingAidProfileTest {
        assertThat(mProfile.setActiveDevice(null)).isTrue();
        assertThat(mProfile.setActiveDevice(mBluetoothDevice)).isTrue();
    }

    @Test
    public void onServiceConnected_isProfileReady() {
        mServiceListener.onServiceConnected(BluetoothProfile.HEARING_AID, mService);

        assertThat(mProfile.isProfileReady()).isTrue();
        verify(mProfileManager).callServiceConnectedListeners();
    }

    @Test
    public void onServiceDisconnected_profileNotReady() {
        mServiceListener.onServiceDisconnected(BluetoothProfile.HEARING_AID);

        assertThat(mProfile.isProfileReady()).isFalse();
        verify(mProfileManager).callServiceDisconnectedListeners();
    }
}