aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/service/TerminalManager.java
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-09-07 22:15:57 -0700
committerKenny Root <kenny@the-b.org>2015-09-07 22:15:57 -0700
commit57afa9bdc5b269a48bd27fc8455cab4cb956d02a (patch)
tree86e301f6769a92bf853e8d60b156a4e98f077ecf /app/src/main/java/org/connectbot/service/TerminalManager.java
parent747e11c6ff28fc833855b9979ce68a15b99915f6 (diff)
downloadconnectbot-57afa9bdc5b269a48bd27fc8455cab4cb956d02a.tar.gz
connectbot-57afa9bdc5b269a48bd27fc8455cab4cb956d02a.tar.bz2
connectbot-57afa9bdc5b269a48bd27fc8455cab4cb956d02a.zip
Never cache instances of the HostDatabase
Diffstat (limited to 'app/src/main/java/org/connectbot/service/TerminalManager.java')
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalManager.java15
1 files changed, 5 insertions, 10 deletions
diff --git a/app/src/main/java/org/connectbot/service/TerminalManager.java b/app/src/main/java/org/connectbot/service/TerminalManager.java
index 1f0ee29..3a58c8a 100644
--- a/app/src/main/java/org/connectbot/service/TerminalManager.java
+++ b/app/src/main/java/org/connectbot/service/TerminalManager.java
@@ -87,9 +87,6 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
public Resources res;
- public HostDatabase hostdb;
- public PubkeyDatabase pubkeydb;
-
protected SharedPreferences prefs;
final private IBinder binder = new TerminalBinder();
@@ -129,11 +126,9 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
pubkeyTimer = new Timer("pubkeyTimer", true);
- hostdb = HostDatabase.get(this);
- pubkeydb = PubkeyDatabase.get(this);
-
// load all marked pubkeys into memory
updateSavingKeys();
+ PubkeyDatabase pubkeydb = PubkeyDatabase.get(this);
List<PubkeyBean> pubkeys = pubkeydb.getAllStartPubkeys();
for (PubkeyBean pubkey : pubkeys) {
@@ -173,9 +168,6 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
disconnectAll(true, false);
- hostdb = null;
- pubkeydb = null;
-
synchronized (this) {
if (idleTimer != null)
idleTimer.cancel();
@@ -270,10 +262,12 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
* format specified by an individual transport.
*/
public TerminalBridge openConnection(Uri uri) throws Exception {
+ HostDatabase hostdb = HostDatabase.get(this);
HostBean host = TransportFactory.findHost(hostdb, uri);
- if (host == null)
+ if (host == null) {
host = TransportFactory.getTransport(uri.getScheme()).createHost(uri);
+ }
return openConnection(host);
}
@@ -283,6 +277,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
* to {@link HostDatabase}.
*/
private void touchHost(HostBean host) {
+ HostDatabase hostdb = HostDatabase.get(this);
hostdb.touchHost(host);
}