65
65
66
66
import com .zxcpoiu .incallmanager .AppRTC .AppRTCBluetoothManager ;
67
67
68
- public class InCallManagerModule extends ReactContextBaseJavaModule implements LifecycleEventListener {
68
+ public class InCallManagerModule extends ReactContextBaseJavaModule implements LifecycleEventListener , AudioManager . OnAudioFocusChangeListener {
69
69
private static final String REACT_NATIVE_MODULE_NAME = "InCallManager" ;
70
70
private static final String TAG = REACT_NATIVE_MODULE_NAME ;
71
71
private String mPackageName = "com.zxcpoiu.incallmanager" ;
@@ -94,7 +94,6 @@ public class InCallManagerModule extends ReactContextBaseJavaModule implements L
94
94
private BroadcastReceiver wiredHeadsetReceiver ;
95
95
private BroadcastReceiver noisyAudioReceiver ;
96
96
private BroadcastReceiver mediaButtonReceiver ;
97
- private OnFocusChangeListener mOnFocusChangeListener ;
98
97
private AudioAttributes mAudioAttributes ;
99
98
private AudioFocusRequest mAudioFocusRequest ;
100
99
@@ -166,9 +165,6 @@ public enum AudioManagerState {
166
165
// avoid duplicate elements.
167
166
private Set <AudioDevice > audioDevices = new HashSet <>();
168
167
169
- // Callback method for changes in audio focus.
170
- private AudioManager .OnAudioFocusChangeListener audioFocusChangeListener ;
171
-
172
168
interface MyPlayerInterface {
173
169
public boolean isPlaying ();
174
170
public void startPlay (Map <String , Object > data );
@@ -194,7 +190,6 @@ public InCallManagerModule(ReactApplicationContext reactContext) {
194
190
audioUriMap .put ("bundleRingtoneUri" , bundleRingtoneUri );
195
191
audioUriMap .put ("bundleRingbackUri" , bundleRingbackUri );
196
192
audioUriMap .put ("bundleBusytoneUri" , bundleBusytoneUri );
197
- mOnFocusChangeListener = new OnFocusChangeListener ();
198
193
bluetoothManager = AppRTCBluetoothManager .create (reactContext , this );
199
194
proximityManager = InCallProximityManager .create (reactContext , this );
200
195
wakeLockUtils = new InCallWakeLockUtils (reactContext );
@@ -452,49 +447,46 @@ public void stopProximitySensor() {
452
447
isProximityRegistered = false ;
453
448
}
454
449
455
- private class OnFocusChangeListener implements AudioManager .OnAudioFocusChangeListener {
456
- // --- see: https://developer.android.com/reference/android/media/AudioManager
457
-
458
- @ Override
459
- public void onAudioFocusChange (final int focusChange ) {
460
- String focusChangeStr ;
461
- switch (focusChange ) {
462
- case AudioManager .AUDIOFOCUS_GAIN :
463
- focusChangeStr = "AUDIOFOCUS_GAIN" ;
464
- break ;
465
- case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT :
466
- focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT" ;
467
- break ;
468
- case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE :
469
- focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE" ;
470
- break ;
471
- case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK :
472
- focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" ;
473
- break ;
474
- case AudioManager .AUDIOFOCUS_LOSS :
475
- focusChangeStr = "AUDIOFOCUS_LOSS" ;
476
- break ;
477
- case AudioManager .AUDIOFOCUS_LOSS_TRANSIENT :
478
- focusChangeStr = "AUDIOFOCUS_LOSS_TRANSIENT" ;
479
- break ;
480
- case AudioManager .AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK :
481
- focusChangeStr = "AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" ;
482
- break ;
483
- case AudioManager .AUDIOFOCUS_NONE :
484
- focusChangeStr = "AUDIOFOCUS_NONE" ;
485
- break ;
486
- default :
487
- focusChangeStr = "AUDIOFOCUS_UNKNOW" ;
488
- break ;
489
- }
450
+ // --- see: https://developer.android.com/reference/android/media/AudioManager
451
+ @ Override
452
+ public void onAudioFocusChange (int focusChange ) {
453
+ String focusChangeStr ;
454
+ switch (focusChange ) {
455
+ case AudioManager .AUDIOFOCUS_GAIN :
456
+ focusChangeStr = "AUDIOFOCUS_GAIN" ;
457
+ break ;
458
+ case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT :
459
+ focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT" ;
460
+ break ;
461
+ case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE :
462
+ focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE" ;
463
+ break ;
464
+ case AudioManager .AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK :
465
+ focusChangeStr = "AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" ;
466
+ break ;
467
+ case AudioManager .AUDIOFOCUS_LOSS :
468
+ focusChangeStr = "AUDIOFOCUS_LOSS" ;
469
+ break ;
470
+ case AudioManager .AUDIOFOCUS_LOSS_TRANSIENT :
471
+ focusChangeStr = "AUDIOFOCUS_LOSS_TRANSIENT" ;
472
+ break ;
473
+ case AudioManager .AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK :
474
+ focusChangeStr = "AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" ;
475
+ break ;
476
+ case AudioManager .AUDIOFOCUS_NONE :
477
+ focusChangeStr = "AUDIOFOCUS_NONE" ;
478
+ break ;
479
+ default :
480
+ focusChangeStr = "AUDIOFOCUS_UNKNOW" ;
481
+ break ;
482
+ }
490
483
491
- Log .d (TAG , "onAudioFocusChange: " + focusChange + " - " + focusChangeStr );
484
+ Log .d (TAG , "onAudioFocusChange() : " + focusChange + " - " + focusChangeStr );
492
485
493
- WritableMap data = Arguments .createMap ();
494
- data .putString ("eventText" , focusChangeStr );
495
- data .putInt ("eventCode" , focusChange );
496
- sendEvent ("onAudioFocusChange" , data );
497
- }
486
+ WritableMap data = Arguments .createMap ();
487
+ data .putString ("eventText" , focusChangeStr );
488
+ data .putInt ("eventCode" , focusChange );
489
+ sendEvent ("onAudioFocusChange" , data );
498
490
}
499
491
500
492
/*
@@ -669,7 +661,7 @@ private String requestAudioFocusV26() {
669
661
.setAudioAttributes (mAudioAttributes )
670
662
.setAcceptsDelayedFocusGain (false )
671
663
.setWillPauseWhenDucked (false )
672
- .setOnAudioFocusChangeListener (mOnFocusChangeListener )
664
+ .setOnAudioFocusChangeListener (this )
673
665
.build ();
674
666
}
675
667
@@ -700,7 +692,7 @@ private String requestAudioFocusOld() {
700
692
return "" ;
701
693
}
702
694
703
- int requestAudioFocusRes = audioManager .requestAudioFocus (mOnFocusChangeListener , AudioManager .STREAM_VOICE_CALL , AudioManager .AUDIOFOCUS_GAIN_TRANSIENT );
695
+ int requestAudioFocusRes = audioManager .requestAudioFocus (this , AudioManager .STREAM_VOICE_CALL , AudioManager .AUDIOFOCUS_GAIN_TRANSIENT );
704
696
705
697
String requestAudioFocusResStr ;
706
698
switch (requestAudioFocusRes ) {
@@ -760,7 +752,7 @@ private String abandonAudioFocusOld() {
760
752
return "" ;
761
753
}
762
754
763
- int abandonAudioFocusRes = audioManager .abandonAudioFocus (null );
755
+ int abandonAudioFocusRes = audioManager .abandonAudioFocus (this );
764
756
765
757
String abandonAudioFocusResStr ;
766
758
switch (abandonAudioFocusRes ) {
0 commit comments