diff --git a/xwords4/android/XWords4/img_src/send.svg b/xwords4/android/XWords4/img_src/send.svg
new file mode 100644
index 000000000..1488968ee
--- /dev/null
+++ b/xwords4/android/XWords4/img_src/send.svg
@@ -0,0 +1,11 @@
+
+
+
diff --git a/xwords4/android/XWords4/res/menu/board_menu.xml b/xwords4/android/XWords4/res/menu/board_menu.xml
index b3be4cf3e..9bc13f55f 100644
--- a/xwords4/android/XWords4/res/menu/board_menu.xml
+++ b/xwords4/android/XWords4/res/menu/board_menu.xml
@@ -4,11 +4,18 @@
+
+
+
- Setting for game snapshots
Invitation ignored: already used
%1$s (yours)
-
+ Invite
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 493ecc706..96c070fa1 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
@@ -744,6 +744,7 @@ public class BoardActivity extends XWActivity
item.setTitle( strId );
}
+ Utils.setItemVisible( menu, R.id.board_menu_invite, 0 < m_missing );
Utils.setItemVisible( menu, R.id.board_menu_undo_last, !inTrade );
Utils.setItemVisible( menu, R.id.board_menu_tray, !inTrade );
@@ -843,7 +844,9 @@ public class BoardActivity extends XWActivity
case R.id.board_menu_undo_last:
showConfirmThen( R.string.confirm_undo_last, UNDO_LAST_ACTION );
break;
-
+ case R.id.board_menu_invite:
+ showDialog( DLG_INVITE );
+ break;
// small devices only
case R.id.board_menu_dict:
String dictName = m_gi.dictName( m_view.getCurPlayer() );
@@ -1295,6 +1298,7 @@ public class BoardActivity extends XWActivity
m_room = room;
m_missing = nMissing;
showDialog( DLG_INVITE );
+ Utils.invalidateOptionsMenuIf( this );
} else {
toastStr = getString( R.string.msg_relay_waiting, devOrder,
room, nMissing );