From af86bcefa9e807d5549ade067886e611c7a1c1ad Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Sun, 6 Oct 2019 22:32:11 +0100 Subject: [PATCH] main display: update menu from UI thread. --- .../ctfwstimer/activity/main/Activity.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/Activity.java b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/Activity.java index cf41656..63b0021 100644 --- a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/Activity.java +++ b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/Activity.java @@ -53,7 +53,7 @@ public class Activity extends CtFwSActivityBase { public void onMqttServerEvent(MainService.LocalBinder b, MainService.MqttServerEvent mse) { mLastMSE = mse; if (mMenuReconn != null) { - setMenuReconnVis(mse); + updateMenuReconnVis(); } switch(mse) { case MSE_CONN: @@ -262,7 +262,7 @@ public class Activity extends CtFwSActivityBase { mMenuReconn = menu.findItem(R.id.mainmenu_reconn); if (mLastMSE != null) { - setMenuReconnVis(mLastMSE); + updateMenuReconnVis(); } @@ -273,15 +273,20 @@ public class Activity extends CtFwSActivityBase { return true; } - private void setMenuReconnVis(MainService.MqttServerEvent mse) { - switch(mse) { - case MSE_CONN: - case MSE_SUB: - mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); - break; - case MSE_DISCONN: - mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - break; - } + private void updateMenuReconnVis() { + runOnUiThread(new Runnable() { + @Override + public void run() { + switch(mLastMSE) { + case MSE_CONN: + case MSE_SUB: + mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); + break; + case MSE_DISCONN: + mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); + break; + } + } + }); } } -- 2.50.1