From be0248818033424ebf8aa70f491fe6f1afb04c3c Mon Sep 17 00:00:00 2001
From: zlzw <583819556@qq.com>
Date: Sun, 22 Oct 2023 23:15:54 +0800
Subject: [PATCH] update
---
OneToOne/src/main/AndroidManifest.xml | 3 +
.../onetoone/activity/EndCallActivity.java | 94 ++++++++++++
.../onetoone/activity/HomeSearchActivity.java | 2 +-
.../onetoone/activity/MatchingActivity.java | 2 +-
.../message/ChatMessageFragment.java | 29 +++-
.../activity/message/CallAudioActivity.java | 12 +-
.../activity/message/CallVideoActivity.java | 32 ++--
.../com/shayu/onetoone/bean/UserBean.java | 9 ++
.../shayu/onetoone/manager/RouteManager.java | 3 +-
.../shayu/onetoone/network/OneToOneApi.java | 2 +-
.../OTOCallEndMessageItemProvider.java | 97 ++++++++++--
.../onetoone/view/MsgInputPanelForGift.java | 9 ++
.../drawable/bg_dialog_end_call_cancel.xml | 9 ++
.../res/drawable/bg_dialog_end_call_timer.xml | 9 ++
.../src/main/res/layout/dialog_end_call.xml | 141 ++++++++++++++++++
.../res/mipmap-xxhdpi/ic_msg_call_lock.png | Bin 0 -> 5275 bytes
.../res/mipmap-xxhdpi/ic_msg_video_lock.png | Bin 0 -> 3881 bytes
17 files changed, 413 insertions(+), 40 deletions(-)
create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java
create mode 100644 OneToOne/src/main/res/drawable/bg_dialog_end_call_cancel.xml
create mode 100644 OneToOne/src/main/res/drawable/bg_dialog_end_call_timer.xml
create mode 100644 OneToOne/src/main/res/layout/dialog_end_call.xml
create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_call_lock.png
create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_video_lock.png
diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml
index 79a59b54d..4f1f2dfc4 100644
--- a/OneToOne/src/main/AndroidManifest.xml
+++ b/OneToOne/src/main/AndroidManifest.xml
@@ -163,6 +163,9 @@
+
{
+ follow();
+ });
+
+ cancelButton.setOnClickListener(v -> {
+ RouteManager.forwardActivity(extras.getString("path"), extras);
+ });
+ applyButton.setOnClickListener(v -> {
+ });
+ findViewById(R.id.close).setOnClickListener(v -> finish());
+ }
+
+ private void follow() {
+ OTONetManager.getInstance(mContext)
+ .follow(user.getUser().getId() + "", new HttpCallback() {
+ @Override
+ public void onSuccess(FollowBean data) {
+ ToastUtil.show(WordUtil.getNewString(R.string.system_tip_success));
+ followButton.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void onError(String error) {
+
+ }
+ });
+ }
+
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java
index c294bb216..2560a5c53 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java
@@ -76,7 +76,7 @@ public class HomeSearchActivity extends AbsOTOActivity {
searchBtn.setOnClickListener(v -> search(edit.getText().toString()));
- edit.setText(getIntent().getBundleExtra("bundle").getString("search"));
+ edit.setText(getIntent().getExtras().getString("search"));
search(edit.getText().toString());
refresh();
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java
index 504c94f4a..26a21006b 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MatchingActivity.java
@@ -94,7 +94,7 @@ public class MatchingActivity extends AbsOTOActivity {
}
}).showDialog();
});
- Bundle bundle = getIntent().getBundleExtra("bundle");
+ Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String data = bundle.getString("data");
bundle.putInt("type",ChatActivity.CALL_CHAT_TYPE_MATCH);
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java
index c96f41243..d7ea5b353 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java
@@ -25,6 +25,7 @@ import com.makeramen.roundedimageview.RoundedImageView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.adapter.MsgChatMessageListAdapter;
import com.shayu.onetoone.bean.FollowBean;
+import com.shayu.onetoone.bean.GiftBean;
import com.shayu.onetoone.bean.MessageChatAuthContent;
import com.shayu.onetoone.bean.MessageChatTipsContent;
import com.shayu.onetoone.bean.MessageConsumeConfigBean;
@@ -46,6 +47,7 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.ImageResultCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
+import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.StringUtil;
@@ -197,6 +199,16 @@ public class ChatMessageFragment extends AbsConversationFragment {
assert mVoiceToggleBtn != null;
audio = new MsgInputPanelForAudio(targetId, getActivity(), mRongExtension);
giftPanel = new MsgInputPanelForGift(targetId, getActivity(), mRongExtension);
+ giftPanel.setOnItemClickListener(new OnItemClickListener() {
+ @Override
+ public void onItemClick(GiftBean bean, int position) {
+ if(call.getTag()!=null){
+ call.setTag(null);
+ call.setImageResource(R.mipmap.ic_msg_call);
+ video.setImageResource(R.mipmap.ic_msg_video);
+ }
+ }
+ });
mVoiceToggleBtn.setOnClickListener(view -> {
audio.show();
});
@@ -206,6 +218,9 @@ public class ChatMessageFragment extends AbsConversationFragment {
});
video.setOnClickListener(v -> {
+ if(call.getTag()!=null){
+ return;
+ }
checkAuth(new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
@@ -252,6 +267,9 @@ public class ChatMessageFragment extends AbsConversationFragment {
});
});
call.setOnClickListener(v -> {
+ if(call.getTag()!=null){
+ return;
+ }
checkAuth(new OnSendMessageListener() {
@Override
public void onSuccess(String token,SendConsumeBean bean) {
@@ -526,7 +544,11 @@ public class ChatMessageFragment extends AbsConversationFragment {
} else {
sex.setImageResource(R.mipmap.ic_message_tab_woman);
}
-
+ System.out.println("同性別:"+data.getUser().getSex()+"|"+IMLoginManager.get(mContext).getUserInfo().getSex());
+ if(data.getUser().getSex()== IMLoginManager.get(mContext).getUserInfo().getSex()){
+ call.setVisibility(View.GONE);
+ video.setVisibility(View.GONE);
+ }
switch (Integer.parseInt(data.getUser().getOnline())) {
case 0:
status.setImageResource(R.mipmap.ic_message_msg_status_online);
@@ -540,6 +562,11 @@ public class ChatMessageFragment extends AbsConversationFragment {
if (data.getUser().isFollow()) {
follow.setVisibility(View.GONE);
}
+ if(data.getGiftNum()==0){
+ call.setImageResource(R.mipmap.ic_msg_call_lock);
+ video.setImageResource(R.mipmap.ic_msg_video_lock);
+ call.setTag("true");
+ }
}
@Override
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java
index b04ba02f7..b3a22a144 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java
@@ -66,7 +66,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
protected void main(Bundle savedInstanceState) {
- Bundle bundle = getIntent().getBundleExtra("bundle");
+ Bundle bundle = getIntent().getExtras();
if (bundle == null) {
finish();
return;
@@ -132,11 +132,14 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
}
+ UserBean userData;
+
private void initTargetData() {
OTONetManager.getInstance(mContext)
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() {
@Override
public void onSuccess(UserBean data) {
+ userData = data;
userName.setText(data.getUser().getUserNicename());
userInfo.setText(data.getUser().getSignature());
ImgLoader.display(mContext, data.getUser().getAvatar(), avatar);
@@ -167,7 +170,8 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
.setTargetId(targetId)
.showDialog();
}
- private void follow(){
+
+ private void follow() {
OTONetManager.getInstance(mContext)
.follow(targetId, new HttpCallback() {
@Override
@@ -185,7 +189,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
private void showWindow(boolean toChatView) {
ImageView icon = new ImageView(mContext);
- icon.setTag(getIntent().getBundleExtra("bundle"));
+ icon.setTag(getIntent().getExtras());
icon.setImageResource(io.rong.callkit.R.drawable.rc_voip_audio_answer_selector_new);
icon.setLayoutParams(new ViewGroup.LayoutParams(DpUtil.dp2px(40), DpUtil.dp2px(40)));
finish();
@@ -347,7 +351,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
showGift();
} else if (id == R.id.close) {
showWindow(false);
- }else if(id ==R.id.follow){
+ } else if (id == R.id.follow) {
follow();
}
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java
index 395c45f19..34026a577 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java
@@ -1,21 +1,13 @@
package com.shayu.onetoone.activity.message;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
-import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.SurfaceView;
-import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
@@ -23,6 +15,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.fastjson.JSONObject;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.core.BasePopupView;
import com.lzf.easyfloat.EasyFloat;
@@ -34,7 +27,6 @@ import com.shayu.onetoone.activity.AbsOTOActivity;
import com.shayu.onetoone.bean.FollowBean;
import com.shayu.onetoone.bean.UserBean;
import com.shayu.onetoone.dialog.GiftDialog;
-import com.shayu.onetoone.dialog.MsgChatClickDialog;
import com.shayu.onetoone.dialog.TipsTextDialog;
import com.shayu.onetoone.listener.OnCallStatusListener;
import com.shayu.onetoone.manager.CallClientManager;
@@ -49,14 +41,7 @@ import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
-import java.util.Arrays;
-import java.util.HashMap;
-
-import io.rong.calllib.CallUserProfile;
-import io.rong.calllib.IRongCallListener;
import io.rong.calllib.RongCallClient;
-import io.rong.calllib.RongCallCommon;
-import io.rong.calllib.RongCallSession;
import io.rong.calllib.StartIncomingPreviewCallback;
@Route(path = RouteManager.ACTIVITY_CALL_VIDEO)
@@ -103,7 +88,7 @@ public class CallVideoActivity extends AbsOTOActivity {
protected void main(Bundle savedInstanceState) {
initView();
- Bundle bundle = getIntent().getBundleExtra("bundle");
+ Bundle bundle = getIntent().getExtras();
if (bundle == null) {
finish();
return;
@@ -248,7 +233,7 @@ public class CallVideoActivity extends AbsOTOActivity {
}
private void showWindow(boolean toChatView) {
- CallClientManager.getManager().getRemoteVideo().setTag(getIntent().getBundleExtra("bundle"));
+ CallClientManager.getManager().getRemoteVideo().setTag(getIntent().getExtras());
myView.removeAllViews();
targetView.removeAllViews();
finish();
@@ -308,12 +293,15 @@ public class CallVideoActivity extends AbsOTOActivity {
}
}
+ UserBean userData;
+
private void initTargetData() {
OTONetManager.getInstance(mContext)
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() {
@Override
public void onSuccess(UserBean data) {
ImgLoader.display(mContext, data.getUser().getAvatar(), avatar);
+ userData = data;
if (data.getUser().isFollow()) {
follow.setVisibility(View.GONE);
} else {
@@ -404,6 +392,14 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override
public void onCallEnd() {
+ Bundle bundle = new Bundle();
+ bundle.putString("model", CallClientManager.VIDEO_CALL);
+ bundle.putString("targetId", targetId);
+ bundle.putString("callId", targetId);
+ bundle.putString("user", JSONObject.toJSONString(userData));
+ bundle.putString("time", callTime.getText().toString());
+ bundle.putString("path", RouteManager.ACTIVITY_CALL_VIDEO);
+ RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle);
finish();
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java
index 27a8a4bc0..2831e4dba 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java
@@ -8,6 +8,7 @@ public class UserBean extends BaseModel {
IMLoginModel user;
UserInfo info;
UserLevel level;
+ int giftNum;
int status; //0 需要跳转到 编辑资料页面
@@ -46,6 +47,14 @@ public class UserBean extends BaseModel {
this.level = level;
}
+ public int getGiftNum() {
+ return giftNum;
+ }
+
+ public void setGiftNum(int giftNum) {
+ this.giftNum = giftNum;
+ }
+
public static class UserInfo {
private int id;
private String label_id;
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java
index 6a73669ff..ba37fbba0 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java
@@ -38,6 +38,7 @@ public class RouteManager {
//达人认证入口
public static final String ACTIVITY_AUTH_BLOGGER_INLET = "/activity/AuthBloggerInletActivity";
+ public static final String ACTIVITY_END_CALL="/activity/EndCallActivity";
/**
@@ -116,7 +117,7 @@ public class RouteManager {
}
public static void forwardActivity(String path, Bundle bundle) {
- ARouter.getInstance().build(path).withBundle("bundle", bundle).navigation();
+ ARouter.getInstance().build(path).with( bundle).navigation();
}
public static void forwardActivity(String path, Serializable serializable) {
ARouter.getInstance().build(path).withSerializable("data", serializable).navigation();
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
index 0361dd257..7ba9f8b70 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
@@ -155,7 +155,7 @@ public interface OneToOneApi {
@GET("/api/public/?service=Friendappmoney.info")
Observable> getPurseInfo();
- @GET("/api/public/?service=User.setAttents")
+ @GET("/api/public/?service=Friendappuser.follow")
Observable>> follow(@Query("touid") String toUid);
/**
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java
index d95de5fbe..a817ff249 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java
@@ -7,13 +7,24 @@ import android.content.Context;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
+import android.util.Log;
import android.widget.Toast;
import com.shayu.onetoone.R;
+import com.shayu.onetoone.bean.MessageChatAuthContent;
+import com.shayu.onetoone.bean.SendConsumeBean;
+import com.shayu.onetoone.bean.UserBean;
+import com.shayu.onetoone.dialog.BottomListDialog;
+import com.shayu.onetoone.dialog.TipsDialog;
+import com.shayu.onetoone.listener.OnSendMessageListener;
import com.shayu.onetoone.manager.CallClientManager;
+import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
+import com.yunbao.common.http.base.HttpCallback;
+import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.ToastUtil;
+import java.util.Collections;
import java.util.List;
import io.rong.callkit.CallEndMessageItemProvider;
@@ -22,9 +33,14 @@ import io.rong.calllib.RongCallClient;
import io.rong.calllib.RongCallCommon;
import io.rong.calllib.RongCallSession;
import io.rong.calllib.message.CallSTerminateMessage;
+import io.rong.imkit.IMCenter;
import io.rong.imkit.model.UiMessage;
import io.rong.imkit.widget.adapter.IViewProviderListener;
import io.rong.imkit.widget.adapter.ViewHolder;
+import io.rong.imlib.IRongCallback;
+import io.rong.imlib.RongIMClient;
+import io.rong.imlib.model.Conversation;
+import io.rong.imlib.model.Message;
import io.rong.imlib.model.MessageContent;
public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
@@ -66,19 +82,35 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
.show();
return true;
}
- RongCallCommon.CallMediaType mediaType = callSTerminateMessage.getMediaType();
- String action = null;
- Bundle bundle = new Bundle();
- if (mediaType.equals(RongCallCommon.CallMediaType.VIDEO)) {
- action = RouteManager.ACTIVITY_CALL_VIDEO;
- bundle.putString("model", CallClientManager.VIDEO_CALL);
- } else {
- action = RouteManager.ACTIVITY_CALL_AUDIO;
- bundle.putString("model", CallClientManager.AUDIO_CALL);
- }
- bundle.putString("targetId", uiMessage.getMessage().getTargetId());
- bundle.putString("callId", uiMessage.getMessage().getTargetId());
- RouteManager.forwardActivity(action, bundle);
+
+
+ checkAuth(uiMessage.getMessage().getTargetId(), new OnSendMessageListener() {
+ @Override
+ public void onSuccess(String token, SendConsumeBean bean) {
+ super.onSuccess(token, bean);
+ RongCallCommon.CallMediaType mediaType = callSTerminateMessage.getMediaType();
+ String action = null;
+ Bundle bundle = new Bundle();
+ if (mediaType.equals(RongCallCommon.CallMediaType.VIDEO)) {
+ action = RouteManager.ACTIVITY_CALL_VIDEO;
+ bundle.putString("model", CallClientManager.VIDEO_CALL);
+ } else {
+ action = RouteManager.ACTIVITY_CALL_AUDIO;
+ bundle.putString("model", CallClientManager.AUDIO_CALL);
+ }
+ bundle.putString("targetId", uiMessage.getMessage().getTargetId());
+ bundle.putString("callId", uiMessage.getMessage().getTargetId());
+ RouteManager.forwardActivity(action, bundle);
+ }
+
+ @Override
+ public void onError(int status, String msg) {
+ super.onError(status, msg);
+ sendAuthRequest(uiMessage.getMessage().getTargetId());
+ }
+ });
+
+
return true;
}
@@ -97,4 +129,43 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
return new SpannableString(context.getString(R.string.rc_voip_message_video));
}
}
+
+ private void checkAuth(String targetId, OnSendMessageListener listener) {
+ OTONetManager.getInstance(null)
+ .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() {
+ @Override
+ public void onSuccess(UserBean data) {
+ if (data.getInfo().getName_auth() == 1) {
+ listener.onError(0, "");
+ } else {
+ listener.onSuccess("", null);
+ }
+ }
+
+ @Override
+ public void onError(String error) {
+ Log.e(TAG, "onError: " + error);
+ }
+ });
+ }
+
+ private void sendAuthRequest(String targetId) {
+ 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) {
+
+ }
+ });
+ }
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java
index d93b53845..612ed0974 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java
@@ -22,6 +22,7 @@ import com.shayu.onetoone.widget.PagerConfig;
import com.shayu.onetoone.widget.PagerGridLayoutManager;
import com.shayu.onetoone.widget.PagerGridSnapHelper;
import com.yunbao.common.http.base.HttpCallback;
+import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.ToastUtil;
@@ -42,6 +43,7 @@ public class MsgInputPanelForGift extends AbsInputPanel {
Button topUpBtn;
Button sendBtn;
String token;
+ private OnItemClickListener onItemClickListener;
public MsgInputPanelForGift(String targetId, FragmentActivity fragmentActivity, RongExtension mRongExtension) {
super(targetId, fragmentActivity, mRongExtension, R.layout.view_message_input_gift);
@@ -52,6 +54,10 @@ public class MsgInputPanelForGift extends AbsInputPanel {
return super.show();
}
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.onItemClickListener = onItemClickListener;
+ }
+
@Override
public void init(View viewGroup) {
gifList = viewGroup.findViewById(R.id.gift_list);
@@ -103,6 +109,9 @@ public class MsgInputPanelForGift extends AbsInputPanel {
@Override
public void onSuccess(Message message) {
+ if (onItemClickListener != null) {
+ onItemClickListener.onItemClick(item,1);
+ }
iniPurse();
SendMessageManager.onCallSuccess(token, new OnSendMessageListener() {
@Override
diff --git a/OneToOne/src/main/res/drawable/bg_dialog_end_call_cancel.xml b/OneToOne/src/main/res/drawable/bg_dialog_end_call_cancel.xml
new file mode 100644
index 000000000..3f9aea39c
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_dialog_end_call_cancel.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_dialog_end_call_timer.xml b/OneToOne/src/main/res/drawable/bg_dialog_end_call_timer.xml
new file mode 100644
index 000000000..f660d57f0
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_dialog_end_call_timer.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/dialog_end_call.xml b/OneToOne/src/main/res/layout/dialog_end_call.xml
new file mode 100644
index 000000000..b59059fa5
--- /dev/null
+++ b/OneToOne/src/main/res/layout/dialog_end_call.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_call_lock.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_call_lock.png
new file mode 100644
index 0000000000000000000000000000000000000000..f96751e0ce95e0f6233648d5f2fcfad00f690b58
GIT binary patch
literal 5275
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
literal 0
HcmV?d00001
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_video_lock.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_video_lock.png
new file mode 100644
index 0000000000000000000000000000000000000000..107f3e18aa9c38e7dc88afcfbea37c45af45a2da
GIT binary patch
literal 3881
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
literal 0
HcmV?d00001