aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/service/TerminalBridge.java
diff options
context:
space:
mode:
authorJeremy Klein <jlklein@google.com>2015-08-13 15:01:22 -0700
committerJeremy Klein <jlklein@google.com>2015-08-13 15:04:55 -0700
commitb067b78b004f8dd2607fe1acea0e7ec47e108212 (patch)
tree4f691fd88427d99aab832d829b5b318d4b5c7e9b /app/src/main/java/org/connectbot/service/TerminalBridge.java
parent5b96ac07b94c4f2c8e4ffa6862b2c5693965a96d (diff)
downloadconnectbot-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.java15
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);
+ }
+ }
}
}
});