private void checkNetworkState() {
    int g = updateNetworkIDText();
    if (lastGateway == g) {
      NeighbourDataReceiveService.stop();
      return;
    }
    lastGateway = g;
    broadcastSendJob = NeighbourDiscoverSending.createDiscoverMessage(getActivity());
    if (!discoverIsRunning) sendDiscoverMessageRunnable.run();

    // Start tcp receiver
    NeighbourDataReceiveService.start(getActivity(), this);
  }
  @Override
  public void onPause() {
    super.onPause();
    if (udpSending != null) {
      udpSending.interrupt();
      udpSending = null;
    }
    if (udpReceiving != null) {
      if (udpReceiving.isAlive()) udpReceiving.interrupt();
      udpReceiving = null;
    }

    NetpowerctrlApplication.getMainThreadHandler().removeCallbacks(advanceTimeRunnable);
    NetpowerctrlApplication.getMainThreadHandler().removeCallbacks(sendDiscoverMessageRunnable);

    // Stop tcp receiver
    NeighbourDataReceiveService.stop();

    try {
      getActivity().unregisterReceiver(wifiChanged);
    } catch (IllegalArgumentException ignored) {
    }
    wifiChanged = null;
  }