diff --git a/OpenIM-SDK/libs/v3.3.1-rc.8.aar b/OpenIM-SDK/libs/v3.4.1-alpha.4.aar similarity index 72% rename from OpenIM-SDK/libs/v3.3.1-rc.8.aar rename to OpenIM-SDK/libs/v3.4.1-alpha.4.aar index dfa8db7..8c6c29c 100644 Binary files a/OpenIM-SDK/libs/v3.3.1-rc.8.aar and b/OpenIM-SDK/libs/v3.4.1-alpha.4.aar differ diff --git a/OpenIM-SDK/src/main/java/io/openim/android/sdk/enums/ConversationType.java b/OpenIM-SDK/src/main/java/io/openim/android/sdk/enums/ConversationType.java index 2d7c895..048d625 100644 --- a/OpenIM-SDK/src/main/java/io/openim/android/sdk/enums/ConversationType.java +++ b/OpenIM-SDK/src/main/java/io/openim/android/sdk/enums/ConversationType.java @@ -8,6 +8,7 @@ public class ConversationType { * 当前会话是单聊 */ public static final int SINGLE_CHAT = 1; + public static final int GROUP_CHAT = 2; /** * 当前会话是群聊 */ diff --git a/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/OnSignalingListener.java b/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/OnSignalingListener.java new file mode 100644 index 0000000..7b844f9 --- /dev/null +++ b/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/OnSignalingListener.java @@ -0,0 +1,35 @@ +package io.openim.android.sdk.listener; + +import io.openim.android.sdk.models.CustomSignalingInfo; +import io.openim.android.sdk.models.MeetingStreamEvent; +import io.openim.android.sdk.models.RoomCallingInfo; +import io.openim.android.sdk.models.SignalingInfo; + +public interface OnSignalingListener { + + void onInvitationCancelled(SignalingInfo s); + + void onInvitationTimeout(SignalingInfo s); + + void onInviteeAccepted(SignalingInfo s); + + void onInviteeAcceptedByOtherDevice(SignalingInfo s); + + void onInviteeRejected(SignalingInfo s); + + void onInviteeRejectedByOtherDevice(SignalingInfo s); + + void onReceiveNewInvitation(SignalingInfo s); + + void onHangup(SignalingInfo s); + + void onRoomParticipantConnected(RoomCallingInfo s); + + void onRoomParticipantDisconnected(RoomCallingInfo s); + + void onMeetingStreamChanged(MeetingStreamEvent e); + + void onReceiveCustomSignal(CustomSignalingInfo s); + + void onStreamChange(String s); +} diff --git a/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/_SignalingListener.java b/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/_SignalingListener.java new file mode 100644 index 0000000..f38a6fc --- /dev/null +++ b/OpenIM-SDK/src/main/java/io/openim/android/sdk/listener/_SignalingListener.java @@ -0,0 +1,100 @@ +package io.openim.android.sdk.listener; + + +import io.openim.android.sdk.models.CustomSignalingInfo; +import io.openim.android.sdk.models.MeetingStreamEvent; +import io.openim.android.sdk.models.RoomCallingInfo; +import io.openim.android.sdk.models.SignalingInfo; +import io.openim.android.sdk.utils.CommonUtil; +import io.openim.android.sdk.utils.JsonUtil; + +final public class _SignalingListener implements open_im_sdk_callback.OnSignalingListener { + private final OnSignalingListener listener; + + public _SignalingListener(OnSignalingListener listener) { + this.listener = listener; + } + + @Override + public void onHangUp(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onHangup(info)); + } + } + + @Override + public void onInvitationCancelled(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInvitationCancelled(info)); + } + } + + @Override + public void onInvitationTimeout(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInvitationTimeout(info)); + } + } + + @Override + public void onInviteeAccepted(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInviteeAccepted(info)); + } + } + + @Override + public void onInviteeAcceptedByOtherDevice(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInviteeAcceptedByOtherDevice(info)); + } + } + + @Override + public void onInviteeRejected(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInviteeRejected(info)); + } + } + + @Override + public void onInviteeRejectedByOtherDevice(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onInviteeRejectedByOtherDevice(info)); + } + } + + + @Override + public void onReceiveNewInvitation(String s) { + if (listener != null) { + SignalingInfo info = JsonUtil.toObj(s, SignalingInfo.class); + CommonUtil.runMainThread(() -> listener.onReceiveNewInvitation(info)); + } + } + + @Override + public void onRoomParticipantConnected(String s) { + if (listener != null) { + RoomCallingInfo info = JsonUtil.toObj(s, RoomCallingInfo.class); + CommonUtil.runMainThread(() -> listener.onRoomParticipantConnected(info)); + } + } + + @Override + public void onRoomParticipantDisconnected(String s) { + if (listener != null) { + RoomCallingInfo info = JsonUtil.toObj(s, RoomCallingInfo.class); + CommonUtil.runMainThread(() -> listener.onRoomParticipantDisconnected(info)); + } + } + + +} diff --git a/settings.gradle b/settings.gradle index 2827de0..bc9651d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ rootProject.name = "OpenIM-Android" -//include ':app' +include ':app' include ':OpenIM-SDK' -//include ':pkglib' +include ':pkglib'