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;