Merge branch 'develop' into fdroid-build
This commit is contained in:
commit
6109b12b28
|
@ -145,7 +145,7 @@ android {
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode VERSIONCODE as Integer
|
versionCode VERSIONCODE as Integer
|
||||||
versionName "4.8.0"
|
versionName "4.9.0"
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]
|
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]
|
||||||
missingDimensionStrategy "RNNotifications.reactNativeVersion", "reactNative60" // See note below!
|
missingDimensionStrategy "RNNotifications.reactNativeVersion", "reactNative60" // See note below!
|
||||||
|
|
|
@ -13,7 +13,8 @@ public class MainActivity extends ReactFragmentActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
// https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067
|
||||||
|
super.onCreate(null);
|
||||||
RNBootSplash.init(R.drawable.launch_screen, MainActivity.this);
|
RNBootSplash.init(R.drawable.launch_screen, MainActivity.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ const App = React.memo(({ root, isMasterDetail }) => {
|
||||||
const navTheme = navigationTheme(theme);
|
const navTheme = navigationTheme(theme);
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
const state = Navigation.navigationRef.current.getRootState();
|
const state = Navigation.navigationRef.current?.getRootState();
|
||||||
const currentRouteName = getActiveRouteName(state);
|
const currentRouteName = getActiveRouteName(state);
|
||||||
Navigation.routeNameRef.current = currentRouteName;
|
Navigation.routeNameRef.current = currentRouteName;
|
||||||
setCurrentScreen(currentRouteName);
|
setCurrentScreen(currentRouteName);
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import { isIOS, isAndroid } from '../utils/deviceInfo';
|
|
||||||
|
|
||||||
export const STATUS_COLORS = {
|
export const STATUS_COLORS = {
|
||||||
online: '#2de0a5',
|
online: '#2de0a5',
|
||||||
busy: '#f5455c',
|
busy: '#f5455c',
|
||||||
|
@ -8,7 +6,7 @@ export const STATUS_COLORS = {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SWITCH_TRACK_COLOR = {
|
export const SWITCH_TRACK_COLOR = {
|
||||||
false: isAndroid ? '#f5455c' : null,
|
false: '#f5455c',
|
||||||
true: '#2de0a5'
|
true: '#2de0a5'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,11 +32,11 @@ export const themes = {
|
||||||
separatorColor: '#cbcbcc',
|
separatorColor: '#cbcbcc',
|
||||||
navbarBackground: '#ffffff',
|
navbarBackground: '#ffffff',
|
||||||
headerBorder: '#B2B2B2',
|
headerBorder: '#B2B2B2',
|
||||||
headerBackground: isIOS ? '#f8f8f8' : '#2f343d',
|
headerBackground: '#EEEFF1',
|
||||||
headerSecondaryBackground: '#ffffff',
|
headerSecondaryBackground: '#ffffff',
|
||||||
headerTintColor: isAndroid ? '#ffffff' : '#1d74f5',
|
headerTintColor: '#6C727A',
|
||||||
headerTitleColor: isAndroid ? '#ffffff' : '#0d0e12',
|
headerTitleColor: '#0C0D0F',
|
||||||
headerSecondaryText: isAndroid ? '#9ca2a8' : '#1d74f5',
|
headerSecondaryText: '#1d74f5',
|
||||||
toastBackground: '#0C0D0F',
|
toastBackground: '#0C0D0F',
|
||||||
videoBackground: '#1f2329',
|
videoBackground: '#1f2329',
|
||||||
favoriteBackground: '#ffbb00',
|
favoriteBackground: '#ffbb00',
|
||||||
|
@ -63,7 +61,7 @@ export const themes = {
|
||||||
chatComponentBackground: '#192132',
|
chatComponentBackground: '#192132',
|
||||||
auxiliaryBackground: '#07101e',
|
auxiliaryBackground: '#07101e',
|
||||||
bannerBackground: '#0e1f38',
|
bannerBackground: '#0e1f38',
|
||||||
titleText: '#FFFFFF',
|
titleText: '#f9f9f9',
|
||||||
bodyText: '#e8ebed',
|
bodyText: '#e8ebed',
|
||||||
backdropColor: '#000000',
|
backdropColor: '#000000',
|
||||||
dangerColor: '#f5455c',
|
dangerColor: '#f5455c',
|
||||||
|
@ -80,9 +78,9 @@ export const themes = {
|
||||||
headerBorder: '#2F3A4B',
|
headerBorder: '#2F3A4B',
|
||||||
headerBackground: '#0b182c',
|
headerBackground: '#0b182c',
|
||||||
headerSecondaryBackground: '#0b182c',
|
headerSecondaryBackground: '#0b182c',
|
||||||
headerTintColor: isAndroid ? '#ffffff' : '#1d74f5',
|
headerTintColor: '#f9f9f9',
|
||||||
headerTitleColor: '#FFFFFF',
|
headerTitleColor: '#f9f9f9',
|
||||||
headerSecondaryText: isAndroid ? '#9297a2' : '#1d74f5',
|
headerSecondaryText: '#9297a2',
|
||||||
toastBackground: '#0C0D0F',
|
toastBackground: '#0C0D0F',
|
||||||
videoBackground: '#1f2329',
|
videoBackground: '#1f2329',
|
||||||
favoriteBackground: '#ffbb00',
|
favoriteBackground: '#ffbb00',
|
||||||
|
@ -124,9 +122,9 @@ export const themes = {
|
||||||
headerBorder: '#323232',
|
headerBorder: '#323232',
|
||||||
headerBackground: '#0d0d0d',
|
headerBackground: '#0d0d0d',
|
||||||
headerSecondaryBackground: '#0d0d0d',
|
headerSecondaryBackground: '#0d0d0d',
|
||||||
headerTintColor: isAndroid ? '#ffffff' : '#1e9bfe',
|
headerTintColor: '#f9f9f9',
|
||||||
headerTitleColor: '#f9f9f9',
|
headerTitleColor: '#f9f9f9',
|
||||||
headerSecondaryText: isAndroid ? '#b2b8c6' : '#1e9bfe',
|
headerSecondaryText: '#b2b8c6',
|
||||||
toastBackground: '#0C0D0F',
|
toastBackground: '#0C0D0F',
|
||||||
videoBackground: '#1f2329',
|
videoBackground: '#1f2329',
|
||||||
favoriteBackground: '#ffbb00',
|
favoriteBackground: '#ffbb00',
|
||||||
|
|
|
@ -17,7 +17,7 @@ const styles = StyleSheet.create({
|
||||||
export const DisclosureImage = React.memo(({ theme }) => (
|
export const DisclosureImage = React.memo(({ theme }) => (
|
||||||
<CustomIcon
|
<CustomIcon
|
||||||
name='chevron-right'
|
name='chevron-right'
|
||||||
color={themes[theme].auxiliaryTintColor}
|
color={themes[theme].auxiliaryText}
|
||||||
size={20}
|
size={20}
|
||||||
/>
|
/>
|
||||||
));
|
));
|
||||||
|
|
|
@ -20,6 +20,11 @@ export const getHeaderHeight = (isLandscape) => {
|
||||||
return 56;
|
return 56;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getHeaderTitlePosition = insets => ({
|
||||||
|
left: 60 + insets.left,
|
||||||
|
right: 80 + insets.right
|
||||||
|
});
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
container: {
|
container: {
|
||||||
height: headerHeight,
|
height: headerHeight,
|
||||||
|
|
|
@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
||||||
import { HeaderButtons, HeaderButton, Item } from 'react-navigation-header-buttons';
|
import { HeaderButtons, HeaderButton, Item } from 'react-navigation-header-buttons';
|
||||||
|
|
||||||
import { CustomIcon } from '../lib/Icons';
|
import { CustomIcon } from '../lib/Icons';
|
||||||
import { isIOS, isAndroid } from '../utils/deviceInfo';
|
import { isIOS } from '../utils/deviceInfo';
|
||||||
import { themes } from '../constants/colors';
|
import { themes } from '../constants/colors';
|
||||||
import I18n from '../i18n';
|
import I18n from '../i18n';
|
||||||
import { withTheme } from '../theme';
|
import { withTheme } from '../theme';
|
||||||
|
@ -15,11 +15,7 @@ const CustomHeaderButton = React.memo(withTheme(({ theme, ...props }) => (
|
||||||
{...props}
|
{...props}
|
||||||
IconComponent={CustomIcon}
|
IconComponent={CustomIcon}
|
||||||
iconSize={headerIconSize}
|
iconSize={headerIconSize}
|
||||||
color={
|
color={themes[theme].headerTintColor}
|
||||||
isAndroid
|
|
||||||
? themes[theme].headerTitleColor
|
|
||||||
: themes[theme].headerTintColor
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
)));
|
)));
|
||||||
|
|
||||||
|
@ -32,7 +28,7 @@ export const CustomHeaderButtons = React.memo(props => (
|
||||||
|
|
||||||
export const DrawerButton = React.memo(({ navigation, testID, ...otherProps }) => (
|
export const DrawerButton = React.memo(({ navigation, testID, ...otherProps }) => (
|
||||||
<CustomHeaderButtons left>
|
<CustomHeaderButtons left>
|
||||||
<Item title='drawer' iconName='customize' onPress={navigation.toggleDrawer} testID={testID} {...otherProps} />
|
<Item title='drawer' iconName='menu_hamburguer' onPress={navigation.toggleDrawer} testID={testID} {...otherProps} />
|
||||||
</CustomHeaderButtons>
|
</CustomHeaderButtons>
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ export const INAPP_NOTIFICATION_EMITTER = 'NotificationInApp';
|
||||||
const InAppNotification = memo(() => {
|
const InAppNotification = memo(() => {
|
||||||
const show = (notification) => {
|
const show = (notification) => {
|
||||||
const { payload } = notification;
|
const { payload } = notification;
|
||||||
const state = Navigation.navigationRef.current.getRootState();
|
const state = Navigation.navigationRef.current?.getRootState();
|
||||||
const route = getActiveRoute(state);
|
const route = getActiveRoute(state);
|
||||||
if (payload.rid) {
|
if (payload.rid) {
|
||||||
if (route?.name === 'RoomView' && route.params?.rid === payload.rid) {
|
if (route?.name === 'RoomView' && route.params?.rid === payload.rid) {
|
||||||
|
|
|
@ -333,7 +333,7 @@ const MessageActions = React.memo(forwardRef(({
|
||||||
if (Message_Read_Receipt_Store_Users) {
|
if (Message_Read_Receipt_Store_Users) {
|
||||||
options.push({
|
options.push({
|
||||||
title: I18n.t('Read_Receipt'),
|
title: I18n.t('Read_Receipt'),
|
||||||
icon: 'receipt',
|
icon: 'info',
|
||||||
onPress: () => handleReadReceipt(message)
|
onPress: () => handleReadReceipt(message)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,226 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { View, Text } from 'react-native';
|
||||||
|
import { Audio } from 'expo-av';
|
||||||
|
import { BorderlessButton } from 'react-native-gesture-handler';
|
||||||
|
import { getInfoAsync } from 'expo-file-system';
|
||||||
|
import { deactivateKeepAwake, activateKeepAwake } from 'expo-keep-awake';
|
||||||
|
|
||||||
|
import styles from './styles';
|
||||||
|
import I18n from '../../i18n';
|
||||||
|
import { themes } from '../../constants/colors';
|
||||||
|
import { CustomIcon } from '../../lib/Icons';
|
||||||
|
|
||||||
|
const RECORDING_EXTENSION = '.aac';
|
||||||
|
const RECORDING_SETTINGS = {
|
||||||
|
android: {
|
||||||
|
extension: RECORDING_EXTENSION,
|
||||||
|
outputFormat: Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_AAC_ADTS,
|
||||||
|
audioEncoder: Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AAC,
|
||||||
|
sampleRate: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.android.sampleRate,
|
||||||
|
numberOfChannels: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.android.numberOfChannels,
|
||||||
|
bitRate: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.android.bitRate
|
||||||
|
},
|
||||||
|
ios: {
|
||||||
|
extension: RECORDING_EXTENSION,
|
||||||
|
audioQuality: Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_MIN,
|
||||||
|
sampleRate: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.ios.sampleRate,
|
||||||
|
numberOfChannels: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.ios.numberOfChannels,
|
||||||
|
bitRate: Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY.ios.bitRate,
|
||||||
|
outputFormat: Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const RECORDING_MODE = {
|
||||||
|
allowsRecordingIOS: true,
|
||||||
|
playsInSilentModeIOS: true,
|
||||||
|
staysActiveInBackground: false,
|
||||||
|
shouldDuckAndroid: true,
|
||||||
|
playThroughEarpieceAndroid: false,
|
||||||
|
interruptionModeIOS: Audio.INTERRUPTION_MODE_IOS_DO_NOT_MIX,
|
||||||
|
interruptionModeAndroid: Audio.INTERRUPTION_MODE_ANDROID_DO_NOT_MIX
|
||||||
|
};
|
||||||
|
|
||||||
|
const formatTime = function(seconds) {
|
||||||
|
let minutes = Math.floor(seconds / 60);
|
||||||
|
seconds %= 60;
|
||||||
|
if (minutes < 10) { minutes = `0${ minutes }`; }
|
||||||
|
if (seconds < 10) { seconds = `0${ seconds }`; }
|
||||||
|
return `${ minutes }:${ seconds }`;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class RecordAudio extends React.PureComponent {
|
||||||
|
static propTypes = {
|
||||||
|
theme: PropTypes.string,
|
||||||
|
recordingCallback: PropTypes.func,
|
||||||
|
onFinish: PropTypes.func
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.isRecorderBusy = false;
|
||||||
|
this.state = {
|
||||||
|
isRecording: false,
|
||||||
|
recordingDurationMillis: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate() {
|
||||||
|
const { recordingCallback } = this.props;
|
||||||
|
const { isRecording } = this.state;
|
||||||
|
|
||||||
|
recordingCallback(isRecording);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
if (this.recording) {
|
||||||
|
this.cancelRecordingAudio();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
get duration() {
|
||||||
|
const { recordingDurationMillis } = this.state;
|
||||||
|
return formatTime(Math.floor(recordingDurationMillis / 1000));
|
||||||
|
}
|
||||||
|
|
||||||
|
isRecordingPermissionGranted = async() => {
|
||||||
|
try {
|
||||||
|
const permission = await Audio.getPermissionsAsync();
|
||||||
|
if (permission.status === 'granted') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
await Audio.requestPermissionsAsync();
|
||||||
|
} catch {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecordingStatusUpdate = (status) => {
|
||||||
|
this.setState({
|
||||||
|
isRecording: status.isRecording,
|
||||||
|
recordingDurationMillis: status.durationMillis
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
startRecordingAudio = async() => {
|
||||||
|
if (!this.isRecorderBusy) {
|
||||||
|
this.isRecorderBusy = true;
|
||||||
|
try {
|
||||||
|
const canRecord = await this.isRecordingPermissionGranted();
|
||||||
|
if (canRecord) {
|
||||||
|
await Audio.setAudioModeAsync(RECORDING_MODE);
|
||||||
|
|
||||||
|
this.recording = new Audio.Recording();
|
||||||
|
await this.recording.prepareToRecordAsync(RECORDING_SETTINGS);
|
||||||
|
this.recording.setOnRecordingStatusUpdate(this.onRecordingStatusUpdate);
|
||||||
|
|
||||||
|
await this.recording.startAsync();
|
||||||
|
activateKeepAwake();
|
||||||
|
} else {
|
||||||
|
await Audio.requestPermissionsAsync();
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
this.isRecorderBusy = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
finishRecordingAudio = async() => {
|
||||||
|
if (!this.isRecorderBusy) {
|
||||||
|
const { onFinish } = this.props;
|
||||||
|
|
||||||
|
this.isRecorderBusy = true;
|
||||||
|
try {
|
||||||
|
await this.recording.stopAndUnloadAsync();
|
||||||
|
|
||||||
|
const fileURI = this.recording.getURI();
|
||||||
|
const fileData = await getInfoAsync(fileURI);
|
||||||
|
const fileInfo = {
|
||||||
|
name: `${ Date.now() }.aac`,
|
||||||
|
mime: 'audio/aac',
|
||||||
|
type: 'audio/aac',
|
||||||
|
store: 'Uploads',
|
||||||
|
path: fileURI,
|
||||||
|
size: fileData.size
|
||||||
|
};
|
||||||
|
|
||||||
|
onFinish(fileInfo);
|
||||||
|
} catch (error) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
this.setState({ isRecording: false, recordingDurationMillis: 0 });
|
||||||
|
deactivateKeepAwake();
|
||||||
|
this.isRecorderBusy = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
cancelRecordingAudio = async() => {
|
||||||
|
if (!this.isRecorderBusy) {
|
||||||
|
this.isRecorderBusy = true;
|
||||||
|
try {
|
||||||
|
await this.recording.stopAndUnloadAsync();
|
||||||
|
} catch (error) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
this.setState({ isRecording: false, recordingDurationMillis: 0 });
|
||||||
|
deactivateKeepAwake();
|
||||||
|
this.isRecorderBusy = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { theme } = this.props;
|
||||||
|
const { isRecording } = this.state;
|
||||||
|
|
||||||
|
if (!isRecording) {
|
||||||
|
return (
|
||||||
|
<BorderlessButton
|
||||||
|
onPress={this.startRecordingAudio}
|
||||||
|
style={styles.actionButton}
|
||||||
|
testID='messagebox-send-audio'
|
||||||
|
accessibilityLabel={I18n.t('Send_audio_message')}
|
||||||
|
accessibilityTraits='button'
|
||||||
|
>
|
||||||
|
<CustomIcon name='mic' size={23} color={themes[theme].tintColor} />
|
||||||
|
</BorderlessButton>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<View style={styles.recordingContent}>
|
||||||
|
<View style={styles.textArea}>
|
||||||
|
<BorderlessButton
|
||||||
|
onPress={this.cancelRecordingAudio}
|
||||||
|
accessibilityLabel={I18n.t('Cancel_recording')}
|
||||||
|
accessibilityTraits='button'
|
||||||
|
style={styles.actionButton}
|
||||||
|
>
|
||||||
|
<CustomIcon
|
||||||
|
size={22}
|
||||||
|
color={themes[theme].dangerColor}
|
||||||
|
name='Cross'
|
||||||
|
/>
|
||||||
|
</BorderlessButton>
|
||||||
|
<Text
|
||||||
|
style={[styles.recordingCancelText, { color: themes[theme].titleText }]}
|
||||||
|
>
|
||||||
|
{this.duration}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<BorderlessButton
|
||||||
|
onPress={this.finishRecordingAudio}
|
||||||
|
accessibilityLabel={I18n.t('Finish_recording')}
|
||||||
|
accessibilityTraits='button'
|
||||||
|
style={styles.actionButton}
|
||||||
|
>
|
||||||
|
<CustomIcon
|
||||||
|
size={22}
|
||||||
|
color={themes[theme].successColor}
|
||||||
|
name='check'
|
||||||
|
/>
|
||||||
|
</BorderlessButton>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,174 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import {
|
|
||||||
View, PermissionsAndroid, Text
|
|
||||||
} from 'react-native';
|
|
||||||
import { AudioRecorder, AudioUtils } from 'react-native-audio';
|
|
||||||
import { BorderlessButton } from 'react-native-gesture-handler';
|
|
||||||
import { activateKeepAwake, deactivateKeepAwake } from 'expo-keep-awake';
|
|
||||||
import * as FileSystem from 'expo-file-system';
|
|
||||||
|
|
||||||
import styles from './styles';
|
|
||||||
import I18n from '../../i18n';
|
|
||||||
import { isIOS, isAndroid } from '../../utils/deviceInfo';
|
|
||||||
import { CustomIcon } from '../../lib/Icons';
|
|
||||||
import { themes } from '../../constants/colors';
|
|
||||||
import SafeAreaView from '../SafeAreaView';
|
|
||||||
|
|
||||||
export const _formatTime = function(seconds) {
|
|
||||||
let minutes = Math.floor(seconds / 60);
|
|
||||||
seconds %= 60;
|
|
||||||
if (minutes < 10) { minutes = `0${ minutes }`; }
|
|
||||||
if (seconds < 10) { seconds = `0${ seconds }`; }
|
|
||||||
return `${ minutes }:${ seconds }`;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default class extends React.PureComponent {
|
|
||||||
static async permission() {
|
|
||||||
if (!isAndroid) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const rationale = {
|
|
||||||
title: I18n.t('Microphone_Permission'),
|
|
||||||
message: I18n.t('Microphone_Permission_Message')
|
|
||||||
};
|
|
||||||
|
|
||||||
const result = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, rationale);
|
|
||||||
return result === true || result === PermissionsAndroid.RESULTS.GRANTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
theme: PropTypes.string,
|
|
||||||
onFinish: PropTypes.func.isRequired
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this.recordingCanceled = false;
|
|
||||||
this.recording = true;
|
|
||||||
this.name = `${ Date.now() }.aac`;
|
|
||||||
this.state = {
|
|
||||||
currentTime: '00:00'
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
const audioPath = `${ AudioUtils.CachesDirectoryPath }/${ this.name }`;
|
|
||||||
|
|
||||||
AudioRecorder.prepareRecordingAtPath(audioPath, {
|
|
||||||
SampleRate: 22050,
|
|
||||||
Channels: 1,
|
|
||||||
AudioQuality: 'Low',
|
|
||||||
AudioEncoding: 'aac',
|
|
||||||
OutputFormat: 'aac_adts'
|
|
||||||
});
|
|
||||||
|
|
||||||
AudioRecorder.onProgress = (data) => {
|
|
||||||
this.setState({
|
|
||||||
currentTime: _formatTime(Math.floor(data.currentTime))
|
|
||||||
});
|
|
||||||
};
|
|
||||||
//
|
|
||||||
AudioRecorder.onFinished = (data) => {
|
|
||||||
if (!this.recordingCanceled && isIOS) {
|
|
||||||
this.finishRecording(data.status === 'OK', data.audioFileURL, data.audioFileSize);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
AudioRecorder.startRecording();
|
|
||||||
|
|
||||||
activateKeepAwake();
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillUnmount() {
|
|
||||||
if (this.recording) {
|
|
||||||
this.cancelAudioMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
deactivateKeepAwake();
|
|
||||||
}
|
|
||||||
|
|
||||||
finishRecording = (didSucceed, filePath, size) => {
|
|
||||||
const { onFinish } = this.props;
|
|
||||||
if (!didSucceed) {
|
|
||||||
return onFinish && onFinish(didSucceed);
|
|
||||||
}
|
|
||||||
if (isAndroid) {
|
|
||||||
filePath = filePath.startsWith('file://') ? filePath : `file://${ filePath }`;
|
|
||||||
}
|
|
||||||
const fileInfo = {
|
|
||||||
name: this.name,
|
|
||||||
mime: 'audio/aac',
|
|
||||||
type: 'audio/aac',
|
|
||||||
store: 'Uploads',
|
|
||||||
path: filePath,
|
|
||||||
size
|
|
||||||
};
|
|
||||||
return onFinish && onFinish(fileInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
finishAudioMessage = async() => {
|
|
||||||
try {
|
|
||||||
this.recording = false;
|
|
||||||
const filePath = await AudioRecorder.stopRecording();
|
|
||||||
if (isAndroid) {
|
|
||||||
const data = await FileSystem.getInfoAsync(decodeURIComponent(filePath), { size: true });
|
|
||||||
this.finishRecording(true, filePath, data.size);
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
this.finishRecording(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cancelAudioMessage = async() => {
|
|
||||||
this.recording = false;
|
|
||||||
this.recordingCanceled = true;
|
|
||||||
await AudioRecorder.stopRecording();
|
|
||||||
return this.finishRecording(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { currentTime } = this.state;
|
|
||||||
const { theme } = this.props;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<SafeAreaView
|
|
||||||
testID='messagebox-recording'
|
|
||||||
theme={theme}
|
|
||||||
style={[
|
|
||||||
styles.textBox,
|
|
||||||
{ borderTopColor: themes[theme].borderColor }
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<View style={[styles.textArea, { backgroundColor: themes[theme].messageboxBackground }]}>
|
|
||||||
<BorderlessButton
|
|
||||||
onPress={this.cancelAudioMessage}
|
|
||||||
accessibilityLabel={I18n.t('Cancel_recording')}
|
|
||||||
accessibilityTraits='button'
|
|
||||||
style={styles.actionButton}
|
|
||||||
>
|
|
||||||
<CustomIcon
|
|
||||||
size={22}
|
|
||||||
color={themes[theme].dangerColor}
|
|
||||||
name='Cross'
|
|
||||||
/>
|
|
||||||
</BorderlessButton>
|
|
||||||
<Text key='currentTime' style={[styles.textBoxInput, { color: themes[theme].titleText }]}>{currentTime}</Text>
|
|
||||||
<BorderlessButton
|
|
||||||
onPress={this.finishAudioMessage}
|
|
||||||
accessibilityLabel={I18n.t('Finish_recording')}
|
|
||||||
accessibilityTraits='button'
|
|
||||||
style={styles.actionButton}
|
|
||||||
>
|
|
||||||
<CustomIcon
|
|
||||||
size={22}
|
|
||||||
color={themes[theme].successColor}
|
|
||||||
name='check'
|
|
||||||
/>
|
|
||||||
</BorderlessButton>
|
|
||||||
</View>
|
|
||||||
</SafeAreaView>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,23 +2,19 @@ import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { View } from 'react-native';
|
import { View } from 'react-native';
|
||||||
|
|
||||||
import { SendButton, AudioButton, ActionsButton } from './buttons';
|
import { SendButton, ActionsButton } from './buttons';
|
||||||
import styles from './styles';
|
import styles from './styles';
|
||||||
|
|
||||||
const RightButtons = React.memo(({
|
const RightButtons = React.memo(({
|
||||||
theme, showSend, submit, recordAudioMessage, recordAudioMessageEnabled, showMessageBoxActions, isActionsEnabled
|
theme, showSend, submit, showMessageBoxActions, isActionsEnabled
|
||||||
}) => {
|
}) => {
|
||||||
if (showSend) {
|
if (showSend) {
|
||||||
return <SendButton onPress={submit} theme={theme} />;
|
return <SendButton onPress={submit} theme={theme} />;
|
||||||
}
|
}
|
||||||
if (recordAudioMessageEnabled || isActionsEnabled) {
|
if (isActionsEnabled) {
|
||||||
return (
|
return <ActionsButton onPress={showMessageBoxActions} theme={theme} />;
|
||||||
<>
|
|
||||||
{recordAudioMessageEnabled ? <AudioButton onPress={recordAudioMessage} theme={theme} /> : null}
|
|
||||||
{isActionsEnabled ? <ActionsButton onPress={showMessageBoxActions} theme={theme} /> : null}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return <View style={styles.buttonsWhitespace} />;
|
return <View style={styles.buttonsWhitespace} />;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -26,8 +22,6 @@ RightButtons.propTypes = {
|
||||||
theme: PropTypes.string,
|
theme: PropTypes.string,
|
||||||
showSend: PropTypes.bool,
|
showSend: PropTypes.bool,
|
||||||
submit: PropTypes.func.isRequired,
|
submit: PropTypes.func.isRequired,
|
||||||
recordAudioMessage: PropTypes.func.isRequired,
|
|
||||||
recordAudioMessageEnabled: PropTypes.bool,
|
|
||||||
showMessageBoxActions: PropTypes.func.isRequired,
|
showMessageBoxActions: PropTypes.func.isRequired,
|
||||||
isActionsEnabled: PropTypes.bool
|
isActionsEnabled: PropTypes.bool
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,26 +1,19 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { SendButton, AudioButton } from './buttons';
|
import { SendButton } from './buttons';
|
||||||
|
|
||||||
const RightButtons = React.memo(({
|
const RightButtons = React.memo(({ theme, showSend, submit }) => {
|
||||||
theme, showSend, submit, recordAudioMessage, recordAudioMessageEnabled
|
|
||||||
}) => {
|
|
||||||
if (showSend) {
|
if (showSend) {
|
||||||
return <SendButton theme={theme} onPress={submit} />;
|
return <SendButton theme={theme} onPress={submit} />;
|
||||||
}
|
}
|
||||||
if (recordAudioMessageEnabled) {
|
|
||||||
return <AudioButton theme={theme} onPress={recordAudioMessage} />;
|
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
RightButtons.propTypes = {
|
RightButtons.propTypes = {
|
||||||
theme: PropTypes.string,
|
theme: PropTypes.string,
|
||||||
showSend: PropTypes.bool,
|
showSend: PropTypes.bool,
|
||||||
submit: PropTypes.func.isRequired,
|
submit: PropTypes.func.isRequired
|
||||||
recordAudioMessage: PropTypes.func.isRequired,
|
|
||||||
recordAudioMessageEnabled: PropTypes.bool
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default RightButtons;
|
export default RightButtons;
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
|
|
||||||
import BaseButton from './BaseButton';
|
|
||||||
|
|
||||||
const AudioButton = React.memo(({ theme, onPress }) => (
|
|
||||||
<BaseButton
|
|
||||||
onPress={onPress}
|
|
||||||
testID='messagebox-send-audio'
|
|
||||||
accessibilityLabel='Send_audio_message'
|
|
||||||
icon='mic'
|
|
||||||
theme={theme}
|
|
||||||
/>
|
|
||||||
));
|
|
||||||
|
|
||||||
AudioButton.propTypes = {
|
|
||||||
theme: PropTypes.string,
|
|
||||||
onPress: PropTypes.func.isRequired
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AudioButton;
|
|
|
@ -1,13 +1,11 @@
|
||||||
import CancelEditingButton from './CancelEditingButton';
|
import CancelEditingButton from './CancelEditingButton';
|
||||||
import ToggleEmojiButton from './ToggleEmojiButton';
|
import ToggleEmojiButton from './ToggleEmojiButton';
|
||||||
import SendButton from './SendButton';
|
import SendButton from './SendButton';
|
||||||
import AudioButton from './AudioButton';
|
|
||||||
import ActionsButton from './ActionsButton';
|
import ActionsButton from './ActionsButton';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
CancelEditingButton,
|
CancelEditingButton,
|
||||||
ToggleEmojiButton,
|
ToggleEmojiButton,
|
||||||
SendButton,
|
SendButton,
|
||||||
AudioButton,
|
|
||||||
ActionsButton
|
ActionsButton
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,7 +17,7 @@ import RocketChat from '../../lib/rocketchat';
|
||||||
import styles from './styles';
|
import styles from './styles';
|
||||||
import database from '../../lib/database';
|
import database from '../../lib/database';
|
||||||
import { emojis } from '../../emojis';
|
import { emojis } from '../../emojis';
|
||||||
import Recording from './Recording';
|
import RecordAudio from './RecordAudio';
|
||||||
import log from '../../utils/log';
|
import log from '../../utils/log';
|
||||||
import I18n from '../../i18n';
|
import I18n from '../../i18n';
|
||||||
import ReplyPreview from './ReplyPreview';
|
import ReplyPreview from './ReplyPreview';
|
||||||
|
@ -196,7 +196,7 @@ class MessageBox extends Component {
|
||||||
console.log('Messagebox.didMount: Thread not found');
|
console.log('Messagebox.didMount: Thread not found');
|
||||||
}
|
}
|
||||||
} else if (!sharing) {
|
} else if (!sharing) {
|
||||||
msg = this.room.draftMessage;
|
msg = this.room?.draftMessage;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log(e);
|
log(e);
|
||||||
|
@ -632,7 +632,14 @@ class MessageBox extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
openShareView = (attachments) => {
|
openShareView = (attachments) => {
|
||||||
Navigation.navigate('ShareView', { room: this.room, thread: this.thread, attachments });
|
const { message, replyCancel, replyWithMention } = this.props;
|
||||||
|
// Start a thread with an attachment
|
||||||
|
let { thread } = this;
|
||||||
|
if (replyWithMention) {
|
||||||
|
thread = message;
|
||||||
|
replyCancel();
|
||||||
|
}
|
||||||
|
Navigation.navigate('ShareView', { room: this.room, thread, attachments });
|
||||||
}
|
}
|
||||||
|
|
||||||
createDiscussion = () => {
|
createDiscussion = () => {
|
||||||
|
@ -662,8 +669,7 @@ class MessageBox extends Component {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
recordAudioMessage = async() => {
|
recordingCallback = (recording) => {
|
||||||
const recording = await Recording.permission();
|
|
||||||
this.setState({ recording });
|
this.setState({ recording });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -672,9 +678,6 @@ class MessageBox extends Component {
|
||||||
rid, tmid, baseUrl: server, user
|
rid, tmid, baseUrl: server, user
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.setState({
|
|
||||||
recording: false
|
|
||||||
});
|
|
||||||
if (fileInfo) {
|
if (fileInfo) {
|
||||||
try {
|
try {
|
||||||
if (this.canUploadFile(fileInfo)) {
|
if (this.canUploadFile(fileInfo)) {
|
||||||
|
@ -837,63 +840,84 @@ class MessageBox extends Component {
|
||||||
returnKeyType: 'send'
|
returnKeyType: 'send'
|
||||||
} : {};
|
} : {};
|
||||||
|
|
||||||
if (recording) {
|
const recordAudio = showSend || !Message_AudioRecorderEnabled ? null : (
|
||||||
return <Recording theme={theme} onFinish={this.finishAudioMessage} />;
|
<RecordAudio
|
||||||
}
|
theme={theme}
|
||||||
return (
|
recordingCallback={this.recordingCallback}
|
||||||
|
onFinish={this.finishAudioMessage}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
const commandsPreviewAndMentions = !recording ? (
|
||||||
<>
|
<>
|
||||||
<CommandsPreview commandPreview={commandPreview} showCommandPreview={showCommandPreview} />
|
<CommandsPreview commandPreview={commandPreview} showCommandPreview={showCommandPreview} />
|
||||||
<Mentions mentions={mentions} trackingType={trackingType} theme={theme} />
|
<Mentions mentions={mentions} trackingType={trackingType} theme={theme} />
|
||||||
|
</>
|
||||||
|
) : null;
|
||||||
|
|
||||||
|
const replyPreview = !recording ? (
|
||||||
|
<ReplyPreview
|
||||||
|
message={message}
|
||||||
|
close={replyCancel}
|
||||||
|
username={user.username}
|
||||||
|
replying={replying}
|
||||||
|
getCustomEmoji={getCustomEmoji}
|
||||||
|
theme={theme}
|
||||||
|
/>
|
||||||
|
) : null;
|
||||||
|
|
||||||
|
const textInputAndButtons = !recording ? (
|
||||||
|
<>
|
||||||
|
<LeftButtons
|
||||||
|
theme={theme}
|
||||||
|
showEmojiKeyboard={showEmojiKeyboard}
|
||||||
|
editing={editing}
|
||||||
|
showMessageBoxActions={this.showMessageBoxActions}
|
||||||
|
editCancel={this.editCancel}
|
||||||
|
openEmoji={this.openEmoji}
|
||||||
|
closeEmoji={this.closeEmoji}
|
||||||
|
isActionsEnabled={isActionsEnabled}
|
||||||
|
/>
|
||||||
|
<TextInput
|
||||||
|
ref={component => this.component = component}
|
||||||
|
style={styles.textBoxInput}
|
||||||
|
returnKeyType='default'
|
||||||
|
keyboardType='twitter'
|
||||||
|
blurOnSubmit={false}
|
||||||
|
placeholder={I18n.t('New_Message')}
|
||||||
|
onChangeText={this.onChangeText}
|
||||||
|
underlineColorAndroid='transparent'
|
||||||
|
defaultValue=''
|
||||||
|
multiline
|
||||||
|
testID='messagebox-input'
|
||||||
|
theme={theme}
|
||||||
|
{...isAndroidTablet}
|
||||||
|
/>
|
||||||
|
<RightButtons
|
||||||
|
theme={theme}
|
||||||
|
showSend={showSend}
|
||||||
|
submit={this.submit}
|
||||||
|
showMessageBoxActions={this.showMessageBoxActions}
|
||||||
|
isActionsEnabled={isActionsEnabled}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
) : null;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{commandsPreviewAndMentions}
|
||||||
<View style={[styles.composer, { borderTopColor: themes[theme].separatorColor }]}>
|
<View style={[styles.composer, { borderTopColor: themes[theme].separatorColor }]}>
|
||||||
<ReplyPreview
|
{replyPreview}
|
||||||
message={message}
|
|
||||||
close={replyCancel}
|
|
||||||
username={user.username}
|
|
||||||
replying={replying}
|
|
||||||
getCustomEmoji={getCustomEmoji}
|
|
||||||
theme={theme}
|
|
||||||
/>
|
|
||||||
<View
|
<View
|
||||||
style={[
|
style={[
|
||||||
styles.textArea,
|
styles.textArea,
|
||||||
{ backgroundColor: themes[theme].messageboxBackground }, editing && { backgroundColor: themes[theme].chatComponentBackground }
|
{ backgroundColor: themes[theme].messageboxBackground },
|
||||||
|
!recording && editing && { backgroundColor: themes[theme].chatComponentBackground }
|
||||||
]}
|
]}
|
||||||
testID='messagebox'
|
testID='messagebox'
|
||||||
>
|
>
|
||||||
<LeftButtons
|
{textInputAndButtons}
|
||||||
theme={theme}
|
{recordAudio}
|
||||||
showEmojiKeyboard={showEmojiKeyboard}
|
|
||||||
editing={editing}
|
|
||||||
showMessageBoxActions={this.showMessageBoxActions}
|
|
||||||
isActionsEnabled={isActionsEnabled}
|
|
||||||
editCancel={this.editCancel}
|
|
||||||
openEmoji={this.openEmoji}
|
|
||||||
closeEmoji={this.closeEmoji}
|
|
||||||
/>
|
|
||||||
<TextInput
|
|
||||||
ref={component => this.component = component}
|
|
||||||
style={styles.textBoxInput}
|
|
||||||
returnKeyType='default'
|
|
||||||
keyboardType='twitter'
|
|
||||||
blurOnSubmit={false}
|
|
||||||
placeholder={I18n.t('New_Message')}
|
|
||||||
onChangeText={this.onChangeText}
|
|
||||||
underlineColorAndroid='transparent'
|
|
||||||
defaultValue=''
|
|
||||||
multiline
|
|
||||||
testID='messagebox-input'
|
|
||||||
theme={theme}
|
|
||||||
{...isAndroidTablet}
|
|
||||||
/>
|
|
||||||
<RightButtons
|
|
||||||
theme={theme}
|
|
||||||
showSend={showSend}
|
|
||||||
submit={this.submit}
|
|
||||||
recordAudioMessage={this.recordAudioMessage}
|
|
||||||
recordAudioMessageEnabled={Message_AudioRecorderEnabled}
|
|
||||||
showMessageBoxActions={this.showMessageBoxActions}
|
|
||||||
isActionsEnabled={isActionsEnabled}
|
|
||||||
/>
|
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
{children}
|
{children}
|
||||||
|
|
|
@ -104,6 +104,15 @@ export default StyleSheet.create({
|
||||||
scrollViewMention: {
|
scrollViewMention: {
|
||||||
maxHeight: SCROLLVIEW_MENTION_HEIGHT
|
maxHeight: SCROLLVIEW_MENTION_HEIGHT
|
||||||
},
|
},
|
||||||
|
recordingContent: {
|
||||||
|
flexDirection: 'row',
|
||||||
|
flex: 1,
|
||||||
|
justifyContent: 'space-between'
|
||||||
|
},
|
||||||
|
recordingCancelText: {
|
||||||
|
fontSize: 17,
|
||||||
|
...sharedStyles.textRegular
|
||||||
|
},
|
||||||
buttonsWhitespace: {
|
buttonsWhitespace: {
|
||||||
width: 15
|
width: 15
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ const styles = StyleSheet.create({
|
||||||
|
|
||||||
const CancelButton = (onCancelPress, theme) => (
|
const CancelButton = (onCancelPress, theme) => (
|
||||||
<Touchable onPress={onCancelPress} style={styles.cancel}>
|
<Touchable onPress={onCancelPress} style={styles.cancel}>
|
||||||
<Text style={[styles.cancelText, { color: themes[theme].tintColor }]}>{I18n.t('Cancel')}</Text>
|
<Text style={[styles.cancelText, { color: themes[theme].headerTintColor }]}>{I18n.t('Cancel')}</Text>
|
||||||
</Touchable>
|
</Touchable>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,12 @@ import React from 'react';
|
||||||
import { StatusBar as StatusBarRN } from 'react-native';
|
import { StatusBar as StatusBarRN } from 'react-native';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { isIOS } from '../utils/deviceInfo';
|
|
||||||
import { themes } from '../constants/colors';
|
import { themes } from '../constants/colors';
|
||||||
|
|
||||||
const StatusBar = React.memo(({ theme, barStyle, backgroundColor }) => {
|
const StatusBar = React.memo(({ theme, barStyle, backgroundColor }) => {
|
||||||
if (!barStyle) {
|
if (!barStyle) {
|
||||||
barStyle = 'light-content';
|
barStyle = 'light-content';
|
||||||
if (theme === 'light' && isIOS) {
|
if (theme === 'light') {
|
||||||
barStyle = 'dark-content';
|
barStyle = 'dark-content';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,6 @@ class MessageAudio extends React.Component {
|
||||||
|
|
||||||
this.setState({ loading: true });
|
this.setState({ loading: true });
|
||||||
try {
|
try {
|
||||||
await Audio.setAudioModeAsync(mode);
|
|
||||||
await this.sound.loadAsync({ uri: `${ url }?rc_uid=${ user.id }&rc_token=${ user.token }` });
|
await this.sound.loadAsync({ uri: `${ url }?rc_uid=${ user.id }&rc_token=${ user.token }` });
|
||||||
} catch {
|
} catch {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
|
@ -225,6 +224,7 @@ class MessageAudio extends React.Component {
|
||||||
if (paused) {
|
if (paused) {
|
||||||
await this.sound.pauseAsync();
|
await this.sound.pauseAsync();
|
||||||
} else {
|
} else {
|
||||||
|
await Audio.setAudioModeAsync(mode);
|
||||||
await this.sound.playAsync();
|
await this.sound.playAsync();
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
|
|
|
@ -543,6 +543,7 @@ export default {
|
||||||
Video_call: 'Video call',
|
Video_call: 'Video call',
|
||||||
View_Original: 'View Original',
|
View_Original: 'View Original',
|
||||||
Voice_call: 'Voice call',
|
Voice_call: 'Voice call',
|
||||||
|
Waiting_for_network: 'Waiting for network...',
|
||||||
Websocket_disabled: 'Websocket is disabled for this server.\n{{contact}}',
|
Websocket_disabled: 'Websocket is disabled for this server.\n{{contact}}',
|
||||||
Welcome: 'Welcome',
|
Welcome: 'Welcome',
|
||||||
What_are_you_doing_right_now: 'What are you doing right now?',
|
What_are_you_doing_right_now: 'What are you doing right now?',
|
||||||
|
|
|
@ -479,6 +479,7 @@ export default {
|
||||||
Verify_your_email_for_the_code_we_sent: 'Verifique em seu e-mail o código que enviamos',
|
Verify_your_email_for_the_code_we_sent: 'Verifique em seu e-mail o código que enviamos',
|
||||||
Video_call: 'Chamada de vídeo',
|
Video_call: 'Chamada de vídeo',
|
||||||
Voice_call: 'Chamada de voz',
|
Voice_call: 'Chamada de voz',
|
||||||
|
Waiting_for_network: 'Aguardando rede...',
|
||||||
Websocket_disabled: 'Websocket está desativado para esse servidor.\n{{contact}}',
|
Websocket_disabled: 'Websocket está desativado para esse servidor.\n{{contact}}',
|
||||||
Welcome: 'Bem vindo',
|
Welcome: 'Bem vindo',
|
||||||
Whats_your_2fa: 'Qual seu código de autenticação?',
|
Whats_your_2fa: 'Qual seu código de autenticação?',
|
||||||
|
|
|
@ -9,6 +9,7 @@ const getUser = (state) => {
|
||||||
};
|
};
|
||||||
const getLoginServices = state => state.login.services || {};
|
const getLoginServices = state => state.login.services || {};
|
||||||
const getShowFormLoginSetting = state => state.settings.Accounts_ShowFormLogin || false;
|
const getShowFormLoginSetting = state => state.settings.Accounts_ShowFormLogin || false;
|
||||||
|
const getIframeEnabledSetting = state => state.settings.Accounts_iframe_enabled || false;
|
||||||
|
|
||||||
export const getUserSelector = createSelector(
|
export const getUserSelector = createSelector(
|
||||||
[getUser],
|
[getUser],
|
||||||
|
@ -16,6 +17,6 @@ export const getUserSelector = createSelector(
|
||||||
);
|
);
|
||||||
|
|
||||||
export const getShowLoginButton = createSelector(
|
export const getShowLoginButton = createSelector(
|
||||||
[getLoginServices, getShowFormLoginSetting],
|
[getLoginServices, getShowFormLoginSetting, getIframeEnabledSetting],
|
||||||
(loginServices, showFormLogin) => showFormLogin || Object.values(loginServices).length
|
(loginServices, showFormLogin, iframeEnabled) => showFormLogin || Object.values(loginServices).length || iframeEnabled
|
||||||
);
|
);
|
||||||
|
|
|
@ -150,7 +150,7 @@ class Root extends React.Component {
|
||||||
this.setState({ root: 'outside' });
|
this.setState({ root: 'outside' });
|
||||||
}
|
}
|
||||||
|
|
||||||
const state = Navigation.navigationRef.current.getRootState();
|
const state = Navigation.navigationRef.current?.getRootState();
|
||||||
const currentRouteName = getActiveRouteName(state);
|
const currentRouteName = getActiveRouteName(state);
|
||||||
Navigation.routeNameRef.current = currentRouteName;
|
Navigation.routeNameRef.current = currentRouteName;
|
||||||
setCurrentScreen(currentRouteName);
|
setCurrentScreen(currentRouteName);
|
||||||
|
|
|
@ -6,28 +6,20 @@ import {
|
||||||
|
|
||||||
import I18n from '../../../i18n';
|
import I18n from '../../../i18n';
|
||||||
import sharedStyles from '../../Styles';
|
import sharedStyles from '../../Styles';
|
||||||
import { isAndroid, isTablet } from '../../../utils/deviceInfo';
|
|
||||||
import Icon from './Icon';
|
import Icon from './Icon';
|
||||||
import { themes } from '../../../constants/colors';
|
import { themes } from '../../../constants/colors';
|
||||||
import Markdown from '../../../containers/markdown';
|
import Markdown from '../../../containers/markdown';
|
||||||
|
|
||||||
const androidMarginLeft = isTablet ? 0 : 4;
|
|
||||||
|
|
||||||
const TITLE_SIZE = 16;
|
const TITLE_SIZE = 16;
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
container: {
|
container: {
|
||||||
flex: 1,
|
flex: 1,
|
||||||
marginRight: isAndroid ? 15 : 5,
|
|
||||||
marginLeft: isAndroid ? androidMarginLeft : -10,
|
|
||||||
justifyContent: 'center'
|
justifyContent: 'center'
|
||||||
},
|
},
|
||||||
titleContainer: {
|
titleContainer: {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
flexDirection: 'row'
|
flexDirection: 'row'
|
||||||
},
|
},
|
||||||
threadContainer: {
|
|
||||||
marginRight: isAndroid ? 20 : undefined
|
|
||||||
},
|
|
||||||
title: {
|
title: {
|
||||||
...sharedStyles.textSemibold,
|
...sharedStyles.textSemibold,
|
||||||
fontSize: TITLE_SIZE
|
fontSize: TITLE_SIZE
|
||||||
|
@ -36,7 +28,6 @@ const styles = StyleSheet.create({
|
||||||
alignItems: 'center'
|
alignItems: 'center'
|
||||||
},
|
},
|
||||||
subtitle: {
|
subtitle: {
|
||||||
marginRight: -16,
|
|
||||||
...sharedStyles.textRegular,
|
...sharedStyles.textRegular,
|
||||||
fontSize: 12
|
fontSize: 12
|
||||||
},
|
},
|
||||||
|
@ -87,12 +78,8 @@ SubTitle.propTypes = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const HeaderTitle = React.memo(({
|
const HeaderTitle = React.memo(({
|
||||||
title, tmid, prid, scale, connecting, theme
|
title, tmid, prid, scale, theme
|
||||||
}) => {
|
}) => {
|
||||||
if (connecting) {
|
|
||||||
title = I18n.t('Connecting');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!tmid && !prid) {
|
if (!tmid && !prid) {
|
||||||
return (
|
return (
|
||||||
<Text
|
<Text
|
||||||
|
@ -122,7 +109,6 @@ HeaderTitle.propTypes = {
|
||||||
tmid: PropTypes.string,
|
tmid: PropTypes.string,
|
||||||
prid: PropTypes.string,
|
prid: PropTypes.string,
|
||||||
scale: PropTypes.number,
|
scale: PropTypes.number,
|
||||||
connecting: PropTypes.bool,
|
|
||||||
theme: PropTypes.string
|
theme: PropTypes.string
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -147,7 +133,7 @@ const Header = React.memo(({
|
||||||
style={styles.container}
|
style={styles.container}
|
||||||
disabled={tmid}
|
disabled={tmid}
|
||||||
>
|
>
|
||||||
<View style={[styles.titleContainer, tmid && styles.threadContainer]}>
|
<View style={styles.titleContainer}>
|
||||||
<Icon type={prid ? 'discussion' : type} status={status} roomUserId={roomUserId} theme={theme} />
|
<Icon type={prid ? 'discussion' : type} status={status} roomUserId={roomUserId} theme={theme} />
|
||||||
<HeaderTitle
|
<HeaderTitle
|
||||||
title={title}
|
title={title}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import PropTypes from 'prop-types';
|
||||||
import { STATUS_COLORS, themes } from '../../../constants/colors';
|
import { STATUS_COLORS, themes } from '../../../constants/colors';
|
||||||
import { CustomIcon } from '../../../lib/Icons';
|
import { CustomIcon } from '../../../lib/Icons';
|
||||||
import Status from '../../../containers/Status/Status';
|
import Status from '../../../containers/Status/Status';
|
||||||
import { isAndroid } from '../../../utils/deviceInfo';
|
|
||||||
|
|
||||||
const ICON_SIZE = 15;
|
const ICON_SIZE = 15;
|
||||||
|
|
||||||
|
@ -32,7 +31,7 @@ const Icon = React.memo(({
|
||||||
if (type === 'l') {
|
if (type === 'l') {
|
||||||
colorStyle = { color: STATUS_COLORS[status] };
|
colorStyle = { color: STATUS_COLORS[status] };
|
||||||
} else {
|
} else {
|
||||||
colorStyle = { color: isAndroid && theme === 'light' ? themes[theme].buttonText : themes[theme].auxiliaryText };
|
colorStyle = { color: themes[theme].auxiliaryText };
|
||||||
}
|
}
|
||||||
|
|
||||||
let icon;
|
let icon;
|
||||||
|
|
|
@ -13,16 +13,21 @@ const styles = StyleSheet.create({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const RoomHeaderLeft = React.memo(({
|
const LeftButtons = React.memo(({
|
||||||
tmid, unreadsCount, navigation, baseUrl, userId, token, title, t, theme, goRoomActionsView, isMasterDetail
|
tmid, unreadsCount, navigation, baseUrl, userId, token, title, t, theme, goRoomActionsView, isMasterDetail
|
||||||
}) => {
|
}) => {
|
||||||
if (!isMasterDetail || tmid) {
|
if (!isMasterDetail || tmid) {
|
||||||
const onPress = useCallback(() => navigation.goBack());
|
const onPress = useCallback(() => navigation.goBack());
|
||||||
|
const label = unreadsCount > 99 ? '+99' : unreadsCount || ' ';
|
||||||
|
const labelLength = label.length ? label.length : 1;
|
||||||
|
const marginLeft = -2 * labelLength;
|
||||||
|
const fontSize = labelLength > 1 ? 14 : 17;
|
||||||
return (
|
return (
|
||||||
<HeaderBackButton
|
<HeaderBackButton
|
||||||
label={unreadsCount > 999 ? '+999' : unreadsCount || ' '}
|
label={label}
|
||||||
onPress={onPress}
|
onPress={onPress}
|
||||||
tintColor={themes[theme].headerTintColor}
|
tintColor={themes[theme].headerTintColor}
|
||||||
|
labelStyle={{ fontSize, marginLeft }}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -44,7 +49,7 @@ const RoomHeaderLeft = React.memo(({
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
RoomHeaderLeft.propTypes = {
|
LeftButtons.propTypes = {
|
||||||
tmid: PropTypes.string,
|
tmid: PropTypes.string,
|
||||||
unreadsCount: PropTypes.number,
|
unreadsCount: PropTypes.number,
|
||||||
navigation: PropTypes.object,
|
navigation: PropTypes.object,
|
||||||
|
@ -58,4 +63,4 @@ RoomHeaderLeft.propTypes = {
|
||||||
isMasterDetail: PropTypes.bool
|
isMasterDetail: PropTypes.bool
|
||||||
};
|
};
|
||||||
|
|
||||||
export default RoomHeaderLeft;
|
export default LeftButtons;
|
|
@ -68,6 +68,17 @@ class RightButtonsContainer extends React.PureComponent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
goSearchView = () => {
|
||||||
|
const {
|
||||||
|
rid, navigation, isMasterDetail
|
||||||
|
} = this.props;
|
||||||
|
if (isMasterDetail) {
|
||||||
|
navigation.navigate('ModalStackNavigator', { screen: 'SearchMessagesView', params: { rid, showCloseModal: true } });
|
||||||
|
} else {
|
||||||
|
navigation.navigate('SearchMessagesView', { rid });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
toggleFollowThread = () => {
|
toggleFollowThread = () => {
|
||||||
const { isFollowingThread } = this.state;
|
const { isFollowingThread } = this.state;
|
||||||
const { toggleFollowThread } = this.props;
|
const { toggleFollowThread } = this.props;
|
||||||
|
@ -104,6 +115,12 @@ class RightButtonsContainer extends React.PureComponent {
|
||||||
testID='room-view-header-threads'
|
testID='room-view-header-threads'
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
|
<Item
|
||||||
|
title='search'
|
||||||
|
iconName='magnifier'
|
||||||
|
onPress={this.goSearchView}
|
||||||
|
testID='room-view-search'
|
||||||
|
/>
|
||||||
</CustomHeaderButtons>
|
</CustomHeaderButtons>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,11 @@ import { connect } from 'react-redux';
|
||||||
import equal from 'deep-equal';
|
import equal from 'deep-equal';
|
||||||
|
|
||||||
import Header from './Header';
|
import Header from './Header';
|
||||||
|
import LeftButtons from './LeftButtons';
|
||||||
import RightButtons from './RightButtons';
|
import RightButtons from './RightButtons';
|
||||||
import { withTheme } from '../../../theme';
|
import { withTheme } from '../../../theme';
|
||||||
import RoomHeaderLeft from './RoomHeaderLeft';
|
|
||||||
import { withDimensions } from '../../../dimensions';
|
import { withDimensions } from '../../../dimensions';
|
||||||
|
import I18n from '../../../i18n';
|
||||||
|
|
||||||
class RoomHeaderView extends Component {
|
class RoomHeaderView extends Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -20,6 +21,7 @@ class RoomHeaderView extends Component {
|
||||||
status: PropTypes.string,
|
status: PropTypes.string,
|
||||||
statusText: PropTypes.string,
|
statusText: PropTypes.string,
|
||||||
connecting: PropTypes.bool,
|
connecting: PropTypes.bool,
|
||||||
|
connected: PropTypes.bool,
|
||||||
theme: PropTypes.string,
|
theme: PropTypes.string,
|
||||||
roomUserId: PropTypes.string,
|
roomUserId: PropTypes.string,
|
||||||
widthOffset: PropTypes.number,
|
widthOffset: PropTypes.number,
|
||||||
|
@ -30,7 +32,7 @@ class RoomHeaderView extends Component {
|
||||||
|
|
||||||
shouldComponentUpdate(nextProps) {
|
shouldComponentUpdate(nextProps) {
|
||||||
const {
|
const {
|
||||||
type, title, subtitle, status, statusText, connecting, goRoomActionsView, usersTyping, theme, width, height
|
type, title, subtitle, status, statusText, connecting, connected, goRoomActionsView, usersTyping, theme, width, height
|
||||||
} = this.props;
|
} = this.props;
|
||||||
if (nextProps.theme !== theme) {
|
if (nextProps.theme !== theme) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -53,6 +55,9 @@ class RoomHeaderView extends Component {
|
||||||
if (nextProps.connecting !== connecting) {
|
if (nextProps.connecting !== connecting) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (nextProps.connected !== connected) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (nextProps.width !== width) {
|
if (nextProps.width !== width) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -70,9 +75,18 @@ class RoomHeaderView extends Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
title, subtitle, type, prid, tmid, widthOffset, status = 'offline', statusText, connecting, usersTyping, goRoomActionsView, roomUserId, theme, width, height
|
title, subtitle: subtitleProp, type, prid, tmid, widthOffset, status = 'offline', statusText, connecting, connected, usersTyping, goRoomActionsView, roomUserId, theme, width, height
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
|
let subtitle;
|
||||||
|
if (connecting) {
|
||||||
|
subtitle = I18n.t('Connecting');
|
||||||
|
} else if (!connected) {
|
||||||
|
subtitle = I18n.t('Waiting_for_network');
|
||||||
|
} else {
|
||||||
|
subtitle = subtitleProp;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Header
|
<Header
|
||||||
prid={prid}
|
prid={prid}
|
||||||
|
@ -108,7 +122,8 @@ const mapStateToProps = (state, ownProps) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
connecting: state.meteor.connecting,
|
connecting: state.meteor.connecting || state.server.loading,
|
||||||
|
connected: state.meteor.connected,
|
||||||
usersTyping: state.usersTyping,
|
usersTyping: state.usersTyping,
|
||||||
status,
|
status,
|
||||||
statusText
|
statusText
|
||||||
|
@ -117,4 +132,4 @@ const mapStateToProps = (state, ownProps) => {
|
||||||
|
|
||||||
export default connect(mapStateToProps)(withDimensions(withTheme(RoomHeaderView)));
|
export default connect(mapStateToProps)(withDimensions(withTheme(RoomHeaderView)));
|
||||||
|
|
||||||
export { RightButtons, RoomHeaderLeft };
|
export { RightButtons, LeftButtons };
|
||||||
|
|
|
@ -8,6 +8,7 @@ import moment from 'moment';
|
||||||
import * as Haptics from 'expo-haptics';
|
import * as Haptics from 'expo-haptics';
|
||||||
import { Q } from '@nozbe/watermelondb';
|
import { Q } from '@nozbe/watermelondb';
|
||||||
import isEqual from 'lodash/isEqual';
|
import isEqual from 'lodash/isEqual';
|
||||||
|
import { withSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
|
|
||||||
import Touch from '../../utils/touch';
|
import Touch from '../../utils/touch';
|
||||||
import {
|
import {
|
||||||
|
@ -26,7 +27,7 @@ import styles from './styles';
|
||||||
import log from '../../utils/log';
|
import log from '../../utils/log';
|
||||||
import EventEmitter from '../../utils/events';
|
import EventEmitter from '../../utils/events';
|
||||||
import I18n from '../../i18n';
|
import I18n from '../../i18n';
|
||||||
import RoomHeaderView, { RightButtons, RoomHeaderLeft } from './Header';
|
import RoomHeaderView, { RightButtons, LeftButtons } from './Header';
|
||||||
import StatusBar from '../../containers/StatusBar';
|
import StatusBar from '../../containers/StatusBar';
|
||||||
import Separator from './Separator';
|
import Separator from './Separator';
|
||||||
import { themes } from '../../constants/colors';
|
import { themes } from '../../constants/colors';
|
||||||
|
@ -53,6 +54,7 @@ import Banner from './Banner';
|
||||||
import Navigation from '../../lib/Navigation';
|
import Navigation from '../../lib/Navigation';
|
||||||
import SafeAreaView from '../../containers/SafeAreaView';
|
import SafeAreaView from '../../containers/SafeAreaView';
|
||||||
import { withDimensions } from '../../dimensions';
|
import { withDimensions } from '../../dimensions';
|
||||||
|
import { getHeaderTitlePosition } from '../../containers/Header';
|
||||||
|
|
||||||
const stateAttrsUpdate = [
|
const stateAttrsUpdate = [
|
||||||
'joined',
|
'joined',
|
||||||
|
@ -91,7 +93,8 @@ class RoomView extends React.Component {
|
||||||
theme: PropTypes.string,
|
theme: PropTypes.string,
|
||||||
replyBroadcast: PropTypes.func,
|
replyBroadcast: PropTypes.func,
|
||||||
width: PropTypes.number,
|
width: PropTypes.number,
|
||||||
height: PropTypes.number
|
height: PropTypes.number,
|
||||||
|
insets: PropTypes.object
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
@ -178,7 +181,7 @@ class RoomView extends React.Component {
|
||||||
shouldComponentUpdate(nextProps, nextState) {
|
shouldComponentUpdate(nextProps, nextState) {
|
||||||
const { state } = this;
|
const { state } = this;
|
||||||
const { roomUpdate, member } = state;
|
const { roomUpdate, member } = state;
|
||||||
const { appState, theme } = this.props;
|
const { appState, theme, insets } = this.props;
|
||||||
if (theme !== nextProps.theme) {
|
if (theme !== nextProps.theme) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -192,12 +195,15 @@ class RoomView extends React.Component {
|
||||||
if (stateUpdated) {
|
if (stateUpdated) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (!isEqual(nextProps.insets, insets)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return roomAttrsUpdate.some(key => !isEqual(nextState.roomUpdate[key], roomUpdate[key]));
|
return roomAttrsUpdate.some(key => !isEqual(nextState.roomUpdate[key], roomUpdate[key]));
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidUpdate(prevProps, prevState) {
|
componentDidUpdate(prevProps, prevState) {
|
||||||
const { roomUpdate } = this.state;
|
const { roomUpdate } = this.state;
|
||||||
const { appState } = this.props;
|
const { appState, insets } = this.props;
|
||||||
|
|
||||||
if (appState === 'foreground' && appState !== prevProps.appState && this.rid) {
|
if (appState === 'foreground' && appState !== prevProps.appState && this.rid) {
|
||||||
this.onForegroundInteraction = InteractionManager.runAfterInteractions(() => {
|
this.onForegroundInteraction = InteractionManager.runAfterInteractions(() => {
|
||||||
|
@ -222,6 +228,9 @@ class RoomView extends React.Component {
|
||||||
if (((roomUpdate.fname !== prevState.roomUpdate.fname) || (roomUpdate.name !== prevState.roomUpdate.name)) && !this.tmid) {
|
if (((roomUpdate.fname !== prevState.roomUpdate.fname) || (roomUpdate.name !== prevState.roomUpdate.name)) && !this.tmid) {
|
||||||
this.setHeader();
|
this.setHeader();
|
||||||
}
|
}
|
||||||
|
if (insets.left !== prevProps.insets.left || insets.right !== prevProps.insets.right) {
|
||||||
|
this.setHeader();
|
||||||
|
}
|
||||||
this.setReadOnly();
|
this.setReadOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +290,7 @@ class RoomView extends React.Component {
|
||||||
setHeader = () => {
|
setHeader = () => {
|
||||||
const { room, unreadsCount, roomUserId: stateRoomUserId } = this.state;
|
const { room, unreadsCount, roomUserId: stateRoomUserId } = this.state;
|
||||||
const {
|
const {
|
||||||
navigation, route, isMasterDetail, theme, baseUrl, user
|
navigation, route, isMasterDetail, theme, baseUrl, user, insets
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const rid = route.params?.rid;
|
const rid = route.params?.rid;
|
||||||
const prid = route.params?.prid;
|
const prid = route.params?.prid;
|
||||||
|
@ -299,9 +308,29 @@ class RoomView extends React.Component {
|
||||||
if (!rid) {
|
if (!rid) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const headerTitlePosition = getHeaderTitlePosition(insets);
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
headerShown: true,
|
headerShown: true,
|
||||||
headerTitleAlign: 'left',
|
headerTitleAlign: 'left',
|
||||||
|
headerTitleContainerStyle: {
|
||||||
|
left: headerTitlePosition.left,
|
||||||
|
right: headerTitlePosition.right
|
||||||
|
},
|
||||||
|
headerLeft: () => (
|
||||||
|
<LeftButtons
|
||||||
|
tmid={tmid}
|
||||||
|
unreadsCount={unreadsCount}
|
||||||
|
navigation={navigation}
|
||||||
|
baseUrl={baseUrl}
|
||||||
|
userId={userId}
|
||||||
|
token={token}
|
||||||
|
title={avatar}
|
||||||
|
theme={theme}
|
||||||
|
t={t}
|
||||||
|
goRoomActionsView={this.goRoomActionsView}
|
||||||
|
isMasterDetail={isMasterDetail}
|
||||||
|
/>
|
||||||
|
),
|
||||||
headerTitle: () => (
|
headerTitle: () => (
|
||||||
<RoomHeaderView
|
<RoomHeaderView
|
||||||
rid={rid}
|
rid={rid}
|
||||||
|
@ -323,21 +352,6 @@ class RoomView extends React.Component {
|
||||||
navigation={navigation}
|
navigation={navigation}
|
||||||
toggleFollowThread={this.toggleFollowThread}
|
toggleFollowThread={this.toggleFollowThread}
|
||||||
/>
|
/>
|
||||||
),
|
|
||||||
headerLeft: () => (
|
|
||||||
<RoomHeaderLeft
|
|
||||||
tmid={tmid}
|
|
||||||
unreadsCount={unreadsCount}
|
|
||||||
navigation={navigation}
|
|
||||||
baseUrl={baseUrl}
|
|
||||||
userId={userId}
|
|
||||||
token={token}
|
|
||||||
title={avatar}
|
|
||||||
theme={theme}
|
|
||||||
t={t}
|
|
||||||
goRoomActionsView={this.goRoomActionsView}
|
|
||||||
isMasterDetail={isMasterDetail}
|
|
||||||
/>
|
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1040,4 +1054,4 @@ const mapDispatchToProps = dispatch => ({
|
||||||
replyBroadcast: message => dispatch(replyBroadcastAction(message))
|
replyBroadcast: message => dispatch(replyBroadcastAction(message))
|
||||||
});
|
});
|
||||||
|
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(withDimensions(withTheme(RoomView)));
|
export default connect(mapStateToProps, mapDispatchToProps)(withDimensions(withTheme(withSafeAreaInsets(RoomView))));
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import {
|
|
||||||
Text, View, TouchableOpacity, StyleSheet
|
|
||||||
} from 'react-native';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
|
|
||||||
import I18n from '../../../i18n';
|
|
||||||
import sharedStyles from '../../Styles';
|
|
||||||
import { themes } from '../../../constants/colors';
|
|
||||||
import { CustomIcon } from '../../../lib/Icons';
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
|
||||||
container: {
|
|
||||||
flex: 1,
|
|
||||||
alignItems: 'center',
|
|
||||||
justifyContent: 'center'
|
|
||||||
},
|
|
||||||
button: {
|
|
||||||
flexDirection: 'row',
|
|
||||||
alignItems: 'center'
|
|
||||||
},
|
|
||||||
title: {
|
|
||||||
fontSize: 14,
|
|
||||||
...sharedStyles.textRegular
|
|
||||||
},
|
|
||||||
server: {
|
|
||||||
fontSize: 12,
|
|
||||||
...sharedStyles.textRegular
|
|
||||||
},
|
|
||||||
disclosure: {
|
|
||||||
marginLeft: 3,
|
|
||||||
marginTop: 1,
|
|
||||||
width: 12,
|
|
||||||
height: 9
|
|
||||||
},
|
|
||||||
upsideDown: {
|
|
||||||
transform: [{ scaleY: -1 }]
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const HeaderTitle = React.memo(({ connecting, isFetching, theme }) => {
|
|
||||||
let title = I18n.t('Messages');
|
|
||||||
if (connecting) {
|
|
||||||
title = I18n.t('Connecting');
|
|
||||||
}
|
|
||||||
if (isFetching) {
|
|
||||||
title = I18n.t('Updating');
|
|
||||||
}
|
|
||||||
return <Text style={[styles.title, { color: themes[theme].headerTitleColor }]}>{title}</Text>;
|
|
||||||
});
|
|
||||||
|
|
||||||
const Header = React.memo(({
|
|
||||||
connecting, isFetching, serverName, showServerDropdown, onPress, theme
|
|
||||||
}) => (
|
|
||||||
<View style={styles.container}>
|
|
||||||
<TouchableOpacity
|
|
||||||
onPress={onPress}
|
|
||||||
testID='rooms-list-header-server-dropdown-button'
|
|
||||||
style={styles.container}
|
|
||||||
// disabled={connecting || isFetching}
|
|
||||||
>
|
|
||||||
<HeaderTitle connecting={connecting} isFetching={isFetching} theme={theme} />
|
|
||||||
<View style={styles.button}>
|
|
||||||
<Text style={[styles.server, { color: themes[theme].headerTintColor }]} numberOfLines={1}>{serverName}</Text>
|
|
||||||
<CustomIcon
|
|
||||||
name='chevron-down'
|
|
||||||
color={themes[theme].headerTintColor}
|
|
||||||
style={[showServerDropdown && styles.upsideDown]}
|
|
||||||
size={18}
|
|
||||||
/>
|
|
||||||
</View>
|
|
||||||
</TouchableOpacity>
|
|
||||||
</View>
|
|
||||||
));
|
|
||||||
|
|
||||||
Header.propTypes = {
|
|
||||||
connecting: PropTypes.bool,
|
|
||||||
isFetching: PropTypes.bool,
|
|
||||||
serverName: PropTypes.string,
|
|
||||||
theme: PropTypes.string,
|
|
||||||
showServerDropdown: PropTypes.bool.isRequired,
|
|
||||||
onPress: PropTypes.func.isRequired
|
|
||||||
};
|
|
||||||
|
|
||||||
Header.defaultProps = {
|
|
||||||
serverName: 'Rocket.Chat'
|
|
||||||
};
|
|
||||||
|
|
||||||
HeaderTitle.propTypes = {
|
|
||||||
connecting: PropTypes.bool,
|
|
||||||
isFetching: PropTypes.bool,
|
|
||||||
theme: PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Header;
|
|
|
@ -9,26 +9,23 @@ import I18n from '../../../i18n';
|
||||||
import sharedStyles from '../../Styles';
|
import sharedStyles from '../../Styles';
|
||||||
import { themes } from '../../../constants/colors';
|
import { themes } from '../../../constants/colors';
|
||||||
import { CustomIcon } from '../../../lib/Icons';
|
import { CustomIcon } from '../../../lib/Icons';
|
||||||
|
import { isTablet, isIOS } from '../../../utils/deviceInfo';
|
||||||
|
import { useOrientation } from '../../../dimensions';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
container: {
|
container: {
|
||||||
flex: 1,
|
flex: 1,
|
||||||
justifyContent: 'center'
|
justifyContent: 'center',
|
||||||
|
marginLeft: isTablet ? 10 : 0
|
||||||
},
|
},
|
||||||
button: {
|
button: {
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
alignItems: 'center',
|
alignItems: 'center'
|
||||||
marginRight: 64
|
|
||||||
},
|
},
|
||||||
server: {
|
title: {
|
||||||
fontSize: 20,
|
...sharedStyles.textSemibold
|
||||||
...sharedStyles.textRegular
|
|
||||||
},
|
},
|
||||||
serverSmall: {
|
subtitle: {
|
||||||
fontSize: 16
|
|
||||||
},
|
|
||||||
updating: {
|
|
||||||
fontSize: 14,
|
|
||||||
...sharedStyles.textRegular
|
...sharedStyles.textRegular
|
||||||
},
|
},
|
||||||
upsideDown: {
|
upsideDown: {
|
||||||
|
@ -37,41 +34,55 @@ const styles = StyleSheet.create({
|
||||||
});
|
});
|
||||||
|
|
||||||
const Header = React.memo(({
|
const Header = React.memo(({
|
||||||
connecting, isFetching, serverName, showServerDropdown, showSearchHeader, theme, onSearchChangeText, onPress
|
connecting, connected, isFetching, serverName, server, showServerDropdown, showSearchHeader, theme, onSearchChangeText, onPress
|
||||||
}) => {
|
}) => {
|
||||||
const titleColorStyle = { color: themes[theme].headerTitleColor };
|
const titleColorStyle = { color: themes[theme].headerTitleColor };
|
||||||
const isLight = theme === 'light';
|
const isLight = theme === 'light';
|
||||||
|
const { isLandscape } = useOrientation();
|
||||||
|
const scale = isIOS && isLandscape && !isTablet ? 0.8 : 1;
|
||||||
|
const titleFontSize = 16 * scale;
|
||||||
|
const subTitleFontSize = 12 * scale;
|
||||||
|
|
||||||
if (showSearchHeader) {
|
if (showSearchHeader) {
|
||||||
return (
|
return (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<TextInput
|
<TextInput
|
||||||
autoFocus
|
autoFocus
|
||||||
style={[styles.server, isLight && titleColorStyle]}
|
style={[styles.title, isLight && titleColorStyle, { fontSize: titleFontSize }]}
|
||||||
placeholder='Search'
|
placeholder='Search'
|
||||||
onChangeText={onSearchChangeText}
|
onChangeText={onSearchChangeText}
|
||||||
theme={theme}
|
theme={theme}
|
||||||
|
testID='rooms-list-view-search-input'
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
let subtitle;
|
||||||
|
if (connecting) {
|
||||||
|
subtitle = I18n.t('Connecting');
|
||||||
|
} else if (isFetching) {
|
||||||
|
subtitle = I18n.t('Updating');
|
||||||
|
} else if (!connected) {
|
||||||
|
subtitle = I18n.t('Waiting_for_network');
|
||||||
|
} else {
|
||||||
|
subtitle = server?.replace(/(^\w+:|^)\/\//, '');
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
onPress={onPress}
|
onPress={onPress}
|
||||||
testID='rooms-list-header-server-dropdown-button'
|
testID='rooms-list-header-server-dropdown-button'
|
||||||
disabled={connecting || isFetching}
|
|
||||||
>
|
>
|
||||||
{connecting ? <Text style={[styles.updating, titleColorStyle]}>{I18n.t('Connecting')}</Text> : null}
|
|
||||||
{isFetching ? <Text style={[styles.updating, titleColorStyle]}>{I18n.t('Updating')}</Text> : null}
|
|
||||||
<View style={styles.button}>
|
<View style={styles.button}>
|
||||||
<Text style={[styles.server, isFetching && styles.serverSmall, titleColorStyle]} numberOfLines={1}>{serverName}</Text>
|
<Text style={[styles.title, isFetching && styles.serverSmall, titleColorStyle, { fontSize: titleFontSize }]} numberOfLines={1}>{serverName}</Text>
|
||||||
<CustomIcon
|
<CustomIcon
|
||||||
name='chevron-down'
|
name='chevron-down'
|
||||||
color={themes[theme].headerTintColor}
|
color={themes[theme].headerTintColor}
|
||||||
style={[showServerDropdown && styles.upsideDown]}
|
style={[showServerDropdown && styles.upsideDown, { fontSize: subTitleFontSize }]}
|
||||||
size={18}
|
size={18}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
{subtitle ? <Text style={[styles.subtitle, { color: themes[theme].auxiliaryText }]} numberOfLines={1}>{subtitle}</Text> : null}
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
|
@ -83,8 +94,10 @@ Header.propTypes = {
|
||||||
onPress: PropTypes.func.isRequired,
|
onPress: PropTypes.func.isRequired,
|
||||||
onSearchChangeText: PropTypes.func.isRequired,
|
onSearchChangeText: PropTypes.func.isRequired,
|
||||||
connecting: PropTypes.bool,
|
connecting: PropTypes.bool,
|
||||||
|
connected: PropTypes.bool,
|
||||||
isFetching: PropTypes.bool,
|
isFetching: PropTypes.bool,
|
||||||
serverName: PropTypes.string,
|
serverName: PropTypes.string,
|
||||||
|
server: PropTypes.string,
|
||||||
theme: PropTypes.string
|
theme: PropTypes.string
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,8 +18,10 @@ class RoomsListHeaderView extends PureComponent {
|
||||||
showSearchHeader: PropTypes.bool,
|
showSearchHeader: PropTypes.bool,
|
||||||
serverName: PropTypes.string,
|
serverName: PropTypes.string,
|
||||||
connecting: PropTypes.bool,
|
connecting: PropTypes.bool,
|
||||||
|
connected: PropTypes.bool,
|
||||||
isFetching: PropTypes.bool,
|
isFetching: PropTypes.bool,
|
||||||
theme: PropTypes.string,
|
theme: PropTypes.string,
|
||||||
|
server: PropTypes.string,
|
||||||
open: PropTypes.func,
|
open: PropTypes.func,
|
||||||
close: PropTypes.func,
|
close: PropTypes.func,
|
||||||
closeSort: PropTypes.func,
|
closeSort: PropTypes.func,
|
||||||
|
@ -68,16 +70,18 @@ class RoomsListHeaderView extends PureComponent {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
serverName, showServerDropdown, showSearchHeader, connecting, isFetching, theme
|
serverName, showServerDropdown, showSearchHeader, connecting, connected, isFetching, theme, server
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Header
|
<Header
|
||||||
theme={theme}
|
theme={theme}
|
||||||
serverName={serverName}
|
serverName={serverName}
|
||||||
|
server={server}
|
||||||
showServerDropdown={showServerDropdown}
|
showServerDropdown={showServerDropdown}
|
||||||
showSearchHeader={showSearchHeader}
|
showSearchHeader={showSearchHeader}
|
||||||
connecting={connecting}
|
connecting={connecting}
|
||||||
|
connected={connected}
|
||||||
isFetching={isFetching}
|
isFetching={isFetching}
|
||||||
onPress={this.onPress}
|
onPress={this.onPress}
|
||||||
onSearchChangeText={this.onSearchChangeText}
|
onSearchChangeText={this.onSearchChangeText}
|
||||||
|
@ -91,8 +95,10 @@ const mapStateToProps = state => ({
|
||||||
showSortDropdown: state.rooms.showSortDropdown,
|
showSortDropdown: state.rooms.showSortDropdown,
|
||||||
showSearchHeader: state.rooms.showSearchHeader,
|
showSearchHeader: state.rooms.showSearchHeader,
|
||||||
connecting: state.meteor.connecting || state.server.loading,
|
connecting: state.meteor.connecting || state.server.loading,
|
||||||
|
connected: state.meteor.connected,
|
||||||
isFetching: state.rooms.isFetching,
|
isFetching: state.rooms.isFetching,
|
||||||
serverName: state.settings.Site_Name
|
serverName: state.settings.Site_Name,
|
||||||
|
server: state.server.server
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapDispatchtoProps = dispatch => ({
|
const mapDispatchtoProps = dispatch => ({
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
|
|
||||||
import SearchBox from '../../../containers/SearchBox';
|
|
||||||
import { isIOS } from '../../../utils/deviceInfo';
|
|
||||||
import { withTheme } from '../../../theme';
|
|
||||||
|
|
||||||
const SearchBar = React.memo(({
|
|
||||||
theme, onChangeSearchText, inputRef, searching, onCancelSearchPress, onSearchFocus
|
|
||||||
}) => {
|
|
||||||
if (isIOS) {
|
|
||||||
return (
|
|
||||||
<SearchBox
|
|
||||||
onChangeText={onChangeSearchText}
|
|
||||||
testID='rooms-list-view-search'
|
|
||||||
inputRef={inputRef}
|
|
||||||
theme={theme}
|
|
||||||
hasCancel={searching}
|
|
||||||
onCancelPress={onCancelSearchPress}
|
|
||||||
onFocus={onSearchFocus}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
|
|
||||||
SearchBar.propTypes = {
|
|
||||||
theme: PropTypes.string,
|
|
||||||
searching: PropTypes.bool,
|
|
||||||
inputRef: PropTypes.func,
|
|
||||||
onChangeSearchText: PropTypes.func,
|
|
||||||
onCancelSearchPress: PropTypes.func,
|
|
||||||
onSearchFocus: PropTypes.func
|
|
||||||
};
|
|
||||||
|
|
||||||
export default withTheme(SearchBar);
|
|
|
@ -1,28 +1,16 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import SearchBar from './SearchBar';
|
|
||||||
import Directory from './Directory';
|
import Directory from './Directory';
|
||||||
import Sort from './Sort';
|
import Sort from './Sort';
|
||||||
|
|
||||||
const ListHeader = React.memo(({
|
const ListHeader = React.memo(({
|
||||||
searching,
|
searching,
|
||||||
sortBy,
|
sortBy,
|
||||||
onChangeSearchText,
|
|
||||||
toggleSort,
|
toggleSort,
|
||||||
goDirectory,
|
goDirectory
|
||||||
inputRef,
|
|
||||||
onCancelSearchPress,
|
|
||||||
onSearchFocus
|
|
||||||
}) => (
|
}) => (
|
||||||
<>
|
<>
|
||||||
<SearchBar
|
|
||||||
inputRef={inputRef}
|
|
||||||
searching={searching}
|
|
||||||
onChangeSearchText={onChangeSearchText}
|
|
||||||
onCancelSearchPress={onCancelSearchPress}
|
|
||||||
onSearchFocus={onSearchFocus}
|
|
||||||
/>
|
|
||||||
<Directory searching={searching} goDirectory={goDirectory} />
|
<Directory searching={searching} goDirectory={goDirectory} />
|
||||||
<Sort searching={searching} sortBy={sortBy} toggleSort={toggleSort} />
|
<Sort searching={searching} sortBy={sortBy} toggleSort={toggleSort} />
|
||||||
</>
|
</>
|
||||||
|
@ -31,12 +19,8 @@ const ListHeader = React.memo(({
|
||||||
ListHeader.propTypes = {
|
ListHeader.propTypes = {
|
||||||
searching: PropTypes.bool,
|
searching: PropTypes.bool,
|
||||||
sortBy: PropTypes.string,
|
sortBy: PropTypes.string,
|
||||||
onChangeSearchText: PropTypes.func,
|
|
||||||
toggleSort: PropTypes.func,
|
toggleSort: PropTypes.func,
|
||||||
goDirectory: PropTypes.func,
|
goDirectory: PropTypes.func
|
||||||
inputRef: PropTypes.func,
|
|
||||||
onCancelSearchPress: PropTypes.func,
|
|
||||||
onSearchFocus: PropTypes.func
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default ListHeader;
|
export default ListHeader;
|
||||||
|
|
|
@ -12,6 +12,7 @@ import { connect } from 'react-redux';
|
||||||
import { isEqual, orderBy } from 'lodash';
|
import { isEqual, orderBy } from 'lodash';
|
||||||
import Orientation from 'react-native-orientation-locker';
|
import Orientation from 'react-native-orientation-locker';
|
||||||
import { Q } from '@nozbe/watermelondb';
|
import { Q } from '@nozbe/watermelondb';
|
||||||
|
import { withSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
|
|
||||||
import database from '../../lib/database';
|
import database from '../../lib/database';
|
||||||
import RocketChat from '../../lib/rocketchat';
|
import RocketChat from '../../lib/rocketchat';
|
||||||
|
@ -30,7 +31,7 @@ import {
|
||||||
} from '../../actions/rooms';
|
} from '../../actions/rooms';
|
||||||
import { appStart as appStartAction, ROOT_BACKGROUND } from '../../actions/app';
|
import { appStart as appStartAction, ROOT_BACKGROUND } from '../../actions/app';
|
||||||
import debounce from '../../utils/debounce';
|
import debounce from '../../utils/debounce';
|
||||||
import { isIOS, isAndroid, isTablet } from '../../utils/deviceInfo';
|
import { isIOS, isTablet } from '../../utils/deviceInfo';
|
||||||
import RoomsListHeaderView from './Header';
|
import RoomsListHeaderView from './Header';
|
||||||
import {
|
import {
|
||||||
DrawerButton,
|
DrawerButton,
|
||||||
|
@ -59,10 +60,9 @@ import { MAX_SIDEBAR_WIDTH } from '../../constants/tablet';
|
||||||
import { getUserSelector } from '../../selectors/login';
|
import { getUserSelector } from '../../selectors/login';
|
||||||
import { goRoom } from '../../utils/goRoom';
|
import { goRoom } from '../../utils/goRoom';
|
||||||
import SafeAreaView from '../../containers/SafeAreaView';
|
import SafeAreaView from '../../containers/SafeAreaView';
|
||||||
import Header from '../../containers/Header';
|
import Header, { getHeaderTitlePosition } from '../../containers/Header';
|
||||||
import { withDimensions } from '../../dimensions';
|
import { withDimensions } from '../../dimensions';
|
||||||
|
|
||||||
const SCROLL_OFFSET = 56;
|
|
||||||
const INITIAL_NUM_TO_RENDER = isTablet ? 20 : 12;
|
const INITIAL_NUM_TO_RENDER = isTablet ? 20 : 12;
|
||||||
const CHATS_HEADER = 'Chats';
|
const CHATS_HEADER = 'Chats';
|
||||||
const UNREAD_HEADER = 'Unread';
|
const UNREAD_HEADER = 'Unread';
|
||||||
|
@ -129,7 +129,8 @@ class RoomsListView extends React.Component {
|
||||||
connected: PropTypes.bool,
|
connected: PropTypes.bool,
|
||||||
isMasterDetail: PropTypes.bool,
|
isMasterDetail: PropTypes.bool,
|
||||||
rooms: PropTypes.array,
|
rooms: PropTypes.array,
|
||||||
width: PropTypes.number
|
width: PropTypes.number,
|
||||||
|
insets: PropTypes.object
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
@ -151,8 +152,22 @@ class RoomsListView extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.getSubscriptions();
|
const {
|
||||||
const { navigation, closeServerDropdown } = this.props;
|
navigation, closeServerDropdown, appState
|
||||||
|
} = this.props;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* - When didMount is triggered and appState is foreground,
|
||||||
|
* it means the user is logging in and selectServer has ran, so we can getSubscriptions
|
||||||
|
*
|
||||||
|
* - When didMount is triggered and appState is background,
|
||||||
|
* it means the user has resumed the app, so selectServer needs to be triggered,
|
||||||
|
* which is going to change server and getSubscriptions will be triggered by componentWillReceiveProps
|
||||||
|
*/
|
||||||
|
if (appState === 'foreground') {
|
||||||
|
this.getSubscriptions();
|
||||||
|
}
|
||||||
|
|
||||||
if (isTablet) {
|
if (isTablet) {
|
||||||
EventEmitter.addEventListener(KEY_COMMAND, this.handleCommands);
|
EventEmitter.addEventListener(KEY_COMMAND, this.handleCommands);
|
||||||
}
|
}
|
||||||
|
@ -228,7 +243,7 @@ class RoomsListView extends React.Component {
|
||||||
loading,
|
loading,
|
||||||
search
|
search
|
||||||
} = this.state;
|
} = this.state;
|
||||||
const { rooms, width } = this.props;
|
const { rooms, width, insets } = this.props;
|
||||||
if (nextState.loading !== loading) {
|
if (nextState.loading !== loading) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -241,6 +256,9 @@ class RoomsListView extends React.Component {
|
||||||
if (!isEqual(nextProps.rooms, rooms)) {
|
if (!isEqual(nextProps.rooms, rooms)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (!isEqual(nextProps.insets, insets)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// If it's focused and there are changes, update
|
// If it's focused and there are changes, update
|
||||||
if (chatsNotEqual) {
|
if (chatsNotEqual) {
|
||||||
this.shouldUpdate = false;
|
this.shouldUpdate = false;
|
||||||
|
@ -259,7 +277,8 @@ class RoomsListView extends React.Component {
|
||||||
connected,
|
connected,
|
||||||
roomsRequest,
|
roomsRequest,
|
||||||
rooms,
|
rooms,
|
||||||
isMasterDetail
|
isMasterDetail,
|
||||||
|
insets
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const { item } = this.state;
|
const { item } = this.state;
|
||||||
|
|
||||||
|
@ -284,6 +303,9 @@ class RoomsListView extends React.Component {
|
||||||
// eslint-disable-next-line react/no-did-update-set-state
|
// eslint-disable-next-line react/no-did-update-set-state
|
||||||
this.setState({ item: { rid: rooms[0] } });
|
this.setState({ item: { rid: rooms[0] } });
|
||||||
}
|
}
|
||||||
|
if (insets.left !== prevProps.insets.left || insets.right !== prevProps.insets.right) {
|
||||||
|
this.setHeader();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
|
@ -304,9 +326,11 @@ class RoomsListView extends React.Component {
|
||||||
|
|
||||||
getHeader = () => {
|
getHeader = () => {
|
||||||
const { searching } = this.state;
|
const { searching } = this.state;
|
||||||
const { navigation, isMasterDetail } = this.props;
|
const { navigation, isMasterDetail, insets } = this.props;
|
||||||
|
const headerTitlePosition = getHeaderTitlePosition(insets);
|
||||||
return {
|
return {
|
||||||
headerLeft: () => (searching && isAndroid ? (
|
headerTitleAlign: 'left',
|
||||||
|
headerLeft: () => (searching ? (
|
||||||
<CustomHeaderButtons left>
|
<CustomHeaderButtons left>
|
||||||
<Item
|
<Item
|
||||||
title='cancel'
|
title='cancel'
|
||||||
|
@ -318,25 +342,32 @@ class RoomsListView extends React.Component {
|
||||||
<DrawerButton
|
<DrawerButton
|
||||||
navigation={navigation}
|
navigation={navigation}
|
||||||
testID='rooms-list-view-sidebar'
|
testID='rooms-list-view-sidebar'
|
||||||
onPress={isMasterDetail ? () => navigation.navigate('ModalStackNavigator', { screen: 'SettingsView' }) : () => navigation.toggleDrawer()}
|
onPress={isMasterDetail
|
||||||
|
? () => navigation.navigate('ModalStackNavigator', { screen: 'SettingsView' })
|
||||||
|
: () => navigation.toggleDrawer()}
|
||||||
/>
|
/>
|
||||||
)),
|
)),
|
||||||
headerTitle: () => <RoomsListHeaderView />,
|
headerTitle: () => <RoomsListHeaderView />,
|
||||||
headerRight: () => (searching && isAndroid ? null : (
|
headerTitleContainerStyle: {
|
||||||
|
left: headerTitlePosition.left,
|
||||||
|
right: headerTitlePosition.right
|
||||||
|
},
|
||||||
|
headerRight: () => (searching ? null : (
|
||||||
<CustomHeaderButtons>
|
<CustomHeaderButtons>
|
||||||
{isAndroid ? (
|
|
||||||
<Item
|
|
||||||
title='search'
|
|
||||||
iconName='magnifier'
|
|
||||||
onPress={this.initSearching}
|
|
||||||
/>
|
|
||||||
) : null}
|
|
||||||
<Item
|
<Item
|
||||||
title='new'
|
title='new'
|
||||||
iconName='new-chat'
|
iconName='new-chat'
|
||||||
onPress={isMasterDetail ? () => navigation.navigate('ModalStackNavigator', { screen: 'NewMessageView' }) : () => navigation.navigate('NewMessageStackNavigator')}
|
onPress={isMasterDetail
|
||||||
|
? () => navigation.navigate('ModalStackNavigator', { screen: 'NewMessageView' })
|
||||||
|
: () => navigation.navigate('NewMessageStackNavigator')}
|
||||||
testID='rooms-list-view-create-channel'
|
testID='rooms-list-view-create-channel'
|
||||||
/>
|
/>
|
||||||
|
<Item
|
||||||
|
title='search'
|
||||||
|
iconName='magnifier'
|
||||||
|
onPress={this.initSearching}
|
||||||
|
testID='rooms-list-view-search'
|
||||||
|
/>
|
||||||
</CustomHeaderButtons>
|
</CustomHeaderButtons>
|
||||||
))
|
))
|
||||||
};
|
};
|
||||||
|
@ -397,7 +428,7 @@ class RoomsListView extends React.Component {
|
||||||
let tempChats = [];
|
let tempChats = [];
|
||||||
let chats = [];
|
let chats = [];
|
||||||
if (sortBy === 'alphabetical') {
|
if (sortBy === 'alphabetical') {
|
||||||
chats = orderBy(data, ['name'], ['asc']);
|
chats = orderBy(data, [`${ this.useRealName ? 'fname' : 'name' }`], ['asc']);
|
||||||
} else {
|
} else {
|
||||||
chats = orderBy(data, ['roomUpdatedAt'], ['desc']);
|
chats = orderBy(data, ['roomUpdatedAt'], ['desc']);
|
||||||
}
|
}
|
||||||
|
@ -462,10 +493,8 @@ class RoomsListView extends React.Component {
|
||||||
initSearching = () => {
|
initSearching = () => {
|
||||||
const { openSearchHeader } = this.props;
|
const { openSearchHeader } = this.props;
|
||||||
this.internalSetState({ searching: true }, () => {
|
this.internalSetState({ searching: true }, () => {
|
||||||
if (isAndroid) {
|
openSearchHeader();
|
||||||
openSearchHeader();
|
this.setHeader();
|
||||||
this.setHeader();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -479,18 +508,11 @@ class RoomsListView extends React.Component {
|
||||||
|
|
||||||
Keyboard.dismiss();
|
Keyboard.dismiss();
|
||||||
|
|
||||||
if (isIOS && this.inputRef) {
|
|
||||||
this.inputRef.blur();
|
|
||||||
this.inputRef.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState({ searching: false, search: [] }, () => {
|
this.setState({ searching: false, search: [] }, () => {
|
||||||
if (isAndroid) {
|
this.setHeader();
|
||||||
this.setHeader();
|
closeSearchHeader();
|
||||||
closeSearchHeader();
|
|
||||||
}
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const offset = isAndroid ? 0 : SCROLL_OFFSET;
|
const offset = 0;
|
||||||
if (this.scroll.scrollTo) {
|
if (this.scroll.scrollTo) {
|
||||||
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
||||||
} else if (this.scroll.scrollToOffset) {
|
} else if (this.scroll.scrollToOffset) {
|
||||||
|
@ -550,7 +572,7 @@ class RoomsListView extends React.Component {
|
||||||
toggleSort = () => {
|
toggleSort = () => {
|
||||||
const { toggleSortDropdown } = this.props;
|
const { toggleSortDropdown } = this.props;
|
||||||
|
|
||||||
const offset = isAndroid ? 0 : SCROLL_OFFSET;
|
const offset = 0;
|
||||||
if (this.scroll.scrollTo) {
|
if (this.scroll.scrollTo) {
|
||||||
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
||||||
} else if (this.scroll.scrollToOffset) {
|
} else if (this.scroll.scrollToOffset) {
|
||||||
|
@ -700,8 +722,7 @@ class RoomsListView extends React.Component {
|
||||||
if (handleCommandShowPreferences(event)) {
|
if (handleCommandShowPreferences(event)) {
|
||||||
navigation.navigate('SettingsView');
|
navigation.navigate('SettingsView');
|
||||||
} else if (handleCommandSearching(event)) {
|
} else if (handleCommandSearching(event)) {
|
||||||
this.scroll.scrollToOffset({ animated: true, offset: 0 });
|
this.initSearching();
|
||||||
this.inputRef.focus();
|
|
||||||
} else if (handleCommandSelectRoom(event)) {
|
} else if (handleCommandSelectRoom(event)) {
|
||||||
this.goRoomByIndex(input);
|
this.goRoomByIndex(input);
|
||||||
} else if (handleCommandPreviousRoom(event)) {
|
} else if (handleCommandPreviousRoom(event)) {
|
||||||
|
@ -730,19 +751,13 @@ class RoomsListView extends React.Component {
|
||||||
|
|
||||||
getScrollRef = ref => (this.scroll = ref);
|
getScrollRef = ref => (this.scroll = ref);
|
||||||
|
|
||||||
getInputRef = ref => (this.inputRef = ref);
|
|
||||||
|
|
||||||
renderListHeader = () => {
|
renderListHeader = () => {
|
||||||
const { searching } = this.state;
|
const { searching } = this.state;
|
||||||
const { sortBy } = this.props;
|
const { sortBy } = this.props;
|
||||||
return (
|
return (
|
||||||
<ListHeader
|
<ListHeader
|
||||||
inputRef={this.getInputRef}
|
|
||||||
searching={searching}
|
searching={searching}
|
||||||
sortBy={sortBy}
|
sortBy={sortBy}
|
||||||
onChangeSearchText={this.search}
|
|
||||||
onCancelSearchPress={this.cancelSearch}
|
|
||||||
onSearchFocus={this.initSearching}
|
|
||||||
toggleSort={this.toggleSort}
|
toggleSort={this.toggleSort}
|
||||||
goDirectory={this.goDirectory}
|
goDirectory={this.goDirectory}
|
||||||
/>
|
/>
|
||||||
|
@ -855,7 +870,6 @@ class RoomsListView extends React.Component {
|
||||||
ref={this.getScrollRef}
|
ref={this.getScrollRef}
|
||||||
data={searching ? search : chats}
|
data={searching ? search : chats}
|
||||||
extraData={searching ? search : chats}
|
extraData={searching ? search : chats}
|
||||||
contentOffset={isIOS ? { x: 0, y: SCROLL_OFFSET } : {}}
|
|
||||||
keyExtractor={keyExtractor}
|
keyExtractor={keyExtractor}
|
||||||
style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]}
|
style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]}
|
||||||
renderItem={this.renderItem}
|
renderItem={this.renderItem}
|
||||||
|
@ -939,4 +953,4 @@ const mapDispatchToProps = dispatch => ({
|
||||||
closeServerDropdown: () => dispatch(closeServerDropdownAction())
|
closeServerDropdown: () => dispatch(closeServerDropdownAction())
|
||||||
});
|
});
|
||||||
|
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(withDimensions(withTheme(RoomsListView)));
|
export default connect(mapStateToProps, mapDispatchToProps)(withDimensions(withTheme(withSafeAreaInsets(RoomsListView))));
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default StyleSheet.create({
|
||||||
sortToggleText: {
|
sortToggleText: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
flex: 1,
|
flex: 1,
|
||||||
marginLeft: 15,
|
marginLeft: 12,
|
||||||
...sharedStyles.textRegular
|
...sharedStyles.textRegular
|
||||||
},
|
},
|
||||||
dropdownContainer: {
|
dropdownContainer: {
|
||||||
|
@ -50,16 +50,16 @@ export default StyleSheet.create({
|
||||||
},
|
},
|
||||||
sortSeparator: {
|
sortSeparator: {
|
||||||
height: StyleSheet.hairlineWidth,
|
height: StyleSheet.hairlineWidth,
|
||||||
marginHorizontal: 15,
|
marginHorizontal: 12,
|
||||||
flex: 1
|
flex: 1
|
||||||
},
|
},
|
||||||
sortIcon: {
|
sortIcon: {
|
||||||
width: 22,
|
width: 22,
|
||||||
height: 22,
|
height: 22,
|
||||||
marginHorizontal: 15
|
marginHorizontal: 12
|
||||||
},
|
},
|
||||||
groupTitleContainer: {
|
groupTitleContainer: {
|
||||||
paddingHorizontal: 15,
|
paddingHorizontal: 12,
|
||||||
paddingTop: 17,
|
paddingTop: 17,
|
||||||
paddingBottom: 10
|
paddingBottom: 10
|
||||||
},
|
},
|
||||||
|
@ -75,12 +75,12 @@ export default StyleSheet.create({
|
||||||
},
|
},
|
||||||
serverHeaderText: {
|
serverHeaderText: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
marginLeft: 15,
|
marginLeft: 12,
|
||||||
...sharedStyles.textRegular
|
...sharedStyles.textRegular
|
||||||
},
|
},
|
||||||
serverHeaderAdd: {
|
serverHeaderAdd: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
marginRight: 15,
|
marginRight: 12,
|
||||||
paddingVertical: 10,
|
paddingVertical: 10,
|
||||||
...sharedStyles.textRegular
|
...sharedStyles.textRegular
|
||||||
},
|
},
|
||||||
|
@ -95,7 +95,7 @@ export default StyleSheet.create({
|
||||||
serverIcon: {
|
serverIcon: {
|
||||||
width: 42,
|
width: 42,
|
||||||
height: 42,
|
height: 42,
|
||||||
marginHorizontal: 15,
|
marginHorizontal: 12,
|
||||||
marginVertical: 13,
|
marginVertical: 13,
|
||||||
borderRadius: 4,
|
borderRadius: 4,
|
||||||
resizeMode: 'contain'
|
resizeMode: 'contain'
|
||||||
|
@ -120,7 +120,7 @@ export default StyleSheet.create({
|
||||||
directoryIcon: {
|
directoryIcon: {
|
||||||
width: 22,
|
width: 22,
|
||||||
height: 22,
|
height: 22,
|
||||||
marginHorizontal: 15
|
marginHorizontal: 12
|
||||||
},
|
},
|
||||||
directoryText: {
|
directoryText: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
|
|
|
@ -36,7 +36,7 @@ const styles = StyleSheet.create({
|
||||||
|
|
||||||
const Header = React.memo(({ room, thread, theme }) => {
|
const Header = React.memo(({ room, thread, theme }) => {
|
||||||
let type;
|
let type;
|
||||||
if (thread?.tmid) {
|
if (thread?.id) {
|
||||||
type = 'thread';
|
type = 'thread';
|
||||||
} else if (room?.prid) {
|
} else if (room?.prid) {
|
||||||
type = 'discussion';
|
type = 'discussion';
|
||||||
|
|
|
@ -189,7 +189,7 @@ class ShareView extends Component {
|
||||||
path,
|
path,
|
||||||
store: 'Uploads'
|
store: 'Uploads'
|
||||||
},
|
},
|
||||||
thread?.tmid,
|
thread?.id,
|
||||||
server,
|
server,
|
||||||
{ id: user.id, token: user.token }
|
{ id: user.id, token: user.token }
|
||||||
);
|
);
|
||||||
|
@ -199,7 +199,7 @@ class ShareView extends Component {
|
||||||
|
|
||||||
// Send text message
|
// Send text message
|
||||||
} else if (text.length) {
|
} else if (text.length) {
|
||||||
await RocketChat.sendMessage(room.rid, text, thread?.tmid, { id: user.id, token: user.token });
|
await RocketChat.sendMessage(room.rid, text, thread?.id, { id: user.id, token: user.token });
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
|
|
|
@ -72,6 +72,14 @@ async function sleep(ms) {
|
||||||
return new Promise(res => setTimeout(res, ms));
|
return new Promise(res => setTimeout(res, ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function searchRoom(room) {
|
||||||
|
await element(by.id('rooms-list-view-search')).tap();
|
||||||
|
await expect(element(by.id('rooms-list-view-search-input'))).toExist();
|
||||||
|
await waitFor(element(by.id('rooms-list-view-search-input'))).toExist().withTimeout(5000);
|
||||||
|
await element(by.id('rooms-list-view-search-input')).typeText(room);
|
||||||
|
await sleep(2000);
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
navigateToWorkspace,
|
navigateToWorkspace,
|
||||||
navigateToLogin,
|
navigateToLogin,
|
||||||
|
@ -80,5 +88,6 @@ module.exports = {
|
||||||
logout,
|
logout,
|
||||||
createUser,
|
createUser,
|
||||||
tapBack,
|
tapBack,
|
||||||
sleep
|
sleep,
|
||||||
|
searchRoom
|
||||||
};
|
};
|
|
@ -3,7 +3,7 @@ const {
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const OTP = require('otp.js');
|
const OTP = require('otp.js');
|
||||||
const GA = OTP.googleAuthenticator;
|
const GA = OTP.googleAuthenticator;
|
||||||
const { navigateToLogin, login, tapBack, sleep, createUser } = require('../../helpers/app');
|
const { navigateToLogin, login, tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
const data = require('../../data');
|
const data = require('../../data');
|
||||||
|
|
||||||
describe('Broadcast room', () => {
|
describe('Broadcast room', () => {
|
||||||
|
@ -73,9 +73,7 @@ describe('Broadcast room', () => {
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
await element(by.id('two-factor-send')).tap();
|
await element(by.id('two-factor-send')).tap();
|
||||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||||
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
|
await searchRoom(`broadcast${ data.random }`);
|
||||||
await element(by.id('rooms-list-view-search')).typeText(`broadcast${ data.random }`);
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist().withTimeout(60000);
|
||||||
await expect(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist();
|
await expect(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist();
|
||||||
await element(by.id(`rooms-list-view-item-broadcast${ data.random }`)).tap();
|
await element(by.id(`rooms-list-view-item-broadcast${ data.random }`)).tap();
|
||||||
|
|
|
@ -2,7 +2,7 @@ const {
|
||||||
device, expect, element, by, waitFor
|
device, expect, element, by, waitFor
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const data = require('../../data');
|
const data = require('../../data');
|
||||||
const { tapBack, sleep } = require('../../helpers/app');
|
const { tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
|
|
||||||
const room = 'detox-public';
|
const room = 'detox-public';
|
||||||
|
|
||||||
|
@ -16,9 +16,7 @@ async function mockMessage(message) {
|
||||||
|
|
||||||
async function navigateToRoom() {
|
async function navigateToRoom() {
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
|
await searchRoom(room);
|
||||||
await element(by.id('rooms-list-view-search')).typeText(room);
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0)).toBeVisible().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0)).toBeVisible().withTimeout(60000);
|
||||||
await element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0).tap();
|
await element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0).tap();
|
||||||
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
|
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const {
|
const {
|
||||||
device, expect, element, by, waitFor
|
device, expect, element, by, waitFor
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const { logout, tapBack, sleep } = require('../../helpers/app');
|
const { logout, tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
|
|
||||||
describe('Rooms list screen', () => {
|
describe('Rooms list screen', () => {
|
||||||
describe('Render', () => {
|
describe('Render', () => {
|
||||||
|
@ -27,10 +27,7 @@ describe('Rooms list screen', () => {
|
||||||
|
|
||||||
describe('Usage', () => {
|
describe('Usage', () => {
|
||||||
it('should search room and navigate', async() => {
|
it('should search room and navigate', async() => {
|
||||||
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
|
await searchRoom('rocket.cat');
|
||||||
await waitFor(element(by.id('rooms-list-view-search'))).toExist().withTimeout(2000);
|
|
||||||
await element(by.id('rooms-list-view-search')).typeText('rocket.cat');
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible().withTimeout(60000);
|
await waitFor(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible().withTimeout(60000);
|
||||||
await expect(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible();
|
await expect(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible();
|
||||||
await element(by.id('rooms-list-view-item-rocket.cat')).tap();
|
await element(by.id('rooms-list-view-item-rocket.cat')).tap();
|
||||||
|
@ -41,7 +38,6 @@ describe('Rooms list screen', () => {
|
||||||
await tapBack();
|
await tapBack();
|
||||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(2000);
|
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(2000);
|
||||||
await expect(element(by.id('rooms-list-view'))).toBeVisible();
|
await expect(element(by.id('rooms-list-view'))).toBeVisible();
|
||||||
// await element(by.id('rooms-list-view-search')).typeText('');
|
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
await waitFor(element(by.id('rooms-list-view-item-rocket.cat'))).toExist().withTimeout(60000);
|
await waitFor(element(by.id('rooms-list-view-item-rocket.cat'))).toExist().withTimeout(60000);
|
||||||
await expect(element(by.id('rooms-list-view-item-rocket.cat'))).toExist();
|
await expect(element(by.id('rooms-list-view-item-rocket.cat'))).toExist();
|
||||||
|
|
|
@ -2,7 +2,7 @@ const {
|
||||||
device, expect, element, by, waitFor
|
device, expect, element, by, waitFor
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const data = require('../../data');
|
const data = require('../../data');
|
||||||
const { tapBack, sleep } = require('../../helpers/app');
|
const { tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
|
|
||||||
async function mockMessage(message) {
|
async function mockMessage(message) {
|
||||||
await element(by.id('messagebox-input')).tap();
|
await element(by.id('messagebox-input')).tap();
|
||||||
|
@ -13,9 +13,7 @@ async function mockMessage(message) {
|
||||||
};
|
};
|
||||||
|
|
||||||
async function navigateToRoom() {
|
async function navigateToRoom() {
|
||||||
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
|
await searchRoom(`private${ data.random }`);
|
||||||
await element(by.id('rooms-list-view-search')).typeText(`private${ data.random }`);
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-private${ data.random }`))).toExist().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-private${ data.random }`))).toExist().withTimeout(60000);
|
||||||
await element(by.id(`rooms-list-view-item-private${ data.random }`)).tap();
|
await element(by.id(`rooms-list-view-item-private${ data.random }`)).tap();
|
||||||
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
|
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
|
||||||
|
|
|
@ -2,7 +2,7 @@ const {
|
||||||
device, expect, element, by, waitFor
|
device, expect, element, by, waitFor
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const data = require('../../data');
|
const data = require('../../data');
|
||||||
const { tapBack, sleep } = require('../../helpers/app');
|
const { tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
|
|
||||||
const scrollDown = 200;
|
const scrollDown = 200;
|
||||||
|
|
||||||
|
@ -13,10 +13,7 @@ async function navigateToRoomActions(type) {
|
||||||
} else {
|
} else {
|
||||||
room = `private${ data.random }`;
|
room = `private${ data.random }`;
|
||||||
}
|
}
|
||||||
await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(10000);
|
await searchRoom(room);
|
||||||
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
|
|
||||||
await element(by.id('rooms-list-view-search')).typeText(room);
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
|
||||||
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
|
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
|
||||||
await waitFor(element(by.id('room-view'))).toExist().withTimeout(2000);
|
await waitFor(element(by.id('room-view'))).toExist().withTimeout(2000);
|
||||||
|
|
|
@ -2,7 +2,7 @@ const {
|
||||||
device, expect, element, by, waitFor
|
device, expect, element, by, waitFor
|
||||||
} = require('detox');
|
} = require('detox');
|
||||||
const data = require('../../data');
|
const data = require('../../data');
|
||||||
const { tapBack, sleep } = require('../../helpers/app');
|
const { tapBack, sleep, searchRoom } = require('../../helpers/app');
|
||||||
|
|
||||||
async function navigateToRoomInfo(type) {
|
async function navigateToRoomInfo(type) {
|
||||||
let room;
|
let room;
|
||||||
|
@ -11,10 +11,7 @@ async function navigateToRoomInfo(type) {
|
||||||
} else {
|
} else {
|
||||||
room = `private${ data.random }`;
|
room = `private${ data.random }`;
|
||||||
}
|
}
|
||||||
await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(10000);
|
await searchRoom(room);
|
||||||
await element(by.type('UIScrollView')).atIndex(1).swipe('down');
|
|
||||||
await element(by.id('rooms-list-view-search')).typeText(room);
|
|
||||||
await sleep(2000);
|
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
|
||||||
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
|
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
|
||||||
await waitFor(element(by.id('room-view'))).toExist().withTimeout(2000);
|
await waitFor(element(by.id('room-view'))).toExist().withTimeout(2000);
|
||||||
|
@ -311,7 +308,6 @@ describe('Room info screen', () => {
|
||||||
await expect(element(by.text('Yes, delete it!'))).toExist();
|
await expect(element(by.text('Yes, delete it!'))).toExist();
|
||||||
await element(by.text('Yes, delete it!')).tap();
|
await element(by.text('Yes, delete it!')).tap();
|
||||||
await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(10000);
|
await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(10000);
|
||||||
// await element(by.id('rooms-list-view-search')).typeText('');
|
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toBeNotVisible().withTimeout(60000);
|
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toBeNotVisible().withTimeout(60000);
|
||||||
await expect(element(by.id(`rooms-list-view-item-${ room }`))).toBeNotVisible();
|
await expect(element(by.id(`rooms-list-view-item-${ room }`))).toBeNotVisible();
|
||||||
|
|
|
@ -438,8 +438,6 @@ PODS:
|
||||||
- React
|
- React
|
||||||
- rn-fetch-blob (0.12.0):
|
- rn-fetch-blob (0.12.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNAudio (4.3.0):
|
|
||||||
- React
|
|
||||||
- RNBootSplash (2.2.4):
|
- RNBootSplash (2.2.4):
|
||||||
- React
|
- React
|
||||||
- RNCAsyncStorage (1.10.3):
|
- RNCAsyncStorage (1.10.3):
|
||||||
|
@ -589,7 +587,6 @@ DEPENDENCIES:
|
||||||
- ReactNativeKeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`)
|
- ReactNativeKeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`)
|
||||||
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
||||||
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
||||||
- RNAudio (from `../node_modules/react-native-audio`)
|
|
||||||
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
||||||
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
|
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
|
||||||
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
||||||
|
@ -758,8 +755,6 @@ EXTERNAL SOURCES:
|
||||||
:path: "../node_modules/rn-extensions-share"
|
:path: "../node_modules/rn-extensions-share"
|
||||||
rn-fetch-blob:
|
rn-fetch-blob:
|
||||||
:path: "../node_modules/rn-fetch-blob"
|
:path: "../node_modules/rn-fetch-blob"
|
||||||
RNAudio:
|
|
||||||
:path: "../node_modules/react-native-audio"
|
|
||||||
RNBootSplash:
|
RNBootSplash:
|
||||||
:path: "../node_modules/react-native-bootsplash"
|
:path: "../node_modules/react-native-bootsplash"
|
||||||
RNCAsyncStorage:
|
RNCAsyncStorage:
|
||||||
|
@ -903,7 +898,6 @@ SPEC CHECKSUMS:
|
||||||
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
|
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
|
||||||
rn-extensions-share: 8db79372089567cbc5aefe8444869bbc808578d3
|
rn-extensions-share: 8db79372089567cbc5aefe8444869bbc808578d3
|
||||||
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
||||||
RNAudio: cae2991f2dccb75163f260b60da8051717b959fa
|
|
||||||
RNBootSplash: 7cb9b4fe7e94177edc0d11010f7631d79db2f5e9
|
RNBootSplash: 7cb9b4fe7e94177edc0d11010f7631d79db2f5e9
|
||||||
RNCAsyncStorage: cd7234ff15c010723ed7c499ae4eedc605eac1fd
|
RNCAsyncStorage: cd7234ff15c010723ed7c499ae4eedc605eac1fd
|
||||||
RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
|
RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../node_modules/react-native-audio/ios/AudioRecorderManager.h
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../node_modules/react-native-audio/ios/AudioRecorderManager.h
|
|
|
@ -438,8 +438,6 @@ PODS:
|
||||||
- React
|
- React
|
||||||
- rn-fetch-blob (0.12.0):
|
- rn-fetch-blob (0.12.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNAudio (4.3.0):
|
|
||||||
- React
|
|
||||||
- RNBootSplash (2.2.4):
|
- RNBootSplash (2.2.4):
|
||||||
- React
|
- React
|
||||||
- RNCAsyncStorage (1.10.3):
|
- RNCAsyncStorage (1.10.3):
|
||||||
|
@ -589,7 +587,6 @@ DEPENDENCIES:
|
||||||
- ReactNativeKeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`)
|
- ReactNativeKeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`)
|
||||||
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
||||||
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
||||||
- RNAudio (from `../node_modules/react-native-audio`)
|
|
||||||
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
||||||
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
|
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
|
||||||
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
||||||
|
@ -758,8 +755,6 @@ EXTERNAL SOURCES:
|
||||||
:path: "../node_modules/rn-extensions-share"
|
:path: "../node_modules/rn-extensions-share"
|
||||||
rn-fetch-blob:
|
rn-fetch-blob:
|
||||||
:path: "../node_modules/rn-fetch-blob"
|
:path: "../node_modules/rn-fetch-blob"
|
||||||
RNAudio:
|
|
||||||
:path: "../node_modules/react-native-audio"
|
|
||||||
RNBootSplash:
|
RNBootSplash:
|
||||||
:path: "../node_modules/react-native-bootsplash"
|
:path: "../node_modules/react-native-bootsplash"
|
||||||
RNCAsyncStorage:
|
RNCAsyncStorage:
|
||||||
|
@ -903,7 +898,6 @@ SPEC CHECKSUMS:
|
||||||
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
|
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
|
||||||
rn-extensions-share: 8db79372089567cbc5aefe8444869bbc808578d3
|
rn-extensions-share: 8db79372089567cbc5aefe8444869bbc808578d3
|
||||||
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
||||||
RNAudio: cae2991f2dccb75163f260b60da8051717b959fa
|
|
||||||
RNBootSplash: 7cb9b4fe7e94177edc0d11010f7631d79db2f5e9
|
RNBootSplash: 7cb9b4fe7e94177edc0d11010f7631d79db2f5e9
|
||||||
RNCAsyncStorage: cd7234ff15c010723ed7c499ae4eedc605eac1fd
|
RNCAsyncStorage: cd7234ff15c010723ed7c499ae4eedc605eac1fd
|
||||||
RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
|
RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2963,31 +2963,6 @@ limitations under the License.
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
## RNAudio
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) [2016] [Joshua Sierles]
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
## RNBootSplash
|
## RNBootSplash
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
|
|
|
@ -3148,37 +3148,6 @@ limitations under the License.
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
<dict>
|
|
||||||
<key>FooterText</key>
|
|
||||||
<string>The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) [2016] [Joshua Sierles]
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
</string>
|
|
||||||
<key>License</key>
|
|
||||||
<string>MIT</string>
|
|
||||||
<key>Title</key>
|
|
||||||
<string>RNAudio</string>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>PSGroupSpecifier</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>MIT License
|
<string>MIT License
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNAudio" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNAudio" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Flipper" -l"Flipper-DoubleConversion" -l"Flipper-Folly" -l"Flipper-Glog" -l"Flipper-PeerTalk" -l"Flipper-RSocket" -l"FlipperKit" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNAudio" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Flipper" -l"Flipper-DoubleConversion" -l"Flipper-Folly" -l"Flipper-Glog" -l"Flipper-PeerTalk" -l"Flipper-RSocket" -l"FlipperKit" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNAudio" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNAudio" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNAudio" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|
|
@ -2963,31 +2963,6 @@ limitations under the License.
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
## RNAudio
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) [2016] [Joshua Sierles]
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
## RNBootSplash
|
## RNBootSplash
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
|
|
|
@ -3148,37 +3148,6 @@ limitations under the License.
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
<dict>
|
|
||||||
<key>FooterText</key>
|
|
||||||
<string>The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) [2016] [Joshua Sierles]
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
</string>
|
|
||||||
<key>License</key>
|
|
||||||
<string>MIT</string>
|
|
||||||
<key>Title</key>
|
|
||||||
<string>RNAudio</string>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>PSGroupSpecifier</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>MIT License
|
<string>MIT License
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNAudio" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNAudio" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk" "${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket" "${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Flipper" -l"Flipper-DoubleConversion" -l"Flipper-Folly" -l"Flipper-Glog" -l"Flipper-PeerTalk" -l"Flipper-RSocket" -l"FlipperKit" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNAudio" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Flipper" -l"Flipper-DoubleConversion" -l"Flipper-Folly" -l"Flipper-Glog" -l"Flipper-PeerTalk" -l"Flipper-RSocket" -l"FlipperKit" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/JitsiMeetSDK/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SD_WEBP=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNAudio" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnosticsInterop" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNFirebase" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNUserDefaults" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" "$(PODS_ROOT)/Headers/Private/React-Core"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNAudio" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BugsnagReactNative" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion" "${PODS_CONFIGURATION_BUILD_DIR}/EXAV" "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants" "${PODS_CONFIGURATION_BUILD_DIR}/EXFileSystem" "${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics" "${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader" "${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake" "${PODS_CONFIGURATION_BUILD_DIR}/EXLocalAuthentication" "${PODS_CONFIGURATION_BUILD_DIR}/EXPermissions" "${PODS_CONFIGURATION_BUILD_DIR}/EXVideoThumbnails" "${PODS_CONFIGURATION_BUILD_DIR}/EXWebBrowser" "${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/Folly" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/KeyCommands" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety" "${PODS_CONFIGURATION_BUILD_DIR}/RNBootSplash" "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage" "${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView" "${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage" "${PODS_CONFIGURATION_BUILD_DIR}/RNFirebase" "${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNLocalize" "${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated" "${PODS_CONFIGURATION_BUILD_DIR}/RNRootView" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RNUserDefaults" "${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons" "${PODS_CONFIGURATION_BUILD_DIR}/React-Core" "${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText" "${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration" "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsi" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor" "${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector" "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput" "${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder" "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController" "${PODS_CONFIGURATION_BUILD_DIR}/UMAppLoader" "${PODS_CONFIGURATION_BUILD_DIR}/UMCore" "${PODS_CONFIGURATION_BUILD_DIR}/UMPermissionsInterface" "${PODS_CONFIGURATION_BUILD_DIR}/UMReactNativeAdapter" "${PODS_CONFIGURATION_BUILD_DIR}/Yoga" "${PODS_CONFIGURATION_BUILD_DIR}/YogaKit" "${PODS_CONFIGURATION_BUILD_DIR}/glog" "${PODS_CONFIGURATION_BUILD_DIR}/libwebp" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-appearance" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-timer" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/rn-extensions-share" "${PODS_CONFIGURATION_BUILD_DIR}/rn-fetch-blob" "${PODS_ROOT}/CocoaLibEvent/lib" "${PODS_ROOT}/OpenSSL-Universal/ios/lib"
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNAudio" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"BugsnagReactNative" -l"CocoaAsyncSocket" -l"DoubleConversion" -l"EXAV" -l"EXConstants" -l"EXFileSystem" -l"EXHaptics" -l"EXImageLoader" -l"EXKeepAwake" -l"EXLocalAuthentication" -l"EXPermissions" -l"EXVideoThumbnails" -l"EXWebBrowser" -l"FBReactNativeSpec" -l"FirebaseCore" -l"FirebaseCoreDiagnostics" -l"FirebaseInstallations" -l"Folly" -l"GoogleDataTransport" -l"GoogleDataTransportCCTSupport" -l"GoogleUtilities" -l"KeyCommands" -l"PromisesObjC" -l"RCTTypeSafety" -l"RNBootSplash" -l"RNCAsyncStorage" -l"RNCMaskedView" -l"RNDateTimePicker" -l"RNDeviceInfo" -l"RNFastImage" -l"RNFirebase" -l"RNGestureHandler" -l"RNImageCropPicker" -l"RNLocalize" -l"RNReanimated" -l"RNRootView" -l"RNScreens" -l"RNUserDefaults" -l"RNVectorIcons" -l"React-Core" -l"React-CoreModules" -l"React-RCTAnimation" -l"React-RCTBlob" -l"React-RCTImage" -l"React-RCTLinking" -l"React-RCTNetwork" -l"React-RCTSettings" -l"React-RCTText" -l"React-RCTVibration" -l"React-cxxreact" -l"React-jsi" -l"React-jsiexecutor" -l"React-jsinspector" -l"ReactCommon" -l"ReactNativeART" -l"ReactNativeKeyboardInput" -l"ReactNativeKeyboardTrackingView" -l"SDWebImage" -l"SDWebImageWebPCoder" -l"TOCropViewController" -l"UMAppLoader" -l"UMCore" -l"UMPermissionsInterface" -l"UMReactNativeAdapter" -l"Yoga" -l"YogaKit" -l"c++" -l"crypto" -l"event" -l"event_core" -l"event_extra" -l"event_pthreads" -l"glog" -l"libwebp" -l"nanopb" -l"react-native-appearance" -l"react-native-background-timer" -l"react-native-cameraroll" -l"react-native-document-picker" -l"react-native-jitsi-meet" -l"react-native-notifications" -l"react-native-orientation-locker" -l"react-native-safe-area-context" -l"react-native-slider" -l"react-native-webview" -l"rn-extensions-share" -l"rn-fetch-blob" -l"sqlite3" -l"ssl" -l"stdc++" -l"z" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreTelephony" -framework "Crashlytics" -framework "FIRAnalyticsConnector" -framework "Fabric" -framework "FirebaseAnalytics" -framework "Foundation" -framework "GoogleAppMeasurement" -framework "ImageIO" -framework "JavaScriptCore" -framework "JitsiMeet" -framework "MessageUI" -framework "MobileCoreServices" -framework "Photos" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/YogaKit/YogaKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
@interface PodsDummy_RNAudio : NSObject
|
|
||||||
@end
|
|
||||||
@implementation PodsDummy_RNAudio
|
|
||||||
@end
|
|
|
@ -1,12 +0,0 @@
|
||||||
#ifdef __OBJC__
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
#else
|
|
||||||
#ifndef FOUNDATION_EXPORT
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
#define FOUNDATION_EXPORT extern "C"
|
|
||||||
#else
|
|
||||||
#define FOUNDATION_EXPORT extern
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES
|
|
||||||
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RNAudio
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/RNAudio" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNAudio" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog"
|
|
||||||
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
|
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
|
||||||
PODS_ROOT = ${SRCROOT}
|
|
||||||
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/react-native-audio
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
|
||||||
SKIP_INSTALL = YES
|
|
||||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
|
|
@ -19,7 +19,7 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.8.0</string>
|
<string>4.9.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.8.0</string>
|
<string>4.9.0</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>NSAppTransportSecurity</key>
|
<key>NSAppTransportSecurity</key>
|
||||||
|
|
|
@ -64,7 +64,6 @@
|
||||||
"react-native": "0.62.2",
|
"react-native": "0.62.2",
|
||||||
"react-native-animatable": "^1.3.3",
|
"react-native-animatable": "^1.3.3",
|
||||||
"react-native-appearance": "0.3.4",
|
"react-native-appearance": "0.3.4",
|
||||||
"react-native-audio": "^4.3.0",
|
|
||||||
"react-native-background-timer": "2.2.0",
|
"react-native-background-timer": "2.2.0",
|
||||||
"react-native-bootsplash": "2.2.4",
|
"react-native-bootsplash": "2.2.4",
|
||||||
"react-native-config-reader": "^4.1.1",
|
"react-native-config-reader": "^4.1.1",
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff --git a/node_modules/react-navigation-header-buttons/src/HeaderButtons.js b/node_modules/react-navigation-header-buttons/src/HeaderButtons.js
|
||||||
|
index 70ff376..01fba5e 100644
|
||||||
|
--- a/node_modules/react-navigation-header-buttons/src/HeaderButtons.js
|
||||||
|
+++ b/node_modules/react-navigation-header-buttons/src/HeaderButtons.js
|
||||||
|
@@ -144,6 +144,6 @@ const styles = StyleSheet.create({
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
button: {
|
||||||
|
- marginHorizontal: 11,
|
||||||
|
+ marginHorizontal: 6
|
||||||
|
},
|
||||||
|
});
|
|
@ -11751,11 +11751,6 @@ react-native-appearance@0.3.4:
|
||||||
invariant "^2.2.4"
|
invariant "^2.2.4"
|
||||||
use-subscription "^1.0.0"
|
use-subscription "^1.0.0"
|
||||||
|
|
||||||
react-native-audio@^4.3.0:
|
|
||||||
version "4.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/react-native-audio/-/react-native-audio-4.3.0.tgz#fae22b81f6a4dda706fd4837d0c6a89c66cf2e7e"
|
|
||||||
integrity sha512-QQYq28eSJy+y/Ukvry0AkbwMVELAj+LcEwCVRH+7sKLqlnoBBxGd4ilhgJHjwOiC70192LueGbjXJjPPEwW3iA==
|
|
||||||
|
|
||||||
react-native-background-timer@2.2.0:
|
react-native-background-timer@2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.2.0.tgz#ff82d30899209b924983cc00e6ce174b8de5054a"
|
resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.2.0.tgz#ff82d30899209b924983cc00e6ce174b8de5054a"
|
||||||
|
|
Loading…
Reference in New Issue