mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(android): connectivity reporting none on resume (#9915)
This commit is contained in:
committed by
Nathan Walker
parent
e8bed44f5b
commit
413fa2eb4b
@@ -32,8 +32,12 @@ function getActiveNetworkInfo(): android.net.NetworkInfo {
|
||||
function getNetworkCapabilities() {
|
||||
// @ts-ignore
|
||||
const connectivityManager: any = getConnectivityManager();
|
||||
const network = connectivityManager.getActiveNetwork();
|
||||
const capabilities = connectivityManager.getNetworkCapabilities(network);
|
||||
const networkToCheck = connectivityManager.getActiveNetwork();
|
||||
const capabilities = connectivityManager.getNetworkCapabilities(networkToCheck);
|
||||
return parseNetworkCapabilities(capabilities);
|
||||
}
|
||||
|
||||
function parseNetworkCapabilities(capabilities?: android.net.NetworkCapabilities) {
|
||||
if (capabilities == null) {
|
||||
return connectionType.none;
|
||||
}
|
||||
@@ -116,8 +120,11 @@ export function startMonitoring(connectionTypeChangedCallback: (newConnectionTyp
|
||||
if (android.os.Build.VERSION.SDK_INT >= 28) {
|
||||
const manager = getConnectivityManager();
|
||||
if (manager) {
|
||||
notifyCallback = () => {
|
||||
const newConnectionType = getConnectionType();
|
||||
notifyCallback = (network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities) => {
|
||||
let newConnectionType = connectionType.none;
|
||||
if (network && networkCapabilities) {
|
||||
newConnectionType = parseNetworkCapabilities(networkCapabilities);
|
||||
}
|
||||
const zoneCallback = zonedCallback(connectionTypeChangedCallback);
|
||||
zoneCallback(newConnectionType);
|
||||
};
|
||||
@@ -125,15 +132,9 @@ export function startMonitoring(connectionTypeChangedCallback: (newConnectionTyp
|
||||
if (!networkCallback) {
|
||||
@NativeClass
|
||||
class NetworkCallbackImpl extends ConnectivityManager.NetworkCallback {
|
||||
onAvailable(network: android.net.Network) {
|
||||
if (notifyCallback) {
|
||||
notifyCallback();
|
||||
}
|
||||
}
|
||||
|
||||
onCapabilitiesChanged(network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities) {
|
||||
if (notifyCallback) {
|
||||
notifyCallback();
|
||||
notifyCallback(network, networkCapabilities);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user