fix(android): release mode bugs: unavailable server and socket repeating

This commit is contained in:
ksenia312
2024-02-08 14:52:50 +01:00
parent 6e2f07dc97
commit e05d55bcec
2 changed files with 23 additions and 19 deletions
+2
View File
@@ -12,6 +12,8 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- to save the received files -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- to use sockets for data transfer -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
android:name="android.hardware.wifi.direct"
@@ -134,28 +134,30 @@ class NearbySocketService {
required NearbyServiceMessagesListener socketListener,
required NearbyConnectionAndroidInfo info,
}) async {
final response = await _network.pingServer(
address: info.ownerIpAddress,
port: _androidData.port,
);
if (await _pingManager.checkPong(response)) {
_socket = await _network.connectToSocket(
ownerIpAddress: info.ownerIpAddress,
if (state.value.isLoading) {
final response = await _network.pingServer(
address: info.ownerIpAddress,
port: _androidData.port,
socketType: NearbySocketType.message,
);
_createSocketSubscription(socketListener);
} else {
Logger.debug(
'Retry to connect to the server in ${_androidData.clientReconnectInterval.inSeconds}s',
);
Future.delayed(_androidData.clientReconnectInterval, () {
_tryConnectClient(
socketListener: socketListener,
info: info,
if (await _pingManager.checkPong(response)) {
_socket = await _network.connectToSocket(
ownerIpAddress: info.ownerIpAddress,
port: _androidData.port,
socketType: NearbySocketType.message,
);
});
_createSocketSubscription(socketListener);
} else {
Logger.debug(
'Retry to connect to the server in ${_androidData.clientReconnectInterval.inSeconds}s',
);
Future.delayed(_androidData.clientReconnectInterval, () {
_tryConnectClient(
socketListener: socketListener,
info: info,
);
});
}
}
}