@@ -309,12 +309,7 @@ public void onReceive(Context context, Intent intent) {
309
309
private void stopWiredHeadsetEvent () {
310
310
if (wiredHeadsetReceiver != null ) {
311
311
Log .d (TAG , "stopWiredHeadsetEvent()" );
312
- ReactContext reactContext = getReactApplicationContext ();
313
- if (reactContext != null ) {
314
- reactContext .unregisterReceiver (wiredHeadsetReceiver );
315
- } else {
316
- Log .d (TAG , "stopWiredHeadsetEvent() reactContext is null" );
317
- }
312
+ this .unregisterReceiver (this .wiredHeadsetReceiver );
318
313
wiredHeadsetReceiver = null ;
319
314
}
320
315
}
@@ -344,12 +339,7 @@ public void onReceive(Context context, Intent intent) {
344
339
private void stopNoisyAudioEvent () {
345
340
if (noisyAudioReceiver != null ) {
346
341
Log .d (TAG , "stopNoisyAudioEvent()" );
347
- ReactContext reactContext = getReactApplicationContext ();
348
- if (reactContext != null ) {
349
- reactContext .unregisterReceiver (noisyAudioReceiver );
350
- } else {
351
- Log .d (TAG , "stopNoisyAudioEvent() reactContext is null" );
352
- }
342
+ this .unregisterReceiver (this .noisyAudioReceiver );
353
343
noisyAudioReceiver = null ;
354
344
}
355
345
}
@@ -416,12 +406,7 @@ public void onReceive(Context context, Intent intent) {
416
406
private void stopMediaButtonEvent () {
417
407
if (mediaButtonReceiver != null ) {
418
408
Log .d (TAG , "stopMediaButtonEvent()" );
419
- ReactContext reactContext = getReactApplicationContext ();
420
- if (reactContext != null ) {
421
- reactContext .unregisterReceiver (mediaButtonReceiver );
422
- } else {
423
- Log .d (TAG , "stopMediaButtonEvent() reactContext is null" );
424
- }
409
+ this .unregisterReceiver (this .mediaButtonReceiver );
425
410
mediaButtonReceiver = null ;
426
411
}
427
412
}
@@ -1681,8 +1666,17 @@ private void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
1681
1666
}
1682
1667
1683
1668
/** Helper method for unregistration of an existing receiver. */
1684
- private void unregisterReceiver (BroadcastReceiver receiver ) {
1685
- getReactApplicationContext ().unregisterReceiver (receiver );
1669
+ private void unregisterReceiver (final BroadcastReceiver receiver ) {
1670
+ final ReactContext reactContext = this .getReactApplicationContext ();
1671
+ if (reactContext != null ) {
1672
+ try {
1673
+ reactContext .unregisterReceiver (receiver );
1674
+ } catch (final Exception e ) {
1675
+ Log .d (TAG , "unregisterReceiver() failed" );
1676
+ }
1677
+ } else {
1678
+ Log .d (TAG , "unregisterReceiver() reactContext is null" );
1679
+ }
1686
1680
}
1687
1681
1688
1682
/** Sets the speaker phone mode. */
0 commit comments