Commit 8a6635cd authored by sheteng's avatar sheteng

语音房间 小队语音和团队语音

parent 9714f6ae
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<map> <map>
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_connect.xml" value="0.3328125" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_connect.xml" value="0.3328125" />
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_connect_channel.xml" value="0.3328125" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_connect_channel.xml" value="0.3328125" />
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_login.xml" value="0.1612008072653885" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_login.xml" value="0.1" />
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_main2.xml" value="0.1612008072653885" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_main2.xml" value="0.1612008072653885" />
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_test.xml" value="0.3328125" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_test.xml" value="0.3328125" />
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/fragment_message.xml" value="0.291213768115942" /> <entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/fragment_message.xml" value="0.291213768115942" />
......
...@@ -69,7 +69,7 @@ dependencies { ...@@ -69,7 +69,7 @@ dependencies {
implementation 'org.greenrobot:eventbus:3.1.1' implementation 'org.greenrobot:eventbus:3.1.1'
// implementation(name: 'ccim-release', ext: 'aar') // implementation(name: 'ccim-release', ext: 'aar')
implementation(name: 'janus-release', ext: 'aar') implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
implementation project(path: ':ccim') implementation project(path: ':ccim')
implementation 'com.google.protobuf:protobuf-java:3.13.0' implementation 'com.google.protobuf:protobuf-java:3.13.0'
implementation 'com.google.protobuf:protobuf-java-util:3.12.0' implementation 'com.google.protobuf:protobuf-java-util:3.12.0'
......
...@@ -76,7 +76,7 @@ public class ChannelMsgAdapter extends BaseAdapter { ...@@ -76,7 +76,7 @@ public class ChannelMsgAdapter extends BaseAdapter {
if (messageContent.getMsgType()== MessageContent.MessageType.MESSAGE_TYPE_TEXT) { if (messageContent.getMsgType()== MessageContent.MessageType.MESSAGE_TYPE_TEXT) {
mHolder.msg_content.setText(messageContent.getContent()); mHolder.msg_content.setText(messageContent.getContent());
} else { } else {
mHolder.msg_content.setText(messageContent.getVoiceContent()); // mHolder.msg_content.setText(messageContent.getVoiceContent());
} }
convertView.setOnClickListener(new View.OnClickListener() { convertView.setOnClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -21,8 +21,10 @@ import com.ccwangluo.ccim.modle.Dialog; ...@@ -21,8 +21,10 @@ import com.ccwangluo.ccim.modle.Dialog;
import com.ccwangluo.im.R; import com.ccwangluo.im.R;
import com.ccwangluo.im.data.LoginViewModel; import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.listener.OnContactClickLisener; import com.ccwangluo.im.listener.OnContactClickLisener;
import com.ccwangluo.im.util.ToastUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -206,8 +208,8 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter { ...@@ -206,8 +208,8 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
childrenHolder.contactId.setText("userid: " + dataList.get(childPosition).getContactUserId()); childrenHolder.contactId.setText("userid: " + dataList.get(childPosition).getContactUserId());
childrenHolder.contactName.setText("username: " + dataList.get(childPosition).getContactUserName()); childrenHolder.contactName.setText("username: " + dataList.get(childPosition).getContactUserName());
childrenHolder.netStatus.setText("netStatus: " + dataList.get(childPosition).getNetStatus().toString()); childrenHolder.netStatus.setText("netStatus: " + dataList.get(childPosition).getNetStatus().toString());
// childrenHolder.status.setText("status: " + dataList.get(childPosition).); childrenHolder.status.setText("blockstatus: " + loginViewModel.blocklist.getValue().contains(dataList.get(childPosition).getContactUserId()));
// childrenHolder.unReadMsg.setText("unReadMsg : " + dataList.get(childPosition).().toString()); // childrenHolder.unReadMsg.setText("unReadMsg : " + dataList.get(childPosition).);
convertView.setOnLongClickListener(new View.OnLongClickListener() { convertView.setOnLongClickListener(new View.OnLongClickListener() {
@Override @Override
public boolean onLongClick(View v) { public boolean onLongClick(View v) {
...@@ -226,7 +228,7 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter { ...@@ -226,7 +228,7 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
} }
private void showAlertDialog(Contact contact) { private void showAlertDialog(Contact contact) {
String[] strings = {"删除联系人", "拉黑联系人", "举报用户", "移动联系人群组"}; String[] strings = {"删除联系人", "拉黑联系人", "举报用户", "移动联系人群组","移出黑名单"};
AlertDialog alertDialog = new AlertDialog AlertDialog alertDialog = new AlertDialog
.Builder(context) .Builder(context)
.setItems(strings, new DialogInterface.OnClickListener() { .setItems(strings, new DialogInterface.OnClickListener() {
...@@ -293,6 +295,24 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter { ...@@ -293,6 +295,24 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
case 3: case 3:
moveContactGroup(contact); moveContactGroup(contact);
break; break;
case 4:
Collection<Long> value = loginViewModel.blocklist.getValue();
if (value.contains(contact.getContactUserId())){
CCIMClient.getInstance().unblockContact(contact.getContactUserId(), new ResultEventCallback<Void>() {
@Override
public void onSuccess(Void unused) {
loginViewModel.getContactList();
}
@Override
public void onFailed(int errorCode) {
ToastUtil.show(context,"移除失败");
}
});
}else {
ToastUtil.show(context,"用户不在黑名单里");
}
break;
} }
} }
}) })
...@@ -359,6 +379,7 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter { ...@@ -359,6 +379,7 @@ public class ContactExpandableAdapter extends BaseExpandableListAdapter {
public TextView contactName; public TextView contactName;
public TextView netStatus; public TextView netStatus;
public TextView status; public TextView status;
public TextView unReadMsg;
} }
......
...@@ -27,6 +27,7 @@ public class LoginViewModel extends ViewModel { ...@@ -27,6 +27,7 @@ public class LoginViewModel extends ViewModel {
public MutableLiveData<Collection<Contact>> contactList = new MutableLiveData<>(); public MutableLiveData<Collection<Contact>> contactList = new MutableLiveData<>();
public MutableLiveData<Collection<ContactGroup>> contactGroupList = new MutableLiveData<>(); public MutableLiveData<Collection<ContactGroup>> contactGroupList = new MutableLiveData<>();
public MutableLiveData<Collection<Dialog>> dialogList = new MutableLiveData<>(); public MutableLiveData<Collection<Dialog>> dialogList = new MutableLiveData<>();
public MutableLiveData<Collection<Long>> blocklist = new MutableLiveData<>();
public MutableLiveData<MessageContent> privateMsgList = new MutableLiveData<>(); public MutableLiveData<MessageContent> privateMsgList = new MutableLiveData<>();
public MutableLiveData<MessageContent> channelMsgList = new MutableLiveData<>(); public MutableLiveData<MessageContent> channelMsgList = new MutableLiveData<>();
...@@ -65,6 +66,7 @@ public class LoginViewModel extends ViewModel { ...@@ -65,6 +66,7 @@ public class LoginViewModel extends ViewModel {
contactList.postValue(pullContactsRes.getContacts()); contactList.postValue(pullContactsRes.getContacts());
contactGroupList.postValue(pullContactsRes.getContactGroups()); contactGroupList.postValue(pullContactsRes.getContactGroups());
dialogList.postValue(pullContactsRes.getDialogs()); dialogList.postValue(pullContactsRes.getDialogs());
blocklist.postValue(pullContactsRes.getBlocklist());
} }
@Override @Override
......
...@@ -181,9 +181,14 @@ public class NotificationsFragment extends Fragment { ...@@ -181,9 +181,14 @@ public class NotificationsFragment extends Fragment {
roomeId.setHint("room id"); roomeId.setHint("room id");
roomeId.setInputType(InputType.TYPE_CLASS_NUMBER); roomeId.setInputType(InputType.TYPE_CLASS_NUMBER);
roomeId.requestFocus(); roomeId.requestFocus();
final EditText teamIdTx = new EditText(getContext());
teamIdTx.setHint("team id");
teamIdTx.setInputType(InputType.TYPE_CLASS_NUMBER);
teamIdTx.requestFocus();
LinearLayout linearLayout = new LinearLayout(getContext()); LinearLayout linearLayout = new LinearLayout(getContext());
linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.addView(roomeId); linearLayout.addView(roomeId);
linearLayout.addView(teamIdTx);
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle("create channel").setIcon(android.R.drawable.ic_dialog_info).setView(linearLayout) builder.setTitle("create channel").setIcon(android.R.drawable.ic_dialog_info).setView(linearLayout)
.setNegativeButton("Cancel", null); .setNegativeButton("Cancel", null);
...@@ -191,7 +196,8 @@ public class NotificationsFragment extends Fragment { ...@@ -191,7 +196,8 @@ public class NotificationsFragment extends Fragment {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
String roomId = roomeId.getText().toString(); String roomId = roomeId.getText().toString();
CCIMClient.getInstance().joinAudioRoom(getContext(), Integer.parseInt(roomId), new AudioRoomListener() { String teamId = teamIdTx.getText().toString();
CCIMClient.getInstance().joinAudioRoom(getContext(), Integer.parseInt(roomId),Integer.parseInt(teamId), new AudioRoomListener() {
@Override @Override
public void onJoinSuccess() { public void onJoinSuccess() {
ToastUtil.show(getContext(), "onJoinSuccess"); ToastUtil.show(getContext(), "onJoinSuccess");
...@@ -237,6 +243,19 @@ public class NotificationsFragment extends Fragment { ...@@ -237,6 +243,19 @@ public class NotificationsFragment extends Fragment {
CCIMClient.getInstance().exitAudioRoom(); CCIMClient.getInstance().exitAudioRoom();
} }
}); });
binding.audioTargetWorld.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CCIMClient.getInstance().audioTargetWorld(true);
}
});
binding.audioTargetTeam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CCIMClient.getInstance().audioTargetWorld(false);
}
});
return root; return root;
} }
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:hint="ip" android:hint="ip"
android:text="106.15.237.67" android:text="10.3.15.85"
android:imeActionLabel="@string/action_sign_in_short" android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
......
...@@ -57,6 +57,25 @@ ...@@ -57,6 +57,25 @@
android:id="@+id/enableAudio" android:id="@+id/enableAudio"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_marginLeft="10dp"
android:text="小队语音切换"
android:id="@+id/audioTargetTeam"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:layout_marginLeft="10dp"
android:text="世界语音切换"
android:id="@+id/audioTargetWorld"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout> </LinearLayout>
<ListView <ListView
......
...@@ -24,13 +24,6 @@ ...@@ -24,13 +24,6 @@
android:label="频道" android:label="频道"
tools:layout="@layout/fragment_notifications" /> tools:layout="@layout/fragment_notifications" />
<fragment
android:id="@+id/navigation_connect"
android:name="com.ccwangluo.im.ui.dashboard.ConnectFragment"
android:label="聊天"
app:defaultNavHost="true"
tools:layout="@layout/fragment_connect" />
<!-- <fragment--> <!-- <fragment-->
<!-- android:id="@+id/navigation_channel_connect"--> <!-- android:id="@+id/navigation_channel_connect"-->
<!-- android:name="com.ccwangluo.im.ui.notifications.ConnectChannelFragment"--> <!-- android:name="com.ccwangluo.im.ui.notifications.ConnectChannelFragment"-->
......
...@@ -44,8 +44,7 @@ android { ...@@ -44,8 +44,7 @@ android {
android.libraryVariants.all { variant -> android.libraryVariants.all { variant ->
variant.outputs.all { variant.outputs.all {
def date = new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+08")) outputFileName = "ccim_${android.defaultConfig.versionName}.aar"
outputFileName = "ccim_${date}.aar"
} }
} }
...@@ -76,7 +75,7 @@ repositories { ...@@ -76,7 +75,7 @@ repositories {
dependencies { dependencies {
compileOnly(name: 'janus-release', ext: 'aar') compileOnly fileTree(include: ['*.jar','*.aar'], dir: 'libs')
// implementation 'androidx.appcompat:appcompat:1.3.1' // implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.protobuf:protobuf-java:3.13.0' implementation 'com.google.protobuf:protobuf-java:3.13.0'
implementation 'com.google.protobuf:protobuf-java-util:3.12.0' implementation 'com.google.protobuf:protobuf-java-util:3.12.0'
...@@ -87,5 +86,6 @@ dependencies { ...@@ -87,5 +86,6 @@ dependencies {
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"
implementation 'com.karumi:dexter:6.2.3' implementation 'com.karumi:dexter:6.2.3'
implementation 'ch.threema:webrtc-android:100.0.0' // implementation 'ch.threema:webrtc-android:100.0.0'
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ import android.Manifest; ...@@ -4,6 +4,7 @@ import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
...@@ -53,7 +54,7 @@ import ccim.protocol.Push; ...@@ -53,7 +54,7 @@ import ccim.protocol.Push;
public class CCIMClient { public class CCIMClient {
private final Logger logger = Logger.getLogger(CCIMClient.class.getName()); public static final Logger logger = Logger.getLogger(CCIMClient.class.getName());
private static SocketManager socketManager; private static SocketManager socketManager;
private static CallBackManager<Chat.ChatResponseMessage> callBackManager; private static CallBackManager<Chat.ChatResponseMessage> callBackManager;
private static ContactManager contactManager; private static ContactManager contactManager;
...@@ -337,6 +338,10 @@ public class CCIMClient { ...@@ -337,6 +338,10 @@ public class CCIMClient {
contactManager.blockContact(userId, callback); contactManager.blockContact(userId, callback);
} }
public void unblockContact(Long userId, ResultEventCallback<Void> callback) {
contactManager.unblockContact(userId, callback);
}
/** /**
* 举报违规用户 * 举报违规用户
*/ */
...@@ -709,17 +714,26 @@ public class CCIMClient { ...@@ -709,17 +714,26 @@ public class CCIMClient {
/** /**
* 加入房间 * 加入房间
*/ */
public void joinAudioRoom(Context context, int roomId, AudioRoomListener callback) { public void joinAudioRoom(Context context, int roomId, int teamId, AudioRoomListener callback) {
JanusConfImpl conf = new JanusConfImpl(); JanusConfImpl conf = new JanusConfImpl();
conf.url(audioServer); conf.url(audioServer);
conf.plugin(JanusPlugins.VIDEOROOM); conf.plugin(JanusPlugins.VIDEOROOM);
if (janusService != null) { if (janusService != null) {
janusService.stop(); janusService.stop();
} }
janusService = new JanusService(context, roomId, user, callback); janusService = new JanusService(context, roomId, user, teamId, callback);
janusService.start(context, conf); janusService.start(context, conf);
} }
/**
* 切换语音目标
*/
public void audioTargetWorld(boolean enable){
if (janusService != null){
janusService.targetWorld(enable);
}
}
/** /**
* 退出房间 * 退出房间
*/ */
...@@ -750,4 +764,6 @@ public class CCIMClient { ...@@ -750,4 +764,6 @@ public class CCIMClient {
isConnected = false; isConnected = false;
socketManager.disConnect(); socketManager.disConnect();
} }
} }
...@@ -2,14 +2,10 @@ package com.ccwangluo.ccim.audio; ...@@ -2,14 +2,10 @@ package com.ccwangluo.ccim.audio;
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.media.AudioManager;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.util.Log;
import com.ccwangluo.ccim.CCIMClient; import com.ccwangluo.ccim.CCIMClient;
import com.ccwangluo.ccim.listener.AudioRoomListener; import com.ccwangluo.ccim.listener.AudioRoomListener;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.ccim.modle.User; import com.ccwangluo.ccim.modle.User;
import com.ccwangluo.ccim.util.ErrorCode; import com.ccwangluo.ccim.util.ErrorCode;
import com.github.helloiampau.janus.generated.Bundle; import com.github.helloiampau.janus.generated.Bundle;
...@@ -29,13 +25,11 @@ import com.karumi.dexter.MultiplePermissionsReport; ...@@ -29,13 +25,11 @@ import com.karumi.dexter.MultiplePermissionsReport;
import com.karumi.dexter.PermissionToken; import com.karumi.dexter.PermissionToken;
import com.karumi.dexter.listener.PermissionRequest; import com.karumi.dexter.listener.PermissionRequest;
import com.karumi.dexter.listener.multi.MultiplePermissionsListener; import com.karumi.dexter.listener.multi.MultiplePermissionsListener;
import org.webrtc.AudioTrack; import org.webrtc.AudioTrack;
import org.webrtc.DataChannel; import org.webrtc.DataChannel;
import org.webrtc.EglBase; import org.webrtc.EglBase;
import org.webrtc.Logging; import org.webrtc.Logging;
import org.webrtc.PeerConnection; import org.webrtc.PeerConnection;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
...@@ -50,14 +44,16 @@ public class JanusService extends JanusDelegate { ...@@ -50,14 +44,16 @@ public class JanusService extends JanusDelegate {
// private AudioManager audioManager; // private AudioManager audioManager;
private AudioTrack audioTrack; private AudioTrack audioTrack;
private int teamId;
private AppRTCAudioManager audioManager; private AppRTCAudioManager audioManager;
public JanusService(Context context, Integer roomId, User user, AudioRoomListener callback) { public JanusService(Context context, Integer roomId, User user, int teamId, AudioRoomListener callback) {
audioManager = AppRTCAudioManager.create(context); audioManager = AppRTCAudioManager.create(context);
this.user = user; this.user = user;
this.roomId = roomId; this.roomId = roomId;
this.callback = callback; this.callback = callback;
this.teamId = teamId;
} }
...@@ -95,6 +91,14 @@ public class JanusService extends JanusDelegate { ...@@ -95,6 +91,14 @@ public class JanusService extends JanusDelegate {
} }
} }
public void targetWorld(boolean enable) {
if (isJoin) {
Bundle payload = Bundle.create();
payload.setBool("world", enable);
this._janus.dispatch(JanusCommands.SET_TARGET, payload);
}
}
@Override @Override
public void onClose() { public void onClose() {
...@@ -121,6 +125,7 @@ public class JanusService extends JanusDelegate { ...@@ -121,6 +125,7 @@ public class JanusService extends JanusDelegate {
Bundle payload = Bundle.create(); Bundle payload = Bundle.create();
payload.setInt("room", roomId); payload.setInt("room", roomId);
payload.setString("display", new Gson().toJson(user)); payload.setString("display", new Gson().toJson(user));
payload.setInt("team", teamId);
this._janus.dispatch(JanusCommands.JOIN, payload); this._janus.dispatch(JanusCommands.JOIN, payload);
CCIMClient.getInstance().handler.post(new Runnable() { CCIMClient.getInstance().handler.post(new Runnable() {
@Override @Override
...@@ -240,7 +245,7 @@ public class JanusService extends JanusDelegate { ...@@ -240,7 +245,7 @@ public class JanusService extends JanusDelegate {
payload.setInt("room", roomId); payload.setInt("room", roomId);
payload.setInt("feed", publisher.getInt("id", -1)); payload.setInt("feed", publisher.getInt("id", -1));
// payload.setInt("feed", publisher.getString("display", "")); // payload.setInt("feed", publisher.getString("display", ""));
payload.setInt("team", teamId);
// Publisher pub = new Publisher(publisher); // Publisher pub = new Publisher(publisher);
// publishersMap.put(pub.handleId, pub); // publishersMap.put(pub.handleId, pub);
......
...@@ -394,6 +394,32 @@ public class ContactManager { ...@@ -394,6 +394,32 @@ public class ContactManager {
}); });
} }
/**
* 移出拉黑
* @param userId
* @param callback
*/
public void unblockContact(Long userId, ResultEventCallback<Void> callback) {
Chat.ChatRequestMessage.Builder builder = Chat.ChatRequestMessage.newBuilder();
ccim.protocol.User.UnblockUserRequest blockContactRequest = ccim.protocol.User.UnblockUserRequest.newBuilder()
.setBlockedUserId(userId)
.build();
builder.setUnblockUserReq(blockContactRequest);
int id = socketManager.sendRequest(builder);
callBackManager.addCallBack(id, new ResultEventCallback<Chat.ChatResponseMessage>() {
@Override
public void onSuccess(Chat.ChatResponseMessage chatResponseMessage) {
blocklist.remove(userId);
callback.onSuccess(null);
}
@Override
public void onFailed(int errorCode) {
callback.onFailed(errorCode);
}
});
}
/** /**
* 举报违规用户 * 举报违规用户
*/ */
...@@ -496,4 +522,6 @@ public class ContactManager { ...@@ -496,4 +522,6 @@ public class ContactManager {
dialog.setNetStatus(netStatus); dialog.setNetStatus(netStatus);
} }
} }
} }
...@@ -21,7 +21,7 @@ import ccim.protocol.Chat; ...@@ -21,7 +21,7 @@ import ccim.protocol.Chat;
import ccim.protocol.Common; import ccim.protocol.Common;
public class SocketManager { public class SocketManager {
private final Logger logger = Logger.getLogger(CCIMClient.class.getName()); private final Logger logger = CCIMClient.logger;
private static String SERVER_IP = "106.15.237.67"; private static String SERVER_IP = "106.15.237.67";
private static int SERVER_PORT = 8000; private static int SERVER_PORT = 8000;
...@@ -48,7 +48,7 @@ public class SocketManager { ...@@ -48,7 +48,7 @@ public class SocketManager {
} }
public void connectChatServer(String appKey, String userName, String extData, Long userId, Long ts, String sign,String gameServer) { public void connectChatServer(String appKey, String userName, String extData, Long userId, Long ts, String sign, String gameServer) {
logger.info("send connect"); logger.info("send connect");
Chat.ChatRequestMessage.Builder builder = Chat.ChatRequestMessage.newBuilder(); Chat.ChatRequestMessage.Builder builder = Chat.ChatRequestMessage.newBuilder();
Chat.ConnectRequest connectRequest = Chat.ConnectRequest.newBuilder() Chat.ConnectRequest connectRequest = Chat.ConnectRequest.newBuilder()
...@@ -80,15 +80,15 @@ public class SocketManager { ...@@ -80,15 +80,15 @@ public class SocketManager {
}); });
} }
public void initChat(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign,String server, OnClientConnectListener resultCallback) { public void initChat(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign, String server, OnClientConnectListener resultCallback) {
onConnectListener = resultCallback; onConnectListener = resultCallback;
if (socketClient == null) { if (socketClient == null) {
socketClient = new NettyChatClient(context, SERVER_IP, SERVER_PORT,executor); socketClient = new NettyChatClient(context, SERVER_IP, SERVER_PORT, executor);
} }
socketClient.connect(new MessageListener() { socketClient.connect(new MessageListener() {
@Override @Override
public void onServerConnect() { public void onServerConnect() {
connectChatServer(appKey, userName, extData, userId, ts, sign,server); connectChatServer(appKey, userName, extData, userId, ts, sign, server);
} }
@Override @Override
...@@ -114,7 +114,7 @@ public class SocketManager { ...@@ -114,7 +114,7 @@ public class SocketManager {
} }
if (data.getHeader().getCode() == Common.StatusCode.STATUS_CODE_NO_AUTH_ERROR) { //断线重连 if (data.getHeader().getCode() == Common.StatusCode.STATUS_CODE_NO_AUTH_ERROR) { //断线重连
connectChatServer(appKey, userName, extData, userId, ts, sign,server); connectChatServer(appKey, userName, extData, userId, ts, sign, server);
} }
int seq = data.getHeader().getSeq(); int seq = data.getHeader().getSeq();
ResultEventCallback<Chat.ChatResponseMessage> callBack = callBackManager.getCallBack(seq); ResultEventCallback<Chat.ChatResponseMessage> callBack = callBackManager.getCallBack(seq);
...@@ -123,7 +123,7 @@ public class SocketManager { ...@@ -123,7 +123,7 @@ public class SocketManager {
if (data.getHeader().getCode() == Common.StatusCode.STATUS_CODE_OK) { if (data.getHeader().getCode() == Common.StatusCode.STATUS_CODE_OK) {
callBack.onSuccess(data); callBack.onSuccess(data);
} else { } else {
if (data.getHeader().getCode() == Common.StatusCode.UNRECOGNIZED){ if (data.getHeader().getCode() == Common.StatusCode.UNRECOGNIZED) {
callBack.onFailed(ErrorCode.ERRORCODE_NOT_EXISTS); callBack.onFailed(ErrorCode.ERRORCODE_NOT_EXISTS);
} else { } else {
callBack.onFailed(data.getHeader().getCode().getNumber()); callBack.onFailed(data.getHeader().getCode().getNumber());
......
...@@ -94,22 +94,6 @@ public class NettyChatClient implements SocketClient { ...@@ -94,22 +94,6 @@ public class NettyChatClient implements SocketClient {
}); });
} }
public boolean getConnectivityStatus(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (null != activeNetwork) {
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
return true;
if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
return true;
}
return false;
}
@Override @Override
public void sendMsg(Object msg) { public void sendMsg(Object msg) {
if (channelFuture == null) { if (channelFuture == null) {
......
...@@ -18,6 +18,6 @@ public class ErrorCode { ...@@ -18,6 +18,6 @@ public class ErrorCode {
public static final int ERROR_PERMISSION_DENIE = 912; //权限拒绝 public static final int ERROR_PERMISSION_DENIE = 912; //权限拒绝
public static final int JOIN_AUDIO_FAILED = 913; //加入语音失败 public static final int JOIN_AUDIO_FAILED = 913; //加入语音失败
public static final int JOIN_AUDIO_FAILED_NO_SUCH_ROOM = 914; //没有这个房间 public static final int JOIN_AUDIO_FAILED_NO_SUCH_ROOM = 914; //没有这个房间
public static final int JOIN_AUDIO_FAILED_JOINED = 915; //已经加入房间,不能同时加入多个房间
} }
...@@ -37,6 +37,7 @@ message ChatRequestMessage { ...@@ -37,6 +37,7 @@ message ChatRequestMessage {
ReportIllegalUserRequest report_illegal_user_req = 31; // 举报违规用户 ReportIllegalUserRequest report_illegal_user_req = 31; // 举报违规用户
BlockUserRequest block_user_req = 32; // 用户拉入黑名单 BlockUserRequest block_user_req = 32; // 用户拉入黑名单
PreUploadSignRequest pre_upload_sign_req = 33; // 预上传获取签名 PreUploadSignRequest pre_upload_sign_req = 33; // 预上传获取签名
UnblockUserRequest unblock_user_req = 34; // 拉出黑名单
SendMessageRequest send_msg_req = 42; // 发送消息 SendMessageRequest send_msg_req = 42; // 发送消息
SendChannelMessageRequest send_channel_msg_req = 43; // 发送频道消息 SendChannelMessageRequest send_channel_msg_req = 43; // 发送频道消息
...@@ -78,6 +79,7 @@ message ChatResponseMessage { ...@@ -78,6 +79,7 @@ message ChatResponseMessage {
ReportIllegalUserResponse report_illegal_user_res = 31; ReportIllegalUserResponse report_illegal_user_res = 31;
BlockUserResponse block_user_res = 32; BlockUserResponse block_user_res = 32;
PreUploadSignResponse pre_upload_sign_res = 33; PreUploadSignResponse pre_upload_sign_res = 33;
UnblockUserResponse unblock_user_res = 34;
SendMessageResponse send_msg_res = 41; SendMessageResponse send_msg_res = 41;
SendChannelMessageResponse send_channel_msg_res = 42; SendChannelMessageResponse send_channel_msg_res = 42;
......
...@@ -18,3 +18,10 @@ message PreUploadSignResponse { ...@@ -18,3 +18,10 @@ message PreUploadSignResponse {
string pre_signed_url = 1; string pre_signed_url = 1;
string filename = 2; string filename = 2;
} }
message UnblockUserRequest {
int64 blocked_user_id = 1;
}
message UnblockUserResponse {
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment