Commit 687f1048 authored by jianglx's avatar jianglx

im 2019 -12 -23

parent 32cadb23
......@@ -4,6 +4,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.widget.LinearLayout;
import com.ruiwenliu.wrapper.base.BaseBean;
......@@ -16,11 +17,14 @@ import com.rv.im.bean.ContactsBean;
import com.rv.im.db.table.ChatMessage;
import com.rv.im.friend.NewFriendActivity;
import com.rv.im.presenter.AddressPresenter;
import com.rv.im.util.sortlist.PingYinUtil;
import com.rv.im.xmpp.ListenerManager;
import com.rv.im.xmpp.listener.NewFriendListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
/************
......@@ -34,7 +38,7 @@ public class AddressListActivity extends BaseStatusActivity<AddressPresenter> im
private AddressListAdapter adapter = null;
private List<ContactsBean.ContactItemBean> lists = new ArrayList<>();
private List<ContactsBean.ContactItemBean> lists = new LinkedList<>();
@Override
......@@ -96,10 +100,22 @@ public class AddressListActivity extends BaseStatusActivity<AddressPresenter> im
// 保存数据,更新ui;
lists.clear();
lists.addAll(bean.getData());
Collections.sort(lists);
Collections.sort(lists, (o1, o2) -> {
if(TextUtils.isEmpty(o1.getToNickname())){
return 1;
}
if(TextUtils.isEmpty(o2.getToNickname())){
return -1;
}
String pingyin = PingYinUtil.getPingYin(o2.getToNickname());
String pingy = PingYinUtil.getPingYin(o1.getToNickname());
if (!TextUtils.isEmpty(pingy) && !TextUtils.isEmpty(pingyin)) {
return pingy.compareTo(pingyin);
}
return 0;
});
mPresenter.addTopDatas(lists);
adapter.setNewData(lists);
adapter.notifyDataSetChanged();
}
}
}
......
......@@ -46,8 +46,18 @@ public class ChatHolderFactory {
} else {
type = ChatHolderTypeEnum.VIEW_FROM_VIDEO;
}
}else if(message.getMessageType() == MessageTypeEnum.PASS.getType()){
type = ChatHolderTypeEnum.VIEW_ADD_FRIEND_SUCCESS ;
} else if (message.getMessageType() == MessageTypeEnum.PASS.getType()) {
if (mLoginUserId.equals(message.getToUserId())) { // 对方同意我的添加好友
type = ChatHolderTypeEnum.VIEW_BE_PASS;
} else { // 我同意对方的添加好友
type = ChatHolderTypeEnum.VIEW_PASS;
}
} else if (message.getMessageType() == MessageTypeEnum.BE_FRIEND.getType()) {
if (mLoginUserId.equals(message.getToUserId())) { // 对方直接添加我为好友
type = ChatHolderTypeEnum.VIEW_BE_FRIEND;
} else { // 我直接添加对方为好友
type = ChatHolderTypeEnum.VIEW_ADD_SUCCESS;
}
}
}
if (type != null)
......
......@@ -25,10 +25,17 @@ public enum ChatHolderTypeEnum {
VIEW_FROM_VIDEO(60),
VIEW_TO_VIDEO(61),
// 添加好友 这一块
VIEW_ADD_FRIEND_SUCCESS(70) ;
// 对方同意我的添加好友请求
VIEW_BE_PASS(70),
// 我同意对方的添加好友请求
VIEW_PASS(71),
// 我直接添加对方为好友
VIEW_ADD_SUCCESS(72),
// 对方直接添加我为好友
VIEW_BE_FRIEND(73);
private int id;
......
......@@ -12,6 +12,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.im.bean.UserDetailBean;
import com.rv.im.friend.RealAddFriendActivity;
import com.rv.im.listener.NoDoubleClickListener;
import com.rv.im.presenter.UserDetailPresenter;
import com.rv.im.util.DateUtils;
......@@ -21,8 +22,10 @@ import com.rv.im.view.RoundImageView;
public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter> {
private static final String KEY_USER_ID = "userId";
private static final String KEY_ADD_TYPE = "addType";
private String userId;
private int fromAddType;
private String mLoginUserId;
......@@ -47,6 +50,15 @@ public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter>
ctx.startActivity(intent);
}
public static void start(Context ctx, String userId, int fromAddType) {
Intent intent = new Intent(ctx, UserDetailActivity.class);
Bundle bundle = new Bundle();
bundle.putString(KEY_USER_ID, userId);
bundle.putInt(KEY_ADD_TYPE, fromAddType);
intent.putExtras(bundle);
ctx.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -60,7 +72,7 @@ public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter>
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("基本信息");
initWeight();
initWidget();
}
@Override
......@@ -68,6 +80,7 @@ public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter>
super.loadData(savedInstanceState, intent);
if (intent != null) {
userId = intent.getStringExtra(KEY_USER_ID);
fromAddType = intent.getIntExtra(KEY_ADD_TYPE, -1) ;
}
mLoginUserId = ImSetting.getUserId();
if (TextUtils.isEmpty(userId)) {
......@@ -76,7 +89,7 @@ public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter>
mPresenter.loadOtherInfoFromNet(userId);
}
private void initWeight() {
private void initWidget() {
nameTv = findViewById(R.id.name_tv);
avatarImg = findViewById(R.id.avatar_img);
renameTv = findViewById(R.id.rename_tv);
......@@ -165,7 +178,9 @@ public class UserDetailActivity extends BaseStatusActivity<UserDetailPresenter>
public class AddAttentionListener extends NoDoubleClickListener {
@Override
public void onNoDoubleClick(View view) {
Intent intent = RealAddFriendActivity.getIntent(getApplicationContext(), userId, user.getNickName(), fromAddType);
startActivity(intent);
finish();
}
}
}
......@@ -44,28 +44,24 @@ public class AddRecordListAdapter extends BaseQuickAdapter<Friend, BaseViewHolde
if (item.getStatus() == Friend.STATUS_10) {
helper.itemView.findViewById(R.id.btn_add).setVisibility(View.GONE);
helper.itemView.findViewById(R.id.text_add_status).setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(item.getAction())) {
helper.setText(R.id.text_add_status, item.getAction());
}
} else if(item.getStatus() == Friend.STATUS_11){
helper.setText(R.id.text_add_status, "等待验证");
} else if (item.getStatus() == Friend.STATUS_11) {
helper.itemView.findViewById(R.id.btn_add).setVisibility(View.VISIBLE);
helper.itemView.findViewById(R.id.text_add_status).setVisibility(View.GONE);
if (!TextUtils.isEmpty(item.getAction())) {
helper.setText(R.id.btn_add, item.getAction());
}
} else if(item.getStatus() == Friend.STATUS_12){
helper.setText(R.id.btn_add, "同意");
} else if (item.getStatus() == Friend.STATUS_12) {
helper.itemView.findViewById(R.id.btn_add).setVisibility(View.GONE);
helper.itemView.findViewById(R.id.text_add_status).setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(item.getAction())) {
helper.setText(R.id.text_add_status, item.getAction());
}
}else if(item.getStatus() == Friend.STATUS_13){
helper.setText(R.id.text_add_status, "同意添加");
} else if (item.getStatus() == Friend.STATUS_13) {
helper.itemView.findViewById(R.id.btn_add).setVisibility(View.GONE);
helper.itemView.findViewById(R.id.text_add_status).setVisibility(View.VISIBLE);
helper.setText(R.id.text_add_status, "验证通过");
} else if (item.getStatus() == Friend.STATUS_21 || item.getStatus() == Friend.STATUS_22) {
helper.itemView.findViewById(R.id.btn_add).setVisibility(View.GONE);
helper.itemView.findViewById(R.id.text_add_status).setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(item.getAction())) {
helper.setText(R.id.text_add_status, item.getAction());
}
}
helper.setOnClickListener(R.id.btn_add, v -> {
if (listener != null) {
......
......@@ -18,7 +18,14 @@ public class AddressListAdapter extends BaseQuickAdapter<ContactsBean.ContactIte
private boolean needShowNavigation = true;
private char lastNavigation = 'A';
private String lastNavigation = null;
@Override
public void setNewData(@Nullable List<ContactsBean.ContactItemBean> data) {
lastNavigation = null;
needShowNavigation = true;
super.setNewData(data);
}
public AddressListAdapter(@Nullable List<ContactsBean.ContactItemBean> data) {
super(R.layout.item_address_list, data);
......@@ -41,25 +48,22 @@ public class AddressListAdapter extends BaseQuickAdapter<ContactsBean.ContactIte
}
} else {
String navigation = PingYinUtil.getPingYin(item.getToNickname());
if (!TextUtils.isEmpty(navigation) && navigation.charAt(0) == lastNavigation) {
if (!TextUtils.isEmpty(navigation) && navigation.substring(0, 1).equals(lastNavigation)) {
needShowNavigation = false;
} else {
if (!TextUtils.isEmpty(navigation)) {
lastNavigation = navigation.charAt(0);
lastNavigation = navigation.substring(0, 1);
}
needShowNavigation = true;
}
if (needShowNavigation) {
helper.itemView.findViewById(R.id.ll_navigation).setVisibility(View.VISIBLE);
helper.setText(R.id.tv_character, TextUtils.isEmpty(navigation) ? "" : String.valueOf(navigation.charAt(0)));
helper.setText(R.id.tv_character, TextUtils.isEmpty(lastNavigation) ? "" : lastNavigation);
} else {
helper.itemView.findViewById(R.id.ll_navigation).setVisibility(View.GONE);
helper.setText(R.id.tv_character, TextUtils.isEmpty(lastNavigation) ? "" : lastNavigation);
}
// if (!TextUtils.isEmpty(item.getHeadUrl())) {
// ImageView imageView = helper.itemView.findViewById(R.id.img_header);
// GlideManager.getInstance(mContext).loadImage(item.getHeadUrl(), imageView);
// }
}
helper.itemView.setOnClickListener(v -> {
......
......@@ -104,7 +104,9 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
case 61:
return new MsgToVideoCallHolder(LayoutInflater.from(mContext).inflate(R.layout.chat_to_item_video_call, viewGroup, false));
case 70:
return new MsgBeFriendHolder(LayoutInflater.from(mContext).inflate(R.layout.chat_be_friend, viewGroup, false)) ;
return new MsgBePassHolder(LayoutInflater.from(mContext).inflate(R.layout.chat_be_pass_item, viewGroup, false));
case 71:
return new MsgPassHolder(LayoutInflater.from(mContext).inflate(R.layout.chat_pass_item, viewGroup, false));
}
return null;
}
......@@ -137,8 +139,10 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
setFromVideoCallContentView(bean, (MsgFromVideoCallHolder) viewHolder);
} else if (viewHolder instanceof MsgToVideoCallHolder) {
setToVideoCallContentView(bean, (MsgToVideoCallHolder) viewHolder);
}else if(viewHolder instanceof MsgBeFriendHolder){
} else if (viewHolder instanceof MsgBePassHolder) {
setBeFriendContentView(bean, (MsgBeFriendHolder) viewHolder);
} else if (viewHolder instanceof MsgPassHolder) {
}
}
}
......@@ -202,7 +206,11 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
}
}
private void setBeFriendContentView(ChatMessage bean, MsgBeFriendHolder holder){
private void setBePassContentView(ChatMessage bean, MsgBeFriendHolder holder) {
showTime(holder.tvTime, bean);
}
private void setBeFriendContentView(ChatMessage bean, MsgBeFriendHolder holder) {
showTime(holder.tvTime, bean);
}
......@@ -516,15 +524,42 @@ public class ChatContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
}
}
class MsgBeFriendHolder extends RecyclerView.ViewHolder{
class MsgBeFriendHolder extends RecyclerView.ViewHolder {
TextView tvTime;
public MsgBeFriendHolder(@NonNull View itemView) {
super(itemView);
tvTime = itemView.findViewById(R.id.tv_time);
}
}
class MsgBePassHolder extends RecyclerView.ViewHolder {
TextView tvSendTime;
RoundImageView ivHeader;
TextView chatText;
public MsgBePassHolder(@NonNull View itemView) {
super(itemView);
tvSendTime = itemView.findViewById(R.id.tv_send_time);
ivHeader = itemView.findViewById(R.id.iv_header);
chatText = itemView.findViewById(R.id.chat_text);
}
}
class MsgPassHolder extends RecyclerView.ViewHolder {
TextView tvSendTime;
RoundImageView ivHeader;
TextView chatText;
public MsgPassHolder(@NonNull View itemView) {
super(itemView);
tvSendTime = itemView.findViewById(R.id.tv_send_time);
ivHeader = itemView.findViewById(R.id.iv_header);
chatText = itemView.findViewById(R.id.chat_text);
}
}
class MsgFromTextHolder extends RecyclerView.ViewHolder {
TextView tvSendTime;
RoundImageView ivHeader;
......
......@@ -76,8 +76,16 @@ public class AddFriendActivity extends BaseStatusActivity<AddFriendPresenter> im
adapter.setListener(new FriendSearchListAdapter.FriendItemClickListener() {
@Override
public void showDetail(FriendSearchBean.FriendSearItemBean item) {
if (item != null)
UserDetailActivity.start(getApplicationContext(), item.getUserId());
if (item != null) {
int fromAddType;
if (!TextUtils.isEmpty(userName) && userName.contains(mKeyWord)) {
fromAddType = 5;
} else {
// 昵称不包含关键字的话就是通过手机号搜索出来的,
fromAddType = 4;
}
UserDetailActivity.start(getApplicationContext(), item.getUserId(),fromAddType);
}
}
@Override
......
......@@ -11,6 +11,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.im.R;
import com.rv.im.UserDetailActivity;
import com.rv.im.adapter.AddRecordListAdapter;
import com.rv.im.db.service.FriendServiceImp;
import com.rv.im.db.table.ChatMessage;
......@@ -121,6 +122,7 @@ public class NewFriendActivity extends BaseStatusActivity<NewFriendPresenter> im
private AddRecordListAdapter.FriendItemClickListener listener = new AddRecordListAdapter.FriendItemClickListener() {
@Override
public void showDetail(Friend item) {
UserDetailActivity.start(getApplicationContext(),item.getUserId());
}
@Override
......
......@@ -9,6 +9,7 @@ import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
......@@ -118,8 +119,6 @@ public class RealAddFriendActivity extends BaseStatusActivity<RealAddFriendPrese
showToast("打招呼成功,静候回音");
FriendServiceImp.getInstance(this).addMessage(mPresenter.buildAddFriendMessage(userId, userName, message.getMessageType()));
setResult(RESULT_OK);
finish();
// ListenerManager.getInstance().notifyNewFriend(mLoginUserId, message, true);
} else if (isyanzheng == 1) {
showToast("好友添加成功");
......@@ -128,88 +127,12 @@ public class RealAddFriendActivity extends BaseStatusActivity<RealAddFriendPrese
ChatMessageServiceImp.getInstance(this).addMessage(message);
setResult(RESULT_OK);
finish();
}
}
}
// FriendDao.getInstance().updateFriendContent(mLoginUserId, mUser.getUserId(), InternationalizationHelper.getString("JXMessageObject_BeFriendAndChat"), XmppMessage.TYPE_TEXT, TimeUtils.sk_time_current_time());
// ListenerManager.getInstance().notifyNewFriend(mLoginUserId, message, true);
// loadOthersInfoFromNet();
// CardcastUiUpdateUtil.broadcastUpdateUi(mContext);
}
// 已经是好友了,mFriend不能为空,
// mFriend = FriendDao.getInstance().getFriend(mLoginUserId, mUserId);
}
// else if (addblackid != null && addblackid.equals(packet)) {
// Toast.makeText(getApplicationContext(), getString(R.string.add_blacklist_succ), Toast.LENGTH_SHORT).show();
// findViewById(R.id.look_bussic_cicle_rl).setVisibility(View.GONE);
// mNextStepBtn.setText(InternationalizationHelper.getString("REMOVE"));
// mNextStepBtn.setOnClickListener(new RemoveBlacklistListener());
//
// // 更新当前持有的Friend对象,
// mFriend.setStatus(Friend.STATUS_BLACKLIST);
// FriendDao.getInstance().updateFriendStatus(message.getOwnerId(), message.getUserId(), mFriend.getStatus());
// FriendHelper.addBlacklistExtraOperation(message.getOwnerId(), message.getUserId());
//
// ChatMessage addBlackChatMessage = new ChatMessage();
// addBlackChatMessage.setContent(InternationalizationHelper.getString("JXFriendObject_AddedBlackList") + " " + mUser.getNickName());
// addBlackChatMessage.setTimeSend(TimeUtils.sk_time_current_time());
// FriendDao.getInstance().updateLastChatMessage(mLoginUserId, Friend.ID_NEW_FRIEND_MESSAGE, addBlackChatMessage);
//
// NewFriendDao.getInstance().createOrUpdateNewFriend(message);
// NewFriendDao.getInstance().changeNewFriendState(mUser.getUserId(), Friend.STATUS_18);
// ListenerManager.getInstance().notifyNewFriend(mLoginUserId, message, true);
//
// CardcastUiUpdateUtil.broadcastUpdateUi(mContext);
//
// Intent intent = new Intent(this, MainActivity.class);
// startActivity(intent);
// finish();
// } else if (removeblack != null && removeblack.equals(packet)) {
// Toast.makeText(getApplicationContext(), InternationalizationHelper.getString("REMOVE_BLACKLIST"), Toast.LENGTH_SHORT).show();
// findViewById(R.id.look_bussic_cicle_rl).setVisibility(View.VISIBLE);
// mNextStepBtn.setText(InternationalizationHelper.getString("JXUserInfoVC_SendMseeage"));
// mNextStepBtn.setOnClickListener(new SendMsgListener());
//
// // 更新当前持有的Friend对象,
// if (mFriend != null) {
// mFriend.setStatus(Friend.STATUS_FRIEND);
// }
// NewFriendDao.getInstance().ascensionNewFriend(message, Friend.STATUS_FRIEND);
// FriendHelper.beAddFriendExtraOperation(message.getOwnerId(), message.getUserId());
//
// ChatMessage removeChatMessage = new ChatMessage();
// removeChatMessage.setContent(coreManager.getSelf().getNickName() + InternationalizationHelper.getString("REMOVE"));
// removeChatMessage.setTimeSend(TimeUtils.sk_time_current_time());
// FriendDao.getInstance().updateLastChatMessage(mLoginUserId, Friend.ID_NEW_FRIEND_MESSAGE, removeChatMessage);
// /* FriendDao.getInstance().updateFriendContent(mLoginUserId, message.getUserId(),
// InternationalizationHelper.getString("JXMessageObject_BeFriendAndChat"), XmppMessage.TYPE_TEXT, TimeUtils.sk_time_current_time());*/
//
// NewFriendDao.getInstance().createOrUpdateNewFriend(message);
// NewFriendDao.getInstance().changeNewFriendState(message.getUserId(), Friend.STATUS_24);
// ListenerManager.getInstance().notifyNewFriend(mLoginUserId, message, true);
//
// CardcastUiUpdateUtil.broadcastUpdateUi(mContext);
//
// loadOthersInfoFromNet();
// } else if (deletehaoyou != null && deletehaoyou.equals(packet)) {
// Toast.makeText(getApplicationContext(), InternationalizationHelper.getString("JXAlert_DeleteOK"), Toast.LENGTH_SHORT).show();
//
// FriendHelper.removeAttentionOrFriend(mLoginUserId, message.getUserId());
//
// ChatMessage deleteChatMessage = new ChatMessage();
// deleteChatMessage.setContent(InternationalizationHelper.getString("JXAlert_DeleteFirend") + " " + mUser.getNickName());
// deleteChatMessage.setTimeSend(TimeUtils.sk_time_current_time());
// FriendDao.getInstance().updateLastChatMessage(mLoginUserId, Friend.ID_NEW_FRIEND_MESSAGE, deleteChatMessage);
//
// NewFriendDao.getInstance().createOrUpdateNewFriend(message);
// NewFriendDao.getInstance().changeNewFriendState(mUser.getUserId(), Friend.STATUS_16);
// ListenerManager.getInstance().notifyNewFriend(mLoginUserId, message, true);
//
// CardcastUiUpdateUtil.broadcastUpdateUi(mContext);
//
// Intent intent = new Intent(this, MainActivity.class);
// startActivity(intent);
// finish();
// }
public void msgSendFailed(String packet) {
showToast(getString(R.string.add_friend_failed));
}
@Override
......@@ -217,7 +140,7 @@ public class RealAddFriendActivity extends BaseStatusActivity<RealAddFriendPrese
if (messageState == ChatMessageListener.MESSAGE_SEND_SUCCESS) {
msgSendSuccess(message, message.getPackId());
} else if (messageState == ChatMessageListener.MESSAGE_SEND_FAILED) {
// msgSendFailed(message.getPacketId());
msgSendFailed(message.getPackId());
}
}
......
......@@ -54,7 +54,7 @@ public class AddFriendPresenter extends CommonPresenter {
params.put("toUserId", userId);
params.put("fromAddType", String.valueOf(fromAddType));
getData(1,appConfig.FRIENDS_ATTENTION_ADD,AddResultBean.class,params,true);
getData(0,appConfig.FRIENDS_ATTENTION_ADD,AddResultBean.class,params,true);
}
// 打招呼
......@@ -116,7 +116,6 @@ public class AddFriendPresenter extends CommonPresenter {
}
friend.setRead(true);
friend.setStatus(status);
friend.setTimeCreate(System.currentTimeMillis());
return friend;
}
......
package com.rv.im.presenter;
import android.text.TextUtils;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.RvCache;
......@@ -7,7 +9,9 @@ import com.rv.im.AppConfig;
import com.rv.im.ImSetting;
import com.rv.im.R;
import com.rv.im.bean.ContactsBean;
import com.rv.im.util.sortlist.PingYinUtil;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -20,16 +24,30 @@ public class AddressPresenter extends CommonPresenter {
* @param lists
*/
public void initAddress(List<ContactsBean.ContactItemBean> lists) {
addTopDatas(lists);
boolean isShowLoading = lists == null || lists.size() == 0;
ContactsBean bean = (ContactsBean) RvCache.getInstance().get(CacheEnum.CONTACTS);
if (bean != null && bean.getData() != null && bean.getData().size() > 0) {
lists.addAll(bean.getData());
}
Collections.sort(lists, (o1, o2) -> {
if(TextUtils.isEmpty(o1.getToNickname())){
return 1;
}
if(TextUtils.isEmpty(o2.getToNickname())){
return -1;
}
String pingyin = PingYinUtil.getPingYin(o2.getToNickname());
String pingy = PingYinUtil.getPingYin(o1.getToNickname());
if (!TextUtils.isEmpty(pingy) && !TextUtils.isEmpty(pingyin)) {
return pingy.compareTo(pingyin);
}
return 0;
});
addTopDatas(lists);
pullFriends(isShowLoading);
}
public void addTopDatas(List<ContactsBean.ContactItemBean> lists){
public void addTopDatas(List<ContactsBean.ContactItemBean> lists) {
addCustomerItem(lists);
addGroupItem(lists);
addNewFriendItem(lists);
......@@ -40,7 +58,7 @@ public class AddressPresenter extends CommonPresenter {
bean.setType(0);
bean.setToNickname(getPresenterContext().getString(R.string.text_new_friend));
bean.setLocalHead(R.drawable.icon_lion);
lists.add(2,bean);
lists.add(2, bean);
}
private void addGroupItem(List<ContactsBean.ContactItemBean> lists) {
......@@ -48,7 +66,7 @@ public class AddressPresenter extends CommonPresenter {
bean.setType(0);
bean.setToNickname(getPresenterContext().getString(R.string.text_group));
bean.setLocalHead(R.drawable.icon_lion);
lists.add(1,bean);
lists.add(1, bean);
}
private void addCustomerItem(List<ContactsBean.ContactItemBean> lists) {
......@@ -56,7 +74,7 @@ public class AddressPresenter extends CommonPresenter {
bean.setType(0);
bean.setToNickname(getPresenterContext().getString(R.string.text_customer_list));
bean.setLocalHead(R.drawable.icon_lion);
lists.add(0,bean);
lists.add(0, bean);
}
......
......@@ -5,7 +5,6 @@ import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.RvCache;
import com.rv.im.AppConfig;
import com.rv.im.ImSetting;
import com.rv.im.bean.ImBaseBean;
import com.rv.im.bean.UserDetailBean;
import java.util.HashMap;
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="@dimen/chat_item_padding_left"
android:paddingTop="@dimen/chat_item_padding_top"
android:paddingRight="@dimen/chat_item_padding_right"
android:paddingBottom="@dimen/chat_item_padding_bottom">
<TextView
android:id="@+id/tv_send_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2019-08-19 16:36"
android:textColor="@color/gray"
android:textSize="@dimen/dp10" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.rv.im.view.RoundImageView
android:id="@+id/iv_header"
android:layout_width="38dp"
android:layout_height="38dp"
android:contentDescription="@string/app_name"
android:src="@drawable/common_icon_avatar_default"
android:transitionName="sharedView" />
<TextView
android:id="@+id/chat_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginTop="@dimen/chat_head_top"
android:clickable="true"
android:focusable="true"
android:gravity="left|center_vertical"
android:maxWidth="210dp"
android:minHeight="30dp"
android:padding="@dimen/dp10"
android:textColor="@color/colorMain"
android:textSize="@dimen/sp_14"
tools:text="sdfsdfsdfs" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical"
android:paddingLeft="@dimen/chat_item_padding_left"
android:paddingTop="@dimen/chat_item_padding_top"
android:paddingRight="@dimen/chat_item_padding_right"
android:paddingBottom="@dimen/chat_item_padding_bottom">
<TextView
android:id="@+id/tv_send_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="2019-08-19 16:36"
android:textColor="@color/gray"
android:textSize="@dimen/dp10" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/chat_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="@dimen/dp5"
android:layout_marginTop="@dimen/chat_head_top"
android:clickable="true"
android:focusable="true"
android:gravity="left|center_vertical"
android:maxWidth="210dp"
android:minHeight="@dimen/size_30"
android:padding="@dimen/dp10"
android:textColor="@color/colorMain"
android:textSize="@dimen/sp_14"
tools:text="sdfsdfsdfs" />
<com.rv.im.view.RoundImageView
android:id="@+id/iv_header"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_marginLeft="@dimen/dp10"
android:contentDescription="@string/app_name"
android:src="@drawable/common_icon_avatar_default"
android:transitionName="sharedView" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -29,14 +29,18 @@
android:layout_width="@dimen/size_80"
android:layout_height="@dimen/size_38"
android:layout_gravity="right"
android:text="同意" />
android:layout_marginRight="10dp"
android:text="同意"
android:visibility="gone" />
<TextView
android:gravity="center"
android:id="@+id/text_add_status"
android:layout_width="@dimen/size_80"
android:layout_height="@dimen/size_38"
android:layout_gravity="right" />
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:gravity="center"
android:visibility="gone" />
</LinearLayout>
<View
......
......@@ -188,4 +188,5 @@
<string name="label_online_time">上次在线时间</string>
<string name="qrcode">二维码</string>
<string name="now_location">所在位置</string>
<string name="add_friend_failed">添加好友失败</string>
</resources>
\ 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