From 0bb51e8b93f0a6adbd857776f1e62b43a6328013 Mon Sep 17 00:00:00 2001 From: Eric House Date: Sat, 11 Jul 2015 16:24:21 -0700 Subject: [PATCH] show a toast when hint can't find anything, on the principle that user should see some response to every action. Conflicts: xwords4/android/XWords4/archive/R.java --- xwords4/android/XWords4/res/values/strings.xml | 2 ++ .../XWords4/res_src/values-ba_CK/strings.xml | 1 + .../XWords4/res_src/values-ca_PS/strings.xml | 1 + .../org/eehouse/android/xw4/BoardDelegate.java | 16 +++++++++++++++- .../org/eehouse/android/xw4/jni/UtilCtxt.java | 4 +++- xwords4/common/board.c | 2 ++ xwords4/common/util.h | 1 + xwords4/linux/linuxutl.c | 4 ++++ 8 files changed, 29 insertions(+), 2 deletions(-) diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml index dfe48c0a8..0627d365a 100644 --- a/xwords4/android/XWords4/res/values/strings.xml +++ b/xwords4/android/XWords4/res/values/strings.xml @@ -2529,4 +2529,6 @@ Use Bluetooth to play against a nearby device that\'s \"paired\" with yours. + Cannot find any moves + diff --git a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml index e3b4195f7..4899b352d 100644 --- a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml @@ -2178,4 +2178,5 @@ i.e. yreve reirrac ni eht dlrow tpecxe Nozirev dna Tnirps. Esu Htooteulb ot yalp tsniaga a ybraen ecived taht\'s \"deriap\" htiw sruoy. + Tonnac dnif yna sevom diff --git a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml index ad10613b9..bfb9818ba 100644 --- a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml @@ -2178,4 +2178,5 @@ I.E. EVERY CARRIER IN THE WORLD EXCEPT VERIZON AND SPRINT. USE BLUETOOTH TO PLAY AGAINST A NEARBY DEVICE THAT\'S \"PAIRED\" WITH YOURS. + CANNOT FIND ANY MOVES diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java index 3bff32314..d11b650d8 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java @@ -1719,6 +1719,7 @@ public class BoardDelegate extends DelegateBase public void userError( int code ) { int resid = 0; + boolean asToast = false; switch( code ) { case UtilCtxt.ERR_TILES_NOT_IN_LINE: resid = R.string.str_tiles_not_in_line; @@ -1764,10 +1765,23 @@ public class BoardDelegate extends DelegateBase case ERR_REG_SERVER_SANS_REMOTE: resid = R.string.str_reg_server_sans_remote; break; + case ERR_NO_HINT_FOUND: + resid = R.string.str_no_hint_found; + asToast = true; + break; } if ( resid != 0 ) { - nonBlockingDialog( DlgID.DLG_OKONLY, getString( resid ) ); + if ( asToast ) { + final int residf = resid; + runOnUiThread( new Runnable() { + public void run() { + showToast( residf ); + } + } ); + } else { + nonBlockingDialog( DlgID.DLG_OKONLY, getString( resid ) ); + } } } // userError diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java index 82c6246f8..d4bf807aa 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java @@ -125,7 +125,9 @@ public interface UtilCtxt { static final int ERR_NO_EMPTY_TRADE = 13; static final int ERR_CANT_UNDO_TILEASSIGN = 14; static final int ERR_CANT_HINT_WHILE_DISABLED = 15; - static final int ERR_RELAY_BASE = 16; + static final int ERR_NO_HINT_FOUND = 16; + + static final int ERR_RELAY_BASE = 17; void userError( int id ); void informMove( String expl, String words ); diff --git a/xwords4/common/board.c b/xwords4/common/board.c index 97003fd88..6773b1c70 100644 --- a/xwords4/common/board.c +++ b/xwords4/common/board.c @@ -2121,6 +2121,8 @@ board_requestHint( BoardCtxt* board, } setArrowVisible( board, wasVisible ); } + } else { + util_userError( board->util, ERR_NO_HINT_FOUND ); } } return result || redraw; diff --git a/xwords4/common/util.h b/xwords4/common/util.h index 06a55f4de..02f093a5f 100644 --- a/xwords4/common/util.h +++ b/xwords4/common/util.h @@ -58,6 +58,7 @@ typedef enum { /* ERR_NOT_YOUR_TURN_TO_MOVE, */ ERR_CANT_UNDO_TILEASSIGN, ERR_CANT_HINT_WHILE_DISABLED, + ERR_NO_HINT_FOUND, /* not really an error... */ ERR_RELAY_BASE, ERR_RELAY_END = ERR_RELAY_BASE + XWRELAY_ERROR_LASTERR diff --git a/xwords4/linux/linuxutl.c b/xwords4/linux/linuxutl.c index 0f16539ed..2920777a0 100644 --- a/xwords4/linux/linuxutl.c +++ b/xwords4/linux/linuxutl.c @@ -492,6 +492,10 @@ linux_getErrString( UtilErrID id, XP_Bool* silent ) message = "No tiles selected; trade cancelled."; break; + case ERR_NO_HINT_FOUND: + message = "Unable to suggest any moves."; + break; + case ERR_CANT_UNDO_TILEASSIGN: message = "Tile assignment can't be undone."; break;