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