diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSService.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSService.java
index 9e51e0c88..66813eb0d 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSService.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSService.java
@@ -452,11 +452,8 @@ public class SMSService extends XWService {
byte[] data = bas.toByteArray();
- boolean forceNow = cmd == SMS_CMD.INVITE || cmd == SMS_CMD.DATA;
- // forceNow should always be true on first release since old code
- // can't do the combined-messages stuff. Let's assert so we change
- // when close to release.
- Assert.assertTrue( BuildConfig.DEBUG );
+ boolean newSMSEnabled = XWPrefs.getSMSProtoEnabled( this );
+ boolean forceNow = !newSMSEnabled; // || cmd == SMS_CMD.INVITE;
resendFor( phone, data, forceNow );
}
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/XWPrefs.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/XWPrefs.java
index 5bad7482e..4de7cb416 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/XWPrefs.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/XWPrefs.java
@@ -82,6 +82,11 @@ public class XWPrefs {
return getPrefsBoolean( context, R.string.key_enable_sms_toself, false );
}
+ public static boolean getSMSProtoEnabled( Context context )
+ {
+ return getPrefsBoolean( context, R.string.key_enable_smsproto, false );
+ }
+
public static boolean getHideNewgameButtons( Context context )
{
return getPrefsBoolean( context, R.string.key_hide_newgames,
diff --git a/xwords4/android/app/src/main/res/values/common_rsrc.xml b/xwords4/android/app/src/main/res/values/common_rsrc.xml
index 984ff5cdc..b776b8be4 100644
--- a/xwords4/android/app/src/main/res/values/common_rsrc.xml
+++ b/xwords4/android/app/src/main/res/values/common_rsrc.xml
@@ -125,6 +125,7 @@
key_enable_dup_invite
key_enable_nfc_toself
key_enable_sms_toself
+ key_enable_smsproto
key_ignore_gcm
key_show_gcm
key_nag_intervals
diff --git a/xwords4/android/app/src/main/res/values/strings.xml b/xwords4/android/app/src/main/res/values/strings.xml
index 8a35abac2..7427f169a 100644
--- a/xwords4/android/app/src/main/res/values/strings.xml
+++ b/xwords4/android/app/src/main/res/values/strings.xml
@@ -2516,6 +2516,10 @@
Reminder intervals (minutes1,minutes2,...)
Enable NFC to self
Fake invitation to aid debugging
+
+ Use new/experimental SMS code
+ (Requires that opponent be using it too)
+
Short-circuit SMS to self
Skip radio when phone numbers same
diff --git a/xwords4/android/app/src/main/res/xml/xwprefs.xml b/xwords4/android/app/src/main/res/xml/xwprefs.xml
index 8ea8c8a6d..8d6204d6d 100644
--- a/xwords4/android/app/src/main/res/xml/xwprefs.xml
+++ b/xwords4/android/app/src/main/res/xml/xwprefs.xml
@@ -437,6 +437,11 @@
+