From 2baa56c2629532adad82d0f67abe9dd568a24760 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Fri, 11 Sep 2015 10:57:30 -0700 Subject: Revert "Never cache instances of the HostDatabase" This reverts commit 57afa9bdc5b269a48bd27fc8455cab4cb956d02a. This won't work with injection and makes testing a bit harder, so revert it. --- .../main/java/org/connectbot/service/TerminalBridge.java | 11 ++++------- .../main/java/org/connectbot/service/TerminalManager.java | 15 ++++++++++----- 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'app/src/main/java/org/connectbot/service') diff --git a/app/src/main/java/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java index 6f76b02..6d47f96 100644 --- a/app/src/main/java/org/connectbot/service/TerminalBridge.java +++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java @@ -273,8 +273,7 @@ public class TerminalBridge implements VDUDisplay { transport.setEmulation(emulation); if (transport.canForwardPorts()) { - HostDatabase hostDb = HostDatabase.get(manager); - for (PortForwardBean portForward : hostDb.getPortForwardsForHost(host)) + for (PortForwardBean portForward : manager.hostdb.getPortForwardsForHost(host)) transport.addPortForward(portForward); } @@ -534,8 +533,7 @@ public class TerminalBridge implements VDUDisplay { } host.setFontSize((int) sizeDp); - HostDatabase hostDb = HostDatabase.get(manager); - hostDb.updateFontSize(host); + manager.hostdb.updateFontSize(host); forcedSize = false; } @@ -952,12 +950,11 @@ public class TerminalBridge implements VDUDisplay { } public final void resetColors() { - HostDatabase hostDb = HostDatabase.get(manager); - int[] defaults = hostDb.getDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME); + int[] defaults = manager.hostdb.getDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME); defaultFg = defaults[0]; defaultBg = defaults[1]; - color = hostDb.getColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME); + color = manager.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 3a58c8a..1f0ee29 100644 --- a/app/src/main/java/org/connectbot/service/TerminalManager.java +++ b/app/src/main/java/org/connectbot/service/TerminalManager.java @@ -87,6 +87,9 @@ 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(); @@ -126,9 +129,11 @@ 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 pubkeys = pubkeydb.getAllStartPubkeys(); for (PubkeyBean pubkey : pubkeys) { @@ -168,6 +173,9 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen disconnectAll(true, false); + hostdb = null; + pubkeydb = null; + synchronized (this) { if (idleTimer != null) idleTimer.cancel(); @@ -262,12 +270,10 @@ 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); } @@ -277,7 +283,6 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen * to {@link HostDatabase}. */ private void touchHost(HostBean host) { - HostDatabase hostdb = HostDatabase.get(this); hostdb.touchHost(host); } -- cgit v1.2.3