From 613bc40cdd458c7127902d1fd0b7b4b12fb27268 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Thu, 16 Apr 2015 07:48:29 -0700 Subject: Keep TerminalManager alive even during rebind --- src/org/connectbot/service/TerminalManager.java | 26 +++++++++++-------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'src') 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)); -- cgit v1.2.3