diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2017-04-27 00:56:39 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2017-05-03 22:14:08 +0900 |
commit | b6245156f647e4e41198026ef6a3bfc54790e384 (patch) | |
tree | baebfd0a59787da9238ca0ef655a96a5f08180a8 /src/com/android/settings/vpn2 | |
parent | d51b94b04207da480c000a784109416ba2f3c51e (diff) | |
download | packages_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.java | 33 | ||||
-rw-r--r-- | src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java | 20 |
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); + } } |