aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/org/connectbot/service/TerminalManager.java26
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));