diff --git a/src/net/i2p/android/router/receiver/I2PReceiver.java b/src/net/i2p/android/router/receiver/I2PReceiver.java index b54fcab6971483773951953c0aecc5e123261ba3..307ff8ee3e56c0eebf3bcc81f272e1103224aae2 100644 --- a/src/net/i2p/android/router/receiver/I2PReceiver.java +++ b/src/net/i2p/android/router/receiver/I2PReceiver.java @@ -57,14 +57,21 @@ public class I2PReceiver extends BroadcastReceiver { if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION) || action.equals(Intent.ACTION_TIME_TICK)) { - if (_wasConnected && !isConnected()) { + boolean connected = isConnected(); + if (_wasConnected && !connected) { // notify + 2 timer ticks if (++_unconnectedCount >= 3) { - // connection will call networkStop() - System.err.println("********* Network down, binding to router"); - bindRouter(); + if (_isBound) { + System.err.println("********* Network down, already bound"); + _routerService.networkStop(); + } else { + System.err.println("********* Network down, binding to router"); + // connection will call networkStop() + bindRouter(); + } } } else { + _wasConnected = connected; _unconnectedCount = 0; } }