From 8fae287145cf2f52c0f5ac03ba6a60afa3aeba6f Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Fri, 28 Dec 2012 18:42:43 +0000 Subject: [PATCH] DroidFish: Workaround for long press problem in movelist on android 4.1. --- DroidFish/src/org/petero/droidfish/DroidFish.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index 6990148..d5c6af5 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -183,6 +183,7 @@ public class DroidFish extends Activity implements GUIInterface { private TextView whiteTitleText, blackTitleText, engineTitleText; private View secondTitleLine; private TextView whiteFigText, blackFigText, summaryTitleText; + private static Dialog moveListMenuDlg; SharedPreferences settings; @@ -2264,9 +2265,11 @@ public class DroidFish extends Activity implements GUIInterface { ctrl.makeHumanNullMove(); break; } + moveListMenuDlg = null; } }); AlertDialog alert = builder.create(); + moveListMenuDlg = alert; return alert; } @@ -3074,8 +3077,14 @@ public class DroidFish extends Activity implements GUIInterface { } @Override public void onClick(View widget) { - if (ctrl != null) - ctrl.goNode(node); + if (ctrl != null) { + // On android 4.1 this onClick method is called + // even when you long click the move list. The test + // below works around the problem. + Dialog mlmd = moveListMenuDlg; + if ((mlmd == null) || !mlmd.isShowing()) + ctrl.goNode(node); + } } @Override public void updateDrawState(TextPaint ds) {