Conversation item = conversations.get(i); if (!(item.getConversationType() == Conversation.ConversationType.PRIVATE || item.getConversationType() == Conversation.ConversationType.GROUP)) { conversations.remove(i); i--; continue; if (item.getConversationType() == Conversation.ConversationType.GROUP) { List<GroupMember> groupMembers = DBManager.getInstance().getGroupMembers(item.getTargetId()); if (groupMembers == null || groupMembers.size() == 0) { DBManager.getInstance().deleteGroupsById(item.getTargetId());//删除没有群成员的群 conversations.remove(i); i--; } else if (item.getConversationType() == Conversation.ConversationType.PRIVATE) { if (!DBManager.getInstance().isMyFriend(item.getTargetId())) { conversations.remove(i); i--; mUnreadCountTotal += conversation.getUnreadMessageCount();
Intent intent = new Intent(mContext, SessionActivity.class); Conversation item = mData.get(position); intent.putExtra("sessionId", item.getTargetId()); if (item.getConversationType() == Conversation.ConversationType.PRIVATE) { intent.putExtra("sessionType", SessionActivity.SESSION_TYPE_PRIVATE); } else { mConversationMenuDialog = new CustomDialog(mContext, conversationMenuView, R.style.MyDialog); TextView tvSetConversationToTop = (TextView) conversationMenuView.findViewById(R.id.tvSetConversationToTop); tvSetConversationToTop.setText(item.isTop() ? UIUtils.getString(R.string.cancel_conversation_to_top) : UIUtils.getString(R.string.set_conversation_to_top)); conversationMenuView.findViewById(R.id.tvSetConversationToTop).setOnClickListener(v -> RongIMClient.getInstance().setConversationToTop(item.getConversationType(), item.getTargetId(), !item.isTop(), new RongIMClient.ResultCallback<Boolean>() { @Override public void onSuccess(Boolean aBoolean) { RongIMClient.getInstance().removeConversation(item.getConversationType(), item.getTargetId(), new RongIMClient.ResultCallback<Boolean>() { @Override public void onSuccess(Boolean aBoolean) {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object selectObj = parent.getItemAtPosition(position); if (selectObj instanceof SealSearchConversationResult) { SealSearchConversationResult result = (SealSearchConversationResult) selectObj; int count = result.getMatchCount(); Conversation conversation = result.getConversation(); if (count == 1) { RongIM.getInstance().startConversation(SealSearchActivity.this, conversation.getConversationType(), conversation.getTargetId(), result.getTitle(), result.getConversation().getSentTime()); } else { Intent intent = new Intent(SealSearchActivity.this, SealSearchChattingDetailActivity.class); intent.putExtra("filterString", mFilterString); intent.putExtra("searchConversationResult", result); intent.putExtra("flag", SEARCH_TYPE_FLAG); startActivity(intent); } } } });
if (conversation.getConversationType() == Conversation.ConversationType.PRIVATE) { Friend friend = DBManager.getInstance().getDaoSession().getFriendDao().queryBuilder().where(FriendDao.Properties.UserId.eq(conversation.getTargetId())).unique(); SharedPreferences sp = getSharedPreferences("config", Context.MODE_PRIVATE); String currentUserId = sp.getString(SealConst.SEALTALK_LOGIN_ID, ""); } else if (conversation.getTargetId().equals(currentUserId)) { searchResult.setId(currentUserId); UserInfo currentUserInfo = new UserInfo(currentUserId, currentUserName, Uri.parse(currentUserPortrait)); UserInfo userInfo = RongUserInfoManager.getInstance().getUserInfo(conversation.getTargetId()); String portraitUri = SealUserInfoManager.getInstance().getPortraitUri(userInfo); searchResult.setPortraitUri(portraitUri); ImageLoader.getInstance().displayImage(portraitUri, viewHolder.portraitImageView, App.getOptions()); searchResult.setId(conversation.getTargetId()); if (userInfo != null) { if (!TextUtils.isEmpty(userInfo.getName())) { searchResult.setId(conversation.getTargetId()); searchResult.setTitle(conversation.getTargetId()); viewHolder.nameTextView.setText(conversation.getTargetId()); if (conversation.getConversationType() == Conversation.ConversationType.GROUP) { Groups groupInfo = DBManager.getInstance().getDaoSession().getGroupsDao().queryBuilder().where(GroupsDao.Properties.GroupsId.eq(conversation.getTargetId())).unique(); if (groupInfo != null) { searchResult.setId(groupInfo.getGroupsId()); viewHolder.chatRecordsDetailTextView.setText(mCharacterParser.getColoredChattingRecord(mFilterString, searchResult.getConversation().getLatestMessage())); } else { viewHolder.chatRecordsDetailTextView.setText(getResources().getString(R.string.search_item_chat_records, searchResultCount));
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object object = parent.getItemAtPosition(position); if (object instanceof Message) { Message message = (Message)object; Conversation conversation = mResult.getConversation(); RongIM.getInstance().startConversation(SealSearchChattingDetailActivity.this, conversation.getConversationType(), conversation.getTargetId(), mResult.getTitle(),mAdapterMessages.get(position).getSentTime()); } } });
searchIntent.putParcelableArrayListExtra("filterMessages", arrayList); mResult = new SealSearchConversationResult(); Conversation conversation = new Conversation(); conversation.setTargetId(fromConversationId); conversation.setConversationType(mConversationType); mResult.setConversation(conversation); Friend friend = DBManager.getInstance().getDaoSession().getFriendDao().queryBuilder().where(FriendDao.Properties.UserId.eq(fromConversationId)).unique(); UserInfo userInfo = RongUserInfoManager.getInstance().getUserInfo(conversation.getTargetId()); mResult.setId(conversation.getTargetId()); String portraitUri = userInfo.getPortraitUri().toString(); if (!TextUtils.isEmpty(portraitUri)) {
searchIntent.putParcelableArrayListExtra("filterMessages", arrayList); mResult = new SealSearchConversationResult(); Conversation conversation = new Conversation(); conversation.setTargetId(fromConversationId); conversation.setConversationType(mConversationType); mResult.setConversation(conversation); Groups groupInfo = DBManager.getInstance().getDaoSession().getGroupsDao().queryBuilder().where(GroupsDao.Properties.GroupsId.eq(fromConversationId)).unique();
private void setToTop() { Observable.just(RongIMClient.getInstance().getConversation(mConversationType, mSessionId)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(conversation -> { if (conversation != null) { getView().getSbToTop().setChecked(conversation.isTop()); } }); }
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object selectObj = parent.getItemAtPosition(position); if (selectObj instanceof SealSearchConversationResult) { SealSearchConversationResult result = (SealSearchConversationResult) selectObj; int count = result.getMatchCount(); Conversation conversation = result.getConversation(); if (count == 1) { RongIM.getInstance().startConversation(SealSearchMoreChattingRecordsActivity.this, conversation.getConversationType(), conversation.getTargetId(), result.getTitle(),result.getConversation().getSentTime()); } else { Intent intent = new Intent(SealSearchMoreChattingRecordsActivity.this, SealSearchChattingDetailActivity.class); intent.putExtra("filterString", mFilterString); intent.putExtra("searchConversationResult", result); intent.putExtra("flag", SEARCH_TYPE_FLAG); startActivity(intent); } } } });
if (conversation.getConversationType() == Conversation.ConversationType.PRIVATE) { Friend friend = DBManager.getInstance().getDaoSession().getFriendDao().queryBuilder().where(FriendDao.Properties.UserId.eq(conversation.getTargetId())).unique(); SharedPreferences sp = getSharedPreferences("config", Context.MODE_PRIVATE); String currentUserId = sp.getString(SealConst.SEALTALK_LOGIN_ID, ""); } else if (conversation.getTargetId().equals(currentUserId)) { searchResult.setId(currentUserId); UserInfo userInfo = new UserInfo(currentUserId, currentUserName, Uri.parse(currentUserPortrait)); UserInfo userInfo = RongUserInfoManager.getInstance().getUserInfo(conversation.getTargetId()); String portraitUri = SealUserInfoManager.getInstance().getPortraitUri(userInfo); searchResult.setPortraitUri(portraitUri); searchResult.setId(conversation.getTargetId()); ImageLoader.getInstance().displayImage(portraitUri, viewHolder.portraitImageView, App.getOptions()); if (userInfo != null) { searchResult.setTitle(conversation.getTargetId()); viewHolder.nameTextView.setText(conversation.getTargetId()); if (conversation.getConversationType() == Conversation.ConversationType.GROUP) { Groups groupInfo = DBManager.getInstance().getDaoSession().getGroupsDao().queryBuilder().where(GroupsDao.Properties.GroupsId.eq(conversation.getTargetId())).unique(); if (groupInfo != null) { String portraitUri = SealUserInfoManager.getInstance().getPortraitUri(groupInfo); viewHolder.chatRecordsDetailTextView.setText(CharacterParser.getInstance().getColoredChattingRecord(mFilterString, searchResult.getConversation().getLatestMessage())); } else { viewHolder.chatRecordsDetailTextView.setText(getResources().getString(R.string.search_item_chat_records, searchResultCount));
private void loadMoreChattingRecords() { Conversation conversation = mResult.getConversation(); RongIMClient.getInstance().searchMessages(conversation.getConversationType(), conversation.getTargetId(), mFilterString, 50, mLastMessage.getSentTime(), new RongIMClient.ResultCallback<List<Message>>() { @Override public void onSuccess(List<Message> messages) { mCompleteFlag = true; mMessageShowCount = mMessageShowCount + messages.size(); if (mMatchCount >= mMessageShowCount) { mAdapterMessages.addAll(messages); mAdapter.notifyDataSetChanged(); } if (messages.size() > 0) { mLastMessage = messages.get(messages.size() - 1); } } @Override public void onError(RongIMClient.ErrorCode e) { } }); }
mFilterString = s.toString(); final Conversation conversation = mResult.getConversation(); RongIMClient.getInstance().searchConversations(mFilterString, new Conversation.ConversationType[] {conversation.getConversationType()}, new String[] {"RC:TxtMsg", "RC:ImgTextMsg", "RC:FileMsg"}, new RongIMClient.ResultCallback<List<SearchConversationResult>>() { @Override public void onSuccess(List<SearchConversationResult> searchConversationResults) { RongIMClient.getInstance().searchMessages(conversation.getConversationType(), conversation.getTargetId(), mFilterString, 50, 0, new RongIMClient.ResultCallback<List<Message>>() { @Override public void onSuccess(List<Message> messages) {