@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; }
@Override public void onResume() { super.onResume(); udpSending = new UDPSending(true); udpSending.start("NeighbourUDPSendThread"); udpReceiving = new NeighbourDiscoverReceiving(this); udpReceiving.start(); advanceTimeRunnable.run(); // Reset icon size cache, will be set on next sending NeighbourDiscoverSending.icon_size_cache = -1; checkNetworkState(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); //noinspection ConstantConditions getActivity().registerReceiver(wifiChanged, intentFilter); }