diff options
author | Kenny Root <kenny@the-b.org> | 2015-09-07 22:15:57 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-09-07 22:15:57 -0700 |
commit | 57afa9bdc5b269a48bd27fc8455cab4cb956d02a (patch) | |
tree | 86e301f6769a92bf853e8d60b156a4e98f077ecf /app/src/main/java/org/connectbot/service | |
parent | 747e11c6ff28fc833855b9979ce68a15b99915f6 (diff) | |
download | connectbot-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.java | 11 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalManager.java | 15 |
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); } |