@@ -639,17 +639,22 @@ private void stopEvents() {
639639 turnScreenOn ();
640640 }
641641
642- private void requestAudioFocus () {
643- if (android .os .Build .VERSION .SDK_INT >= 26 ) {
644- requestAudioFocusV26 ();
645- } else {
646- requestAudioFocusOld ();
647- }
642+ @ ReactMethod
643+ public void requestAudioFocusJS (Promise promise ) {
644+ promise .resolve (requestAudioFocus ());
645+ }
646+
647+ private String requestAudioFocus () {
648+ String requestAudioFocusResStr = (android .os .Build .VERSION .SDK_INT >= 26 )
649+ ? requestAudioFocusV26 ()
650+ : requestAudioFocusOld ();
651+ Log .d (TAG , "requestAudioFocus(): res = " + requestAudioFocusResStr );
652+ return requestAudioFocusResStr ;
648653 }
649654
650- private void requestAudioFocusV26 () {
655+ private String requestAudioFocusV26 () {
651656 if (isAudioFocused ) {
652- return ;
657+ return "" ;
653658 }
654659
655660 if (mAudioAttributes == null ) {
@@ -687,12 +692,12 @@ private void requestAudioFocusV26() {
687692 break ;
688693 }
689694
690- Log . d ( TAG , "requestAudioFocus(): res = " + requestAudioFocusRes + " - " + requestAudioFocusResStr ) ;
695+ return requestAudioFocusResStr ;
691696 }
692697
693- private void requestAudioFocusOld () {
698+ private String requestAudioFocusOld () {
694699 if (isAudioFocused ) {
695- return ;
700+ return "" ;
696701 }
697702
698703 int requestAudioFocusRes = audioManager .requestAudioFocus (mOnFocusChangeListener , AudioManager .STREAM_VOICE_CALL , AudioManager .AUDIOFOCUS_GAIN_TRANSIENT );
@@ -711,20 +716,25 @@ private void requestAudioFocusOld() {
711716 break ;
712717 }
713718
714- Log . d ( TAG , "requestAudioFocus(): res = " + requestAudioFocusRes + " - " + requestAudioFocusResStr ) ;
719+ return requestAudioFocusResStr ;
715720 }
716721
717- private void abandonAudioFocus () {
718- if (android .os .Build .VERSION .SDK_INT >= 26 ) {
719- abandonAudioFocusV26 ();
720- } else {
721- abandonAudioFocusOld ();
722- }
722+ @ ReactMethod
723+ public void abandonAudioFocusJS (Promise promise ) {
724+ promise .resolve (abandonAudioFocus ());
725+ }
726+
727+ private String abandonAudioFocus () {
728+ String abandonAudioFocusResStr = (android .os .Build .VERSION .SDK_INT >= 26 )
729+ ? abandonAudioFocusV26 ()
730+ : abandonAudioFocusOld ();
731+ Log .d (TAG , "abandonAudioFocus(): res = " + abandonAudioFocusResStr );
732+ return abandonAudioFocusResStr ;
723733 }
724734
725- private void abandonAudioFocusV26 () {
735+ private String abandonAudioFocusV26 () {
726736 if (!isAudioFocused || mAudioFocusRequest == null ) {
727- return ;
737+ return "" ;
728738 }
729739
730740 int abandonAudioFocusRes = audioManager .abandonAudioFocusRequest (mAudioFocusRequest );
@@ -741,12 +751,13 @@ private void abandonAudioFocusV26() {
741751 abandonAudioFocusResStr = "AUDIOFOCUS_REQUEST_UNKNOWN" ;
742752 break ;
743753 }
744- Log .d (TAG , "abandonAudioFocus(): res = " + abandonAudioFocusRes + " - " + abandonAudioFocusResStr );
754+
755+ return abandonAudioFocusResStr ;
745756 }
746757
747- private void abandonAudioFocusOld () {
758+ private String abandonAudioFocusOld () {
748759 if (!isAudioFocused ) {
749- return ;
760+ return "" ;
750761 }
751762
752763 int abandonAudioFocusRes = audioManager .abandonAudioFocus (null );
@@ -765,7 +776,7 @@ private void abandonAudioFocusOld() {
765776 break ;
766777 }
767778
768- Log . d ( TAG , "abandonAudioFocus(): res = " + abandonAudioFocusRes + " - " + abandonAudioFocusResStr ) ;
779+ return abandonAudioFocusResStr ;
769780 }
770781
771782 @ ReactMethod
0 commit comments