diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml index 5e9f42db4..3ea36fc73 100644 --- a/xwords4/android/XWords4/res/values/strings.xml +++ b/xwords4/android/XWords4/res/values/strings.xml @@ -2118,4 +2118,14 @@ Winner + + You and the host of this + game are using different versions of the wordlist %1$s. + + You are using the wordlist + %1$s but the game host is using %2$s. + + \u0020(Remember that phonies + will be discarded based on the host\'s wordlist.) + diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java index faec012a0..b34345ee9 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java @@ -1485,12 +1485,27 @@ public class BoardActivity extends XWActivity // should be the normal case. Otherwise: if same name but // different sum, notify and offer to upgrade. If // different name, offer to install. - String oldSum = DictLangCache.getDictMD5Sum( BoardActivity.this, - oldName ); - String str = String.format( "informNetDict(%s, %s, %s, %s, %s)", - oldName, oldSum, newName, newSum, - phonies.toString() ); - nonBlockingDialog( DLG_OKONLY, str ); + String msg = null; + if ( oldName.equals( newName ) ) { + String oldSum = DictLangCache.getDictMD5Sum( BoardActivity.this, + oldName ); + if ( !oldSum.equals( newSum ) ) { + // Same dict, different versions + msg = getString( R.string. inform_dict_diffversionf, + oldName ); + } + } else { + // Different dict! If we have the other one, switch + // to it. Otherwise offer to download + msg = getString( R.string.inform_dict_diffdictf, + oldName, newName ); + } + if ( null != msg ) { + if ( CurGameInfo.XWPhoniesChoice.PHONIES_DISALLOW == phonies ) { + msg += getString( R.string.inform_dict_phonies ); + } + nonBlockingDialog( DLG_OKONLY, msg ); + } } @Override