feas:删除个人页-动态列表
This commit is contained in:
@@ -680,7 +680,10 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
* TODO 临时方案:后续逐步完善整个房间的RoomContext替换计划
|
||||
* PS:目前房间进入的逻辑有些凌乱,没有明确的生命周期,看代码逻辑,无论是第一次还是再次进入都会走这里,所以在这里绑定View
|
||||
*/
|
||||
getRoomContext().onViewAttach(this);
|
||||
RoomContext roomContext = getRoomContext();
|
||||
if (roomContext != null) {
|
||||
roomContext.onViewAttach(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 每次View重新创建(意味着可能在房间外点了红包),就重新尝试加载红包并展示
|
||||
|
@@ -3,47 +3,29 @@ package com.chwl.app.ui.user.fragment
|
||||
import android.view.View
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.netease.nim.uikit.common.util.sys.TimeUtil
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.UIHelper
|
||||
import com.chwl.app.avroom.ButtonItemFactory
|
||||
import com.chwl.app.base.BaseViewBindingFragment
|
||||
import com.chwl.app.common.widget.dialog.DialogManager
|
||||
import com.chwl.app.community.helper.ShareDynamicHelper
|
||||
import com.chwl.app.databinding.FragmentUserinfoUserinfoBinding
|
||||
import com.chwl.app.module_hall.hall.activity.ModuleClanActivity
|
||||
import com.chwl.app.module_hall.hall.activity.ModuleHallActivity
|
||||
import com.chwl.app.ui.user.adapter.UserInfoDynamicAdapter
|
||||
import com.chwl.app.ui.user.viewmodel.UserInfoViewModel
|
||||
import com.chwl.app.ui.widget.ButtonItem
|
||||
import com.chwl.core.XConstants
|
||||
import com.chwl.core.auth.AuthModel
|
||||
import com.chwl.core.community.bean.WorldDynamicBean
|
||||
import com.chwl.core.community.dynamic.DynamicModel
|
||||
import com.chwl.core.community.event.DynamicRefreshEvent
|
||||
import com.chwl.core.module_hall.hall.bean.ClanAndHallInfo
|
||||
import com.chwl.core.module_hall.hall.bean.ClanInfo
|
||||
import com.chwl.core.module_hall.hall.bean.HallInfo
|
||||
import com.chwl.core.user.UserInfoUiMgr
|
||||
import com.chwl.core.user.UserModel
|
||||
import com.chwl.core.user.bean.UserDetailInfo
|
||||
import com.chwl.core.utils.StarUtils
|
||||
import com.chwl.core.utils.net.BeanObserver
|
||||
import com.chwl.core.utils.net.DontWarnObserver
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.*
|
||||
|
||||
class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBinding>() {
|
||||
|
||||
private val vm: UserInfoViewModel by activityViewModels()
|
||||
|
||||
private var dynamicAdapter: UserInfoDynamicAdapter? = null
|
||||
// private var dynamicAdapter: UserInfoDynamicAdapter? = null
|
||||
|
||||
override fun init() {
|
||||
EventBus.getDefault().register(this)
|
||||
// EventBus.getDefault().register(this)
|
||||
|
||||
vm.hallData.observe(this) {
|
||||
initPersonalData(it)
|
||||
@@ -51,7 +33,7 @@ class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBin
|
||||
|
||||
vm.userInfoDetailData.observe(this) {
|
||||
initInfoData(it)
|
||||
initDynamicList(it.dynamicInfo)
|
||||
// initDynamicList(it.dynamicInfo)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -124,126 +106,126 @@ class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBin
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态列表
|
||||
*
|
||||
* @param worldDynamicList
|
||||
*/
|
||||
private fun initDynamicList(worldDynamicList: List<WorldDynamicBean>) {
|
||||
if (dynamicAdapter == null) {
|
||||
dynamicAdapter = UserInfoDynamicAdapter(mContext)
|
||||
dynamicAdapter?.setEnableLoadMore(false)
|
||||
dynamicAdapter?.setOnItemChildClickListener { _, view: View, pos: Int ->
|
||||
val bean: WorldDynamicBean =
|
||||
dynamicAdapter?.getItem(pos) ?: return@setOnItemChildClickListener
|
||||
if (view.id == R.id.iv_more) {
|
||||
val list: MutableList<ButtonItem> = ArrayList()
|
||||
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
val item = ButtonItem(
|
||||
getString(R.string.me_shield_dynamic)
|
||||
) {
|
||||
UserModel.get().addReport(bean.dynamicId, 0)
|
||||
.subscribe(object : BeanObserver<String?>() {
|
||||
override fun onErrorMsg(error: String) {
|
||||
dialogManager.dismissDialog()
|
||||
toast(error)
|
||||
}
|
||||
// /**
|
||||
// * 动态列表
|
||||
// *
|
||||
// * @param worldDynamicList
|
||||
// */
|
||||
// private fun initDynamicList(worldDynamicList: List<WorldDynamicBean>) {
|
||||
// if (dynamicAdapter == null) {
|
||||
// dynamicAdapter = UserInfoDynamicAdapter(mContext)
|
||||
// dynamicAdapter?.setEnableLoadMore(false)
|
||||
// dynamicAdapter?.setOnItemChildClickListener { _, view: View, pos: Int ->
|
||||
// val bean: WorldDynamicBean =
|
||||
// dynamicAdapter?.getItem(pos) ?: return@setOnItemChildClickListener
|
||||
// if (view.id == R.id.iv_more) {
|
||||
// val list: MutableList<ButtonItem> = ArrayList()
|
||||
// if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
// val item = ButtonItem(
|
||||
// getString(R.string.me_shield_dynamic)
|
||||
// ) {
|
||||
// UserModel.get().addReport(bean.dynamicId, 0)
|
||||
// .subscribe(object : BeanObserver<String?>() {
|
||||
// override fun onErrorMsg(error: String) {
|
||||
// dialogManager.dismissDialog()
|
||||
// toast(error)
|
||||
// }
|
||||
//
|
||||
// override fun onSuccess(s: String) {
|
||||
// dialogManager.dismissDialog()
|
||||
// toast(ResUtil.getString(R.string.me_shield_success))
|
||||
// if (pos < (dynamicAdapter?.data?.size ?: 0)) {
|
||||
// if (bean == dynamicAdapter?.getItem(pos)) {
|
||||
// dynamicAdapter?.remove(pos)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// list.add(item)
|
||||
// }
|
||||
// if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
// val blackListItem = ButtonItemFactory.createAddToBlackListItem(
|
||||
// dialogManager, bean.uid.toString()
|
||||
// )
|
||||
// list.add(blackListItem)
|
||||
// }
|
||||
// if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
// val item = ButtonItem(
|
||||
// getString(R.string.me_report_dynamic)
|
||||
// ) {
|
||||
// UIHelper.showReportPage(
|
||||
// mContext, bean.uid,
|
||||
// XConstants.REPORT_TYPE_DYNAMIC_SQUARE
|
||||
// )
|
||||
// }
|
||||
// list.add(item)
|
||||
// }
|
||||
// if (UserModel.get().isMyseft(bean.uid) ||
|
||||
// isThisWorldOwner(bean)
|
||||
// ) {
|
||||
// val item = ButtonItem(
|
||||
// getString(R.string.me_delete)
|
||||
// ) { deleteDynamic(pos, dynamicAdapter) }
|
||||
// list.add(item)
|
||||
// }
|
||||
// dialogManager.showCommonPopupDialog(list, getString(R.string.cancel))
|
||||
// } else if (view.id == R.id.ll_share) {
|
||||
// ShareDynamicHelper(activity).share(bean)
|
||||
// }
|
||||
// }
|
||||
// binding.mRecyclerView.adapter = dynamicAdapter
|
||||
// }
|
||||
// dynamicAdapter?.setNewData(worldDynamicList)
|
||||
// }
|
||||
|
||||
override fun onSuccess(s: String) {
|
||||
dialogManager.dismissDialog()
|
||||
toast(ResUtil.getString(R.string.me_shield_success))
|
||||
if (pos < (dynamicAdapter?.data?.size ?: 0)) {
|
||||
if (bean == dynamicAdapter?.getItem(pos)) {
|
||||
dynamicAdapter?.remove(pos)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
list.add(item)
|
||||
}
|
||||
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
val blackListItem = ButtonItemFactory.createAddToBlackListItem(
|
||||
dialogManager, bean.uid.toString()
|
||||
)
|
||||
list.add(blackListItem)
|
||||
}
|
||||
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||
val item = ButtonItem(
|
||||
getString(R.string.me_report_dynamic)
|
||||
) {
|
||||
UIHelper.showReportPage(
|
||||
mContext, bean.uid,
|
||||
XConstants.REPORT_TYPE_DYNAMIC_SQUARE
|
||||
)
|
||||
}
|
||||
list.add(item)
|
||||
}
|
||||
if (UserModel.get().isMyseft(bean.uid) ||
|
||||
isThisWorldOwner(bean)
|
||||
) {
|
||||
val item = ButtonItem(
|
||||
getString(R.string.me_delete)
|
||||
) { deleteDynamic(pos, dynamicAdapter) }
|
||||
list.add(item)
|
||||
}
|
||||
dialogManager.showCommonPopupDialog(list, getString(R.string.cancel))
|
||||
} else if (view.id == R.id.ll_share) {
|
||||
ShareDynamicHelper(activity).share(bean)
|
||||
}
|
||||
}
|
||||
binding.mRecyclerView.adapter = dynamicAdapter
|
||||
}
|
||||
dynamicAdapter?.setNewData(worldDynamicList)
|
||||
}
|
||||
//
|
||||
// private fun deleteDynamic(pos: Int, adapter: UserInfoDynamicAdapter?) {
|
||||
// dialogManager.showOkCancelWithTitleDialog(getString(R.string.me_cannot_be_restored),
|
||||
// DialogManager.OkCancelDialogListener {
|
||||
// val bean = adapter?.getItem(pos) ?: return@OkCancelDialogListener
|
||||
// DynamicModel.get().delete(bean.worldId, bean.dynamicId)
|
||||
// .compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
// .doOnSubscribe { dialogManager.showProgressDialog(mContext) }
|
||||
// .subscribe(object : DontWarnObserver<String?>() {
|
||||
// override fun accept(s: String?, error: String?) {
|
||||
// super.accept(s, error)
|
||||
// dialogManager.dismissDialog()
|
||||
// if (error != null) {
|
||||
// toast(error)
|
||||
// } else {
|
||||
// toast(getString(R.string.me_successfully_delete))
|
||||
// if (pos < adapter.data.size) {
|
||||
// if (bean == adapter.getItem(pos)) {
|
||||
// adapter.remove(pos)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 判断自己是不是该世界的创始人
|
||||
// */
|
||||
// private fun isThisWorldOwner(bean: WorldDynamicBean?): Boolean {
|
||||
// return bean != null && bean.worldUid == AuthModel.get().currentUid
|
||||
// }
|
||||
|
||||
private fun deleteDynamic(pos: Int, adapter: UserInfoDynamicAdapter?) {
|
||||
dialogManager.showOkCancelWithTitleDialog(getString(R.string.me_cannot_be_restored),
|
||||
DialogManager.OkCancelDialogListener {
|
||||
val bean = adapter?.getItem(pos) ?: return@OkCancelDialogListener
|
||||
DynamicModel.get().delete(bean.worldId, bean.dynamicId)
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.doOnSubscribe { dialogManager.showProgressDialog(mContext) }
|
||||
.subscribe(object : DontWarnObserver<String?>() {
|
||||
override fun accept(s: String?, error: String?) {
|
||||
super.accept(s, error)
|
||||
dialogManager.dismissDialog()
|
||||
if (error != null) {
|
||||
toast(error)
|
||||
} else {
|
||||
toast(getString(R.string.me_successfully_delete))
|
||||
if (pos < adapter.data.size) {
|
||||
if (bean == adapter.getItem(pos)) {
|
||||
adapter.remove(pos)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
// @Subscribe(threadMode = ThreadMode.MAIN)
|
||||
// fun onDynamicRefreshEvent(event: DynamicRefreshEvent?) {
|
||||
// if (isResumed) {
|
||||
// vm.userInfoDetailData.observe(this) {
|
||||
// initInfoData(it)
|
||||
// initDynamicList(it.dynamicInfo)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 判断自己是不是该世界的创始人
|
||||
*/
|
||||
private fun isThisWorldOwner(bean: WorldDynamicBean?): Boolean {
|
||||
return bean != null && bean.worldUid == AuthModel.get().currentUid
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onDynamicRefreshEvent(event: DynamicRefreshEvent?) {
|
||||
if (isResumed) {
|
||||
vm.userInfoDetailData.observe(this) {
|
||||
initInfoData(it)
|
||||
initDynamicList(it.dynamicInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
EventBus.getDefault().unregister(this)
|
||||
super.onDestroyView()
|
||||
}
|
||||
// override fun onDestroyView() {
|
||||
// EventBus.getDefault().unregister(this)
|
||||
// super.onDestroyView()
|
||||
// }
|
||||
|
||||
}
|
@@ -181,17 +181,17 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/mRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_14"
|
||||
android:layout_marginBottom="@dimen/dp_60"
|
||||
android:background="@drawable/bg_ffffff_8"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:overScrollMode="never"
|
||||
android:scrollbars="none"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
||||
<!-- <androidx.recyclerview.widget.RecyclerView-->
|
||||
<!-- android:id="@+id/mRecyclerView"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/dp_14"-->
|
||||
<!-- android:layout_marginBottom="@dimen/dp_60"-->
|
||||
<!-- android:background="@drawable/bg_ffffff_8"-->
|
||||
<!-- android:nestedScrollingEnabled="false"-->
|
||||
<!-- android:overScrollMode="never"-->
|
||||
<!-- android:scrollbars="none"-->
|
||||
<!-- app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />-->
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
Reference in New Issue
Block a user