summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2015-01-12 19:18:54 +0100
committerParménides GV <parmegv@sdf.org>2015-01-12 19:18:54 +0100
commit32998b046977da5d272a948ad0668bf653d598f4 (patch)
treea8f68d5b09d7293ceb35211d2f26f48d4312fcf3 /app/src/main/java/de/blinkt/openvpn/core/LollipopDeviceStateListener.java
parent1d37f94a7980d1181a49863cb3880bc7938cc6d1 (diff)
parent6ed3fde3ea171700390552dd1040e10e8cc1ca32 (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.java53
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));
+ }
+ }
+}