diff --git a/app/src/main/java/com/nnbc123/app/MainActivity.java b/app/src/main/java/com/nnbc123/app/MainActivity.java index 3f37f8a8d..a6e6a107c 100644 --- a/app/src/main/java/com/nnbc123/app/MainActivity.java +++ b/app/src/main/java/com/nnbc123/app/MainActivity.java @@ -40,7 +40,6 @@ import com.nnbc123.app.application.ActivityStackManager; import com.nnbc123.app.avroom.activity.AVRoomActivity; import com.nnbc123.app.avroom.newuserchargegift.NewUserChargeGiftDialog; import com.nnbc123.app.base.BaseMvpActivity; -import com.nnbc123.app.common.widget.CircleImageView; import com.nnbc123.app.common.widget.DragLayout; import com.nnbc123.app.community.dynamic.view.DynamicDetailActivity; import com.nnbc123.app.community.publish.view.PublishActivity; @@ -49,7 +48,7 @@ import com.nnbc123.app.family.view.activity.FamilyHomeActivity; import com.nnbc123.app.home.HomeViewModel; import com.nnbc123.app.home.dialog.NewUserHelloDialog; import com.nnbc123.app.home.dialog.ProtocolUpdateDialog; -import com.nnbc123.app.home.fragment.HomeFragment; +import com.nnbc123.app.home.fragment.home.HomeFragment; import com.nnbc123.app.home.fragment.MeFragment; import com.nnbc123.app.home.fragment.MsgFragment; import com.nnbc123.app.home.fragment.PmModeFragment; @@ -73,7 +72,6 @@ import com.nnbc123.app.ui.patriarch.help.PmDialogShowMrg; import com.nnbc123.app.ui.utils.ImageLoadUtils; import com.nnbc123.app.ui.utils.ImageLoadUtilsV2; import com.nnbc123.app.ui.webview.CommonWebViewActivity; -import com.nnbc123.app.ui.widget.LivingIconView; import com.nnbc123.app.ui.widget.MainTabLayout; import com.nnbc123.app.utils.CleanLeakUtils; import com.nnbc123.app.utils.PushMessageHandler; diff --git a/app/src/main/java/com/nnbc123/app/home/adapter/HomeLiveTopAdapter.kt b/app/src/main/java/com/nnbc123/app/home/adapter/HomeLiveTopAdapter.kt deleted file mode 100644 index 0e2ce932f..000000000 --- a/app/src/main/java/com/nnbc123/app/home/adapter/HomeLiveTopAdapter.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.nnbc123.app.home.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.nnbc123.app.R -import com.nnbc123.app.avroom.activity.AVRoomActivity -import com.nnbc123.app.ui.utils.load -import com.nnbc123.core.room.bean.HomeLiveTopInfo -import com.nnbc123.core.statistic.StatisticManager -import com.nnbc123.core.statistic.protocol.StatisticsProtocol - - -class HomeLiveTopAdapter : - BaseQuickAdapter(R.layout.item_home_live_top) { - - private var onceLookStatus: Boolean = false - - fun setOnceLookStatus(onceLookStatus: Boolean) { - this.onceLookStatus = onceLookStatus - } - - override fun convert(helper: BaseViewHolder, item: HomeLiveTopInfo.SingleRoom) { - helper.apply { - getView(R.id.iv_room_image).load(item.avatar) - setText(R.id.tv_room_title, item.title) - setGone(R.id.iv_room_tag, item.isRecommend && onceLookStatus) - } - - helper.itemView.setOnClickListener { - AVRoomActivity.start(mContext, item.uid) - StatisticManager.Instance().onEvent( - StatisticsProtocol.EVENT_RECENT_CARD_CLICK, - "最近在看卡片点击", - mapOf("room_id" to item.erbanNo) - ) - } - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/adapter/HomeRoomFragmentAdapter.java b/app/src/main/java/com/nnbc123/app/home/adapter/HomeRoomFragmentAdapter.java deleted file mode 100644 index a1ef87a83..000000000 --- a/app/src/main/java/com/nnbc123/app/home/adapter/HomeRoomFragmentAdapter.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.nnbc123.app.home.adapter; - -import android.content.Context; -import android.text.TextUtils; -import android.view.View; -import android.widget.ImageView; - -import androidx.annotation.NonNull; - -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.nnbc123.app.R; -import com.nnbc123.app.avroom.activity.AVRoomActivity; -import com.nnbc123.app.ui.utils.ImageLoadUtils; -import com.nnbc123.core.home.bean.HomeTabMapInfo; -import com.nnbc123.core.statistic.StatisticManager; -import com.nnbc123.core.statistic.protocol.StatisticsProtocol; - -/** - *

首页热门adapter

- * - * @author Administrator - * @date 2017/11/16 - */ -public class HomeRoomFragmentAdapter extends BaseMultiItemQuickAdapter { - - private Context mContext; - - /** - * 校验跳转房间的频率 - */ - public HomeRoomFragmentAdapter(Context context) { - super(null); - addItemType(HomeTabMapInfo.TYPE_NORMAL, R.layout.item_home_tab_map); - addItemType(HomeTabMapInfo.TYPE_EMPTY, R.layout.item_erban_grid_empty); - this.mContext = context; - } - - protected void convert(@NonNull BaseViewHolder helper, HomeTabMapInfo item) { - if (item == null) { - return; - } - switch (helper.getItemViewType()) { - - case HomeTabMapInfo.TYPE_NORMAL: - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_TJ_ROOM_SUCCESS, "首页_进入推荐房间"); - AVRoomActivity.startForFromType(mContext, item.getRoomUid(), AVRoomActivity.FROM_TYPE_RECOMMEND); - } - }); - helper.setText(R.id.tv_online_number, item.getOnlineNum() + "") - .setText(R.id.tv_title, item.getTitle()); - - - //注意这里有三个标签,展示优先级 PK中>自定义>房间标签 - helper.setGone(R.id.tv_tag_in_pk, item.isCrossPking()); - - helper.setGone(R.id.tv_tag_content, !TextUtils.isEmpty(item.getIconContent()) && !item.isCrossPking()) - .setText(R.id.tv_tag_content, item.getIconContent()); - - ImageView mIvTabLabel = helper.getView(R.id.iv_tab_label); - if (!TextUtils.isEmpty(item.getTagPict()) && !item.isCrossPking() && TextUtils.isEmpty(item.getIconContent())) { - mIvTabLabel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadAvatarBig(item.getTagPict(), mIvTabLabel); - } else { - mIvTabLabel.setVisibility(View.GONE); - } - - ImageView ivCover = helper.getView(R.id.iv_cover); - if (!TextUtils.isEmpty(item.getAvatar())) { - ImageLoadUtils.loadAvatarBig(item.getAvatar(), ivCover, R.drawable.default_cover); - } else { - GlideApp.with(mContext) - .load(R.drawable.default_cover) - .placeholder(R.drawable.default_cover) - .into(ivCover); - } - break; - - case HomeTabMapInfo.TYPE_EMPTY: - - break; - } - - - } - -} diff --git a/app/src/main/java/com/nnbc123/app/home/adapter/MoreSingleAnchorAdapter.kt b/app/src/main/java/com/nnbc123/app/home/adapter/MoreSingleAnchorAdapter.kt deleted file mode 100644 index 6a62b02b1..000000000 --- a/app/src/main/java/com/nnbc123/app/home/adapter/MoreSingleAnchorAdapter.kt +++ /dev/null @@ -1,51 +0,0 @@ -package com.nnbc123.app.home.adapter - -import android.widget.ImageView -import androidx.core.view.isVisible -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.opensource.svgaplayer.SVGAImageView -import com.nnbc123.app.R -import com.nnbc123.app.avroom.activity.AVRoomActivity -import com.nnbc123.core.home.bean.HomeRoomInfo -import com.nnbc123.app.ui.utils.load -import com.nnbc123.app.ui.utils.loadFromAssets -import com.nnbc123.core.statistic.StatisticManager -import com.nnbc123.core.statistic.protocol.StatisticsProtocol -import com.nnbc123.core.utils.TextUtils - -/** - * create by lvzebiao @2019/11/13 - * 人气主播更多 - */ -class MoreSingleAnchorAdapter : - BaseQuickAdapter(R.layout.item_home_single_anchor_more) { - - override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) { - - val ivPking = helper.getView(R.id.iv_pking) - val ivTag = helper.getView(R.id.iv_tag) - ivPking.isVisible = item.isCrossPking - ivTag.isVisible = !TextUtils.isEmptyText(item.tagPict) && !item.isCrossPking - if (item.isCrossPking) { - ivPking.loadFromAssets("svga/single_room_pking.svga") - } else { - ivTag.load(item.tagPict) - } - helper.setText(R.id.tv_online_num, item.onlineNum.toString()) - .setText(R.id.tv_nickname, item.nick) - .setText(R.id.tv_room_name, item.title) - .setImageResource( - R.id.iv_gender, - if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female - ) - helper.getView(R.id.iv_room_avatar) - .load(item.avatar, 12f, R.drawable.default_cover) - - helper.itemView.setOnClickListener { - StatisticManager.Instance() - .onEvent(StatisticsProtocol.EVENT_ZB_TAB_ROOM_SUCCESS, "直播tab进入房间成功") - AVRoomActivity.start(mContext, item.uid) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomeTabHomeFragment.java b/app/src/main/java/com/nnbc123/app/home/fragment/HomeTabHomeFragment.java deleted file mode 100644 index 8ad58f600..000000000 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomeTabHomeFragment.java +++ /dev/null @@ -1,192 +0,0 @@ -package com.nnbc123.app.home.fragment; - -import android.annotation.SuppressLint; -import android.os.Bundle; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.nnbc123.core.home.bean.HomeTabMapInfo; -import com.nnbc123.core.home.event.RefreshHomeDataEvent; -import com.nnbc123.core.home.model.GameHomeModel; -import com.nnbc123.core.utils.net.RxHelper; -import com.nnbc123.app.R; -import com.nnbc123.app.base.BaseFragment; -import com.nnbc123.app.home.adapter.HomeRoomFragmentAdapter; -import com.nnbc123.library.utils.ListUtils; -import com.trello.rxlifecycle3.android.FragmentEvent; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Random; - -/** - * - */ -public class HomeTabHomeFragment extends BaseFragment { - public static final int ROWS = 3; - private static final Comparator comp = (o1, o2) -> { - int seq = o1.getSeq() - o2.getSeq(); - return Integer.compare(seq, 0); - }; - private RecyclerView recyclerView; - private HomeRoomFragmentAdapter mHomeRoomAdapter; - - @NonNull - public static HomeTabHomeFragment newInstance() { - HomeTabHomeFragment fragment = new HomeTabHomeFragment(); - return fragment; - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_home_room_tab; - } - - @Override - public void onFindViews() { - super.onFindViews(); - recyclerView = mView.findViewById(R.id.recycler_view); - initRecyclerView(); - } - - /** - * 请求数据 - */ - @SuppressLint("CheckResult") - private void getData() { - GameHomeModel.get() - .getHomeTabHome() - .compose(RxHelper.handleSchedulers()) - .compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW)) - .subscribe((serviceResult, throwable) -> { - if (throwable == null) { - if (ListUtils.isListEmpty(serviceResult)) { - return; - } - - List roomsList = new ArrayList<>(serviceResult);//未处理的数 - List randomList = new ArrayList<>();//不是置顶的 - List finalList = new ArrayList<>();//最终的6条数据 - - for (int i = 0; i < roomsList.size(); i++) { - roomsList.get(i).setItemType(HomeTabMapInfo.TYPE_NORMAL);//对原始数据设置type - } - for (int i = 0; i < roomsList.size(); i++) { - if (roomsList.get(i).isIsTop()) { - finalList.add(roomsList.get(i)); - } else { - randomList.add(roomsList.get(i)); - } - } - sortSeqRoom(finalList); - refreshRoomData(finalList, randomList); - - } - }); - } - - /** - * 刷新数据 - */ - private void refreshRoomData(List finalList, List randomList) { - List finalList1 = new ArrayList<>(finalList);//最终的6条数据 - List randomList1 = new ArrayList<>(randomList);//不是置顶的 - mHomeRoomAdapter.setNewData(getConvertData(finalList1, randomList1)); - } - - private void initRecyclerView() { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false)); - recyclerView.setItemAnimator(null); - mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext()); - mHomeRoomAdapter.setEnableLoadMore(false); - mHomeRoomAdapter.setEnableLoadMore(false); - recyclerView.setAdapter(mHomeRoomAdapter); - - View emptyView = getLayoutInflater().inflate(R.layout.layout_home_room_empty, null); - ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - emptyView.setLayoutParams(lp); - mHomeRoomAdapter.setEmptyView(emptyView); - } - - /** - * 转化房间数组,不足6的加上虚位以待 - * - * @param - * @return - */ - private List getConvertData(List finalList, List randomList) { - List finalList1 = new ArrayList<>(finalList);//最终的6条数据 - List randomList1 = new ArrayList<>(randomList);//不是置顶的 - int ROOM_COUNT = 6;//首页显示6条数据 - randomList1 = randomList(randomList1); - finalList1.addAll(randomList1); - - if (finalList1.size() >= ROOM_COUNT) { - finalList1 = finalList1.subList(0, ROOM_COUNT); - } else { - while (finalList1.size() < ROOM_COUNT) { - HomeTabMapInfo info = new HomeTabMapInfo(); - info.setItemType(HomeTabMapInfo.TYPE_EMPTY); - finalList1.add(info); - } - } - return finalList1; - } - - /** - * **************************** 排序 *********************************** - */ - private void sortSeqRoom(List list) { - if (list.size() == 0) { - return; - } - Collections.sort(list, comp); - } - - private List randomList(List sourceList) { - if (sourceList == null || sourceList.size() == 0) { - return sourceList; - } - ArrayList randomList = new ArrayList(sourceList.size()); - do { - int randomIndex = Math.abs(new Random().nextInt(sourceList.size())); - randomList.add(sourceList.remove(randomIndex)); - } while (sourceList.size() > 0); - return randomList; - } - - - @Override - public void initiate() { - getData(); - } - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - EventBus.getDefault().register(this); - } - - @Override - public void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onRefreshHomeDataEvent(RefreshHomeDataEvent event) { - if (isResumed()) getData(); - } - -} diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/LiveFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/LiveFragment.kt deleted file mode 100644 index b1839b283..000000000 --- a/app/src/main/java/com/nnbc123/app/home/fragment/LiveFragment.kt +++ /dev/null @@ -1,185 +0,0 @@ -package com.nnbc123.app.home.fragment - -import android.graphics.Color -import android.os.Bundle -import android.view.Gravity -import android.widget.TextView -import androidx.fragment.app.Fragment -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import androidx.viewpager.widget.ViewPager -import com.netease.nim.uikit.common.util.sys.ScreenUtil -import com.scwang.smartrefresh.layout.internal.ProgressDrawable -import com.nnbc123.app.R -import com.nnbc123.app.avroom.adapter.RoomVPAdapter -import com.nnbc123.app.base.BaseViewBindingFragment -import com.nnbc123.app.databinding.FragmentLiveBinding -import com.nnbc123.app.home.HomeViewModel -import com.nnbc123.app.home.adapter.HomeLiveTopAdapter -import com.nnbc123.app.home.adapter.PartyMagicIndicatorAdapter -import com.nnbc123.app.ui.utils.RVDelegate -import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper -import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator -import com.nnbc123.core.home.event.RefreshHomeDataEvent -import com.nnbc123.core.room.bean.HomeLiveTopInfo -import com.nnbc123.core.room.bean.SingleRoomSortInfo -import com.nnbc123.core.statistic.StatisticManager -import com.nnbc123.core.statistic.protocol.StatisticsProtocol -import com.nnbc123.core.utils.CurrentTimeUtils -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode - -/** - * 音萌首页 - */ -class LiveFragment : BaseViewBindingFragment(), - PartyMagicIndicatorAdapter.OnItemSelectListener { - - private val mFragments: ArrayList = ArrayList() - private val mTabInfoList: ArrayList = ArrayList() - private var currentIndex = 0 - private var lastLoadDataTime = 0L - - private lateinit var mAdapter: HomeLiveTopAdapter - private lateinit var rvDelegate: RVDelegate - private val homeViewModel: HomeViewModel by activityViewModels() - - companion object { - fun newInstance(): LiveFragment { - val args = Bundle() - val fragment = LiveFragment() - fragment.arguments = args - return fragment - } - } - - override fun init() { - mAdapter = HomeLiveTopAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(mAdapter) - .setLayoutManager(LinearLayoutManager(mContext, RecyclerView.HORIZONTAL, false)) - .setRecyclerView(binding.recyclerView) - .build() - initRefreshView() - homeViewModel.singleRoomSortInfoLiveData.observe( - viewLifecycleOwner - ) { - if (it.isSuccess) { - it.data?.let { date -> onGetSingleRoomSortInfoSuccess(date) } - } - } - - homeViewModel.homeLiveTopInfoLiveData.observe(viewLifecycleOwner) { - it?.let { - mAdapter.setOnceLookStatus(it.onceLookStatus) - rvDelegate.loadData(it.singleRoomList, true) - binding.tvTitle.text = if (it.onceLookStatus) "曾经看过的人" else "Top热播" - } - } - - binding.viewPager.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - super.onPageSelected(position) - StatisticManager.Instance().onEvent( - StatisticsProtocol.EVENT_GEBO_TAB_CLICK, - "个播页二级tab分类点击", - mapOf("tab_name" to mTabInfoList.getOrElse(position) { "未知tab" }) - ) - } - }) - } - - override fun onResume() { - super.onResume() - loadData() - StatisticManager.Instance().onEvent( - StatisticsProtocol.EVENT_RECENT_CARD_SHOW, "最近在看卡片曝光" - ) - } - - private fun onGetSingleRoomSortInfoSuccess(info: List) { - var changed = false - val oldTabInfoList: List = ArrayList(mTabInfoList) - for (tagInfo in info) { - if (!oldTabInfoList.contains(tagInfo.sortName)) { - changed = true - break - } - } - //只有HomeTagInfo发生改变才刷新数据 - if (changed) { - mTabInfoList.clear() - mFragments.clear() - for (tagInfo in info) { - mTabInfoList.add(tagInfo.sortName) - val fragment = RoomSingleFragment.newInstance(tagInfo.id) - mFragments.add(fragment) - } - val commonNavigator = CommonNavigator(context) - commonNavigator.setTitleWrapContent(false) - commonNavigator.titleMargin = ScreenUtil.dip2px(2.0F) - commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL) - val magicIndicatorAdapter = PartyMagicIndicatorAdapter(mTabInfoList) - magicIndicatorAdapter.textSize = 14 - magicIndicatorAdapter.setOnItemSelectListener(this) - commonNavigator.adapter = magicIndicatorAdapter - binding.magicIndicator.navigator = commonNavigator - binding.viewPager.offscreenPageLimit = 2 - binding.viewPager.adapter = RoomVPAdapter( - childFragmentManager, - mFragments - ) - ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager) - onItemSelect(currentIndex, null) - } - } - - private fun initRefreshView() { - binding.refreshLayout.setOnRefreshListener { - binding.refreshLayout.finishRefresh() - EventBus.getDefault().post(RefreshHomeDataEvent()) - } - binding.refreshLayout.isEnableLoadmore = false - binding.refreshLayout.isEnableOverScrollBounce = false - val themeColor = requireContext().resources.getColor(R.color.color_666666) - binding.refreshHeader.lastUpdateText.setTextColor(themeColor) - binding.refreshHeader.titleText.setTextColor(themeColor) - binding.refreshHeader.setBackgroundColor(Color.TRANSPARENT) - val progressDrawable = ProgressDrawable() - progressDrawable.setColor(themeColor) - binding.refreshHeader.progressView.setImageDrawable(progressDrawable) - } - - override fun onItemSelect(position: Int, view: TextView?) { - currentIndex = position - binding.viewPager.currentItem = currentIndex - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onRefreshHomeDataEvent(event: RefreshHomeDataEvent?) { - if (isResumed) { - loadData() - } - } - - private fun loadData() { - if (CurrentTimeUtils.getCurrentTime() - lastLoadDataTime < 15 * 1000) return - lastLoadDataTime = CurrentTimeUtils.getCurrentTime() - homeViewModel.requestSingleRoomSortList() - homeViewModel.requestHomeLiveTopInfo() - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - EventBus.getDefault().register(this) - } - - override fun onDestroy() { - super.onDestroy() - EventBus.getDefault().unregister(this) - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/RoomSingleFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/RoomSingleFragment.kt deleted file mode 100644 index c58417bae..000000000 --- a/app/src/main/java/com/nnbc123/app/home/fragment/RoomSingleFragment.kt +++ /dev/null @@ -1,86 +0,0 @@ -package com.nnbc123.app.home.fragment - -import android.os.Bundle -import androidx.fragment.app.viewModels -import androidx.recyclerview.widget.GridLayoutManager -import com.nnbc123.app.base.BaseViewBindingFragment -import com.nnbc123.app.common.EmptyViewHelper -import com.nnbc123.app.databinding.FragmentRoomSingleBinding -import com.nnbc123.app.home.RoomSingleViewModel -import com.nnbc123.app.home.adapter.MoreSingleAnchorAdapter -import com.nnbc123.app.ui.utils.RVDelegate -import com.nnbc123.core.home.bean.HomeRoomInfo -import com.nnbc123.core.home.event.RefreshHomeDataEvent -import com.nnbc123.core.utils.CurrentTimeUtils -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode - - -class RoomSingleFragment : BaseViewBindingFragment() { - - companion object { - fun newInstance(id: Long?): RoomSingleFragment { - val args = Bundle() - if (id != null) { - args.putLong("id", id) - } - val fragment = RoomSingleFragment() - fragment.arguments = args - return fragment - } - } - - private lateinit var adapter: MoreSingleAnchorAdapter - private lateinit var rvDelegate: RVDelegate - - private val pageSize = Int.MAX_VALUE - private val roomSingleViewModel: RoomSingleViewModel by viewModels() - - private var lastLoadDataTime = 0L - - private val id: Long? by lazy { requireArguments().getLong("id") } - - override fun init() { - adapter = MoreSingleAnchorAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(adapter) - .setRecyclerView(binding.recyclerView) - .setRefreshLayout(binding.refreshLayout) - .setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间")) - .setLayoutManager(GridLayoutManager(mContext, 2)) - .setPageSize(pageSize) - .build() - binding.refreshLayout.setOnRefreshListener { loadData(true) } - roomSingleViewModel.singleAnchorMoreLiveData.observe(this) { - rvDelegate.loadData(it) - } - } - - override fun onResume() { - super.onResume() - loadData(false) - } - - private fun loadData(isForce: Boolean) { - if (!isForce && CurrentTimeUtils.getCurrentTime() - lastLoadDataTime < 15 * 1000) return - lastLoadDataTime = CurrentTimeUtils.getCurrentTime() - binding.refreshLayout.isRefreshing = true - roomSingleViewModel.getMoreSingleAnchorList(id) - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - EventBus.getDefault().register(this) - } - - override fun onDestroy() { - super.onDestroy() - EventBus.getDefault().unregister(this) - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onRefreshHomeDataEvent(event: RefreshHomeDataEvent?) { - if (isResumed) loadData(false) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsFragment.kt similarity index 96% rename from app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsFragment.kt rename to app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsFragment.kt index b591afe87..d291d8f11 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsFragment.kt @@ -1,4 +1,4 @@ -package com.nnbc123.app.home.fragment +package com.nnbc123.app.home.fragment.home import android.view.Gravity import androidx.core.view.isVisible @@ -23,7 +23,7 @@ import com.nnbc123.library.annatation.ActLayoutRes **/ @ActLayoutRes(R.layout.home_friends_fragment) -class HomeFriendsFragment : BaseBindingFragment() { +class FriendsFragment : BaseBindingFragment() { private val homeViewModel: HomeViewModel by activityViewModels() @@ -54,7 +54,7 @@ class HomeFriendsFragment : BaseBindingFragment() { } childFragmentManager .beginTransaction() - .replace(R.id.fragment_container_view, HomeFriendsListFragment()) + .replace(R.id.fragment_container_view, FriendsListFragment()) .commitAllowingStateLoss() } diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsListFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsListFragment.kt similarity index 92% rename from app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsListFragment.kt rename to app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsListFragment.kt index c590264c7..d85ebca7e 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFriendsListFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/FriendsListFragment.kt @@ -1,4 +1,4 @@ -package com.nnbc123.app.home.fragment +package com.nnbc123.app.home.fragment.home import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager @@ -18,7 +18,7 @@ import com.nnbc123.library.annatation.ActLayoutRes * Desc: **/ @ActLayoutRes(R.layout.home_friends_list_fragment) -class HomeFriendsListFragment : BaseBindingFragment() { +class FriendsListFragment : BaseBindingFragment() { private val adapter = HomeFriendsUserAdapter() private val homeViewModel: HomeViewModel by activityViewModels() override fun initiate() { diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/HomeFragment.kt similarity index 96% rename from app/src/main/java/com/nnbc123/app/home/fragment/HomeFragment.kt rename to app/src/main/java/com/nnbc123/app/home/fragment/home/HomeFragment.kt index 3a8ce18c2..3235584e5 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomeFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/HomeFragment.kt @@ -1,4 +1,4 @@ -package com.nnbc123.app.home.fragment +package com.nnbc123.app.home.fragment.home import android.graphics.Color import android.view.Gravity @@ -59,7 +59,7 @@ class HomeFragment : BaseBindingFragment() { private fun initTab() { val tagList = arrayListOf("派对", "交友") - val fragmentList = listOf(HomePartyFragment(), HomeFriendsFragment()) + val fragmentList = listOf(PartyFragment(), FriendsFragment()) val commonNavigator = CommonNavigator(context) commonNavigator.setTitleWrapContent(true) commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL) diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomePartyFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/PartyFragment.kt similarity index 96% rename from app/src/main/java/com/nnbc123/app/home/fragment/HomePartyFragment.kt rename to app/src/main/java/com/nnbc123/app/home/fragment/home/PartyFragment.kt index 3962ea1bc..2015fdc98 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomePartyFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/PartyFragment.kt @@ -1,4 +1,4 @@ -package com.nnbc123.app.home.fragment +package com.nnbc123.app.home.fragment.home import android.os.Bundle import androidx.core.view.isVisible @@ -31,7 +31,7 @@ import org.greenrobot.eventbus.ThreadMode * Desc:派对 **/ @ActLayoutRes(R.layout.home_party_fragment) -class HomePartyFragment : BaseBindingFragment() { +class PartyFragment : BaseBindingFragment() { private val homeViewModel: HomeViewModel by activityViewModels() @@ -51,7 +51,7 @@ class HomePartyFragment : BaseBindingFragment() { } childFragmentManager .beginTransaction() - .replace(R.id.fragment_container_view, HomePartyHotRoomFragment()) + .replace(R.id.fragment_container_view, PartyHotRoomFragment()) .commitAllowingStateLoss() } diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/HomePartyHotRoomFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/PartyHotRoomFragment.kt similarity index 95% rename from app/src/main/java/com/nnbc123/app/home/fragment/HomePartyHotRoomFragment.kt rename to app/src/main/java/com/nnbc123/app/home/fragment/home/PartyHotRoomFragment.kt index 91b5ed22b..679919dfe 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/HomePartyHotRoomFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/PartyHotRoomFragment.kt @@ -1,4 +1,4 @@ -package com.nnbc123.app.home.fragment +package com.nnbc123.app.home.fragment.home import android.annotation.SuppressLint import android.os.Bundle @@ -26,7 +26,7 @@ import org.greenrobot.eventbus.ThreadMode * Desc: **/ @ActLayoutRes(R.layout.home_party_room_fragment) -class HomePartyHotRoomFragment : BaseBindingFragment() { +class PartyHotRoomFragment : BaseBindingFragment() { private val adapter = HomePartyRoomAdapter() private val homeViewModel: HomeViewModel by activityViewModels() override fun initiate() { diff --git a/app/src/main/res/layout/home_friends_fragment.xml b/app/src/main/res/layout/home_friends_fragment.xml index 852c51be1..4f950e748 100644 --- a/app/src/main/res/layout/home_friends_fragment.xml +++ b/app/src/main/res/layout/home_friends_fragment.xml @@ -96,9 +96,10 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/dp_18" - android:text="发现新朋友" + android:text="玩伴推荐" android:textColor="#2B2D33" android:textSize="@dimen/dp_16" + android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/item_home_live_top.xml b/app/src/main/res/layout/item_home_live_top.xml deleted file mode 100644 index e4d27175d..000000000 --- a/app/src/main/res/layout/item_home_live_top.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_home_single_anchor_more.xml b/app/src/main/res/layout/item_home_single_anchor_more.xml deleted file mode 100644 index 6e2b4c316..000000000 --- a/app/src/main/res/layout/item_home_single_anchor_more.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/item_home_tab_map.xml b/app/src/main/res/layout/item_home_tab_map.xml deleted file mode 100644 index 2cc5b382f..000000000 --- a/app/src/main/res/layout/item_home_tab_map.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file