diff options
author | Kenny Root <kenny@the-b.org> | 2015-04-16 07:48:29 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-04-16 07:48:29 -0700 |
commit | 613bc40cdd458c7127902d1fd0b7b4b12fb27268 (patch) | |
tree | 91f745379fdc1ddaa1071842a2f897800f359d10 | |
parent | 5ac8a6140a9dc7634cc5e01b89cc6e84bbea6ed5 (diff) | |
download | connectbot-613bc40cdd458c7127902d1fd0b7b4b12fb27268.tar.gz connectbot-613bc40cdd458c7127902d1fd0b7b4b12fb27268.tar.bz2 connectbot-613bc40cdd458c7127902d1fd0b7b4b12fb27268.zip |
Keep TerminalManager alive even during rebind
-rw-r--r-- | src/org/connectbot/service/TerminalManager.java | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/org/connectbot/service/TerminalManager.java b/src/org/connectbot/service/TerminalManager.java index 369d79a..b841fbe 100644 --- a/src/org/connectbot/service/TerminalManager.java +++ b/src/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)); |