Skip to content

Commit c2faf99

Browse files
committed
Resolving comments
1 parent d6854f0 commit c2faf99

File tree

6 files changed

+86
-221
lines changed

6 files changed

+86
-221
lines changed

examples/default/src/screens/FeatureRequestsScreen.tsx

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,19 @@ import React, { useState } from 'react';
33
import { FeatureRequests, ActionType } from 'instabug-reactnative';
44

55
import { ListTile } from '../components/ListTile';
6-
import { Text, Switch, Alert, ToastAndroid, Platform } from 'react-native';
6+
import { Text, Switch } from 'react-native';
77

88
import { Screen } from '../components/Screen';
9+
import { showNotification } from '../utils/showNotification';
910

1011
export const FeatureRequestsScreen: React.FC = () => {
1112
const [isEnabled, setIsEnabled] = useState(false);
1213

1314
const toggleSwitch = (value: boolean) => {
1415
setIsEnabled(value);
1516

16-
// Update APM state here
17-
FeatureRequests.setEmailFieldRequired(value, [ActionType.requestNewFeature]);
18-
// Show Toast message
19-
20-
if (Platform.OS === 'android') {
21-
ToastAndroid.show('Email field required set to ' + value, ToastAndroid.SHORT);
22-
} else {
23-
Alert.alert('Email field required set to ' + value);
24-
}
17+
FeatureRequests.setEmailFieldRequired(value, ActionType.requestNewFeature);
18+
showNotification('Email status', 'Email field required set to ' + value);
2519
};
2620
return (
2721
<Screen>
Lines changed: 37 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,162 +1,117 @@
1-
import React from 'react';
2-
import { useState } from 'react';
3-
import { ToastAndroid, Platform, ActivityIndicator, Alert } from 'react-native';
1+
import React, { useState } from 'react';
2+
import { ActivityIndicator } from 'react-native';
43
import Instabug from 'instabug-reactnative';
54
import { ListTile } from '../components/ListTile';
65
import { Screen } from '../components/Screen';
6+
import { showNotification } from '../utils/showNotification';
77

88
export const LegacyModeScreen: React.FC = () => {
99
const [loading, setLoading] = useState(false);
1010

11-
const logInstabug = (log: string): Promise<void> => {
11+
const addInstabugLog = (log: string): Promise<void> => {
1212
return new Promise<void>((resolve) => {
13-
setTimeout(() => {
14-
Instabug.logDebug(log);
15-
resolve();
16-
}, 100);
13+
Instabug.logDebug(log);
14+
resolve();
1715
});
1816
};
1917

20-
const logUserEvent = (event: string): Promise<void> => {
18+
const addUserEvent = (event: string): Promise<void> => {
2119
return new Promise<void>((resolve) => {
22-
setTimeout(() => {
23-
Instabug.logUserEvent(event);
24-
resolve();
25-
}, 100);
20+
Instabug.logUserEvent(event);
21+
resolve();
2622
});
2723
};
2824
const addTag = (tag: string): Promise<void> => {
2925
return new Promise<void>((resolve) => {
30-
setTimeout(() => {
31-
Instabug.appendTags([tag]);
32-
resolve();
33-
}, 100);
26+
Instabug.appendTags([tag]);
27+
resolve();
3428
});
3529
};
3630
const addUserAttributes = (key: string, value: string): Promise<void> => {
3731
return new Promise<void>((resolve) => {
38-
setTimeout(() => {
39-
Instabug.setUserAttribute(key, value);
40-
resolve();
41-
}, 100);
32+
Instabug.setUserAttribute(key, value);
33+
resolve();
4234
});
4335
};
4436

45-
const getInstabugLogs = async (numberOfLogs: number) => {
37+
const addMultipleInstabugLogs = async (numberOfLogs: number) => {
4638
setLoading(true);
4739
try {
4840
const logPromises: Promise<void>[] = [];
4941
for (let i = 0; i < numberOfLogs; i++) {
50-
logPromises.push(logInstabug(`log ${i}`));
42+
logPromises.push(addInstabugLog(`log ${i}`));
5143
}
52-
5344
await Promise.all(logPromises);
54-
// Logs completed
55-
if (Platform.OS === 'android') {
56-
ToastAndroid.show('Succeeded', ToastAndroid.SHORT);
57-
} else {
58-
Alert.alert('Success', 'Succeeded');
59-
}
45+
showNotification('Success', 'Succeeded');
6046
} catch (error) {
61-
if (Platform.OS === 'android') {
62-
ToastAndroid.show('Failed', ToastAndroid.SHORT);
63-
} else {
64-
Alert.alert('Error', 'Failed');
65-
}
47+
showNotification('Error', 'Failed');
6648
} finally {
6749
setLoading(false);
6850
}
6951
};
7052

71-
const getUserEvents = async (numberOfLogs: number) => {
53+
const addMultipleUserEvents = async (numberOfLogs: number) => {
7254
setLoading(true);
7355
try {
7456
const logPromises: Promise<void>[] = [];
7557
for (let i = 0; i < numberOfLogs; i++) {
76-
logPromises.push(logUserEvent(`test user event ${i}`));
58+
logPromises.push(addUserEvent(`test user event ${i}`));
7759
}
78-
7960
await Promise.all(logPromises);
80-
// Logs completed
81-
if (Platform.OS === 'android') {
82-
ToastAndroid.show('Succeeded', ToastAndroid.SHORT);
83-
} else {
84-
Alert.alert('Success', 'Succeeded');
85-
}
61+
showNotification('Success', 'Succeeded');
8662
} catch (error) {
87-
if (Platform.OS === 'android') {
88-
ToastAndroid.show('Failed', ToastAndroid.SHORT);
89-
} else {
90-
Alert.alert('Error', 'Failed');
91-
}
63+
showNotification('Error', 'Failed');
9264
} finally {
9365
setLoading(false);
9466
}
9567
};
9668

97-
const getTags = async (numberOfLogs: number) => {
69+
const addMultipleTags = async (numberOfLogs: number) => {
9870
setLoading(true);
9971
try {
10072
const logPromises: Promise<void>[] = [];
10173
for (let i = 0; i < numberOfLogs; i++) {
10274
logPromises.push(addTag(`test tag ${i}`));
10375
}
104-
10576
await Promise.all(logPromises);
106-
// Logs completed
107-
if (Platform.OS === 'android') {
108-
ToastAndroid.show('Succeeded', ToastAndroid.SHORT);
109-
} else {
110-
Alert.alert('Success', 'Succeeded');
111-
}
77+
showNotification('Success', 'Succeeded');
11278
} catch (error) {
113-
if (Platform.OS === 'android') {
114-
ToastAndroid.show('Failed', ToastAndroid.SHORT);
115-
} else {
116-
Alert.alert('Error', 'Failed');
117-
}
79+
showNotification('Error', 'Failed');
11880
} finally {
11981
setLoading(false);
12082
}
12183
};
12284

123-
const getUserAttributes = async (numberOfLogs: number) => {
85+
const addMultipleUserAttributes = async (numberOfLogs: number) => {
12486
setLoading(true);
12587
try {
12688
const logPromises: Promise<void>[] = [];
12789
for (let i = 0; i < numberOfLogs; i++) {
12890
logPromises.push(addUserAttributes(`user${i}`, `user${i} value`));
12991
}
130-
13192
await Promise.all(logPromises);
132-
// Logs completed
133-
if (Platform.OS === 'android') {
134-
ToastAndroid.show('Succeeded', ToastAndroid.SHORT);
135-
} else {
136-
Alert.alert('Success', 'Succeeded');
137-
}
93+
showNotification('Success', 'Succeeded');
13894
} catch (error) {
139-
if (Platform.OS === 'android') {
140-
ToastAndroid.show('Failed', ToastAndroid.SHORT);
141-
} else {
142-
Alert.alert('Error', 'Failed');
143-
}
95+
showNotification('Error', 'Failed');
14496
} finally {
14597
setLoading(false);
14698
}
14799
};
148100

149-
// Similar functions for PUT, DELETE, etc. can be added here
150-
151101
return (
152102
<Screen>
153103
{loading && <ActivityIndicator size="large" color="#0000ff" />}
154104

155-
<ListTile title="Attach 10 InstabugLogs at a time" onPress={() => getInstabugLogs(10)} />
156-
{/* <ListTile title="Attacg 10 networks at a time" onPress={() => getNetworkLogs(10)} /> */}
157-
<ListTile title="Attach 10 events at a time" onPress={() => getUserEvents(10)} />
158-
<ListTile title="Attach 10 tags at a time" onPress={() => getTags(10)} />
159-
<ListTile title="Attach 10 user attributes at a time" onPress={() => getUserAttributes(10)} />
105+
<ListTile
106+
title="Attach 10 InstabugLogs at a time"
107+
onPress={() => addMultipleInstabugLogs(10)}
108+
/>
109+
<ListTile title="Attach 10 events at a time" onPress={() => addMultipleUserEvents(10)} />
110+
<ListTile title="Attach 10 tags at a time" onPress={() => addMultipleTags(10)} />
111+
<ListTile
112+
title="Attach 10 user attributes at a time"
113+
onPress={() => addMultipleUserAttributes(10)}
114+
/>
160115
</Screen>
161116
);
162117
};

examples/default/src/screens/apm/APMScreen.tsx

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import type { HomeStackParamList } from '../../navigation/HomeStack';
33
import React, { useState } from 'react';
44
import { ListTile } from '../../components/ListTile';
55
import { Screen } from '../../components/Screen';
6-
import { Text, Switch, Alert, ToastAndroid, Platform } from 'react-native';
6+
import { Text, Switch } from 'react-native';
77
import { APM } from 'instabug-reactnative';
8+
import { showNotification } from '../../utils/showNotification';
89

910
export const APMScreen: React.FC<NativeStackScreenProps<HomeStackParamList, 'APM'>> = ({
1011
navigation,
@@ -13,28 +14,14 @@ export const APMScreen: React.FC<NativeStackScreenProps<HomeStackParamList, 'APM
1314

1415
const toggleSwitch = (value: boolean) => {
1516
setIsEnabled(value);
16-
17-
// Update APM state here
1817
APM.setEnabled(value);
19-
20-
// Show Toast message
21-
22-
if (Platform.OS === 'android') {
23-
ToastAndroid.show('Set APM enabled to ' + value, ToastAndroid.SHORT);
24-
} else {
25-
Alert.alert('Set APM enabled to ' + value);
26-
}
18+
showNotification('APM status', 'APM enabled set to ' + value);
2719
};
2820

2921
return (
3022
<Screen>
3123
<Text>Enable APM:</Text>
3224
<Switch onValueChange={toggleSwitch} value={isEnabled} />
33-
{/* <Text>Enable Cold Launch:</Text>
34-
<Switch
35-
onValueChange={toggleSwitch2}
36-
value={isEnabled2}
37-
/> */}
3825
<ListTile title="End App launch" onPress={() => APM.endAppLaunch()} />
3926
<ListTile title="Network Screen" onPress={() => navigation.navigate('NetworkTraces')} />
4027
<ListTile title="Traces" onPress={() => navigation.navigate('ExecutionTraces')} />

0 commit comments

Comments
 (0)