diff options
author | Kenny Root <kenny@the-b.org> | 2015-04-16 07:52:18 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-04-16 07:52:18 -0700 |
commit | 514a73bde9ec1c68d6e6ff65923fe05781676605 (patch) | |
tree | 488bc0ff40a9f8450653feefd24aa63eab81674d | |
parent | 5554bf422a49630e1462ca51bb0450e668f7ae0b (diff) | |
parent | c37f46e75e25cb2b6161fd4972e1e4150889dcdc (diff) | |
download | connectbot-514a73bde9ec1c68d6e6ff65923fe05781676605.tar.gz connectbot-514a73bde9ec1c68d6e6ff65923fe05781676605.tar.bz2 connectbot-514a73bde9ec1c68d6e6ff65923fe05781676605.zip |
Merge branch 'master' into gradle-conversion
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalManager.java | 26 |
2 files changed, 12 insertions, 15 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 06facf9..9032374 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - ECDH would sometimes fail because the shared secret would be encoded as a negative integer. - DSA host key support was broken from the beginning of the v1.8 series. +- Connections would sometimes close when leaving ConnectBot. ### Added - More context is given for failures to connect via SSH which should diff --git a/app/src/main/java/org/connectbot/service/TerminalManager.java b/app/src/main/java/org/connectbot/service/TerminalManager.java index 928c5f5..3bf9841 100644 --- a/app/src/main/java/org/connectbot/service/TerminalManager.java +++ b/app/src/main/java/org/connectbot/service/TerminalManager.java @@ -476,16 +476,18 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen @Override public IBinder onBind(Intent intent) { - Log.i(TAG, "Someone bound to TerminalManager"); - + Log.i(TAG, "Someone bound to TerminalManager with " + bridges.size() + " bridges active"); + keepServiceAlive(); setResizeAllowed(true); + return binder; + } + /** + * Make sure we stay running to maintain the bridges. Later {@link #stopNow} should be called to stop the service. + */ + private void keepServiceAlive() { stopIdleTimer(); - - // Make sure we stay running to maintain the bridges startService(new Intent(this, TerminalManager.class)); - - return binder; } @Override @@ -500,17 +502,14 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen @Override public void onRebind(Intent intent) { super.onRebind(intent); - + Log.i(TAG, "Someone rebound to TerminalManager with " + bridges.size() + " bridges active"); + keepServiceAlive(); setResizeAllowed(true); - - Log.i(TAG, "Someone rebound to TerminalManager"); - - stopIdleTimer(); } @Override public boolean onUnbind(Intent intent) { - Log.i(TAG, "Someone unbound from TerminalManager"); + Log.i(TAG, "Someone unbound from TerminalManager with " + bridges.size() + " bridges active"); setResizeAllowed(true); @@ -522,9 +521,6 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen } private class IdleTask extends TimerTask { - /* (non-Javadoc) - * @see java.util.TimerTask#run() - */ @Override public void run() { Log.d(TAG, String.format("Stopping service after timeout of ~%d seconds", IDLE_TIMEOUT / 1000)); |