BroadcastReceiver receiver = receiverRef.get(); receiver.onReceive(mContext, intent); verify(listener, never()).onNetworkStateUpdated(anyBoolean()); when(intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO)).thenReturn(networkInfo); receiver.onReceive(mContext, intent); verify(listener).onNetworkStateUpdated(true); verify(listener, never()).onNetworkStateUpdated(false); assertTrue(helper.isNetworkConnected()); when(networkInfo.getSubtypeName()).thenReturn(null); receiver.onReceive(mContext, intent); verify(listener2).onNetworkStateUpdated(false); verify(listener2).onNetworkStateUpdated(true); assertTrue(helper.isNetworkConnected()); when(networkInfo.isConnected()).thenReturn(false); receiver.onReceive(mContext, intent); verify(listener3).onNetworkStateUpdated(false); assertFalse(helper.isNetworkConnected()); when(networkInfo.isConnected()).thenReturn(true); receiver.onReceive(mContext, intent); verify(listener3, never()).onNetworkStateUpdated(true); assertTrue(helper.isNetworkConnected());
verify(listener, never()).onNetworkStateUpdated(anyBoolean()); verify(listener).onNetworkStateUpdated(true); verify(listener, never()).onNetworkStateUpdated(false); assertTrue(helper.isNetworkConnected()); network = mock(Network.class); callback.getValue().onAvailable(network); verify(listener2).onNetworkStateUpdated(false); verify(listener2).onNetworkStateUpdated(true); assertTrue(helper.isNetworkConnected()); verify(listener3, never()).onNetworkStateUpdated(anyBoolean()); callback.getValue().onLost(network); verify(listener3).onNetworkStateUpdated(false); verify(listener3).onNetworkStateUpdated(true); assertTrue(helper.isNetworkConnected()); verify(listener3, times(2)).onNetworkStateUpdated(false); assertFalse(helper.isNetworkConnected());
/** * Notify listeners that the network state changed. * * @param connected whether the network is connected or not. */ private void notifyNetworkStateUpdated(boolean connected) { for (Listener listener : mListeners) { listener.onNetworkStateUpdated(connected); } }