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

Commit aaf786fd authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Restore Parameters after audio server restart

Bug: 141724113
Test: kill audioserver during phone call
Change-Id: I9b452a69ac711499b8a465b81225a3080a24e726
(cherry picked from commit 0b161e22)
parent 7ca921cc
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -1198,6 +1198,21 @@ public class HeadsetStateMachine extends StateMachine {
        }
    }

    class MyAudioServerStateCallback extends AudioManager.AudioServerStateCallback {
        @Override
        public void onAudioServerDown() {
            logi("onAudioServerDown");
        }

        @Override
        public void onAudioServerUp() {
            logi("onAudioServerUp restoring audio parameters");
            setAudioParameters();
        }
    }

    MyAudioServerStateCallback mAudioServerStateCallback = new MyAudioServerStateCallback();

    class AudioOn extends ConnectedBase {
        @Override
        int getAudioStateInt() {
@@ -1216,9 +1231,20 @@ public class HeadsetStateMachine extends StateMachine {
                mHeadsetService.setActiveDevice(mDevice);
            }
            setAudioParameters();

            mSystemInterface.getAudioManager().setAudioServerStateCallback(
                    mHeadsetService.getMainExecutor(), mAudioServerStateCallback);

            broadcastStateTransitions();
        }

        @Override
        public void exit() {
            super.exit();

            mSystemInterface.getAudioManager().clearAudioServerStateCallback();
        }

        @Override
        public boolean processMessage(Message message) {
            switch (message.what) {