mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-02 07:06:18 +02:00
Check transport of underlying network
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user