This commit is contained in:
2023-10-11 16:18:36 +08:00
parent fd377b5280
commit 729270c3d0
14 changed files with 485 additions and 47 deletions

View File

@@ -3,6 +3,7 @@ package com.shayu.onetoone.activity.fragments.message;
import android.app.Dialog;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -16,9 +17,11 @@ import androidx.annotation.Nullable;
import com.makeramen.roundedimageview.RoundedImageView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.MessageChatAuthContent;
import com.shayu.onetoone.bean.MessageChatTipsContent;
import com.shayu.onetoone.bean.UserBean;
import com.shayu.onetoone.dialog.TipsDialog;
import com.shayu.onetoone.listener.OnCallStatusListener;
import com.shayu.onetoone.listener.OnDialogClickListener;
import com.shayu.onetoone.listener.OnSendMessageListener;
import com.shayu.onetoone.manager.OTONetManager;
@@ -68,6 +71,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
Button follow;
private String token;
private static final String TAG = "聊天界面";
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
@@ -81,24 +85,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
img.setOnClickListener(v -> cameraUtil.getImageByCamera());
initCamera();
call.setOnClickListener(v -> {
MessageChatTipsContent bean = MessageChatTipsContent.obtain(WordUtil.getNewString(R.string.message_chat_tip1));
IMCenter.getInstance().insertOutgoingMessage(conversationType, targetId, Message.SentStatus.SENT, bean, System.currentTimeMillis(), new RongIMClient.ResultCallback<Message>() {
@Override
public void onSuccess(Message message) {
ToastUtil.show(R.string.system_tip_success);
}
@Override
public void onError(RongIMClient.ErrorCode e) {
ToastUtil.show(R.string.system_tip_failure);
System.out.println("失败:" + e.getMessage());
}
});
});
mSendBtn.setOnClickListener(v -> {
System.out.println("点击");
SendMessageManager.sendMessageForText(targetId, mEditText.getText().toString(), new OnSendMessageListener() {
@Override
public void onSuccess(String token) {
@@ -187,12 +174,82 @@ public class ChatMessageFragment extends AbsConversationFragment {
gift.setOnClickListener(v -> {
giftPanel.show();
});
video.setOnClickListener(v -> {
checkAuth(new OnSendMessageListener() {
@Override
public void onSuccess(String token) {
super.onSuccess(token);
ToastUtil.show("弹视频聊天");
}
@Override
public void onError(int status, String msg) {
super.onError(status, msg);
sendAuthRequest();
}
});
});
call.setOnClickListener(v -> {
checkAuth(new OnSendMessageListener() {
@Override
public void onSuccess(String token) {
super.onSuccess(token);
ToastUtil.show("弹音频聊天");
}
@Override
public void onError(int status, String msg) {
super.onError(status, msg);
sendAuthRequest();
}
});
});
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
private void checkAuth(OnSendMessageListener listener) {
OTONetManager.getInstance(mContext)
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
@Override
public void onSuccess(UserBean data) {
if (data.getInfo().getSage_auth() == 1) {
listener.onError(0, "");
} else {
listener.onSuccess("");
}
}
@Override
public void onError(String error) {
Log.e(TAG, "onError: " + error);
}
});
}
private void sendAuthRequest() {
MessageChatAuthContent content = MessageChatAuthContent.obtain("");
IMCenter.getInstance().sendMessage(Message.obtain(targetId, Conversation.ConversationType.PRIVATE, content), null, null, new IRongCallback.ISendMessageCallback() {
@Override
public void onAttached(Message message) {
}
@Override
public void onSuccess(Message message) {
}
@Override
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
}
});
}
private void sendText() {
Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;