心动空间
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
package com.xscm.modulemain.activity.user.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.xscm.modulemain.BaseMvpActivity
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.user.conacts.HeartCpContact
|
||||
import com.xscm.modulemain.activity.user.presenter.HeartCpPresenter
|
||||
import com.xscm.modulemain.adapter.ItemCpHeartAdapter
|
||||
import com.xscm.modulemain.databinding.ActivityHeartCpBinding
|
||||
import com.xscm.moduleutil.bean.HeartCpBean
|
||||
import com.xscm.moduleutil.utils.ARouteConstants
|
||||
import com.xscm.moduleutil.utils.ImageUtils
|
||||
import com.xscm.moduleutil.utils.TimeUtils
|
||||
|
||||
class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding>(),
|
||||
HeartCpContact.View {
|
||||
|
||||
|
||||
private var adapter: ItemCpHeartAdapter? = null
|
||||
|
||||
private var dataList: MutableList<HeartCpBean.GiftLog>? = arrayListOf()
|
||||
|
||||
private var mHeartData: HeartCpBean? = null
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.activity_heart_cp
|
||||
}
|
||||
|
||||
override fun bindPresenter(): HeartCpPresenter {
|
||||
return HeartCpPresenter(this, this)
|
||||
}
|
||||
|
||||
private var userId: Int = 0
|
||||
|
||||
private var leftUserId: Int = 0
|
||||
private var rightUserId: Int = 0
|
||||
|
||||
override fun doDone() {
|
||||
super.doDone()
|
||||
userId = intent.getIntExtra("userId", 0)
|
||||
}
|
||||
|
||||
|
||||
override fun initData() {
|
||||
MvpPre.getHeartCpData(userId)
|
||||
|
||||
mBinding.ivBack.setOnClickListener {
|
||||
finish()
|
||||
}
|
||||
mBinding.ivHelp.setOnClickListener {
|
||||
|
||||
}
|
||||
|
||||
mBinding.ivHeadLeft.setOnClickListener {
|
||||
if (mHeartData == null || leftUserId == 0)
|
||||
return@setOnClickListener
|
||||
|
||||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE)
|
||||
.withString("userId", leftUserId.toString()).navigation();
|
||||
finish()
|
||||
}
|
||||
|
||||
mBinding.ivHeadRight.setOnClickListener {
|
||||
if (mHeartData == null || rightUserId == 0)
|
||||
return@setOnClickListener
|
||||
|
||||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE)
|
||||
.withString("userId", rightUserId.toString()).navigation()
|
||||
finish()
|
||||
}
|
||||
|
||||
adapter?.setOnItemClickListener { adapter, view, position ->
|
||||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE)
|
||||
.withString("userId", mHeartData?.gift_log!![position].from_user_id.toString())
|
||||
.navigation();
|
||||
finish()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
super.initView()
|
||||
adapter = ItemCpHeartAdapter(this, userId, R.layout.item_heart_cp_layout, dataList)
|
||||
mBinding.recycleView.adapter = adapter
|
||||
}
|
||||
|
||||
|
||||
override fun getHeartCpData(heartCpBean: HeartCpBean?) {
|
||||
if (heartCpBean == null) {
|
||||
return
|
||||
}
|
||||
mHeartData = heartCpBean
|
||||
|
||||
if (userId == heartCpBean.user_id1) {
|
||||
ImageUtils.loadHead(heartCpBean.user_info1.avatar, mBinding.ivHeadLeft)
|
||||
ImageUtils.loadHead(heartCpBean.user_info2.avatar, mBinding.ivHeadRight)
|
||||
leftUserId = heartCpBean.user_id1
|
||||
rightUserId = heartCpBean.user_id2
|
||||
} else {
|
||||
ImageUtils.loadHead(heartCpBean.user_info2.avatar, mBinding.ivHeadLeft)
|
||||
ImageUtils.loadHead(heartCpBean.user_info1.avatar, mBinding.ivHeadRight)
|
||||
leftUserId = heartCpBean.user_id2
|
||||
rightUserId = heartCpBean.user_id1
|
||||
}
|
||||
|
||||
mBinding.cpAnim.setSource(heartCpBean.pendant, 1)
|
||||
|
||||
val xd = heartCpBean.next_level_exp
|
||||
if (xd >= 10000) {
|
||||
mBinding.tvExperience.text = String.format("%.0fw", xd / 10000.0f)
|
||||
} else {
|
||||
mBinding.tvExperience.text = xd.toString()
|
||||
}
|
||||
|
||||
adapter?.setNewData(heartCpBean.gift_log)
|
||||
|
||||
val day = TimeUtils.formatDurationDaysOnly(
|
||||
heartCpBean.createtime * 1000 - System.currentTimeMillis()
|
||||
)
|
||||
|
||||
mBinding.tvHeartTime.text = "我们在一起${day}啦"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.xscm.modulemain.activity.user.conacts
|
||||
|
||||
import android.app.Activity
|
||||
import com.xscm.moduleutil.activity.IPresenter
|
||||
import com.xscm.moduleutil.activity.IView
|
||||
import com.xscm.moduleutil.bean.HeartCpBean
|
||||
|
||||
class HeartCpContact {
|
||||
|
||||
interface View : IView<Activity>{
|
||||
fun getHeartCpData(heartCpBean: HeartCpBean?)
|
||||
}
|
||||
|
||||
interface IPre : IPresenter {
|
||||
|
||||
fun getHeartCpData(userId: Int)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -19,22 +19,20 @@ import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.google.android.flexbox.FlexboxLayout;
|
||||
import com.xscm.modulemain.Application;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.activity.GiftWallActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.ui.main.BosomFriendFragment;
|
||||
import com.xscm.modulemain.databinding.FragmentUserHompageBinding;
|
||||
import com.tencent.imsdk.v2.V2TIMConversation;
|
||||
import com.tencent.qcloud.tuicore.TUIConstants;
|
||||
import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIC2CChatActivity;
|
||||
import com.xscm.modulemain.Application;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.activity.GiftWallActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.ui.main.BosomFriendFragment;
|
||||
import com.xscm.modulemain.activity.user.conacts.UserHomepageConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.UserHomepagePresenter;
|
||||
import com.xscm.modulemain.databinding.FragmentUserHompageBinding;
|
||||
import com.xscm.modulemain.manager.RoomManager;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.bean.CircleListBean;
|
||||
@@ -44,7 +42,6 @@ import com.xscm.moduleutil.bean.RelationshipBean;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.UserTagBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -236,6 +233,16 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
|
||||
if (userInfo.getCp_info() != null) {
|
||||
mBinding.headerInfo.llCp.setVisibility(VISIBLE);
|
||||
mBinding.headerInfo.rlCpAnim.setVisibility(VISIBLE);
|
||||
|
||||
mBinding.headerInfo.llCp.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(ActivityUtils.getTopActivity(), HeartCpActivity.class);
|
||||
intent.putExtra("userId",userInfo.getUser_id());
|
||||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info1.avatar, mBinding.headerInfo.userNav1);
|
||||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info2.avatar, mBinding.headerInfo.userNav2);
|
||||
mBinding.headerInfo.tvNickname1.setText(userInfo.getCp_info().user_info1.nickname);
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.xscm.modulemain.activity.user.presenter
|
||||
|
||||
import android.content.Context
|
||||
import com.xscm.modulemain.activity.user.conacts.HeartCpContact
|
||||
import com.xscm.moduleutil.bean.HeartCpBean
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.presenter.BasePresenter
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.lang.ref.WeakReference
|
||||
|
||||
class HeartCpPresenter(view: HeartCpContact.View, context: Context) :
|
||||
BasePresenter<HeartCpContact.View>(view, context), HeartCpContact.IPre {
|
||||
override fun getHeartCpData(userId: Int) {
|
||||
api.getCpRoom(userId.toString(), object : BaseObserver<HeartCpBean>() {
|
||||
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
addDisposable(d)
|
||||
}
|
||||
|
||||
|
||||
override fun onNext(t: HeartCpBean) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = WeakReference(view);
|
||||
}
|
||||
MvpRef.get()?.getHeartCpData(t)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user