/** * @deprecated use {@link #newInstance(NetworkInfo.DetailedState, int, int, boolean, * NetworkInfo.State)} instead */ @Deprecated public static NetworkInfo newInstance( NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, boolean isConnected) { return newInstance( detailedState, type, subType, isAvailable, isConnected ? NetworkInfo.State.CONNECTED : NetworkInfo.State.DISCONNECTED); }
/** Allows developers to create a {@link NetworkInfo} instance for testing. */ public static NetworkInfo newInstance( NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, NetworkInfo.State state) { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); final ShadowNetworkInfo info = Shadow.extract(networkInfo); info.setConnectionType(type); info.setSubType(subType); info.setDetailedState(detailedState); info.setAvailableStatus(isAvailable); info.setConnectionStatus(state); return networkInfo; }
@Test public void setConnectionType_shouldReturnTypeCorrectly() { shadowOfActiveNetworkInfo.setConnectionType(ConnectivityManager.TYPE_MOBILE); assertThat(shadowOfActiveNetworkInfo.getType()).isEqualTo(ConnectivityManager.TYPE_MOBILE); shadowOfActiveNetworkInfo.setConnectionType(ConnectivityManager.TYPE_WIFI); assertThat(shadowOfActiveNetworkInfo.getType()).isEqualTo(ConnectivityManager.TYPE_WIFI); }
/** * Sets up the return value of {@link #isConnectedOrConnecting()}, {@link #isConnected()}, and * {@link #getState()}. If the input is true, state will be {@link NetworkInfo.State#CONNECTED}, * else it will be {@link NetworkInfo.State#DISCONNECTED}. * * @param isConnected the value that {@link #isConnectedOrConnecting()} and {@link #isConnected()} * will return. * @deprecated use {@link #setConnectionStatus(NetworkInfo.State)} instead */ @Deprecated public void setConnectionStatus(boolean isConnected) { setConnectionStatus(isConnected ? NetworkInfo.State.CONNECTED : NetworkInfo.State.DISCONNECTED); }
private void setNetworkMetered(boolean isMetered) { // Only mobile connections are considered to be metered. // See {@link ShadowConnectivityManager#isActiveNetworkMetered()} if (isMetered) { shadowNetworkInfo.setConnectionType(ConnectivityManager.TYPE_MOBILE); } else { shadowNetworkInfo.setConnectionType(ConnectivityManager.TYPE_WIFI); } }
@Test public void getDetailedState_shouldReturnTheAssignedState() throws Exception { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); shadowOf(networkInfo).setDetailedState(NetworkInfo.DetailedState.SCANNING); assertThat(networkInfo.getDetailedState()).isEqualTo(NetworkInfo.DetailedState.SCANNING); } }
@Test public void getActiveNetworkInfo_shouldReturnTrueCorrectly() { shadowOfActiveNetworkInfo.setConnectionStatus(NetworkInfo.State.CONNECTED); assertThat(connectivityManager.getActiveNetworkInfo().isConnectedOrConnecting()).isTrue(); assertThat(connectivityManager.getActiveNetworkInfo().isConnected()).isTrue(); shadowOfActiveNetworkInfo.setConnectionStatus(NetworkInfo.State.CONNECTING); assertThat(connectivityManager.getActiveNetworkInfo().isConnectedOrConnecting()).isTrue(); assertThat(connectivityManager.getActiveNetworkInfo().isConnected()).isFalse(); shadowOfActiveNetworkInfo.setConnectionStatus(NetworkInfo.State.DISCONNECTED); assertThat(connectivityManager.getActiveNetworkInfo().isConnectedOrConnecting()).isFalse(); assertThat(connectivityManager.getActiveNetworkInfo().isConnected()).isFalse(); }
public static NetworkInfo newInstance(NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, boolean isConnected) { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); final ShadowNetworkInfo info = Shadows.shadowOf(networkInfo); info.setConnectionType(type); info.setSubType(subType); info.setDetailedState(detailedState); info.setAvailableStatus(isAvailable); info.setConnectionStatus(isConnected); return networkInfo; }
public ShadowConnectivityManager() { NetworkInfo wifi = ShadowNetworkInfo.newInstance(NetworkInfo.DetailedState.DISCONNECTED, ConnectivityManager.TYPE_WIFI, 0, true, false); networkTypeToNetworkInfo.put(ConnectivityManager.TYPE_WIFI, wifi); NetworkInfo mobile = ShadowNetworkInfo.newInstance(NetworkInfo.DetailedState.CONNECTED, ConnectivityManager.TYPE_MOBILE, ConnectivityManager.TYPE_MOBILE_MMS, true, true); networkTypeToNetworkInfo.put(ConnectivityManager.TYPE_MOBILE, mobile); this.activeNetworkInfo = mobile; if (getApiLevel() >= LOLLIPOP) { netIdToNetwork.put(NET_ID_WIFI, ShadowNetwork.newInstance(NET_ID_WIFI)); netIdToNetwork.put(NET_ID_MOBILE, ShadowNetwork.newInstance(NET_ID_MOBILE)); netIdToNetworkInfo.put(NET_ID_WIFI, wifi); netIdToNetworkInfo.put(NET_ID_MOBILE, mobile); } defaultNetworkActive = true; }
@Test public void testAreConstraintsSatisfied_anyNetworkRequired_unsatisfied_notConnected() { JobInvocation job = jobBuilder.setConstraints(Constraint.uncompact(Constraint.ON_ANY_NETWORK)).build(); shadowNetworkInfo.setConnectionStatus(/* isConnected= */ false); assertThat(constraintChecker.areConstraintsSatisfied(job)).isFalse(); }
public static NetworkInfo newInstance(NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, boolean isConnected) { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); final ShadowNetworkInfo info = Shadows.shadowOf(networkInfo); info.setConnectionType(type); info.setSubType(subType); info.setDetailedState(detailedState); info.setAvailableStatus(isAvailable); info.setConnectionStatus(isConnected); return networkInfo; }
void connect() { NetworkInfo networkInfo = ShadowNetworkInfo.newInstance(NetworkInfo.DetailedState.CONNECTED, 0, 0, true, true); shadowConnectivityManager.setActiveNetworkInfo(networkInfo); }
@Test public void testAreConstraintsSatisfied_anyNetworkRequired_satisfied() { JobInvocation job = jobBuilder.setConstraints(Constraint.uncompact(Constraint.ON_ANY_NETWORK)).build(); shadowNetworkInfo.setConnectionStatus(/* isConnected= */ true); assertThat(constraintChecker.areConstraintsSatisfied(job)).isTrue(); }
public static NetworkInfo newInstance(NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, boolean isConnected) { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); final ShadowNetworkInfo info = Shadows.shadowOf(networkInfo); info.setConnectionType(type); info.setSubType(subType); info.setDetailedState(detailedState); info.setAvailableStatus(isAvailable); info.setConnectionStatus(isConnected); return networkInfo; }
Shadows.shadowOf(telephonyManager).setNetworkCountryIso(FAST_COUNTRY_ISO); networkInfoOffline = ShadowNetworkInfo.newInstance( DetailedState.DISCONNECTED, ConnectivityManager.TYPE_WIFI, /* isConnected= */ false); networkInfoWifi = ShadowNetworkInfo.newInstance( DetailedState.CONNECTED, ConnectivityManager.TYPE_WIFI, /* isConnected= */ true); networkInfo2g = ShadowNetworkInfo.newInstance( DetailedState.CONNECTED, ConnectivityManager.TYPE_MOBILE, /* isConnected= */ true); networkInfo3g = ShadowNetworkInfo.newInstance( DetailedState.CONNECTED, ConnectivityManager.TYPE_MOBILE, /* isConnected= */ true); networkInfo4g = ShadowNetworkInfo.newInstance( DetailedState.CONNECTED, ConnectivityManager.TYPE_MOBILE,
@Test public void testAreConstraintsSatisfied_unmeteredNetworkRequired_unsatisfied_networkDisconnected() { JobInvocation job = jobBuilder.setConstraints(Constraint.uncompact(Constraint.ON_UNMETERED_NETWORK)).build(); shadowNetworkInfo.setConnectionStatus(/* isConnected= */ false); setNetworkMetered(false); assertThat(constraintChecker.areConstraintsSatisfied(job)).isFalse(); }
/** Allows developers to create a {@link NetworkInfo} instance for testing. */ public static NetworkInfo newInstance( NetworkInfo.DetailedState detailedState, int type, int subType, boolean isAvailable, NetworkInfo.State state) { NetworkInfo networkInfo = Shadow.newInstanceOf(NetworkInfo.class); final ShadowNetworkInfo info = Shadow.extract(networkInfo); info.setConnectionType(type); info.setSubType(subType); info.setDetailedState(detailedState); info.setAvailableStatus(isAvailable); info.setConnectionStatus(state); return networkInfo; }
@Test public void testNonWiFiNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_MOBILE, 0, true, true)); assertFalse(AppUtils.isOnWiFi(context)); }
@Test public void testAreConstraintsSatisfied_unmeteredNetworkRequired_unsatisfied_networkMetered() { JobInvocation job = jobBuilder.setConstraints(Constraint.uncompact(Constraint.ON_UNMETERED_NETWORK)).build(); shadowNetworkInfo.setConnectionStatus(/* isConnected= */ true); setNetworkMetered(true); assertThat(constraintChecker.areConstraintsSatisfied(job)).isFalse(); }
@Test public void testDisconnectedNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, 0, 0, false, false)); assertFalse(AppUtils.isOnWiFi(context)); }