diff --git a/xwords4/android/XWords4/archive/R.java b/xwords4/android/XWords4/archive/R.java index 2e2eaa174..44517b564 100644 --- a/xwords4/android/XWords4/archive/R.java +++ b/xwords4/android/XWords4/archive/R.java @@ -1927,7 +1927,7 @@ public final class R { substituted. */ public static final int no_name_found_fmt=0x7f0500b8; - public static final int no_relay_conn=0x7f0502fb; + public static final int no_relay_conn=0x7f0502fc; /** This is not currently shown Crosswords wordlists, which are just compressed lists of words plus tile information, determine @@ -2339,6 +2339,7 @@ public final class R { /** title for popup of public rooms found on server */ public static final int room_public_prompt=0x7f0500b6; + public static final int seeking_relay=0x7f0502fb; public static final int sel_games_fmt=0x7f050251; public static final int sel_groups_fmt=0x7f050252; public static final int sel_items_fmt=0x7f05026d; @@ -2702,6 +2703,7 @@ public final class R { /** */ public static final int warn_unlimited=0x7f050201; + public static final int wifi_warning=0x7f0502fd; /** */ public static final int word_search_hint=0x7f0501cc; diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml index b63ea2143..ede5633e4 100644 --- a/xwords4/android/XWords4/res/values/strings.xml +++ b/xwords4/android/XWords4/res/values/strings.xml @@ -2463,9 +2463,15 @@ Checking for wordlists in %1$s… SD card write complete. + Connecting to relay… + This game is configured to use the relay for communication but has been unable to connect, either because of problems with your device\'s internet connection or - because the relay is not running.\n\nPlease try opening the game again - later. + because the relay is not running.\n\nPlease try opening the game + again later after conditions have changed. + + \u0020For example, you may need to be on + a different WiFi network. + 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 4ca5ee973..89858377c 100644 --- a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml @@ -2132,9 +2132,12 @@ Gnikcehc Gnikcehc rof stsildrow ni %1$s… DS drac etirw etelpmoc. + Gnitcennoc ot yaler… Siht emag si derugifnoc ot esu eht yaler rof noitacinummoc tub sah neeb elbanu ot ,tcennoc rehtie esuaceb fo smelborp htiw ruoy ecived\'s tenretni noitcennoc ro - esuaceb eht yaler si ton gninnur.\n\nEsaelp yrt gninepo eht emag niaga - retal. + esuaceb eht yaler si ton gninnur.\n\nEsaelp yrt gninepo eht emag + niaga retal retfa snoitidnoc evah degnahc. + \u0020Rof ,elpmaxe uoy yam deen ot eb no + a tnereffid IfIw krowten. 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 077973e69..ae443db81 100644 --- a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml @@ -2132,9 +2132,12 @@ CHECKING CHECKING FOR WORDLISTS IN %1$s… SD CARD WRITE COMPLETE. + CONNECTING TO RELAY… THIS GAME IS CONFIGURED TO USE THE RELAY FOR COMMUNICATION BUT HAS BEEN UNABLE TO CONNECT, EITHER BECAUSE OF PROBLEMS WITH YOUR DEVICE\'S INTERNET CONNECTION OR - BECAUSE THE RELAY IS NOT RUNNING.\n\nPLEASE TRY OPENING THE GAME AGAIN - LATER. + BECAUSE THE RELAY IS NOT RUNNING.\n\nPLEASE TRY OPENING THE GAME + AGAIN LATER AFTER CONDITIONS HAVE CHANGED. + \u0020FOR EXAMPLE, YOU MAY NEED TO BE ON + A DIFFERENT WIFI NETWORK. 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 0803265ff..3589154d5 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java @@ -479,17 +479,24 @@ public class BoardDelegate extends DelegateBase case DLG_NOINVITE: AlertDialog ad = (AlertDialog)dialog; String message; - int titleID = R.string.info_title;; + int titleID; boolean nukeButton = false; if ( m_summary.hasRematchInfo() ) { + titleID = R.string.info_title;; message = getString( R.string.rematch_msg ); nukeButton = true; } else if ( DlgID.DLG_NOINVITE == dlgID ) { + titleID = R.string.seeking_relay; message = getString( R.string.no_relay_conn ); + if ( NetStateCache.netAvail( m_activity ) + && NetStateCache.onWifi() ) { + message += getString( R.string.wifi_warning ); + } nukeButton = true; } else { titleID = R.string.waiting_title; - message = getQuantityString( R.plurals.invite_msg_fmt, m_nMissing, m_nMissing ); + message = getQuantityString( R.plurals.invite_msg_fmt, + m_nMissing, m_nMissing ); String ps = null; if ( m_nMissing > 1 ) { diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetStateCache.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetStateCache.java index 2dd591745..181f4da2d 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetStateCache.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetStateCache.java @@ -46,6 +46,7 @@ public class NetStateCache { private static AtomicBoolean s_haveReceiver = new AtomicBoolean( false ); private static HashSet s_ifs; private static boolean s_netAvail = false; + private static boolean s_isWifi; private static PvtBroadcastReceiver s_receiver; private static final boolean s_onSim = Build.PRODUCT.contains("sdk"); @@ -71,6 +72,11 @@ public class NetStateCache { return s_netAvail || s_onSim; } + public static boolean onWifi() + { + return s_isWifi; + } + public static void reset( Context context ) { synchronized( s_haveReceiver ) { @@ -140,6 +146,7 @@ public class NetStateCache { switch ( state ) { case CONNECTED: netAvail = true; + s_isWifi = ConnectivityManager.TYPE_WIFI == ni.getType(); break; case DISCONNECTED: netAvail = false;