|
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'; |
4 | 3 | import Instabug from 'instabug-reactnative';
|
5 | 4 | import { ListTile } from '../components/ListTile';
|
6 | 5 | import { Screen } from '../components/Screen';
|
| 6 | +import { showNotification } from '../utils/showNotification'; |
7 | 7 |
|
8 | 8 | export const LegacyModeScreen: React.FC = () => {
|
9 | 9 | const [loading, setLoading] = useState(false);
|
10 | 10 |
|
11 |
| - const logInstabug = (log: string): Promise<void> => { |
| 11 | + const addInstabugLog = (log: string): Promise<void> => { |
12 | 12 | return new Promise<void>((resolve) => {
|
13 |
| - setTimeout(() => { |
14 |
| - Instabug.logDebug(log); |
15 |
| - resolve(); |
16 |
| - }, 100); |
| 13 | + Instabug.logDebug(log); |
| 14 | + resolve(); |
17 | 15 | });
|
18 | 16 | };
|
19 | 17 |
|
20 |
| - const logUserEvent = (event: string): Promise<void> => { |
| 18 | + const addUserEvent = (event: string): Promise<void> => { |
21 | 19 | return new Promise<void>((resolve) => {
|
22 |
| - setTimeout(() => { |
23 |
| - Instabug.logUserEvent(event); |
24 |
| - resolve(); |
25 |
| - }, 100); |
| 20 | + Instabug.logUserEvent(event); |
| 21 | + resolve(); |
26 | 22 | });
|
27 | 23 | };
|
28 | 24 | const addTag = (tag: string): Promise<void> => {
|
29 | 25 | return new Promise<void>((resolve) => {
|
30 |
| - setTimeout(() => { |
31 |
| - Instabug.appendTags([tag]); |
32 |
| - resolve(); |
33 |
| - }, 100); |
| 26 | + Instabug.appendTags([tag]); |
| 27 | + resolve(); |
34 | 28 | });
|
35 | 29 | };
|
36 | 30 | const addUserAttributes = (key: string, value: string): Promise<void> => {
|
37 | 31 | return new Promise<void>((resolve) => {
|
38 |
| - setTimeout(() => { |
39 |
| - Instabug.setUserAttribute(key, value); |
40 |
| - resolve(); |
41 |
| - }, 100); |
| 32 | + Instabug.setUserAttribute(key, value); |
| 33 | + resolve(); |
42 | 34 | });
|
43 | 35 | };
|
44 | 36 |
|
45 |
| - const getInstabugLogs = async (numberOfLogs: number) => { |
| 37 | + const addMultipleInstabugLogs = async (numberOfLogs: number) => { |
46 | 38 | setLoading(true);
|
47 | 39 | try {
|
48 | 40 | const logPromises: Promise<void>[] = [];
|
49 | 41 | for (let i = 0; i < numberOfLogs; i++) {
|
50 |
| - logPromises.push(logInstabug(`log ${i}`)); |
| 42 | + logPromises.push(addInstabugLog(`log ${i}`)); |
51 | 43 | }
|
52 |
| - |
53 | 44 | 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'); |
60 | 46 | } 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'); |
66 | 48 | } finally {
|
67 | 49 | setLoading(false);
|
68 | 50 | }
|
69 | 51 | };
|
70 | 52 |
|
71 |
| - const getUserEvents = async (numberOfLogs: number) => { |
| 53 | + const addMultipleUserEvents = async (numberOfLogs: number) => { |
72 | 54 | setLoading(true);
|
73 | 55 | try {
|
74 | 56 | const logPromises: Promise<void>[] = [];
|
75 | 57 | for (let i = 0; i < numberOfLogs; i++) {
|
76 |
| - logPromises.push(logUserEvent(`test user event ${i}`)); |
| 58 | + logPromises.push(addUserEvent(`test user event ${i}`)); |
77 | 59 | }
|
78 |
| - |
79 | 60 | 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'); |
86 | 62 | } 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'); |
92 | 64 | } finally {
|
93 | 65 | setLoading(false);
|
94 | 66 | }
|
95 | 67 | };
|
96 | 68 |
|
97 |
| - const getTags = async (numberOfLogs: number) => { |
| 69 | + const addMultipleTags = async (numberOfLogs: number) => { |
98 | 70 | setLoading(true);
|
99 | 71 | try {
|
100 | 72 | const logPromises: Promise<void>[] = [];
|
101 | 73 | for (let i = 0; i < numberOfLogs; i++) {
|
102 | 74 | logPromises.push(addTag(`test tag ${i}`));
|
103 | 75 | }
|
104 |
| - |
105 | 76 | 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'); |
112 | 78 | } 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'); |
118 | 80 | } finally {
|
119 | 81 | setLoading(false);
|
120 | 82 | }
|
121 | 83 | };
|
122 | 84 |
|
123 |
| - const getUserAttributes = async (numberOfLogs: number) => { |
| 85 | + const addMultipleUserAttributes = async (numberOfLogs: number) => { |
124 | 86 | setLoading(true);
|
125 | 87 | try {
|
126 | 88 | const logPromises: Promise<void>[] = [];
|
127 | 89 | for (let i = 0; i < numberOfLogs; i++) {
|
128 | 90 | logPromises.push(addUserAttributes(`user${i}`, `user${i} value`));
|
129 | 91 | }
|
130 |
| - |
131 | 92 | 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'); |
138 | 94 | } 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'); |
144 | 96 | } finally {
|
145 | 97 | setLoading(false);
|
146 | 98 | }
|
147 | 99 | };
|
148 | 100 |
|
149 |
| - // Similar functions for PUT, DELETE, etc. can be added here |
150 |
| - |
151 | 101 | return (
|
152 | 102 | <Screen>
|
153 | 103 | {loading && <ActivityIndicator size="large" color="#0000ff" />}
|
154 | 104 |
|
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 | + /> |
160 | 115 | </Screen>
|
161 | 116 | );
|
162 | 117 | };
|
0 commit comments