diff options
author | Parménides GV <parmegv@sdf.org> | 2015-01-12 19:18:54 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-01-12 19:18:54 +0100 |
commit | 32998b046977da5d272a948ad0668bf653d598f4 (patch) | |
tree | a8f68d5b09d7293ceb35211d2f26f48d4312fcf3 /app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java | |
parent | 1d37f94a7980d1181a49863cb3880bc7938cc6d1 (diff) | |
parent | 6ed3fde3ea171700390552dd1040e10e8cc1ca32 (diff) |
Merge branch 'bug/Release-ConfigurationWizard-differs-from-debug's-#6633' into bug/ButterKnife-doesn't-find-provider_list_view-#6581
Diffstat (limited to 'app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java')
-rw-r--r-- | app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java b/app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java new file mode 100644 index 00000000..440458e4 --- /dev/null +++ b/app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2012-2014 Arne Schwabe + * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt + */ + +package de.blinkt.openvpn.core; + +import android.annotation.TargetApi; +import android.net.ConnectivityManager; +import android.net.LinkProperties; +import android.net.Network; +import android.net.NetworkCapabilities; +import android.os.Build; + +/** + * Created by arne on 26.11.14. + */ +@TargetApi(Build.VERSION_CODES.LOLLIPOP) +public class LollipopDeviceStateListener extends ConnectivityManager.NetworkCallback { + + private String mLastConnectedStatus; + private String mLastLinkProperties; + private String mLastNetworkCapabilities; + + @Override + public void onAvailable(Network network) { + super.onAvailable(network); + + if (!network.toString().equals(mLastConnectedStatus)) { + mLastConnectedStatus = network.toString(); + VpnStatus.logDebug("Connected to " + mLastConnectedStatus); + } + } + + @Override + public void onLinkPropertiesChanged(Network network, LinkProperties linkProperties) { + super.onLinkPropertiesChanged(network, linkProperties); + + if (!linkProperties.toString().equals(mLastLinkProperties)) { + mLastLinkProperties = linkProperties.toString(); + VpnStatus.logDebug(String.format("Linkproperties of %s: %s", network, linkProperties)); + } + } + + @Override + public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) { + super.onCapabilitiesChanged(network, networkCapabilities); + if (!networkCapabilities.toString().equals(mLastNetworkCapabilities)) { + mLastNetworkCapabilities = networkCapabilities.toString(); + VpnStatus.logDebug(String.format("Network capabilities of %s: %s", network, networkCapabilities)); + } + } +} |