Skip to content

Commit dd6a4f7

Browse files
masaorizxcpoiu
authored andcommitted
Added getIsWiredHeadsetPluggedIn to bridge methods (#42)
* Added native method so can know initial state of isWiredHeadsetPluggedIn * Changed Impelementation to async style and restrict only ios
1 parent 7e41276 commit dd6a4f7

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ class InCallManager {
4545
_InCallManager.turnScreenOn();
4646
}
4747

48+
async getIsWiredHeadsetPluggedIn() {
49+
if (Platform.OS === 'ios') {
50+
return await _InCallManager.getIsWiredHeadsetPluggedIn();
51+
} else {
52+
console.log("Android doesn't support getIsWiredHeadsetPluggedIn() yet.");
53+
return null;
54+
}
55+
}
56+
4857
setFlashOn(enable, brightness) {
4958
if (Platform.OS === 'ios') {
5059
enable = (enable === true) ? true : false;

ios/RNInCallManager/RNInCallManager.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,13 @@ class RNInCallManager: NSObject, AVAudioPlayerDelegate {
212212
return false
213213
}
214214

215+
@objc func getIsWiredHeadsetPluggedIn(_ resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) -> Void {
216+
let isWiredHeadsetPluggedIn = self.isWiredHeadsetPluggedIn()
217+
resolve([
218+
["isWiredHeadsetPluggedIn": isWiredHeadsetPluggedIn]
219+
])
220+
}
221+
215222
func isWiredHeadsetPluggedIn() -> Bool {
216223
// --- only check for a audio device plugged into headset port instead bluetooth/usb/hdmi
217224
return self.checkAudioRoute([AVAudioSessionPortHeadphones], "output") || self.checkAudioRoute([AVAudioSessionPortHeadsetMic], "input")

ios/RNInCallManager/RNInCallManagerBridge.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ @interface RCT_EXTERN_REMAP_MODULE(InCallManager, RNInCallManager, NSObject)
2626
RCT_EXTERN_METHOD(checkCameraPermission:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
2727
RCT_EXTERN_METHOD(requestCameraPermission:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
2828
RCT_EXTERN_METHOD(getAudioUriJS:(NSString *)audioType fileType:(NSString *)fileType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
29-
29+
RCT_EXTERN_METHOD(getIsWiredHeadsetPluggedIn:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
3030
@end

0 commit comments

Comments
 (0)