From 9633d8c5cb8eef35c0d1dde244ecd5f4471499c7 Mon Sep 17 00:00:00 2001 From: Vincent BRIDIER Date: Wed, 4 Jan 2023 10:31:56 +0100 Subject: [PATCH] Fix network state --- ComApp/src/App/Controllers/SyncController.js | 5 +---- ComApp/src/App/Views/InstallScreen.js | 9 ++++++++- ComApp/src/App/Views/LoginScreen.js | 13 ++++++++++--- ComApp/src/App/Views/SyncScreen.js | 9 ++++++++- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ComApp/src/App/Controllers/SyncController.js b/ComApp/src/App/Controllers/SyncController.js index 1e14b61..c6c57c1 100644 --- a/ComApp/src/App/Controllers/SyncController.js +++ b/ComApp/src/App/Controllers/SyncController.js @@ -30,10 +30,7 @@ class SyncController { } async checkConnection() { - NetInfo.fetch().then(state => { - return state.isConnected; - }); - return false; + return NetInfo.fetch(); } async getVersion() { diff --git a/ComApp/src/App/Views/InstallScreen.js b/ComApp/src/App/Views/InstallScreen.js index 3373e89..72f3431 100644 --- a/ComApp/src/App/Views/InstallScreen.js +++ b/ComApp/src/App/Views/InstallScreen.js @@ -87,7 +87,14 @@ class InstallScreen extends React.Component { async install() { let url = this.state.url; Setting.upsert({ key: 'bo_url', value: url }); - if (!SyncController.checkConnection()) { + const isConnected = await SyncController.checkConnection().then(state => { + //console.log(state.isConnected) + return state.isConnected + }).catch(error => { + //console.log(error); + return false; + }); + if (!isConnected) { Alert.alert( i18n.t('global.warning'), i18n.t('error.must_be_connected_internet_sync') diff --git a/ComApp/src/App/Views/LoginScreen.js b/ComApp/src/App/Views/LoginScreen.js index ea0b33e..2de4343 100644 --- a/ComApp/src/App/Views/LoginScreen.js +++ b/ComApp/src/App/Views/LoginScreen.js @@ -81,7 +81,7 @@ class LoginScreen extends React.Component { ); } - login(login, password) { + async login(login, password) { if (login === '' || password === '') { Alert.alert(i18n.t("global.warning"), i18n.t('error.must_fill_login_fields')); return; @@ -102,11 +102,18 @@ class LoginScreen extends React.Component { Alert.alert(i18n.t('error.error'), i18n.t('error.incorrect_credentials')); return; } + const isConnected = await SyncController.checkConnection().then(state => { + //console.log(state.isConnected) + return state.isConnected + }).catch(error => { + //console.log(error); + return false; + }); const lastUser = Setting.get('lastUser'); // Si on est sur une installation if (lastUser === false || lastUser == undefined) { // Si la tablette est connectée à internet pour forcer la synchro - if (!SyncController.checkConnection()) { + if (!isConnected) { Alert.alert(i18n.t('error.error'), i18n.t('error.tablet_not_connected_internet')); return; } @@ -124,7 +131,7 @@ class LoginScreen extends React.Component { return; } // Si la tablette est connectée à internet pour forcer la synchro - if (!SyncController.checkConnection()) { + if (!isConnected) { Alert.alert(i18n.t('error.error'), i18n.t('error.tablet_not_connected_internet')); return; } diff --git a/ComApp/src/App/Views/SyncScreen.js b/ComApp/src/App/Views/SyncScreen.js index b55625c..02fbb74 100644 --- a/ComApp/src/App/Views/SyncScreen.js +++ b/ComApp/src/App/Views/SyncScreen.js @@ -91,7 +91,14 @@ class SyncScreen extends React.Component { } async sync() { - if (!SyncController.checkConnection()) { + const isConnected = await SyncController.checkConnection().then(state => { + //console.log(state.isConnected) + return state.isConnected + }).catch(error => { + //console.log(error); + return false; + }); + if (!isConnected) { Alert.alert( i18n.t('global.warning'), i18n.t('error.must_be_connected_internet_sync')