diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml
index 8295bdb55..3561ca77e 100644
--- a/xwords4/android/XWords4/res/values/strings.xml
+++ b/xwords4/android/XWords4/res/values/strings.xml
@@ -2395,7 +2395,7 @@
New one-device game
New networked game
- Rematch with %1$s
+ Rematch: %1$s
Would you like to create this game
using default settings?\n\nOr would you like to configure it
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 6f1a42a6e..2e677c179 100644
--- a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml
+++ b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml
@@ -2057,7 +2057,7 @@
Etacinummoc aiv
Wen ecived-eno emag
Wen dekrowten emag
- Hctamer htiw %1$s
+ Hctamer: %1$s
Dluow uoy ekil ot etaerc siht emag
gnisu tluafed ?sgnittes\n\nRo dluow uoy ekil ot erugifnoc ti
?tsrif
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 455292dc4..c1111caa1 100644
--- a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml
+++ b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml
@@ -2057,7 +2057,7 @@
COMMUNICATE VIA
NEW ONE-DEVICE GAME
NEW NETWORKED GAME
- REMATCH WITH %1$s
+ REMATCH: %1$s
WOULD YOU LIKE TO CREATE THIS GAME
USING DEFAULT SETTINGS?\n\nOR WOULD YOU LIKE TO CONFIGURE IT
FIRST?
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 c55f0a896..1d1175635 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
@@ -2584,12 +2584,11 @@ public class BoardDelegate extends DelegateBase
}
if ( doIt ) {
- String[] opponents = m_gi.getRemoteNames();
- String opponent = (0 == opponents.length) ? null : opponents[0];
+ String newName = m_summary.getRematchName();
Intent intent = GamesListDelegate
.makeRematchIntent( m_activity, m_rowid, m_gi.dictName,
m_gi.dictLang, m_connTypes, btAddr,
- phone, relayID, opponent );
+ phone, relayID, newName );
if ( null != intent ) {
startActivity( intent );
finish();
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListDelegate.java
index 5ed382ea4..da56ac131 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListDelegate.java
@@ -89,7 +89,7 @@ public class GamesListDelegate extends ListDelegateBase
private static final String REMATCH_ROWID_EXTRA = "rm_rowid";
private static final String REMATCH_DICT_EXTRA = "rm_dict";
private static final String REMATCH_LANG_EXTRA = "rm_lang";
- private static final String REMATCH_OPPONENT_EXTRA = "rm_opp";
+ private static final String REMATCH_NEWNAME_EXTRA = "rm_nnm";
private static final String REMATCH_ADDRS_EXTRA = "rm_addrs";
private static final String REMATCH_BTADDR_EXTRA = "rm_btaddr";
private static final String REMATCH_PHONE_EXTRA = "rm_phone";
@@ -901,16 +901,12 @@ public class GamesListDelegate extends ListDelegateBase
case GAMES_LIST_NAME_REMATCH:
edit = (TextView)dialog.findViewById( R.id.edit );
- String opponent =
- m_rematchIntent.getStringExtra( REMATCH_OPPONENT_EXTRA );
- boolean solo = opponent == null;
- String name = solo
- ? GameUtils.makeDefaultName( m_activity )
- : getString( R.string.rematch_name_fmt, opponent );
- edit.setText( name );
- int icon = solo
- ? R.drawable.sologame__gen : R.drawable.multigame__gen;
- ad.setIcon( icon );
+ edit.setText( m_rematchIntent
+ .getStringExtra( REMATCH_NEWNAME_EXTRA ) );
+ boolean solo =
+ -1 == m_rematchIntent.getIntExtra( REMATCH_ADDRS_EXTRA, -1 );
+ ad.setIcon( solo ? R.drawable.sologame__gen
+ : R.drawable.multigame__gen );
((TextView)dialog.findViewById( R.id.msg ))
.setVisibility( View.GONE );
break;
@@ -2306,7 +2302,7 @@ public class GamesListDelegate extends ListDelegateBase
String dict, int lang,
CommsConnTypeSet addrTypes,
String btAddr, String phone,
- String relayID, String opponent )
+ String relayID, String newName )
{
Intent intent = null;
if ( XWApp.REMATCH_SUPPORTED ) {
@@ -2314,9 +2310,8 @@ public class GamesListDelegate extends ListDelegateBase
intent.putExtra( REMATCH_ROWID_EXTRA, rowid );
intent.putExtra( REMATCH_DICT_EXTRA, dict );
intent.putExtra( REMATCH_LANG_EXTRA, lang );
- if ( null != opponent ) {
- intent.putExtra( REMATCH_OPPONENT_EXTRA, opponent );
- }
+ intent.putExtra( REMATCH_NEWNAME_EXTRA, newName );
+
if ( null != addrTypes ) {
intent.putExtra( REMATCH_ADDRS_EXTRA, addrTypes.toInt() ); // here
if ( null != btAddr ) {
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
index 41492a7cc..e1e1cdf18 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
@@ -367,17 +367,6 @@ public class CurGameInfo {
}
}
- public String[] getRemoteNames()
- {
- ArrayList al = new ArrayList();
- for ( int ii = 0; ii < nPlayers; ++ii ) {
- if ( ! players[ii].isLocal ) {
- al.add( players[ii].name );
- }
- }
- return al.toArray( new String[al.size()] );
- }
-
private boolean moveUp( int which )
{
boolean canMove = which > 0 && which < nPlayers;
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/GameSummary.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/GameSummary.java
index 9d496ec6a..14296af9c 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/GameSummary.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/GameSummary.java
@@ -131,6 +131,12 @@ public class GameSummary {
return result;
}
+ public String getRematchName()
+ {
+ return LocUtils.getString( m_context, R.string.rematch_name_fmt,
+ playerNames() );
+ }
+
public void setRemoteDevs( Context context, String asString )
{
if ( null != asString ) {