provide default rematch game name that makes sense on both devices

This commit is contained in:
Eric House 2015-09-24 20:26:43 -07:00
parent 8a3bc943c8
commit e9059cba47
7 changed files with 21 additions and 32 deletions

View file

@ -2395,7 +2395,7 @@
<string name="new_game">New one-device game</string>
<string name="new_game_networked">New networked game</string>
<string name="rematch_name_fmt">Rematch with %1$s</string>
<string name="rematch_name_fmt">Rematch: %1$s</string>
<string name="new_game_message">Would you like to create this game
using default settings?\n\nOr would you like to configure it

View file

@ -2057,7 +2057,7 @@
<string name="title_addrs_pref">Etacinummoc aiv</string>
<string name="new_game">Wen ecived-eno emag</string>
<string name="new_game_networked">Wen dekrowten emag</string>
<string name="rematch_name_fmt">Hctamer htiw %1$s</string>
<string name="rematch_name_fmt">Hctamer: %1$s</string>
<string name="new_game_message">Dluow uoy ekil ot etaerc siht emag
gnisu tluafed ?sgnittes\n\nRo dluow uoy ekil ot erugifnoc ti
?tsrif</string>

View file

@ -2057,7 +2057,7 @@
<string name="title_addrs_pref">COMMUNICATE VIA</string>
<string name="new_game">NEW ONE-DEVICE GAME</string>
<string name="new_game_networked">NEW NETWORKED GAME</string>
<string name="rematch_name_fmt">REMATCH WITH %1$s</string>
<string name="rematch_name_fmt">REMATCH: %1$s</string>
<string name="new_game_message">WOULD YOU LIKE TO CREATE THIS GAME
USING DEFAULT SETTINGS?\n\nOR WOULD YOU LIKE TO CONFIGURE IT
FIRST?</string>

View file

@ -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();

View file

@ -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 ) {

View file

@ -367,17 +367,6 @@ public class CurGameInfo {
}
}
public String[] getRemoteNames()
{
ArrayList<String> al = new ArrayList<String>();
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;

View file

@ -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 ) {