diff options
author | Kenny Root <kenny@the-b.org> | 2015-04-19 16:05:41 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-04-19 16:05:41 -0700 |
commit | 852bd62cc255c1911deaf8a925648b86ecb4ccb3 (patch) | |
tree | 52ce124c0c95878bf50eda774f7bbceb461f9724 | |
parent | a50c421c4dc566284ba59b8ef07833f09fc2774e (diff) | |
parent | 6127fd5d6a3031e32e2701512a164131b7b3525b (diff) | |
download | connectbot-852bd62cc255c1911deaf8a925648b86ecb4ccb3.tar.gz connectbot-852bd62cc255c1911deaf8a925648b86ecb4ccb3.tar.bz2 connectbot-852bd62cc255c1911deaf8a925648b86ecb4ccb3.zip |
Merge pull request #21 from zakki/keep-local-connection
Keep local connections when network down.
-rw-r--r-- | src/org/connectbot/service/TerminalManager.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/org/connectbot/service/TerminalManager.java b/src/org/connectbot/service/TerminalManager.java index b841fbe..8978870 100644 --- a/src/org/connectbot/service/TerminalManager.java +++ b/src/org/connectbot/service/TerminalManager.java @@ -170,7 +170,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen public void onDestroy() { Log.i(TAG, "Destroying service"); - disconnectAll(true); + disconnectAll(true, false); if(hostdb != null) { hostdb.close(); @@ -199,7 +199,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen /** * Disconnect all currently connected bridges. */ - private void disconnectAll(final boolean immediate) { + private void disconnectAll(final boolean immediate, final boolean excludeLocal) { TerminalBridge[] tmpBridges = null; synchronized (bridges) { @@ -210,8 +210,11 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen if (tmpBridges != null) { // disconnect and dispose of any existing bridges - for (int i = 0; i < tmpBridges.length; i++) + for (int i = 0; i < tmpBridges.length; i++) { + if (excludeLocal && !tmpBridges[i].isUsingNetwork()) + continue; tmpBridges[i].dispatchDisconnect(immediate); + } } } @@ -653,7 +656,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen final Thread t = new Thread() { @Override public void run() { - disconnectAll(false); + disconnectAll(false, true); } }; t.setName("Disconnector"); |