mirror of https://github.com/M66B/FairEmail.git
Check transport of underlying network
This commit is contained in:
parent
81fdd8dfe0
commit
998be94fee
|
@ -236,6 +236,11 @@ public class ConnectionHelper {
|
|||
}
|
||||
|
||||
// VPN: evaluate underlying networks
|
||||
Integer transport = null;
|
||||
if (caps.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR))
|
||||
transport = NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||
else if (caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI))
|
||||
transport = NetworkCapabilities.TRANSPORT_WIFI;
|
||||
|
||||
boolean underlying = false;
|
||||
Network[] networks = cm.getAllNetworks();
|
||||
|
@ -264,6 +269,14 @@ public class ConnectionHelper {
|
|||
continue;
|
||||
}
|
||||
|
||||
if (!caps.hasTransport(NetworkCapabilities.TRANSPORT_VPN) &&
|
||||
(caps.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) ||
|
||||
caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) &&
|
||||
(transport != null && !caps.hasTransport(transport))) {
|
||||
Log.i("isMetered: underlying other transport");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)) {
|
||||
underlying = true;
|
||||
Log.i("isMetered: underlying is connected");
|
||||
|
|
Loading…
Reference in New Issue