diff --git a/xwords4/android/XWords4/res/layout/relay_game_config.xml b/xwords4/android/XWords4/res/layout/relay_game_config.xml
index 4a0c40f4d..cbfae5dd4 100644
--- a/xwords4/android/XWords4/res/layout/relay_game_config.xml
+++ b/xwords4/android/XWords4/res/layout/relay_game_config.xml
@@ -34,6 +34,21 @@
android:text="@string/play"
/>
+
+
+
+
+
+
diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml
index 7d7f015d7..34b729786 100644
--- a/xwords4/android/XWords4/res/values/strings.xml
+++ b/xwords4/android/XWords4/res/values/strings.xml
@@ -478,4 +478,13 @@
field below. Do that and press the Play game button and you\'ll
connect.
+ To make more advanced changes
+ to your game, e.g. to change the dictionary and language it uses,
+ the number of players in the game or on this device, to enter or
+ create a public room, etc., tap the configure button below. You
+ can reach the configure screen at any time via the long-press menu
+ in the main Game list screen.
+
+ Advanced settings
+
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java
index 543ee3841..62a291ad2 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java
@@ -413,6 +413,13 @@ public class GameUtils {
XwJNI.game_dispose( gamePtr );
}
+ public static void doConfig( Activity activity, String path, Class clazz )
+ {
+ Uri uri = Uri.fromFile( new File(path) );
+ Intent intent = new Intent( Intent.ACTION_EDIT, uri, activity, clazz );
+ activity.startActivity( intent );
+ }
+
private static String removeExtn( String str )
{
if ( str.endsWith( XWConstants.DICT_EXTN ) ) {
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
index 0f550f3c9..8f1772577 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
@@ -89,7 +89,8 @@ public class GamesList extends XWListActivity
showNotAgainDlgThen( R.string.not_again_newgamenet,
R.string.key_notagain_newgamenet, null );
- doConfig( path, RelayGameActivity.class );
+ GameUtils.doConfig( GamesList.this, path,
+ RelayGameActivity.class );
}
});
@@ -311,13 +312,13 @@ public class GamesList extends XWListActivity
} else {
switch ( menuID ) {
case R.id.list_item_config:
- doConfig( path, GameConfig.class );
+ GameUtils.doConfig( this, path, GameConfig.class );
m_invalPath = path;
break;
// For development only; don't ship!!!
case R.id.list_item_netconfig:
- doConfig( path, RelayGameActivity.class );
+ GameUtils.doConfig( this, path, RelayGameActivity.class );
m_invalPath = path;
break;
@@ -363,13 +364,6 @@ public class GamesList extends XWListActivity
return handled;
} // handleMenuItem
- private void doConfig( String path, Class clazz )
- {
- Uri uri = Uri.fromFile( new File(path) );
- Intent intent = new Intent( Intent.ACTION_EDIT, uri, this, clazz );
- startActivity( intent );
- }
-
private String saveNew( CurGameInfo gi )
{
String path = null;
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java
index 4aaad6b9c..d61925383 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java
@@ -26,11 +26,13 @@
package org.eehouse.android.xw4;
import android.app.Activity;
+import java.io.File;
import android.os.Bundle;
import android.net.Uri;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;
+import android.content.Intent;
import junit.framework.Assert;
import org.eehouse.android.xw4.jni.*;
@@ -41,6 +43,8 @@ public class RelayGameActivity extends XWActivity
private String m_path;
private CurGameInfo m_gi;
private CommsAddrRec m_car;
+ private Button m_playButton;
+ private Button m_configButton;
@Override
public void onCreate( Bundle savedInstanceState )
@@ -74,16 +78,24 @@ public class RelayGameActivity extends XWActivity
TextView text = (TextView)findViewById( R.id.explain );
text.setText( String.format( fmt, lang ) );
- Button play_button = (Button)findViewById( R.id.play_button );
- play_button.setOnClickListener( this );
+ m_playButton = (Button)findViewById( R.id.play_button );
+ m_playButton.setOnClickListener( this );
+
+ m_configButton = (Button)findViewById( R.id.config_button );
+ m_configButton.setOnClickListener( this );
} // onCreate
@Override
public void onClick( View view )
{
- m_car.ip_relay_invite = Utils.getText( this, R.id.room_edit ).trim();
- GameUtils.applyChanges( this, m_gi, m_car, m_path, false );
- GameUtils.launchGame( this, m_path );
+ if ( view == m_playButton ) {
+ m_car.ip_relay_invite = Utils.getText( this, R.id.room_edit ).trim();
+ GameUtils.applyChanges( this, m_gi, m_car, m_path, false );
+ GameUtils.launchGame( this, m_path );
+ } else if ( view == m_configButton ) {
+ GameUtils.doConfig( this, m_path, GameConfig.class );
+ finish();
+ }
}
} // class RelayGameActivity