react-native-tone-framework
Version:
TONE Telegenics is a TONE-Enabled content sharing and streaming platform for businesses to exchange marketing and mobile engagement concepts
116 lines (115 loc) • 3.45 kB
JavaScript
;
import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
import { locationPermission, microphonePermission, notificationPermission } from './permissions';
const LINKING_ERROR = `The package 'react-native-tone-framework' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
const ToneFrameworkModule = NativeModules.ToneFrameworkModule ? NativeModules.ToneFrameworkModule : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
const eventEmitter = new NativeEventEmitter(ToneFrameworkModule);
if (!ToneFrameworkModule) {
throw new Error(LINKING_ERROR);
}
export function initFramework(apiKey) {
ToneFrameworkModule.initFramework(apiKey);
}
export async function requestPermission() {
await locationPermission();
await microphonePermission();
await notificationPermission();
}
export function setClientID(clientID) {
ToneFrameworkModule.setClientID(clientID);
}
export function onToneDetected(response) {
ToneFrameworkModule.onToneDetected(response);
}
export function start() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.start();
} else {
ToneFrameworkModule.start();
}
}
export function stop() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.stop();
} else {
ToneFrameworkModule.stop();
}
}
export function restart() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.restart();
} else {
ToneFrameworkModule.restart();
}
}
export function enableOfflineMode() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.enableOfflineMode();
} else {
ToneFrameworkModule.enableOfflineMode();
}
}
export function disableOfflineMode() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.disableOfflineMode();
} else {
ToneFrameworkModule.disableOfflineMode();
}
}
export function downloadOfflineData() {
ToneFrameworkModule.downloadOfflineData();
}
export function deleteOfflineData() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.deleteOfflineData();
} else {
ToneFrameworkModule.deleteOfflineData();
}
}
export function startReceiver() {
if (Platform.OS === 'android') {
ToneFrameworkModule.startReceiver();
}
}
export function stopReceiver() {
if (Platform.OS === 'android') {
ToneFrameworkModule.stopReceiver();
}
}
export function enableAppleExclusivePermission() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.enableWifiDetection();
ToneFrameworkModule.enableBluetoothDetection();
ToneFrameworkModule.enableCarrierDetection();
}
}
export function disableAppleExclusivePermission() {
if (Platform.OS === 'ios') {
ToneFrameworkModule.disableWifiDetection();
ToneFrameworkModule.disableBluetoothDetection();
ToneFrameworkModule.disableCarrierDetection();
}
}
export function setEnableToneTagSheet(isEnable) {
if (Platform.OS === 'ios') {
ToneFrameworkModule.setEnableToneTagSheet(isEnable);
}
}
export const onToneReceived = callback => {
return eventEmitter.addListener('onToneReceived', callback);
};
export const onToneTag = callback => {
return eventEmitter.addListener('onToneTag', callback);
};
export function removeListeners() {
eventEmitter.removeAllListeners('onToneReceived');
eventEmitter.removeAllListeners('onToneTag');
}
//# sourceMappingURL=index.js.map