Loading src/com/android/settings/Utils.java +10 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,9 @@ import android.graphics.BitmapFactory; import android.hardware.fingerprint.FingerprintManager; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; import android.net.Uri; import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Bundle; import android.os.IBinder; Loading Loading @@ -235,11 +237,16 @@ public final class Utils extends com.android.settingslib.Utils { * @return the formatted and newline-separated IP addresses, or null if none. */ public static String getWifiIpAddresses(Context context) { WifiManager wifiManager = context.getSystemService(WifiManager.class); Network currentNetwork = wifiManager.getCurrentNetwork(); if (currentNetwork != null) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); LinkProperties prop = cm.getLinkProperties(ConnectivityManager.TYPE_WIFI); LinkProperties prop = cm.getLinkProperties(currentNetwork); return formatIpAddresses(prop); } return null; } /** * Returns the default link's IP addresses, if any, taking into account IPv4 and IPv6 style Loading tests/robotests/src/com/android/settings/UtilsTest.java 0 → 100644 +69 −0 Original line number Diff line number Diff line package com.android.settings; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.net.ConnectivityManager; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.Network; import android.net.wifi.WifiManager; import java.net.InetAddress; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class UtilsTest { private Context mContext; @Mock private WifiManager wifiManager; @Mock private Network network; @Mock private ConnectivityManager connectivityManager; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); when(mContext.getSystemService(WifiManager.class)).thenReturn(wifiManager); when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)) .thenReturn(connectivityManager); } @Test public void testGetWifiIpAddresses_succeeds() throws Exception { when(wifiManager.getCurrentNetwork()).thenReturn(network); LinkAddress address = new LinkAddress(InetAddress.getByName("127.0.0.1"), 0); LinkProperties lp = new LinkProperties(); lp.addLinkAddress(address); when(connectivityManager.getLinkProperties(network)).thenReturn(lp); assertThat(Utils.getWifiIpAddresses(mContext)).isEqualTo("127.0.0.1"); } @Test public void testGetWifiIpAddresses_nullLinkProperties() { when(wifiManager.getCurrentNetwork()).thenReturn(network); // Explicitly set the return value to null for readability sake. when(connectivityManager.getLinkProperties(network)).thenReturn(null); assertThat(Utils.getWifiIpAddresses(mContext)).isNull(); } @Test public void testGetWifiIpAddresses_nullNetwork() { // Explicitly set the return value to null for readability sake. when(wifiManager.getCurrentNetwork()).thenReturn(null); assertThat(Utils.getWifiIpAddresses(mContext)).isNull(); } } Loading
src/com/android/settings/Utils.java +10 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,9 @@ import android.graphics.BitmapFactory; import android.hardware.fingerprint.FingerprintManager; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; import android.net.Uri; import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Bundle; import android.os.IBinder; Loading Loading @@ -235,11 +237,16 @@ public final class Utils extends com.android.settingslib.Utils { * @return the formatted and newline-separated IP addresses, or null if none. */ public static String getWifiIpAddresses(Context context) { WifiManager wifiManager = context.getSystemService(WifiManager.class); Network currentNetwork = wifiManager.getCurrentNetwork(); if (currentNetwork != null) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); LinkProperties prop = cm.getLinkProperties(ConnectivityManager.TYPE_WIFI); LinkProperties prop = cm.getLinkProperties(currentNetwork); return formatIpAddresses(prop); } return null; } /** * Returns the default link's IP addresses, if any, taking into account IPv4 and IPv6 style Loading
tests/robotests/src/com/android/settings/UtilsTest.java 0 → 100644 +69 −0 Original line number Diff line number Diff line package com.android.settings; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.net.ConnectivityManager; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.Network; import android.net.wifi.WifiManager; import java.net.InetAddress; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class UtilsTest { private Context mContext; @Mock private WifiManager wifiManager; @Mock private Network network; @Mock private ConnectivityManager connectivityManager; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); when(mContext.getSystemService(WifiManager.class)).thenReturn(wifiManager); when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)) .thenReturn(connectivityManager); } @Test public void testGetWifiIpAddresses_succeeds() throws Exception { when(wifiManager.getCurrentNetwork()).thenReturn(network); LinkAddress address = new LinkAddress(InetAddress.getByName("127.0.0.1"), 0); LinkProperties lp = new LinkProperties(); lp.addLinkAddress(address); when(connectivityManager.getLinkProperties(network)).thenReturn(lp); assertThat(Utils.getWifiIpAddresses(mContext)).isEqualTo("127.0.0.1"); } @Test public void testGetWifiIpAddresses_nullLinkProperties() { when(wifiManager.getCurrentNetwork()).thenReturn(network); // Explicitly set the return value to null for readability sake. when(connectivityManager.getLinkProperties(network)).thenReturn(null); assertThat(Utils.getWifiIpAddresses(mContext)).isNull(); } @Test public void testGetWifiIpAddresses_nullNetwork() { // Explicitly set the return value to null for readability sake. when(wifiManager.getCurrentNetwork()).thenReturn(null); assertThat(Utils.getWifiIpAddresses(mContext)).isNull(); } }