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

Commit 8f6da3e8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Dual ring-tone played on AAOS" am: 1d775986

parents df9aa34d 1d775986
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -245,6 +245,7 @@ public class HeadsetClientStateMachine extends StateMachine {
        ProfileService.println(sb, "  mAudioRouteAllowed: " + mAudioRouteAllowed);
        ProfileService.println(sb, "  mAudioRouteAllowed: " + mAudioRouteAllowed);
        ProfileService.println(sb, "  mAudioPolicyRemoteSupported: " + mAudioPolicyRemoteSupported);
        ProfileService.println(sb, "  mAudioPolicyRemoteSupported: " + mAudioPolicyRemoteSupported);
        ProfileService.println(sb, "  mHsClientAudioPolicy: " + mHsClientAudioPolicy);
        ProfileService.println(sb, "  mHsClientAudioPolicy: " + mHsClientAudioPolicy);
        ProfileService.println(sb, "  mInBandRing: " + mInBandRing);


        ProfileService.println(sb, "  mCalls:");
        ProfileService.println(sb, "  mCalls:");
        if (mCalls != null) {
        if (mCalls != null) {
@@ -1186,6 +1187,7 @@ public class HeadsetClientStateMachine extends StateMachine {
                        case StackEvent.EVENT_TYPE_CLIP:
                        case StackEvent.EVENT_TYPE_CLIP:
                        case StackEvent.EVENT_TYPE_CALL_WAITING:
                        case StackEvent.EVENT_TYPE_CALL_WAITING:
                        case StackEvent.EVENT_TYPE_VOLUME_CHANGED:
                        case StackEvent.EVENT_TYPE_VOLUME_CHANGED:
                        case StackEvent.EVENT_TYPE_IN_BAND_RINGTONE:
                            deferMessage(message);
                            deferMessage(message);
                            break;
                            break;
                        case StackEvent.EVENT_TYPE_CMD_RESULT:
                        case StackEvent.EVENT_TYPE_CMD_RESULT:
+1 −1
Original line number Original line Diff line number Diff line
@@ -35,7 +35,7 @@ import java.util.Objects;
 */
 */
public class NativeInterface {
public class NativeInterface {
    private static final String TAG = "NativeInterface";
    private static final String TAG = "NativeInterface";
    private static final boolean DBG = false;
    private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
    private AdapterService mAdapterService;
    private AdapterService mAdapterService;


    static {
    static {
+4 −0
Original line number Original line Diff line number Diff line
@@ -90,6 +90,8 @@ public class StackEvent {
                return "EVENT_TYPE_CONNECTION_STATE_CHANGED";
                return "EVENT_TYPE_CONNECTION_STATE_CHANGED";
            case EVENT_TYPE_AUDIO_STATE_CHANGED:
            case EVENT_TYPE_AUDIO_STATE_CHANGED:
                return "EVENT_TYPE_AUDIO_STATE_CHANGED";
                return "EVENT_TYPE_AUDIO_STATE_CHANGED";
            case EVENT_TYPE_VR_STATE_CHANGED:
                return "EVENT_TYPE_VR_STATE_CHANGED";
            case EVENT_TYPE_NETWORK_STATE:
            case EVENT_TYPE_NETWORK_STATE:
                return "EVENT_TYPE_NETWORK_STATE";
                return "EVENT_TYPE_NETWORK_STATE";
            case EVENT_TYPE_ROAMING_STATE:
            case EVENT_TYPE_ROAMING_STATE:
@@ -122,6 +124,8 @@ public class StackEvent {
                return "EVENT_TYPE_RESP_AND_HOLD";
                return "EVENT_TYPE_RESP_AND_HOLD";
            case EVENT_TYPE_RING_INDICATION:
            case EVENT_TYPE_RING_INDICATION:
                return "EVENT_TYPE_RING_INDICATION";
                return "EVENT_TYPE_RING_INDICATION";
            case EVENT_TYPE_IN_BAND_RINGTONE:
                return "EVENT_TYPE_IN_BAND_RINGTONE";
            default:
            default:
                return "EVENT_TYPE_UNKNOWN:" + type;
                return "EVENT_TYPE_UNKNOWN:" + type;
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -29,7 +29,7 @@ import java.util.UUID;


public class HfpClientConnection extends Connection {
public class HfpClientConnection extends Connection {
    private static final String TAG = "HfpClientConnection";
    private static final String TAG = "HfpClientConnection";
    private static final boolean DBG = false;
    private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);


    private static final String EVENT_SCO_CONNECT = "com.android.bluetooth.hfpclient.SCO_CONNECT";
    private static final String EVENT_SCO_CONNECT = "com.android.bluetooth.hfpclient.SCO_CONNECT";
    private static final String EVENT_SCO_DISCONNECT =
    private static final String EVENT_SCO_DISCONNECT =
+22 −0
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import static com.android.bluetooth.hfpclient.HeadsetClientStateMachine.EXPLICIT
import static com.android.bluetooth.hfpclient.HeadsetClientStateMachine.VOICE_RECOGNITION_START;
import static com.android.bluetooth.hfpclient.HeadsetClientStateMachine.VOICE_RECOGNITION_START;
import static com.android.bluetooth.hfpclient.HeadsetClientStateMachine.VOICE_RECOGNITION_STOP;
import static com.android.bluetooth.hfpclient.HeadsetClientStateMachine.VOICE_RECOGNITION_STOP;


import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.*;
import static org.mockito.Mockito.*;


import android.app.BroadcastOptions;
import android.app.BroadcastOptions;
@@ -1193,6 +1194,8 @@ public class HeadsetClientStateMachineTest {
    public void testProcessConnectMessage_onConnectingState() {
    public void testProcessConnectMessage_onConnectingState() {
        initToConnectingState();
        initToConnectingState();
        mHeadsetClientStateMachine.sendMessage(HeadsetClientStateMachine.CONNECT);
        mHeadsetClientStateMachine.sendMessage(HeadsetClientStateMachine.CONNECT);
        assertThat(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                HeadsetClientStateMachine.CONNECT)).isFalse();
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        Assert.assertTrue(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
        Assert.assertTrue(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                HeadsetClientStateMachine.CONNECT));
                HeadsetClientStateMachine.CONNECT));
@@ -1240,6 +1243,8 @@ public class HeadsetClientStateMachineTest {
        StackEvent event = new StackEvent(StackEvent.EVENT_TYPE_CALL);
        StackEvent event = new StackEvent(StackEvent.EVENT_TYPE_CALL);
        event.valueInt = StackEvent.EVENT_TYPE_CALL;
        event.valueInt = StackEvent.EVENT_TYPE_CALL;
        event.device = mTestDevice;
        event.device = mTestDevice;
        assertThat(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                StackEvent.STACK_EVENT)).isFalse();
        mHeadsetClientStateMachine.sendMessage(
        mHeadsetClientStateMachine.sendMessage(
                mHeadsetClientStateMachine.obtainMessage(StackEvent.STACK_EVENT, event));
                mHeadsetClientStateMachine.obtainMessage(StackEvent.STACK_EVENT, event));
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
@@ -1284,6 +1289,21 @@ public class HeadsetClientStateMachineTest {
        verify(mHeadsetService).updateInbandRinging(eq(mTestDevice), eq(false));
        verify(mHeadsetService).updateInbandRinging(eq(mTestDevice), eq(false));
    }
    }


    @Test
    public void testProcessStackEvent_inBandRingTone_onConnectingState() {
        initToConnectingState();
        StackEvent event = new StackEvent(StackEvent.EVENT_TYPE_IN_BAND_RINGTONE);
        event.valueInt = StackEvent.EVENT_TYPE_IN_BAND_RINGTONE;
        event.device = mTestDevice;
        assertThat(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                StackEvent.STACK_EVENT)).isFalse();
        mHeadsetClientStateMachine.sendMessage(
                mHeadsetClientStateMachine.obtainMessage(StackEvent.STACK_EVENT, event));
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        assertThat(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                StackEvent.STACK_EVENT)).isTrue();
    }

    @Test
    @Test
    public void testProcessConnectMessage_onConnectedState() {
    public void testProcessConnectMessage_onConnectedState() {
        initToConnectedState();
        initToConnectedState();
@@ -1328,6 +1348,8 @@ public class HeadsetClientStateMachineTest {
    @Test
    @Test
    public void testProcessDisconnectMessage_onAudioOnState() {
    public void testProcessDisconnectMessage_onAudioOnState() {
        initToAudioOnState();
        initToAudioOnState();
        assertThat(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
                HeadsetClientStateMachine.DISCONNECT)).isFalse();
        mHeadsetClientStateMachine.sendMessage(HeadsetClientStateMachine.DISCONNECT, mTestDevice);
        mHeadsetClientStateMachine.sendMessage(HeadsetClientStateMachine.DISCONNECT, mTestDevice);
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        TestUtils.waitForLooperToFinishScheduledTask(mHandlerThread.getLooper());
        Assert.assertTrue(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
        Assert.assertTrue(mHeadsetClientStateMachine.doesSuperHaveDeferredMessages(
Loading