aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/service
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
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')
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalBridge.java11
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalManager.java15
2 files changed, 12 insertions, 14 deletions
diff --git a/app/src/main/java/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java
index 6d47f96..6f76b02 100644
--- a/app/src/main/java/org/connectbot/service/TerminalBridge.java
+++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java
@@ -273,7 +273,8 @@ public class TerminalBridge implements VDUDisplay {
transport.setEmulation(emulation);
if (transport.canForwardPorts()) {
- for (PortForwardBean portForward : manager.hostdb.getPortForwardsForHost(host))
+ HostDatabase hostDb = HostDatabase.get(manager);
+ for (PortForwardBean portForward : hostDb.getPortForwardsForHost(host))
transport.addPortForward(portForward);
}
@@ -533,7 +534,8 @@ public class TerminalBridge implements VDUDisplay {
}
host.setFontSize((int) sizeDp);
- manager.hostdb.updateFontSize(host);
+ HostDatabase hostDb = HostDatabase.get(manager);
+ hostDb.updateFontSize(host);
forcedSize = false;
}
@@ -950,11 +952,12 @@ public class TerminalBridge implements VDUDisplay {
}
public final void resetColors() {
- int[] defaults = manager.hostdb.getDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
+ HostDatabase hostDb = HostDatabase.get(manager);
+ int[] defaults = hostDb.getDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
defaultFg = defaults[0];
defaultBg = defaults[1];
- color = manager.hostdb.getColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
+ color = hostDb.getColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
}
private static Pattern urlPattern = null;
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);
}