summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/vpn2
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2017-04-27 00:56:39 +0900
committerLorenzo Colitti <lorenzo@google.com>2017-05-03 22:14:08 +0900
commitb6245156f647e4e41198026ef6a3bfc54790e384 (patch)
treebaebfd0a59787da9238ca0ef655a96a5f08180a8 /src/com/android/settings/vpn2
parentd51b94b04207da480c000a784109416ba2f3c51e (diff)
downloadpackages_apps_Settings-b6245156f647e4e41198026ef6a3bfc54790e384.tar.gz
packages_apps_Settings-b6245156f647e4e41198026ef6a3bfc54790e384.tar.bz2
packages_apps_Settings-b6245156f647e4e41198026ef6a3bfc54790e384.zip
Add a "sign into network" button to the wifi details page.
Bug: 36203355 Test: manually signed into captive portal Test: make -j64 RunSettingsRoboTests Change-Id: I3242ef30125ddfdaaac9b80ead4f8ac14ea6d364
Diffstat (limited to 'src/com/android/settings/vpn2')
-rw-r--r--src/com/android/settings/vpn2/ConnectivityManagerWrapper.java33
-rw-r--r--src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java20
2 files changed, 53 insertions, 0 deletions
diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java b/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java
index 9424278c9e..9e20c9d1fd 100644
--- a/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java
+++ b/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java
@@ -16,6 +16,11 @@
package com.android.settings.vpn2;
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkRequest;
+import android.os.Handler;
import android.net.ProxyInfo;
/**
@@ -27,6 +32,11 @@ import android.net.ProxyInfo;
public interface ConnectivityManagerWrapper {
/**
+ * Returns the real ConnectivityManager object wrapped by this wrapper.
+ */
+ public ConnectivityManager getConnectivityManager();
+
+ /**
* Calls {@code ConnectivityManager.getAlwaysOnVpnPackageForUser()}.
*
* @see android.net.ConnectivityManager#getAlwaysOnVpnPackageForUser
@@ -39,4 +49,27 @@ public interface ConnectivityManagerWrapper {
* @see android.net.ConnectivityManager#getGlobalProxy
*/
ProxyInfo getGlobalProxy();
+
+ /**
+ * Calls {@code ConnectivityManager.registerNetworkCallback()}.
+ *
+ * This is part of the ConnectivityManager public API in SDK 26 or above, but is not yet visible
+ * to the robolectric tests, which currently build with SDK 23.
+ * TODO: delete this once the robolectric tests build with SDK 26 or above.
+ *
+ * @see android.net.ConnectivityManager#registerNetworkCallback(NetworkRequest,NetworkCallback,Handler)
+ */
+ public void registerNetworkCallback(NetworkRequest request, NetworkCallback callback,
+ Handler handler);
+
+ /**
+ * Calls {@code ConnectivityManager.startCaptivePortalApp()}.
+ *
+ * This is part of the ConnectivityManager public API in SDK 26 or above, but is not yet visible
+ * to the robolectric tests, which currently build with SDK 23.
+ * TODO: delete this once the robolectric tests build with SDK 26 or above.
+ *
+ * @see android.net.ConnectivityManager#startCaptivePortalApp(Network)
+ */
+ public void startCaptivePortalApp(Network network);
}
diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java b/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java
index d3c17f210e..f742cd22b0 100644
--- a/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java
+++ b/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java
@@ -17,6 +17,10 @@
package com.android.settings.vpn2;
import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkRequest;
+import android.os.Handler;
import android.net.ProxyInfo;
public class ConnectivityManagerWrapperImpl implements ConnectivityManagerWrapper {
@@ -28,6 +32,11 @@ public class ConnectivityManagerWrapperImpl implements ConnectivityManagerWrappe
}
@Override
+ public ConnectivityManager getConnectivityManager() {
+ return mCm;
+ }
+
+ @Override
public String getAlwaysOnVpnPackageForUser(int userId) {
return mCm.getAlwaysOnVpnPackageForUser(userId);
}
@@ -36,4 +45,15 @@ public class ConnectivityManagerWrapperImpl implements ConnectivityManagerWrappe
public ProxyInfo getGlobalProxy() {
return mCm.getGlobalProxy();
}
+
+ @Override
+ public void registerNetworkCallback(NetworkRequest request, NetworkCallback callback,
+ Handler handler) {
+ mCm.registerNetworkCallback(request, callback, handler);
+ }
+
+ @Override
+ public void startCaptivePortalApp(Network network) {
+ mCm.startCaptivePortalApp(network);
+ }
}