Skip to content

Commit 413fa2e

Browse files
jcassidyavNathanWalker
authored andcommitted
fix(android): connectivity reporting none on resume (#9915)
1 parent e8bed44 commit 413fa2e

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

packages/core/connectivity/index.android.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,12 @@ function getActiveNetworkInfo(): android.net.NetworkInfo {
3232
function getNetworkCapabilities() {
3333
// @ts-ignore
3434
const connectivityManager: any = getConnectivityManager();
35-
const network = connectivityManager.getActiveNetwork();
36-
const capabilities = connectivityManager.getNetworkCapabilities(network);
35+
const networkToCheck = connectivityManager.getActiveNetwork();
36+
const capabilities = connectivityManager.getNetworkCapabilities(networkToCheck);
37+
return parseNetworkCapabilities(capabilities);
38+
}
39+
40+
function parseNetworkCapabilities(capabilities?: android.net.NetworkCapabilities) {
3741
if (capabilities == null) {
3842
return connectionType.none;
3943
}
@@ -116,24 +120,21 @@ export function startMonitoring(connectionTypeChangedCallback: (newConnectionTyp
116120
if (android.os.Build.VERSION.SDK_INT >= 28) {
117121
const manager = getConnectivityManager();
118122
if (manager) {
119-
notifyCallback = () => {
120-
const newConnectionType = getConnectionType();
123+
notifyCallback = (network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities) => {
124+
let newConnectionType = connectionType.none;
125+
if (network && networkCapabilities) {
126+
newConnectionType = parseNetworkCapabilities(networkCapabilities);
127+
}
121128
const zoneCallback = zonedCallback(connectionTypeChangedCallback);
122129
zoneCallback(newConnectionType);
123130
};
124131
const ConnectivityManager = android.net.ConnectivityManager;
125132
if (!networkCallback) {
126133
@NativeClass
127134
class NetworkCallbackImpl extends ConnectivityManager.NetworkCallback {
128-
onAvailable(network: android.net.Network) {
129-
if (notifyCallback) {
130-
notifyCallback();
131-
}
132-
}
133-
134135
onCapabilitiesChanged(network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities) {
135136
if (notifyCallback) {
136-
notifyCallback();
137+
notifyCallback(network, networkCapabilities);
137138
}
138139
}
139140

0 commit comments

Comments
 (0)