diff --git a/xwords4/android/XWords4/jni/Android.mk b/xwords4/android/XWords4/jni/Android.mk
index 886bcdc1f..40f7a7e81 100644
--- a/xwords4/android/XWords4/jni/Android.mk
+++ b/xwords4/android/XWords4/jni/Android.mk
@@ -15,6 +15,7 @@ local_DEFINES += \
$(local_DEBUG) \
-DXWFEATURE_RELAY \
-DXWFEATURE_TURNCHANGENOTIFY \
+ -DXWFEATURE_CHAT \
-DSHOW_PROGRESS \
-DKEY_SUPPORT \
-DXWFEATURE_CROSSHAIRS \
diff --git a/xwords4/android/XWords4/jni/utilwrapper.c b/xwords4/android/XWords4/jni/utilwrapper.c
index 791de092a..4b14f5b4f 100644
--- a/xwords4/android/XWords4/jni/utilwrapper.c
+++ b/xwords4/android/XWords4/jni/utilwrapper.c
@@ -346,6 +346,15 @@ and_util_warnIllegalWord( XW_UtilCtxt* uc, BadWordInfo* bwi,
return result;
}
+static void
+and_util_showChat( XW_UtilCtxt* uc, const XP_UCHAR const* msg )
+{
+ UTIL_CBK_HEADER("showChat", "(Ljava/lang/String;)V" );
+ jstring jmsg = (*env)->NewStringUTF( env, msg );
+ (*env)->CallVoidMethod( env, util->jutil, mid, jmsg );
+ (*env)->DeleteLocalRef( env, jmsg );
+ UTIL_CBK_TAIL();
+}
static void
and_util_remSelected(XW_UtilCtxt* uc)
@@ -445,6 +454,7 @@ makeUtil( MPFORMAL JNIEnv** envp, jobject jutil, CurGameInfo* gi,
SET_PROC(makeEmptyDict);
SET_PROC(getUserString);
SET_PROC(warnIllegalWord);
+ SET_PROC(showChat);
SET_PROC(remSelected);
SET_PROC(setIsServer);
diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml
index aae83091c..89fd85385 100644
--- a/xwords4/android/XWords4/res/values/strings.xml
+++ b/xwords4/android/XWords4/res/values/strings.xml
@@ -386,4 +386,6 @@
No public rooms found. Try
refreshing or creating your own.
+ Message received
+
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 cb729bf89..5db821c03 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
@@ -1152,4 +1152,12 @@ public class BoardActivity extends Activity implements UtilCtxt {
return accept;
}
+ public void showChat( String msg )
+ {
+ Utils.logf( "showChat(%s)", msg );
+ m_dlgBytes = msg;
+ m_dlgTitle = R.string.chat_received;
+ showDialog( DLG_OKONLY );
+ }
+
} // class BoardActivity
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java
index bc6a11b86..4210461e9 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/UtilCtxt.java
@@ -108,4 +108,6 @@ public interface UtilCtxt {
//void yOffsetChange( int maxOffset, int oldOffset, int newOffset );
boolean warnIllegalWord( String[] words, int turn, boolean turnLost );
+
+ void showChat( String msg );
}