Skip to content

Commit 2fc1f22

Browse files
authored
fix: Use await on addListener (#658)
1 parent 41557ac commit 2fc1f22

5 files changed

Lines changed: 37 additions & 19 deletions

File tree

src/pages/App.tsx

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,39 @@ const AppPage: React.FC = () => {
2929
let restoredResultHandler: PluginListenerHandle;
3030

3131
useIonViewDidEnter(() => {
32-
stateChangeHandler = App.addListener(
32+
setListeners();
33+
34+
getLaunchUrl();
35+
});
36+
37+
const setListeners = async () => {
38+
stateChangeHandler = await App.addListener(
3339
'appStateChange',
3440
(state: AppState) => {
3541
console.log('App state changed', state);
3642
},
3743
);
3844

39-
pauseHandler = App.addListener('pause', async () => {
45+
pauseHandler = await App.addListener('pause', async () => {
4046
console.log('App paused');
4147
});
4248

43-
resumeHandler = App.addListener('resume', () => {
49+
resumeHandler = await App.addListener('resume', () => {
4450
console.log('App resumed');
4551
});
4652

47-
urlOpenHandler = App.addListener('appUrlOpen', (data: any) => {
53+
urlOpenHandler = await App.addListener('appUrlOpen', (data: any) => {
4854
alert('APP URL OPEN: ' + data.url);
4955
});
5056

51-
restoredResultHandler = App.addListener(
57+
restoredResultHandler = await App.addListener(
5258
'appRestoredResult',
5359
(data: any) => {
5460
alert('Got restored result');
5561
console.log('Restored result:', data);
5662
},
5763
);
58-
59-
getLaunchUrl();
60-
});
64+
};
6165

6266
const getLaunchUrl = async () => {
6367
const ret = await App.getLaunchUrl();

src/pages/Browser.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const BrowserPage: React.FC = () => {
2828

2929
const autoCloseAfterDelay = async () => {
3030
loadedHandler?.remove();
31-
loadedHandler = Browser.addListener('browserPageLoaded', async () => {
31+
loadedHandler = await Browser.addListener('browserPageLoaded', async () => {
3232
await timeout(1000);
3333
await Browser.close();
3434
await timeout(200);
@@ -37,12 +37,14 @@ const BrowserPage: React.FC = () => {
3737
};
3838

3939
useIonViewDidEnter(() => {
40-
finishedHandler = Browser.addListener('browserFinished', async () => {
40+
setListeners();
41+
});
42+
const setListeners = async () => {
43+
finishedHandler = await Browser.addListener('browserFinished', async () => {
4144
await timeout(200);
4245
alert(`You closed the window`);
4346
});
44-
});
45-
47+
};
4648
useIonViewDidLeave(() => {
4749
finishedHandler?.remove();
4850
loadedHandler?.remove();

src/pages/Keyboard.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ const KeyboardPage: React.FC = () => {
2323
let scrollEnabled = true;
2424

2525
useIonViewDidEnter(() => {
26-
showHandler = Keyboard.addListener('keyboardWillShow', info => {
26+
setListeners();
27+
});
28+
29+
const setListeners = async () => {
30+
showHandler = await Keyboard.addListener('keyboardWillShow', info => {
2731
console.log('keyboard show', info);
2832
});
29-
hideHandler = Keyboard.addListener('keyboardWillHide', () => {
33+
hideHandler = await Keyboard.addListener('keyboardWillHide', () => {
3034
console.log('keyboard hide');
3135
});
32-
});
36+
};
3337

3438
useIonViewDidLeave(() => {
3539
hideHandler.remove();

src/pages/Network.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ class NetworkPage extends React.Component<{}, NetworkPageState> {
3333

3434
ionViewDidEnter() {
3535
this.updateNetworkStatus();
36-
const handler = Network?.addListener(
36+
this.setListeners();
37+
}
38+
39+
setListeners = async () => {
40+
const handler = await Network?.addListener(
3741
'networkStatusChange',
3842
(status: ConnectionStatus) => {
3943
this.setState({
@@ -42,7 +46,7 @@ class NetworkPage extends React.Component<{}, NetworkPageState> {
4246
},
4347
);
4448
this.setState({ handler: handler });
45-
}
49+
};
4650

4751
ionViewDidLeave() {
4852
this.state.handler?.remove();

src/pages/ScreenReader.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@ const ScreenReaderPage: React.FC = () => {
2424
const [sentence, setSentence] = useState('Hello World?');
2525

2626
useIonViewDidEnter(() => {
27-
handler = ScreenReader.addListener('stateChange', ({ value }: any) =>
27+
setListeners();
28+
});
29+
30+
const setListeners = async () => {
31+
handler = await ScreenReader.addListener('stateChange', ({ value }: any) =>
2832
alert(`State Change! Screen Reader on? ${value}`),
2933
);
30-
});
34+
};
3135

3236
useIonViewDidLeave(() => {
3337
handler.remove();

0 commit comments

Comments
 (0)