diff options
author | Jeremy Klein <jlklein@google.com> | 2015-08-13 15:01:22 -0700 |
---|---|---|
committer | Jeremy Klein <jlklein@google.com> | 2015-08-13 15:04:55 -0700 |
commit | b067b78b004f8dd2607fe1acea0e7ec47e108212 (patch) | |
tree | 4f691fd88427d99aab832d829b5b318d4b5c7e9b /app/src/main/java/org/connectbot/service/TerminalBridge.java | |
parent | 5b96ac07b94c4f2c8e4ffa6862b2c5693965a96d (diff) | |
download | connectbot-b067b78b004f8dd2607fe1acea0e7ec47e108212.tar.gz connectbot-b067b78b004f8dd2607fe1acea0e7ec47e108212.tar.bz2 connectbot-b067b78b004f8dd2607fe1acea0e7ec47e108212.zip |
Call the bridge disconnect listener sychronously on the main thread.
This resolves an issue with the adapter count changing without
notifyDataSetChanged being called before layout.
Diffstat (limited to 'app/src/main/java/org/connectbot/service/TerminalBridge.java')
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalBridge.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java index 6333c17..f7be0ae 100644 --- a/app/src/main/java/org/connectbot/service/TerminalBridge.java +++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java @@ -456,8 +456,19 @@ public class TerminalBridge implements VDUDisplay { awaitingClose = true; // Tell the TerminalManager that we can be destroyed now. - if (disconnectListener != null) - disconnectListener.onDisconnected(TerminalBridge.this); + if (disconnectListener != null) { + // The disconnect listener should be run on the main thread if possible. + if (parent != null) { + parent.post(new Runnable() { + @Override + public void run() { + disconnectListener.onDisconnected(TerminalBridge.this); + } + }); + } else { + disconnectListener.onDisconnected(TerminalBridge.this); + } + } } } }); |