add:直播间新增私信悬浮窗
update:会话页面适配半屏模式
This commit is contained in:
@@ -910,7 +910,16 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
* 打开私信列表窗口
|
||||
*/
|
||||
public void openChatListWindow() {
|
||||
openChatListWindow(new Bundle());
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开私信列表窗口
|
||||
* @param bundle 配置参数
|
||||
*/
|
||||
public void openChatListWindow(Bundle bundle) {
|
||||
Intent intent = new Intent(mContext, PDLIiveChatActivity.class);
|
||||
intent.putExtras(bundle);
|
||||
mContext.startActivity(intent);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.yunbao.live.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
|
||||
import io.rong.common.RLog;
|
||||
import io.rong.imkit.config.ConversationListBehaviorListener;
|
||||
import io.rong.imkit.config.RongConfigCenter;
|
||||
import io.rong.imkit.conversationlist.ConversationListFragment;
|
||||
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||
import io.rong.imkit.conversationlist.model.GatheredConversation;
|
||||
import io.rong.imkit.utils.RouteUtils;
|
||||
import io.rong.imkit.widget.adapter.ViewHolder;
|
||||
|
||||
/**
|
||||
* 会话界面需要配置参数,复写onItemClick给view这是bundle的tag,在会话界面可以获取该bundle
|
||||
*/
|
||||
public class MyConversationListFragment extends ConversationListFragment {
|
||||
private final String TAG = ConversationListFragment.class.getSimpleName();
|
||||
private Bundle bundle=new Bundle();
|
||||
|
||||
public void setBundle(Bundle bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(View view, ViewHolder holder, int position) {
|
||||
if (position >= 0) {
|
||||
BaseUiConversation baseUiConversation = (BaseUiConversation)this.mAdapter.getItem(position);
|
||||
ConversationListBehaviorListener listBehaviorListener = RongConfigCenter.conversationListConfig().getListener();
|
||||
view.setTag(bundle);
|
||||
if (listBehaviorListener != null && listBehaviorListener.onConversationClick(view.getContext(), view, baseUiConversation)) {
|
||||
RLog.d(this.TAG, "ConversationList item click event has been intercepted by App.");
|
||||
} else {
|
||||
if (baseUiConversation != null && baseUiConversation.mCore != null) {
|
||||
if (baseUiConversation instanceof GatheredConversation) {
|
||||
RouteUtils.routeToSubConversationListActivity(view.getContext(),
|
||||
((GatheredConversation)baseUiConversation).mGatheredType,
|
||||
baseUiConversation.mCore.getConversationTitle());
|
||||
} else {
|
||||
RouteUtils.routeToConversationActivity(view.getContext(),
|
||||
baseUiConversation.mCore.getConversationType(),
|
||||
baseUiConversation.mCore.getTargetId(),bundle);
|
||||
}
|
||||
} else {
|
||||
RLog.e(this.TAG, "invalid conversation.");
|
||||
}
|
||||
|
||||
}
|
||||
view.setTag(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yunbao.live.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
@@ -25,12 +26,14 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.InstructorRemarkManager;
|
||||
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.SystemChatMessageAdapter;
|
||||
import com.yunbao.live.bean.ImUserBean;
|
||||
import com.yunbao.live.bean.SearchUserBean;
|
||||
import com.yunbao.live.http.ImHttpUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -43,9 +46,11 @@ import io.rong.imlib.model.UserInfo;
|
||||
* 直播页面聊天列表
|
||||
*/
|
||||
public class PDLIiveChatActivity extends FragmentActivity {
|
||||
private ConversationListFragment conversationListFragment;
|
||||
private MyConversationListFragment conversationListFragment;
|
||||
private FrameLayout container;
|
||||
private PDLIiveChatActivity mContext;
|
||||
private boolean isGetSystemMsg=true;//是否展示系统消息,默认为true
|
||||
private boolean isDialogWindow=false;//是否为半屏展示,默认为false
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
@@ -53,6 +58,14 @@ public class PDLIiveChatActivity extends FragmentActivity {
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.activity_pd_chat);
|
||||
mContext = this;
|
||||
Intent intent = getIntent();
|
||||
if(intent!=null) {
|
||||
isGetSystemMsg =intent.getBooleanExtra("systemMsg",true);
|
||||
isDialogWindow =intent.getBooleanExtra("dialogWindow",false);
|
||||
}else{
|
||||
isGetSystemMsg=true;
|
||||
isDialogWindow=false;
|
||||
}
|
||||
windowColor();
|
||||
initView();
|
||||
initData();
|
||||
@@ -91,20 +104,24 @@ public class PDLIiveChatActivity extends FragmentActivity {
|
||||
private void initData() {
|
||||
IMLoginManager.get(mContext).checkInstructor();
|
||||
//获取系统消息列表
|
||||
ImHttpUtil.getImUserInfo("", new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
container.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<ImUserBean> listUserBean = JSON.parseArray(Arrays.toString(info), ImUserBean.class);
|
||||
addSystemMessagesView(listUserBean);
|
||||
}
|
||||
});
|
||||
if(isGetSystemMsg) {
|
||||
ImHttpUtil.getImUserInfo("", new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
container.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<ImUserBean> listUserBean = JSON.parseArray(Arrays.toString(info), ImUserBean.class);
|
||||
addSystemMessagesView(listUserBean);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}else{
|
||||
addSystemMessagesView(new ArrayList<>());
|
||||
}
|
||||
//刷新列表内用户信息
|
||||
addUserInfoProvider();
|
||||
|
||||
@@ -121,7 +138,10 @@ public class PDLIiveChatActivity extends FragmentActivity {
|
||||
//倒序展示
|
||||
Collections.reverse(listUserBean);
|
||||
//展示会话列表
|
||||
conversationListFragment = new ConversationListFragment();
|
||||
conversationListFragment = new MyConversationListFragment();
|
||||
Bundle bundle=new Bundle();
|
||||
bundle.putBoolean("dialogWindow",isDialogWindow);
|
||||
conversationListFragment.setBundle(bundle);
|
||||
FragmentManager manager = getSupportFragmentManager();
|
||||
FragmentTransaction transaction = manager.beginTransaction();
|
||||
transaction.replace(R.id.container, conversationListFragment);
|
||||
|
||||
@@ -6,10 +6,15 @@ import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
@@ -32,7 +37,7 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NoviceInstructorManager;
|
||||
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.SearchUserBean;
|
||||
import com.yunbao.live.dialog.MenuPopuwWindow;
|
||||
@@ -48,16 +53,10 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import io.rong.imkit.IMCenter;
|
||||
import io.rong.imkit.model.ResultCallback;
|
||||
import io.rong.imkit.userinfo.RongUserInfoManager;
|
||||
import io.rong.imkit.userinfo.UserDataProvider;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
import okhttp3.internal.http2.ErrorCode;
|
||||
|
||||
import static com.yunbao.common.CommonAppContext.logger;
|
||||
import static com.yunbao.common.CommonAppContext.mFirebaseAnalytics;
|
||||
|
||||
/**
|
||||
* 聊天会话界面
|
||||
@@ -74,6 +73,8 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
private final int SELECT_IMAGE_REQUEST = 0x0001;
|
||||
private ArrayList<ImageEntity> mSelectImages = new ArrayList<>();
|
||||
private String targetId = "";
|
||||
private LinearLayout mRootLayout;
|
||||
private boolean isDialogWindow=true;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -87,6 +88,11 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
EventBus.getDefault().register(this);
|
||||
mContext = this;
|
||||
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||
Intent intent = getIntent();
|
||||
if(intent!=null){
|
||||
isDialogWindow=intent.getBooleanExtra("dialogWindow",false);
|
||||
}
|
||||
configWindow();
|
||||
initView();
|
||||
initData();
|
||||
WindowSoftModeAdjustResizeExecutor.assistActivity(this);
|
||||
@@ -94,6 +100,42 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
MessageIMManager.get(this).addConversationClickListener();
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置窗口参数
|
||||
*/
|
||||
public void configWindow() {
|
||||
|
||||
Window window = getWindow();
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
||||
window.setStatusBarColor(getResources().getColor(R.color.transparent));
|
||||
|
||||
getWindow().setGravity(Gravity.BOTTOM);//设置显示在底部 默认在中间
|
||||
WindowManager.LayoutParams lp = getWindow().getAttributes();
|
||||
lp.width = WindowManager.LayoutParams.MATCH_PARENT;//设置宽度满屏
|
||||
if(isDialogWindow) {
|
||||
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
}else{
|
||||
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
}
|
||||
getWindow().setAttributes(lp);
|
||||
setFinishOnTouchOutside(true);//允许点击空白处关闭
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* ui展示后再调整大小
|
||||
*/
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus) {
|
||||
super.onWindowFocusChanged(hasFocus);
|
||||
if(hasFocus&&isDialogWindow){
|
||||
ViewGroup.LayoutParams params = mRootLayout.getLayoutParams();
|
||||
params.height= DpUtil.dp2px(400);
|
||||
mRootLayout.setLayoutParams(params);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 数据的设置
|
||||
*/
|
||||
@@ -157,6 +199,9 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
titleView = findViewById(R.id.titleView);
|
||||
imgMore = findViewById(R.id.img_more);
|
||||
imBack = findViewById(R.id.btn_back);
|
||||
mRootLayout = findViewById(R.id.root_layout);
|
||||
//来个底部弹出的动画,不然太突兀了
|
||||
mRootLayout.startAnimation(AnimationUtils.loadAnimation(mContext,R.anim.bottomview_anim_enter));
|
||||
|
||||
imgMore.setOnClickListener(this);
|
||||
imBack.setOnClickListener(this);
|
||||
|
||||
@@ -310,12 +310,8 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie
|
||||
}
|
||||
for (Object o : rank) {
|
||||
JSONObject item= (JSONObject) o;
|
||||
UserBean.DressBean dressBean=new UserBean.DressBean();
|
||||
dressBean.setAvatar_frame(item.getString("dressHead"));
|
||||
dressBean.setMedal("");
|
||||
LiveUserRankBean bean=JSON.parseObject(item.getString("userinfo"),LiveUserRankBean.class);
|
||||
bean.setTotal(item.getLong("total"));
|
||||
bean.setDress(dressBean);
|
||||
data.add(bean);
|
||||
}
|
||||
if(data.size()==0){
|
||||
|
||||
@@ -16,6 +16,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -24,6 +26,7 @@ import android.widget.TextView;
|
||||
import android.widget.ViewFlipper;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@@ -119,6 +122,10 @@ import java.util.List;
|
||||
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import io.rong.imkit.userinfo.RongUserInfoManager;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
import static com.yunbao.common.CommonAppContext.logger;
|
||||
@@ -260,6 +267,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
private ViewFlipper wishListFlipper;
|
||||
private List<WishlistItemModel> wishlist = new ArrayList<>();
|
||||
private TextView mHourRank, mHotText;
|
||||
private LinearLayout msg; //默认悬浮窗布局
|
||||
private View msg2; //悬浮窗来私信的布局
|
||||
private ConstraintLayout msgLayout; //悬浮窗
|
||||
private TextView msgNumber;//悬浮窗左上角数标
|
||||
private RoundedImageView msgUserIcon; //悬浮窗icon
|
||||
|
||||
public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) {
|
||||
super(context, parentView);
|
||||
@@ -635,6 +647,14 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
mic_ico2 = (RoundedImageView) findViewById(R.id.mic_ico2);
|
||||
|
||||
dr_pk_end_gif = (GifImageView) findViewById(R.id.dr_pk_end_gif);
|
||||
msg = (LinearLayout) findViewById(R.id.room_msg);
|
||||
msg2 = (View) findViewById(R.id.room_msg_user);
|
||||
msgNumber = (TextView) findViewById(R.id.room_msg_num);
|
||||
msgUserIcon = (RoundedImageView) findViewById(R.id.room_msg_user_icon);
|
||||
msgLayout= (ConstraintLayout) findViewById(R.id.room_msg_layout);
|
||||
ViewClicksAntiShake.clicksAntiShake(msg, this::openChatWindow);
|
||||
ViewClicksAntiShake.clicksAntiShake(msg2, this::openChatWindow);
|
||||
|
||||
mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
@@ -712,11 +732,17 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
gif_view = (LinearLayout) findViewById(R.id.gif_view);
|
||||
chat_view = (RelativeLayout) findViewById(R.id.chat_view);
|
||||
|
||||
int topMargin=mScreenWdith * 720 / 960 + 210;
|
||||
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)
|
||||
chat_view.getLayoutParams();
|
||||
params.topMargin = mScreenWdith * 720 / 960 + 210;
|
||||
params.topMargin = topMargin;
|
||||
chat_view.setLayoutParams(params);
|
||||
|
||||
|
||||
RelativeLayout.LayoutParams msgLayoutLayoutParams = (RelativeLayout.LayoutParams) msgLayout.getLayoutParams();
|
||||
msgLayoutLayoutParams.topMargin=topMargin+DpUtil.dp2px(50);
|
||||
msgLayout.setLayoutParams(msgLayoutLayoutParams);
|
||||
|
||||
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams)
|
||||
mChatRecyclerView.getLayoutParams();
|
||||
params1.topMargin = 180;
|
||||
@@ -945,16 +971,28 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
})
|
||||
.start();
|
||||
}
|
||||
reloadIM();
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新UI
|
||||
*/
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
changeMsgView(msg2,msg);
|
||||
reloadIM();
|
||||
}
|
||||
|
||||
|
||||
public void setLiveUid(String liveUid) {
|
||||
mLiveUid = liveUid;
|
||||
LiveHttpUtil.geteEvent(mLiveUid, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && imgEvent != null) {
|
||||
for (int i = 0; i < info.length; i++) {
|
||||
JSONObject obj = JSONObject.parseObject(info[i]);
|
||||
for (String s : info) {
|
||||
JSONObject obj = JSONObject.parseObject(s);
|
||||
if (obj.getString("is_hidden").equals("0")) {
|
||||
BannerBean bannerBean = new BannerBean();
|
||||
bannerBean.setImageUrl(obj.getString("img"));
|
||||
@@ -1637,10 +1675,135 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
} else if (i == R.id.user_guard) {
|
||||
// ((LiveActivity) mContext).openUserMoreListWindow(2, true);
|
||||
((LiveActivity) mContext).openNewGuardListWindow();
|
||||
} else if (i==R.id.room_msg){
|
||||
changeMsgView(msg,msg2);
|
||||
}else if (i==R.id.room_msg_user){
|
||||
changeMsgView(msg2,msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 私信的切换动画
|
||||
* @param out 隐去的view
|
||||
* @param in 展示的view
|
||||
*/
|
||||
private void changeMsgView(View out,View in){
|
||||
if(in.getVisibility()==View.VISIBLE){
|
||||
return;
|
||||
}
|
||||
Animation animation= AnimationUtils.loadAnimation(mContext,R.anim.view_room_msg_out);
|
||||
animation.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
out.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
|
||||
}
|
||||
});
|
||||
out.startAnimation(animation);
|
||||
Animation start=AnimationUtils.loadAnimation(mContext,R.anim.view_room_msg_in);
|
||||
start.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
in.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
|
||||
}
|
||||
});
|
||||
in.startAnimation(start);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从右侧私聊悬浮窗打开私聊界面
|
||||
*/
|
||||
private void openChatWindow(){
|
||||
/*LiveChatListDialogFragment chat=new LiveChatListDialogFragment();
|
||||
chat.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveRoomChatDialogFragment");*/
|
||||
Bundle bundle=new Bundle();
|
||||
bundle.putBoolean("systemMsg",false);
|
||||
bundle.putBoolean("dialogWindow",true);
|
||||
((LiveActivity) mContext).openChatListWindow(bundle);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新左上角数标
|
||||
* @param number 数字
|
||||
*/
|
||||
public void onMessageIMEvent(int number) {
|
||||
String num="";
|
||||
if(number!=0){
|
||||
changeMsgView(msg,msg2);
|
||||
if(number>99){
|
||||
num="99+";
|
||||
}else{
|
||||
num=number+"";
|
||||
}
|
||||
msgNumber.setText(num);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新im消息,以便更新私信悬浮窗UI
|
||||
*/
|
||||
public void reloadIM(){
|
||||
RongIMClient.getInstance().getConversationListByPage(new RongIMClient.ResultCallback<List<Conversation>>() {
|
||||
@Override
|
||||
public void onSuccess(List<Conversation> conversations) {
|
||||
if(!conversations.isEmpty()){
|
||||
Conversation conversation = conversations.get(0);
|
||||
UserInfo userInfo = RongUserInfoManager.getInstance().getUserInfo(conversation.getTargetId());
|
||||
if(userInfo!=null){
|
||||
ImgLoader.display(mContext,userInfo.getPortraitUri().toString(),msgUserIcon);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RongIMClient.ErrorCode errorCode) {
|
||||
Log.e("IM","IM会话获取失败 = "+errorCode);
|
||||
|
||||
}
|
||||
},0,10, Conversation.ConversationType.PRIVATE);
|
||||
RongIMClient.getInstance().getUnreadCount(new Conversation.ConversationType[]{Conversation.ConversationType.PRIVATE},true,new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(Integer integer) {
|
||||
onMessageIMEvent(integer);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RongIMClient.ErrorCode errorCode) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 私信来消息了,刷新悬浮窗UI
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void sendMessage(io.rong.imlib.model.Message bean){
|
||||
reloadIM();
|
||||
}
|
||||
/**
|
||||
* 关注主播
|
||||
*/
|
||||
|
||||
@@ -292,6 +292,7 @@ public class SystemMessageViewHolder extends AbsViewHolder implements View.OnCli
|
||||
@Override
|
||||
public void onSuccess(List<Message> messages) {
|
||||
Collections.reverse(messages);
|
||||
EventBus.getDefault().post(messages);
|
||||
if (messages.size() > 0) {
|
||||
if (messages.size() < 20) {
|
||||
moretext = false;
|
||||
|
||||
Reference in New Issue
Block a user