From 057bd37ef2fe59363276d2b5a3c3ee04eced6c84 Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 8 Jan 2021 15:34:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=A1=B5=E9=9D=A2UI=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 + app/src/main/AndroidManifest.xml | 2 +- .../erban/base/BaseViewBindingFragment.kt | 3 + .../home/fragment/ContactsListFragment.kt | 143 +-- .../erban/home/fragment/MeFragment.java | 1 - .../ui/im/recent/RecentContactsFragment.java | 1 - .../erban/ui/relation/FansListActivity.kt | 94 +- .../erban/ui/user/UserInfoOldActivity.java | 939 ------------------ .../res/drawable-xhdpi/ic_msg_attention.png | Bin 0 -> 14809 bytes .../main/res/drawable-xhdpi/ic_msg_fans.png | Bin 0 -> 17286 bytes .../main/res/drawable-xhdpi/ic_msg_friend.png | Bin 0 -> 12642 bytes .../drawable-xhdpi/icon_common_failure.png | Bin 21015 -> 33616 bytes .../res/layout/activity_user_info_old.xml | 473 --------- .../main/res/layout/fragment_contact_list.xml | 84 +- .../nim_recent_contact_list_item_new.xml | 2 + .../nim_recent_contact_team_list_item.xml | 2 + 16 files changed, 171 insertions(+), 1577 deletions(-) delete mode 100644 app/src/main/java/com/yizhuan/erban/ui/user/UserInfoOldActivity.java create mode 100644 app/src/main/res/drawable-xhdpi/ic_msg_attention.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_msg_fans.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_msg_friend.png delete mode 100644 app/src/main/res/layout/activity_user_info_old.xml diff --git a/app/build.gradle b/app/build.gradle index 7d953dd4d..bb0905a31 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -59,6 +59,10 @@ android { enabled = true } + viewBinding { + enabled = true + } + packagingOptions { exclude 'lib/armeabi-v7a/libagora-crypto.so' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 83cfe56bf..6b4f3fdf1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -575,7 +575,7 @@ android:label="66星球" android:launchMode="singleTask" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustPan|stateAlwaysHidden"> + android:windowSoftInputMode="adjustPan|stateAlwaysHidden"/> : BaseFragment() { _binding = null } + override fun initiate() { + } + abstract fun init() } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/ContactsListFragment.kt b/app/src/main/java/com/yizhuan/erban/home/fragment/ContactsListFragment.kt index 7d13e0448..c67cce052 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/ContactsListFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/ContactsListFragment.kt @@ -1,113 +1,60 @@ -package com.yizhuan.erban.home.fragment; +package com.yizhuan.erban.home.fragment -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; - -import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; - -import com.netease.nimlib.sdk.NIMClient; -import com.netease.nimlib.sdk.msg.MsgService; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseFragment; -import com.yizhuan.erban.common.widget.dialog.DialogManager; -import com.yizhuan.erban.friend.action.AbstractSelectFriendAction; -import com.yizhuan.erban.home.adapter.ContactsIndicatorAdapter; -import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter; -import com.yizhuan.erban.home.event.ContactTrashEvent; -import com.yizhuan.erban.ui.im.friend.FriendListFragment; -import com.yizhuan.erban.ui.im.recent.RecentListFragment; -import com.yizhuan.erban.ui.pay.ChargeActivity; -import com.yizhuan.erban.ui.relation.FansListFragment; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.UriProvider; - -import org.greenrobot.eventbus.EventBus; - -import java.util.ArrayList; -import java.util.List; +import androidx.fragment.app.Fragment +import com.netease.nimlib.sdk.NIMClient +import com.netease.nimlib.sdk.msg.MsgService +import com.yizhuan.erban.R +import com.yizhuan.erban.base.BaseViewBindingFragment +import com.yizhuan.erban.common.widget.dialog.DialogManager.AbsOkDialogListener +import com.yizhuan.erban.databinding.FragmentContactListBinding +import com.yizhuan.erban.home.event.ContactTrashEvent +import com.yizhuan.erban.ui.im.recent.RecentListFragment +import com.yizhuan.erban.ui.relation.AttentionListActivity +import com.yizhuan.erban.ui.relation.FansListActivity +import org.greenrobot.eventbus.EventBus /** * @author jack * @Description * @Date 2018/11/1 */ -public class ContactsListFragment extends BaseFragment implements ContactsIndicatorAdapter.OnItemSelectListener { - public static final String TAG = "ContactsListFragment"; - private MagicIndicator indicator; - private ViewPager viewpager; - private ImageView ivContactTrash; +class ContactsListFragment : BaseViewBindingFragment() { - public static Fragment newInstance() { - return new ContactsListFragment(); + companion object { + const val TAG = "ContactsListFragment" + @JvmStatic + fun newInstance(): Fragment { + return ContactsListFragment() + } } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_contact_list; - } - - @Override - public void onFindViews() { - super.onFindViews(); - indicator = getView().findViewById(R.id.indicator); - viewpager = getView().findViewById(R.id.viewpager); - ivContactTrash = getView().findViewById(R.id.iv_contact_trash); - } - - @Override - public void initiate() { - List tabInfoList = new ArrayList<>(); - tabInfoList.add(getString(R.string.message)); - tabInfoList.add(getString(R.string.friend)); - tabInfoList.add(getString(R.string.attention)); - tabInfoList.add(getString(R.string.fan)); - - List mTabs = new ArrayList<>(); - mTabs.add(RecentListFragment.newInstance(false)); - mTabs.add(new FriendListFragment()); - mTabs.add(AttentionFragment.newInstance(AbstractSelectFriendAction.TYPE_NORMAL)); - mTabs.add(FansListFragment.newInstance(Constants.FAN_MAIN_PAGE_TYPE)); - - ContactsIndicatorAdapter mMsgIndicatorAdapter = new ContactsIndicatorAdapter(mContext, tabInfoList, 0); - mMsgIndicatorAdapter.setOnItemSelectListener(this); - CommonNavigator commonNavigator = new CommonNavigator(getContext()); - commonNavigator.setAdjustMode(true); - commonNavigator.setAdapter(mMsgIndicatorAdapter); - indicator.setNavigator(commonNavigator); - // must after setNavigator - LinearLayout titleContainer = commonNavigator.getTitleContainer(); - titleContainer.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - - viewpager.setAdapter(new FragmentViewPagerAdapter(getChildFragmentManager(), mTabs)); - viewpager.setOffscreenPageLimit(3); - ViewPagerHelper.bind(indicator, viewpager); - + override fun init() { + childFragmentManager.beginTransaction() + .add(R.id.fcv, RecentListFragment.newInstance(false)) + .commitAllowingStateLoss() //标记已读消息 - ivContactTrash.setOnClickListener(v -> { - if (NIMClient.getService(MsgService.class).getTotalUnreadCount() > 0){ - getDialogManager().showOkCancelDialog(getString(R.string.tips_clear_unread_count), - getString(R.string.text_canle),getString(R.string.tips_ok_label_clear), - new DialogManager.AbsOkDialogListener() { - @Override - public void onOk() {} - @Override - public void onCancel() { - EventBus.getDefault().post(new ContactTrashEvent()); + binding.ivContactTrash.setOnClickListener { + if (NIMClient.getService(MsgService::class.java).totalUnreadCount > 0) { + dialogManager.showOkCancelDialog(getString(R.string.tips_clear_unread_count), + getString(R.string.text_canle), getString(R.string.tips_ok_label_clear), + object : AbsOkDialogListener() { + override fun onOk() {} + override fun onCancel() { + EventBus.getDefault().post(ContactTrashEvent()) } - }); + }) } - }); + } + + binding.tvFans.setOnClickListener { + FansListActivity.start(requireContext(),FansListActivity.TYPE_FANS) + } + binding.tvAttention.setOnClickListener { + AttentionListActivity.start(requireContext()) + } + binding.tvFriend.setOnClickListener { + FansListActivity.start(requireContext(),FansListActivity.TYPE_FRIEND) + } } - @Override - public void onItemSelect(int position) { - viewpager.setCurrentItem(position); - } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.java index 715f4458b..7dcd714e2 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.java +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.java @@ -293,7 +293,6 @@ public class MeFragment extends BaseMvpFragment { + initTitleBar(getString(R.string.my_attention)) + commitF(AttentionFragment.newInstance(Constants.FAN_NO_MAIN_PAGE_TYPE)) + } + TYPE_FRIEND -> { + initTitleBar(getString(R.string.friend)) + commitF(FriendListFragment.newInstance(false, 0)) + } + else -> { + initTitleBar(getString(R.string.fan)) + commitF(FansListFragment.newInstance(Constants.FAN_NO_MAIN_PAGE_TYPE)) + } + } } - @Override - protected void setStatusBar() { - super.setStatusBar(); - StatusBarUtil.transparencyBar(this); - StatusBarUtil.StatusBarLightMode(this); + private fun commitF(fragment: Fragment) { + supportFragmentManager.beginTransaction() + .add(R.id.fragment_container, fragment) + .commitAllowingStateLoss() } -} + + override fun needSteepStateBar(): Boolean { + return true + } + + override fun setStatusBar() { + super.setStatusBar() + StatusBarUtil.transparencyBar(this) + StatusBarUtil.StatusBarLightMode(this) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoOldActivity.java b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoOldActivity.java deleted file mode 100644 index 82999143b..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoOldActivity.java +++ /dev/null @@ -1,939 +0,0 @@ -package com.yizhuan.erban.ui.user; - -import android.content.Context; -import android.content.Intent; -import android.graphics.Color; -import android.graphics.PorterDuff; -import android.graphics.drawable.Drawable; -import android.text.TextUtils; -import android.util.Log; -import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.core.widget.NestedScrollView; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentPagerAdapter; -import androidx.viewpager.widget.ViewPager; - -import com.bumptech.glide.load.DataSource; -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.engine.GlideException; -import com.bumptech.glide.request.RequestListener; -import com.bumptech.glide.request.target.Target; -import com.bumptech.glide.request.target.ViewTarget; -import com.google.android.material.appbar.AppBarLayout; -import com.netease.nim.uikit.common.util.log.LogUtil; -import com.netease.nim.uikit.impl.cache.NimUserInfoCache; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.netease.nimlib.sdk.RequestCallbackWrapper; -import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent; -import com.netease.nimlib.sdk.uinfo.model.NimUserInfo; -import com.opensource.svgaplayer.SVGACallback; -import com.opensource.svgaplayer.SVGADrawable; -import com.opensource.svgaplayer.SVGAParser; -import com.opensource.svgaplayer.SVGAVideoEntity; -import com.yizhuan.erban.R; -import com.yizhuan.erban.UIHelper; -import com.yizhuan.erban.audio.RecordingVoiceActivity; -import com.yizhuan.erban.avroom.ButtonItemFactory; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.base.BaseBindingActivity; -import com.yizhuan.erban.common.widget.dialog.CommonPopupDialog; -import com.yizhuan.erban.common.widget.dialog.DialogManager; -import com.yizhuan.erban.community.user_dynamic.UserDynamicFrg; -import com.yizhuan.erban.databinding.ActivityUserInfoOldBinding; -import com.yizhuan.erban.family.view.activity.FamilyHomeActivity; -import com.yizhuan.erban.family.view.activity.FamilyMemberListActivity; -import com.yizhuan.erban.family.view.activity.FamilyMemberSearchActivity; -import com.yizhuan.erban.ui.im.avtivity.NimFriendModel; -import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity; -import com.yizhuan.erban.ui.relation.FansListActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.ButtonItem; -import com.yizhuan.erban.ui.widget.ObservableScrollView; -import com.yizhuan.erban.ui.widget.UserMagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.erban.utils.AppBarStateChangeListener; -import com.yizhuan.erban.utils.BlurTransformation; -import com.yizhuan.erban.utils.RegexUtil; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_core.im.friend.IMFriendModel; -import com.yizhuan.xchat_android_core.level.UserLevelVo; -import com.yizhuan.xchat_android_core.manager.AvRoomDataManager; -import com.yizhuan.xchat_android_core.manager.IMNetEaseManager; -import com.yizhuan.xchat_android_core.manager.RoomEvent; -import com.yizhuan.xchat_android_core.noble.NobleInfo; -import com.yizhuan.xchat_android_core.noble.NobleUtil; -import com.yizhuan.xchat_android_core.praise.PraiseModel; -import com.yizhuan.xchat_android_core.praise.event.IsLikedEvent; -import com.yizhuan.xchat_android_core.praise.event.PraiseEvent; -import com.yizhuan.xchat_android_core.room.bean.RoomInfo; -import com.yizhuan.xchat_android_core.room.model.AvRoomModel; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.user.UserInfoUiMgr; -import com.yizhuan.xchat_android_core.user.UserModel; -import com.yizhuan.xchat_android_core.user.bean.UserInfo; -import com.yizhuan.xchat_android_core.user.bean.UserPhoto; -import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent; -import com.yizhuan.xchat_android_core.utils.StarUtils; -import com.yizhuan.xchat_android_core.utils.net.BeanObserver; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; -import com.yizhuan.xchat_android_library.utils.SizeUtils; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * create by lvzebiao on 2018/8/31 - */ - -@ActLayoutRes(R.layout.activity_user_info_old) -public class UserInfoOldActivity extends BaseBindingActivity - implements UserPhotoAdapter.ImageClickListener, ObservableScrollView.ScrollViewListener, - UserMagicIndicator.OnItemSelectListener { - - public static final int REQUEST_CODE_UPDATE_VOICE = 1; - - private int TAB_SIZE = 4; - private int TAB_DYNAMIC = 0; - private int TAB_INFORMATION = 1; - private int TAB_GIFT = 2; - private int TAB_CAR = 3; - - @Override - public void onItemSelect(int position) { - Log.i("onItemselect", "position:" + position); - mBinding.vpUserInfo.setCurrentItem(position); - } - - public interface IdentityState { - int NON = 0; // 无法识别 - int OWN = 1; // 自己 - int OTHER = 2; // 其他人 - } - - private int identityState = IdentityState.NON; - - private UserInfoOldActivity mActivity; - private long userId; - private UserInfo userInfo; - private SVGAParser mSVGAParser; - Drawable mAttenDrawable; - Drawable mAttenedDrawable; - - private boolean mIslike = false; - private RoomInfo mRoomInfo = null; - private int flag = 0; - private boolean isNoble; - private LinearLayout bottomViewLayout = null; - private TextView sendMsgLayout; - private TextView attentionLayout; - - private ImageView ivOfficialMask; - private TextView tvOfficialMask; - - UserInfoFragment mUserInfoFragment; - UserInfoGiftGroupFrg mUserInfoGiftGroupFrg; - UserInfoCarFragment mUserInfoCarFragment; - UserDynamicFrg mUserDynamicFrg; - - private void onSetListener() { - mBinding.ivUserBack.setOnClickListener(this); - mBinding.ivEdit.setOnClickListener(this); - mBinding.llUserRoom.setOnClickListener(this); - mBinding.llWhere.setOnClickListener(this); - mBinding.imageView.setOnClickListener(this); - - mBinding.ablUserInfo.addOnOffsetChangedListener(new AppBarStateChangeListener() { - @Override - public void onStateChanged(AppBarLayout appBarLayout, State state) { - if (state == State.EXPANDED) { - //展开状态 - setEditButton(identityState, true); - setBackBottom(true); - setTitleVisible(false); - - } else if (state == State.COLLAPSED) { - //折叠状态 - setEditButton(identityState, false); - setBackBottom(false); - setTitleVisible(true); - - } else { - //中间状态 - } - - } - }); - - } - - @Override - protected void init() { - mActivity = this; - userId = getIntent().getLongExtra("userId", 0); - UserInfoUiMgr.get().setUid(userId); - - onFindViews(); - onSetListener(); - EventBus.getDefault().register(this); - - mSVGAParser = new SVGAParser(this); - UserModel.get().getUserInfoFromServer(userId) - .compose(bindToLifecycle()) - .subscribe(new BeanObserver() { - @Override - public void onErrorMsg(String error) { - - } - - @Override - public void onSuccess(UserInfo Info) { - userInfo = Info; - //这里座驾只显示一次 - if (userInfo.getCarInfo() != null && userInfo.getCarInfo().isUsing()) { - try { - mSVGAParser.parse(new URL(userInfo.getCarInfo().getEffect()), new SVGAParser.ParseCompletion() { - @Override - public void onComplete(SVGAVideoEntity videoItem) { - mBinding.userInfoSvgaCar.setVisibility(View.VISIBLE); - mBinding.userInfoSvgaCar.setLoops(1); - Drawable drawable = new SVGADrawable(videoItem); - mBinding.userInfoSvgaCar.setImageDrawable(drawable); - mBinding.userInfoSvgaCar.startAnimation(); - } - - @Override - public void onError() { - mBinding.userInfoSvgaCar.setVisibility(View.GONE); - } - }); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - initData(userInfo); - } - }); - - mBinding.userInfoSvgaCar.setCallback(new SVGACallback() { - @Override - public void onPause() { - - } - - @Override - public void onFinished() { - - } - - @Override - public void onRepeat() { - - } - - @Override - public void onStep(int i, double v) { - - } - }); - - mAttenDrawable = ContextCompat.getDrawable(this, R.drawable.icon_new_attention); - mAttenedDrawable = ContextCompat.getDrawable(this, R.drawable.ic_attened); - - mBinding.userInfoSvgaCar.clearAnimation(); - mBinding.userInfoSvgaCar.setVisibility(View.GONE); - mSVGAParser = new SVGAParser(this); - - if (AuthModel.get().getCurrentUid() == userId) { - identityState = IdentityState.OWN; - mBinding.tvAttentionCount.setOnClickListener(this); - mBinding.tvUserAttentionText.setOnClickListener(this); - mBinding.tvFansCount.setOnClickListener(this); - mBinding.tvUserFanText.setOnClickListener(this); - setWhereVisible(false); - - if (bottomViewLayout != null) - bottomViewLayout.setVisibility(View.GONE); - } else { - if (userId == XChatConstants.SECRETARY_UID || userId == XChatConstants.SYSTEM_MESSAGE_UID) { - identityState = IdentityState.NON; - } else { - identityState = IdentityState.OTHER; - } - setWhereVisible(true); - - if (bottomViewLayout == null) { - View view = mBinding.vsBottomLayout.getViewStub().inflate(); - bottomViewLayout = view.findViewById(R.id.bottom_view_layout); - sendMsgLayout = view.findViewById(R.id.send_msg_layout); - attentionLayout = view.findViewById(R.id.attention_layout); - sendMsgLayout.setOnClickListener(this); - attentionLayout.setOnClickListener(this); - } - - bottomViewLayout.setVisibility(View.VISIBLE); - } - - setEditButton(identityState, true); - setBackBottom(true); - setTitleVisible(false); - - mCompositeDisposable.add(IMNetEaseManager.get().getChatRoomEventObservable() - .subscribe(roomEvent -> { - if (roomEvent != null) { - switch (roomEvent.getEvent()) { - case RoomEvent.KICK_OUT_ROOM: - ChatRoomKickOutEvent reason = roomEvent.getReason(); - if (reason != null) { - ChatRoomKickOutEvent.ChatRoomKickOutReason kickOutReason = reason.getReason(); - if (kickOutReason == ChatRoomKickOutEvent.ChatRoomKickOutReason.CHAT_ROOM_INVALID) { - setUserRoomVisible(false); - } - } - break; - } - } - })); - - if (mBinding.inOfficialMask != null) { - ivOfficialMask = mBinding.inOfficialMask.findViewById(R.id.iv_official_mask); - tvOfficialMask = mBinding.inOfficialMask.findViewById(R.id.tv_official_mask); - } - } - - private void setEditButton(int identityState, boolean isExpanded) { - - if (identityState == IdentityState.OWN) { - mBinding.ivEdit.setVisibility(View.VISIBLE); - mBinding.ivEdit.setImageResource(isExpanded ? R.drawable.icon_user_info_edit : R.drawable.icon_edit_black); - - } else if (identityState == IdentityState.OTHER) { - mBinding.ivEdit.setVisibility(View.VISIBLE); - mBinding.ivEdit.setImageResource(isExpanded ? R.drawable.icon_home_page_more : R.drawable.icon_home_page_more_black); - - } else { - mBinding.ivEdit.setVisibility(View.GONE); - } - - } - - private void setBackBottom(boolean isExpanded) { - mBinding.ivUserBack.setImageResource(isExpanded ? R.drawable.icon_user_back : R.drawable.icon_user_back_black); - } - - private void setTitleVisible(boolean visible) { - mBinding.tvUserInfoTitle.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - /** - * 找到TA, 主态不展示 - */ - private void setWhereVisible(boolean visible) { - mBinding.viewLineTwo.setVisibility(visible ? View.VISIBLE : View.GONE); - mBinding.llWhere.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - /** - * TA的房间, 主态不展示 - */ - private void setUserRoomVisible(boolean visible) { - mBinding.viewLineThree.setVisibility(visible ? View.VISIBLE : View.GONE); - mBinding.llUserRoom.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - private void onFindViews() { - mBinding.tbUserInfo.setTitle(""); - - List tabInfoList = new ArrayList<>(TAB_SIZE); - tabInfoList.add(new TabInfo(TAB_DYNAMIC, "动态")); - tabInfoList.add(new TabInfo(TAB_INFORMATION, "资料")); - tabInfoList.add(new TabInfo(TAB_GIFT, "礼物")); - tabInfoList.add(new TabInfo(TAB_CAR, "座驾")); - - CommonNavigator commonNavigator = new CommonNavigator(this); - commonNavigator.setAdjustMode(true); - UserMagicIndicator indicator = new UserMagicIndicator(this, tabInfoList, 0); - indicator.setOnItemSelectListener(this); - commonNavigator.setAdapter(indicator); - mBinding.miUserInfo.setNavigator(commonNavigator); - mBinding.vpUserInfo.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { - - @Override - public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { - mBinding.miUserInfo.onPageScrolled(position, positionOffset, positionOffsetPixels); - } - - @Override - public void onPageSelected(int position) { - mBinding.miUserInfo.onPageSelected(position); - setStatistic(position); - } - - @Override - public void onPageScrollStateChanged(int state) { - mBinding.miUserInfo.onPageScrollStateChanged(state); - } - }); - - mUserDynamicFrg = UserDynamicFrg.newInstance(userId); - mUserInfoFragment = UserInfoFragment.newInstance(userId, getIntent().getIntExtra("from", 1)); - mUserInfoGiftGroupFrg = UserInfoGiftGroupFrg.newInstance(); - mUserInfoCarFragment = UserInfoCarFragment.newInstance(); - - mBinding.vpUserInfo.setOffscreenPageLimit(3); - mBinding.vpUserInfo.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { - @Override - public int getCount() { - return TAB_SIZE; - } - - @Override - public Fragment getItem(int position) { - if (position == TAB_DYNAMIC) { - return mUserDynamicFrg; - } else if (position == TAB_INFORMATION) { - return mUserInfoFragment; - } else if (position == TAB_GIFT) { - return mUserInfoGiftGroupFrg; - } else if (position == TAB_CAR) { - return mUserInfoCarFragment; - } - return mUserInfoFragment; - } - }); - mBinding.vpUserInfo.setCurrentItem(0); - setStatistic(0); - } - - // 埋点 - private void setStatistic(int position) { - String temp = AuthModel.get().getCurrentUid() == userId ? "主态" : "客态"; - switch (position) { - case 0: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_MOMENT, "个人主页动态tab-" + temp); - break; - - case 1: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_DATA, "个人主页资料tab-" + temp); - break; - - case 2: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_GIFT, "个人主页礼物tab-" + temp); - break; - - case 3: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_CAR, "个人主页座驾tab-" + temp); - break; - } - - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onCurrentUserInfoUpdate(LoginUserInfoUpdateEvent event) { - if (UserModel.get().getCacheLoginUserInfo().getUid() == userId) { - userInfo = UserModel.get().getCacheLoginUserInfo(); - initData(userInfo); - } - } - - private void initData(UserInfo userInfo) { - if (null != userInfo) { - UserInfoUiMgr.get().setValue(userInfo); - - ImageLoadUtils.loadBigAvatar(this, userInfo.getAvatar(), mBinding.imageView, false); - - requestRoomInfo(userInfo); - - String nick = RegexUtil.getPrintableString(userInfo.getNick()); - mBinding.tvNick.setText(nick); - mBinding.tvUserInfoTitle.setText(nick); - Drawable drawable = ContextCompat.getDrawable(this, - (userInfo.getGender() == 1) ? R.drawable.ic_gender_male : R.drawable.ic_gender_female); - mBinding.tvNick.setCompoundDrawablesWithIntrinsicBounds(null, null, drawable, null); - - mBinding.tvAttentionCount.setText(String.valueOf(userInfo.getFollowNum())); - mBinding.tvFansCount.setText(String.valueOf(userInfo.getFansNum())); - - //设置星座 - String star = StarUtils.getConstellation(new Date(userInfo.getBirth())); - if (null == star) { - mBinding.tvConstellation.setVisibility(View.GONE); - } else { - mBinding.tvConstellation.setText(star); - mBinding.tvConstellation.setVisibility(View.VISIBLE); - } - mBinding.tvErbanId.setText(getString(R.string.me_user_id, userInfo.getErbanNo())); - setUserLevel(userInfo.getUserLevelVo()); - - if (userInfo.getNameplate() != null) { - setOfficialMask(userInfo.getNameplate().getFixedWord(), userInfo.getNameplate().getIconPic()); - } else { - setOfficialMask("", ""); - } - - NobleInfo nobleInfo = userInfo.getNobleInfo(); - HeadWearInfo headWearInfo = userInfo.getUserHeadwear(); - if (!TextUtils.isEmpty(userInfo.getAttestationBackPic())) { - ImageLoadUtils.loadImage(this, userInfo.getAttestationBackPic(), mBinding.avatarBg); - - } else if (nobleInfo != null) { - setBgByLevel(true); - String zoneBg = nobleInfo.getZoneBg(); - if (TextUtils.isEmpty(zoneBg)) { - ImageLoadUtils.loadImage(this, userInfo.getAvatar(), mBinding.avatarBg); - } else { - ImageLoadUtils.loadImage(this, zoneBg, mBinding.avatarBg); - } - NobleUtil.loadResource( - NobleUtil.getBadgeByLevel(nobleInfo.getLevel()), mBinding.ivUserNobleLevel); - } else { - setBgByLevel(false); - mBinding.ivUserNobleLevel.setImageDrawable(null); - GlideApp.with(this) - .load(userInfo.getAvatar()) - .dontAnimate() - .centerInside() - .diskCacheStrategy(DiskCacheStrategy.RESOURCE) - .listener(new RequestListener() { - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object o, - Target target, boolean b) { - return false; - } - - @Override - public boolean onResourceReady(Drawable drawable, Object o, - Target target, DataSource dataSource, boolean b) { - drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN); - ViewTarget viewTarget = (ViewTarget) target; - viewTarget.getView().setImageDrawable(drawable); - return true; - } - }) - // “23”:设置模糊度(在0.0到25.0之间),默认”25";"4":图片缩放比例,默认“1”。 - .transforms(new BlurTransformation(context, 10, 1)) - .into(mBinding.avatarBg); - } - setHeadWare(headWearInfo, nobleInfo); - - //设置靓号 - boolean hasPrettyErbanNo = userInfo.isHasPrettyErbanNo(); - mBinding.ivGoodNumber.setVisibility(hasPrettyErbanNo ? View.VISIBLE : View.GONE); - // 设置官字 - mBinding.ivUserOfficial.setVisibility(userInfo.isOfficial() ? View.VISIBLE : View.GONE); - // 设置新字 - mBinding.ivUserNew.setVisibility(userInfo.isNewUser() ? View.VISIBLE : View.GONE); - - if (null == star) { - mBinding.tvConstellation.setVisibility(View.GONE); - } else { - mBinding.tvConstellation.setText(star); - mBinding.tvConstellation.setVisibility(View.VISIBLE); - } - //设置地址 - String address = null; - if (null != userInfo.getUserExpand() && userInfo.getUserExpand().isShowLocation()) { - StringBuilder sb = new StringBuilder(); - String province = userInfo.getUserExpand().getProvinceName(); - if (!TextUtils.isEmpty(province)) { - sb.append(" ").append(province); - } - String city = userInfo.getUserExpand().getCityName(); - if (!TextUtils.isEmpty(city)) { - sb.append(" ").append(city); - } - if (sb.length() != 0) { - address = sb.toString(); - } - } - if (TextUtils.isEmpty(address)) { - mBinding.tvAddress.setVisibility(View.GONE); - } else { - mBinding.tvAddress.setText(address); - mBinding.tvAddress.setVisibility(View.VISIBLE); - } - - - if (AuthModel.get().getCurrentUid() != userInfo.getUid()) { - PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), userInfo.getUid()).subscribe(); - } - - mUserInfoFragment.onGetUserInfo(userInfo); - } - } - - private void requestRoomInfo(UserInfo userInfo) { - AvRoomModel.get().requestRoomInfoByUser(String.valueOf(userInfo.getUid())) - .compose(bindToLifecycle()) - .subscribe(roomInfo -> onGetRoomInfo(roomInfo)); - } - - /** - * 自选头饰 -> 贵族头饰 -> 无 - */ - private void setHeadWare(HeadWearInfo headWearInfo, NobleInfo nobleInfo) { - mBinding.ivAvatarHeadWear.setImageDrawable(null); - mBinding.ivAvatarHeadWear.setVisibility(View.GONE); - - if (headWearInfo != null) { - mBinding.ivAvatarHeadWear.setVisibility(View.VISIBLE); - NobleUtil.loadHeadWear(headWearInfo.getPic(), mBinding.ivAvatarHeadWear); - return; - } - - if (nobleInfo != null) { - mBinding.ivAvatarHeadWear.setVisibility(View.VISIBLE); - NobleUtil.loadResource(nobleInfo.getHeadWear(), mBinding.ivAvatarHeadWear); - } - - } - - private void setUserLevel(UserLevelVo userLevelVo) { - mBinding.ivUserCharm.setVisibility(View.GONE); - mBinding.ivUserLevel.setVisibility(View.GONE); - if (userLevelVo != null) { - String userLevelUrl = userLevelVo.getExperUrl(); - String userCharmUrl = userLevelVo.getCharmUrl(); - if (!TextUtils.isEmpty(userLevelUrl)) { - mBinding.ivUserLevel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(this, userLevelUrl, mBinding.ivUserLevel); - } - if (!TextUtils.isEmpty(userCharmUrl)) { - mBinding.ivUserCharm.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(this, userCharmUrl, mBinding.ivUserCharm); - } - } - } - - private void setBgByLevel(boolean isNoble) { - this.isNoble = isNoble; - mBinding.ivUserNobleLevel.setVisibility(isNoble ? View.VISIBLE : View.INVISIBLE); - - LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mBinding.ivUserNobleLevel.getLayoutParams(); - layoutParams.width = isNoble ? SizeUtils.dp2px(this, 17f) : 0; - layoutParams.height = isNoble ? SizeUtils.dp2px(this, 17f) : 0; - - int nobleTextColor = ContextCompat.getColor(this, R.color.white_op_30); - mBinding.tvConstellation.setTextColor(isNoble ? nobleTextColor : Color.WHITE); - } - - @Override - public void onScrollChanged(NestedScrollView view, int x, int y, int oldx, int oldy) { - if (flag == 0 && oldy > 300) { - flag = 1; - boolean isNoble = (userInfo != null && userInfo.getNobleInfo() != null); - mBinding.ivEdit.setImageResource( - (isNoble) ? R.drawable.icon_user_info_edit : R.drawable.icon_edit_black); - } else if (flag == 1 && oldy <= 300) { - flag = 0; - mBinding.ivEdit.setImageResource(R.drawable.icon_user_info_edit); - } - } - - @Override - public void click(int position, UserPhoto userPhoto, boolean isOwner) { - if (isOwner) { - if (position > 0) { - showUserPhoto(position - 1); - } else { - UIHelper.showModifyPhotosAct(this, userId); - } - } else { - //创建一个集合拿来做用户所有照片信息 - showUserPhoto(position); - } - } - - private void showUserPhoto(int position) { - //创建一个集合拿来做用户所有照片信息 - ArrayList userPhotos = new ArrayList<>(); - List realmList = userInfo.getPrivatePhoto(); - for (UserPhoto photo : realmList) { - UserPhoto newPhoto = new UserPhoto(); - newPhoto.setPid(photo.getPid()); - newPhoto.setPhotoUrl(photo.getPhotoUrl()); - userPhotos.add(newPhoto); - } - Intent intent = new Intent(mActivity, ShowPhotoActivity.class); - intent.putExtra("position", position); - intent.putExtra("photoList", userPhotos); - startActivity(intent); - } - - private void editClick(int identityState) { - if (identityState == IdentityState.OWN) { - UIHelper.showUserInfoModifyAct(this, REQUEST_CODE_UPDATE_VOICE, userId); - } else if (identityState == IdentityState.OTHER) { - if (userInfo != null) { - String account = String.valueOf(userInfo.getUid()); - boolean inMyBlackList = NimFriendModel.get().isInMyBlackList(account); - List buttonItems = new ArrayList<>(); - if (!inMyBlackList) { - ButtonItem blackListItem = ButtonItemFactory.createAddToBlackListItem( - getDialogManager(), account); - buttonItems.add(blackListItem); - } - ButtonItem reportItem = ButtonItemFactory.createReportItem(context, userInfo.getUid(), XChatConstants.REPORT_TYPE_PERSONAL); - buttonItems.add(reportItem); - new CommonPopupDialog(this, "", buttonItems, "取消", false).show(); - } - - } - } - - private void avatarClick(int identityState) { - if (identityState == IdentityState.OWN) { - UIHelper.showUserInfoModifyAct(this, REQUEST_CODE_UPDATE_VOICE, userId); - } - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.iv_user_back: - finish(); - break; - - case R.id.imageView: - avatarClick(identityState); - break; - - case R.id.iv_edit: - editClick(identityState); - break; - case R.id.tv_attention_count: - case R.id.tv_user_attention_text: - Intent intent = new Intent(mActivity, FansListActivity.class); - intent.putExtra(FansListActivity.IS_ATTENT, true); - startActivity(intent); - break; - - case R.id.tv_fans_count: - case R.id.tv_user_fan_text: - startActivity(new Intent(mActivity, FansListActivity.class)); - break; - - case R.id.ll_user_room: - if (mRoomInfo != null) { - LogUtil.i(Companion.TAG, "进入的房间: " + mRoomInfo.getUid()); - AVRoomActivity.start(this, mRoomInfo.getUid(), mRoomInfo.getType()); - } - break; - - case R.id.send_msg_layout: - NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(String.valueOf(userId)); - if (nimUserInfo != null) { - NimP2PMessageActivity.start(this, String.valueOf(userId)); - } else { - NimUserInfoCache.getInstance().getUserInfoFromRemote(String.valueOf(userId), new RequestCallbackWrapper() { - @Override - public void onResult(int code, NimUserInfo result, Throwable exception) { - if (code == 200) { - NimP2PMessageActivity.start(mActivity, String.valueOf(userId)); - } else { - toast("网络异常,请重试"); - } - } - }); - } - break; - - case R.id.attention_layout: - if (userInfo == null) { - toast("用户信息为空。"); - return; - } - - if (mIslike) { - boolean isMyFriend = IMFriendModel.get().isMyFriend(String.valueOf(userInfo.getUid())); - String tip = (isMyFriend) ? "取消关注将不再是好友关系,确定取消关注?" : "确定取消关注?"; - getDialogManager().showOkCancelDialog(tip, true, new DialogManager.OkCancelDialogListener() { - - @Override - public void onCancel() { - getDialogManager().dismissDialog(); - } - - @Override - public void onOk() { - getDialogManager().dismissDialog(); - getDialogManager().showProgressDialog(mActivity, getString(R.string.waiting_text)); - PraiseModel.get().praise(userInfo.getUid(), false).subscribe(); - } - }); - } else { - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.guest_page_follow, "客态页-关注"); - getDialogManager().showProgressDialog(mActivity, getString(R.string.waiting_text)); - PraiseModel.get().praise(userInfo.getUid(), true).subscribe(); - } - break; - - case R.id.ll_where: - getDialogManager().showProgressDialog(this, "请稍后..."); - AvRoomModel.get() - .getUserRoom(userId) - .compose(bindToLifecycle()) - .subscribe((roomResult, throwable) -> { - if (throwable != null) { - onGetUserRoomFail(throwable.getMessage()); - } else if (roomResult != null && roomResult.isSuccess()) { - onGetUserRoom(roomResult.getData()); - } else if (roomResult != null && !roomResult.isSuccess()) { - onGetUserRoomFail(roomResult.getError()); - } else { - onGetUserRoomFail("未知错误"); - } - }); -// /**************** 测试代码 **************/ -// AVRoomActivity.start(this, 91, mRoomInfo!!.type) - break; - } - } - - public void onGetRoomInfo(RoomInfo roomInfo) { - if (roomInfo == null) { - //该用户还未开房间 - setUserRoomVisible(false); - return; - } - //已经存在的activity - if (mRoomInfo != null && mRoomInfo.getRoomId() == roomInfo.getRoomId()) { - mRoomInfo = roomInfo; - } else if (mRoomInfo == null) { - //打开新的activity的时候 - mRoomInfo = roomInfo; - } - setUserRoomVisible(roomInfo.isValid() && identityState != IdentityState.OWN); - } - - public void onGetUserRoom(RoomInfo roomInfo) { - getDialogManager().dismissDialog(); - RoomInfo current = AvRoomDataManager.get().mCurrentRoomInfo; - if (roomInfo != null && roomInfo.getUid() > 0) { - if (current != null) { - if (current.getUid() == roomInfo.getUid()) { - toast("已经和对方在同一个房间"); - return; - } - } - AVRoomActivity.start(this, roomInfo.getUid(), roomInfo.getType()); - } else { - toast("对方不在房间内"); - } - } - - public void onGetUserRoomFail(String msg) { - getDialogManager().dismissDialog(); - toast(msg); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onIsLiked(IsLikedEvent event) { - setLikedText(event.isLiked); - } - - private void setLikedText(boolean isliked) { - mIslike = isliked; - attentionLayout.setCompoundDrawablesWithIntrinsicBounds( - (!isliked) ? mAttenDrawable : mAttenedDrawable, null, null, null); - attentionLayout.setCompoundDrawablePadding((isliked) ? 0 : SizeUtils.dp2px(this, 5f)); - attentionLayout.setText(getString((isliked) ? R.string.already_attention : R.string.attention)); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onPraise(PraiseEvent event) { - if (event.getLikedUid() != userId || - userId == AuthModel.get().getCurrentUid()) { - return; - } - if (event.isFailed()) { - getDialogManager().dismissDialog(); - toast(event.getError()); - return; - } - getDialogManager().dismissDialog(); - toast(event.isPraise() ? R.string.fan_success : R.string.cancel_fan_success); - setLikedText(event.isPraise()); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - - if (mBinding.userInfoSvgaCar.isAnimating()) { - mBinding.userInfoSvgaCar.clearAnimation(); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == REQUEST_CODE_UPDATE_VOICE) { - String audioFileUrl = data.getStringExtra(RecordingVoiceActivity.AUDIO_FILE); - int audioDuration = data.getIntExtra(RecordingVoiceActivity.AUDIO_DURA, 0); - if (mUserInfoFragment != null) { - mUserInfoFragment.refreshVoiceDataView(audioFileUrl, audioDuration); - } - } - } - } - - private void setOfficialMask(String name, String icon) { - if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(icon)) { - mBinding.inOfficialMask.setVisibility(View.VISIBLE); - - if (tvOfficialMask != null && ivOfficialMask != null) { - tvOfficialMask.setText(name); - NobleUtil.loadResource(icon, ivOfficialMask); - } - - } else { - mBinding.inOfficialMask.setVisibility(View.GONE); - } - } - - /** - * static静态代码 - */ - - public final static class Companion { - public final static String TAG = UserInfoOldActivity.class.getSimpleName(); - - static final int FROM_TYPE_NORMAL = 1; - static final int FROM_TYPE_FAMILY = 2; - - public static void start(Context context, long userId) { - Intent intent = new Intent(context, UserInfoOldActivity.class); - intent.putExtra("userId", userId); - int from = FROM_TYPE_NORMAL; - if (context instanceof FamilyHomeActivity - || context instanceof FamilyMemberListActivity - || context instanceof FamilyMemberSearchActivity) { - //这里限制循环访问, 例如:家族->个人主页->家族->个人主页->.... - from = FROM_TYPE_FAMILY; - } - intent.putExtra("from", from); - context.startActivity(intent); - - } - } - -} diff --git a/app/src/main/res/drawable-xhdpi/ic_msg_attention.png b/app/src/main/res/drawable-xhdpi/ic_msg_attention.png new file mode 100644 index 0000000000000000000000000000000000000000..1b36fc8a30f2c1beeb9f7cfecb2d5cf041fcc0b1 GIT binary patch literal 14809 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≶w`B+lk%j{)Hex| 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_msg_fans.png b/app/src/main/res/drawable-xhdpi/ic_msg_fans.png new file mode 100644 index 0000000000000000000000000000000000000000..a7ccd5780d73a15164ee0b16358cf02115980b02 GIT binary patch literal 17286 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_msg_friend.png b/app/src/main/res/drawable-xhdpi/ic_msg_friend.png new file mode 100644 index 0000000000000000000000000000000000000000..c767c953e160057069f6cad9664d99672b5d29ba GIT binary patch literal 12642 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 W7ylKu{8%ag0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/fragment_contact_list.xml b/app/src/main/res/layout/fragment_contact_list.xml index 0fe8ed396..3cd26ec47 100644 --- a/app/src/main/res/layout/fragment_contact_list.xml +++ b/app/src/main/res/layout/fragment_contact_list.xml @@ -1,39 +1,73 @@ + android:layout_height="match_parent" + android:background="@color/white" + android:orientation="vertical"> + + + + + + + - + android:layout_marginTop="22dp"> - + + + + + - - + android:layout_marginTop="30dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/nim_recent_contact_list_item_new.xml b/app/src/main/res/layout/nim_recent_contact_list_item_new.xml index a9148465d..4ae326a8a 100644 --- a/app/src/main/res/layout/nim_recent_contact_list_item_new.xml +++ b/app/src/main/res/layout/nim_recent_contact_list_item_new.xml @@ -3,6 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="71dp" + android:clickable="true" + android:focusable="true" android:orientation="horizontal">