diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index e8f13c59e..626108937 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -49,6 +49,7 @@ import java.util.TimerTask; import org.linphone.LinphoneSimpleListener.LinphoneOnAudioChangedListener; import org.linphone.LinphoneSimpleListener.LinphoneOnAudioChangedListener.AudioState; +import org.linphone.LinphoneSimpleListener.LinphoneOnTextReceivedListener; import org.linphone.LinphoneSimpleListener.LinphoneServiceListener; import org.linphone.core.CallDirection; import org.linphone.core.LinphoneAddress; @@ -894,7 +895,10 @@ public final class LinphoneManager implements LinphoneCoreListener { private MediaPlayer mRingerPlayer; private Vibrator mVibrator; - + private LinphoneOnTextReceivedListener textReceivedListener; + public void setOnTextReceivedListener(LinphoneOnTextReceivedListener listener) { + textReceivedListener = listener; + } public void displayWarning(LinphoneCore lc, String message) {} public void authInfoRequested(LinphoneCore lc, String realm, String username) {} @@ -904,7 +908,10 @@ public final class LinphoneManager implements LinphoneCoreListener { public void newSubscriptionRequest(LinphoneCore lc,LinphoneFriend lf,String url) {} public void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf) {} public void textReceived(LinphoneCore lc, LinphoneChatRoom cr, - LinphoneAddress from, String message) {} + LinphoneAddress from, String message) { + if (textReceivedListener != null) + textReceivedListener.onTextReceived(from, message); + } public String getLastLcStatusMessage() { diff --git a/src/org/linphone/LinphoneSimpleListener.java b/src/org/linphone/LinphoneSimpleListener.java index 72744008b..87d27980c 100644 --- a/src/org/linphone/LinphoneSimpleListener.java +++ b/src/org/linphone/LinphoneSimpleListener.java @@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.linphone; +import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCall.State; import org.linphone.core.LinphoneCore.GlobalState; @@ -57,5 +58,9 @@ public interface LinphoneSimpleListener { public enum AudioState {EARPIECE, SPEAKER} void onAudioStateChanged(AudioState state); } + + public static interface LinphoneOnTextReceivedListener extends LinphoneSimpleListener { + void onTextReceived(LinphoneAddress from, String message); + } }