diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/ConnViaViewLayout.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/ConnViaViewLayout.java index 2a0bca05c..85af9863c 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/ConnViaViewLayout.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/ConnViaViewLayout.java @@ -101,9 +101,9 @@ public class ConnViaViewLayout extends LinearLayout { if ( isChecked ) { showNotAgainTypeTip( typf ); enabledElseWarn( typf ); - m_curSet.add( typf ); + m_curSet.addWithCheck( typf ); } else { - m_curSet.remove( typf ); + m_curSet.removeWithCheck( typf ); if ( null != m_emptyWarner && 0 == m_curSet.size()) { m_emptyWarner.typeSetEmpty(); } 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 76db23fab..e827f9bdf 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 @@ -527,10 +527,7 @@ public class XWPrefs { if ( -1 == flags ) { result = new CommsConnTypeSet(); if ( getRelayEnabled( context ) ) { - result.add( CommsConnType.COMMS_CONN_RELAY ); - } - if ( BuildConfig.OFFER_MQTT ) { - result.add( CommsConnType.COMMS_CONN_MQTT ); + result.addWithCheck( CommsConnType.COMMS_CONN_RELAY ); } if ( BTService.BTEnabled() ) { result.add( CommsConnType.COMMS_CONN_BT ); diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/jni/CommsAddrRec.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/jni/CommsAddrRec.java index 65376f8cd..55488fb5f 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/jni/CommsAddrRec.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/jni/CommsAddrRec.java @@ -55,7 +55,7 @@ public class CommsAddrRec { COMMS_CONN_SMS, COMMS_CONN_P2P, COMMS_CONN_NFC(false), - COMMS_CONN_MQTT; + COMMS_CONN_MQTT(false); private boolean mIsSelectable = true; @@ -199,6 +199,20 @@ public class CommsAddrRec { return result; } + public void addWithCheck( CommsConnType typ ) { + add( typ ); + if ( BuildConfig.OFFER_MQTT && typ == CommsConnType.COMMS_CONN_RELAY ) { + add( CommsConnType.COMMS_CONN_MQTT ); + } + } + + public void removeWithCheck( CommsConnType typ ) { + remove( typ ); + if ( typ == CommsConnType.COMMS_CONN_RELAY ) { + remove( CommsConnType.COMMS_CONN_MQTT ); + } + } + public String toString( Context context, boolean longVersion ) { String result;