首页tab新增发现新朋友
BIN
app/src/main/assets/svga/home_avatar_online.svga
Normal file
BIN
app/src/main/assets/svga/home_living.svga
Normal file
@@ -51,7 +51,10 @@ public class RoomPlayDialog extends BottomSheetDialog {
|
||||
|
||||
private void init() {
|
||||
binding.llRadish.setVisibility(GoldBoxHelper.isShowRadish() ? View.VISIBLE : View.GONE);
|
||||
binding.llRadish.setOnClickListener(v -> PullRadishActivity.start(context));
|
||||
binding.llRadish.setOnClickListener(v -> {
|
||||
PullRadishActivity.start(context);
|
||||
dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.utils.toast
|
||||
import com.nnbc123.app.base.BaseViewModel
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.async
|
||||
|
||||
@@ -28,11 +29,11 @@ class HomeViewModel : BaseViewModel() {
|
||||
private val _gameRoomLiveData = MutableLiveData<ListResult<HomeRoomInfo>>()
|
||||
val gameRoomLiveData: LiveData<ListResult<HomeRoomInfo>> = _gameRoomLiveData
|
||||
|
||||
private val _pickRoomLiveData = MutableLiveData<HomeRoomInfo>()
|
||||
val pickRoomLiveData: LiveData<HomeRoomInfo> = _pickRoomLiveData
|
||||
private val _pickRoomLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val pickRoomLiveData: LiveData<HomeRoomInfo?> = _pickRoomLiveData
|
||||
|
||||
private val _openGameRoomLiveData = MutableLiveData<Long>()
|
||||
val openGameRoomLiveData: LiveData<Long> = _openGameRoomLiveData
|
||||
private val _openGameRoomLiveData = MutableLiveData<Long?>()
|
||||
val openGameRoomLiveData: LiveData<Long?> = _openGameRoomLiveData
|
||||
|
||||
private val _concernsLiveData = MutableLiveData<List<HomeRoomInfo>>()
|
||||
val concernsLiveData: LiveData<List<HomeRoomInfo>> = _concernsLiveData
|
||||
@@ -49,8 +50,8 @@ class HomeViewModel : BaseViewModel() {
|
||||
private val _resourceLiveData = MutableLiveData<MutableList<ResourceInfo>>()
|
||||
val resourceLiveData: LiveData<MutableList<ResourceInfo>> = _resourceLiveData
|
||||
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo> = _resourceJumpLiveData
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
|
||||
private val _singleAnchorHomeLiveData = MutableLiveData<ListResult<HomeRoomInfo>>()
|
||||
val singleAnchorHomeLiveData: LiveData<ListResult<HomeRoomInfo>> = _singleAnchorHomeLiveData
|
||||
@@ -60,16 +61,22 @@ class HomeViewModel : BaseViewModel() {
|
||||
val singleRoomSortInfoLiveData: LiveData<ListResult<SingleRoomSortInfo>> =
|
||||
_singleRoomSortInfoLiveData
|
||||
|
||||
private val _homeLiveTopInfoLiveData = MutableLiveData<HomeLiveTopInfo>()
|
||||
val homeLiveTopInfoLiveData: LiveData<HomeLiveTopInfo> = _homeLiveTopInfoLiveData
|
||||
private val _homeLiveTopInfoLiveData = MutableLiveData<HomeLiveTopInfo?>()
|
||||
val homeLiveTopInfoLiveData: LiveData<HomeLiveTopInfo?> = _homeLiveTopInfoLiveData
|
||||
|
||||
private val _anchorInfoLiveData = MutableLiveData<AnchorInfo>()
|
||||
val anchorInfoLiveData: LiveData<AnchorInfo> = _anchorInfoLiveData
|
||||
private val _anchorInfoLiveData = MutableLiveData<AnchorInfo?>()
|
||||
val anchorInfoLiveData: LiveData<AnchorInfo?> = _anchorInfoLiveData
|
||||
|
||||
private val _partyRecommendRoomLiveData = MutableLiveData<ListResult<HomeRoomInfo>>()
|
||||
val partyRecommendRoomLiveData: LiveData<ListResult<HomeRoomInfo>> =
|
||||
_partyRecommendRoomLiveData
|
||||
|
||||
private val _giftServiceLiveData = MutableLiveData<ListResult<GiftServiceMsgVo>>()
|
||||
val giftServiceLiveData: LiveData<ListResult<GiftServiceMsgVo>> = _giftServiceLiveData
|
||||
|
||||
private val _newFriendLiveData = MutableLiveData<ListResult<UserInfo>>()
|
||||
val newFriendLiveData: LiveData<ListResult<UserInfo>> = _newFriendLiveData
|
||||
|
||||
fun getBannerInfo() {
|
||||
safeLaunch {
|
||||
_bannerLiveData.value = HomeModel.getHomeBanner("9")
|
||||
@@ -261,5 +268,27 @@ class HomeViewModel : BaseViewModel() {
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
fun getServiceGiftRecord() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_giftServiceLiveData.value = ListResult.failed(1)
|
||||
},
|
||||
block = {
|
||||
val result = HomeModel.getServiceGiftRecord()
|
||||
_giftServiceLiveData.value = ListResult.success(result, 1)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getNewFriendList() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_newFriendLiveData.value = ListResult.failed(1)
|
||||
},
|
||||
block = {
|
||||
val result = HomeModel.getNewFriendList()
|
||||
_newFriendLiveData.value = ListResult.success(result, 1)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
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.ui.utils.load
|
||||
import com.nnbc123.app.ui.utils.loadAvatar
|
||||
import com.nnbc123.core.home.bean.GiftServiceMsgVo
|
||||
import com.nnbc123.core.utils.sub
|
||||
|
||||
class GiftServiceAdapter :
|
||||
BaseQuickAdapter<GiftServiceMsgVo, BaseViewHolder>(R.layout.item_gift_service) {
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: GiftServiceMsgVo) {
|
||||
helper.setText(R.id.tv_nick_send, item.senderNick.sub(4))
|
||||
.setText(R.id.tv_nick_receiver, item.receiverNick.sub(4))
|
||||
.setText(R.id.tv_gift_name, item.giftName)
|
||||
.setText(R.id.tv_gift_num, "x${item.giftNum}")
|
||||
|
||||
helper.getView<ImageView>(R.id.iv_avatar_send).loadAvatar(item.senderAvatar)
|
||||
helper.getView<ImageView>(R.id.iv_avatar_receiver).loadAvatar(item.receiverAvatar)
|
||||
helper.getView<ImageView>(R.id.iv_gift).load(item.giftPicUrl)
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,52 @@
|
||||
package com.nnbc123.app.home.adapter
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.ui.utils.loadAvatar
|
||||
import com.nnbc123.app.ui.utils.loadFromAssets
|
||||
import com.nnbc123.app.vip.VipHelper
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import com.opensource.svgaplayer.SVGAImageView
|
||||
|
||||
|
||||
class RoomNewFriendsAdapter :
|
||||
BaseQuickAdapter<UserInfo, BaseViewHolder>(R.layout.item_room_new_friends) {
|
||||
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: UserInfo) {
|
||||
helper.getView<ImageView>(R.id.iv_avatar).loadAvatar(item.avatar)
|
||||
helper.setText(R.id.tv_desc, item.userDesc)
|
||||
|
||||
val tvOnlineText = helper.getView<TextView>(R.id.tv_online_text)
|
||||
val svgaLiving = helper.getView<SVGAImageView>(R.id.svga_living)
|
||||
val llOnline = helper.getView<View>(R.id.ll_online)
|
||||
val viewOnline = helper.getView<View>(R.id.view_online)
|
||||
|
||||
if (item.isBanAccount) {
|
||||
viewOnline.isVisible = true
|
||||
tvOnlineText.text = "直播中"
|
||||
svgaLiving.loadFromAssets("svag/home_living.svga")
|
||||
llOnline.setOnClickListener {
|
||||
|
||||
}
|
||||
} else {
|
||||
viewOnline.isVisible = false
|
||||
svgaLiving.setImageResource(R.drawable.ic_new_friends_msg)
|
||||
tvOnlineText.text = "和TA聊"
|
||||
llOnline.setOnClickListener {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
val tvNickname = helper.getView<TextView>(R.id.tv_nickname)
|
||||
tvNickname.text = item.nick
|
||||
VipHelper.loadVipNickColor(tvNickname, item.userVipInfoVO, "#282828")
|
||||
VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.userVipInfoVO)
|
||||
}
|
||||
|
||||
}
|
@@ -171,7 +171,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
mBinding.magicIndicatorEntrance.initIndicator(pagerList.size)
|
||||
mBinding.magicIndicatorEntrance.setSelectedPage(centerIndex)
|
||||
mBinding.magicIndicatorEntrance.visibility =
|
||||
if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE
|
||||
if (pagerList.size > 1) View.VISIBLE else View.GONE
|
||||
mBinding.viewPagerEntrance.adapter = object : PagerAdapter() {
|
||||
|
||||
val cacheItemView = SparseArray<RecyclerView>()
|
||||
|
@@ -20,18 +20,26 @@ import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity
|
||||
import com.nnbc123.app.avroom.adapter.RoomVPAdapter
|
||||
import com.nnbc123.app.base.BaseFragment
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.databinding.FragmentRecommendBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.HomeSingleAnchorAdapter
|
||||
import com.nnbc123.app.home.adapter.MainMagicIndicatorAdapter
|
||||
import com.nnbc123.app.home.adapter.*
|
||||
import com.nnbc123.app.home.dialog.RecommendRoomDialog
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.nnbc123.core.home.bean.GiftServiceMsgVo
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
import com.scwang.smartrefresh.layout.internal.ProgressDrawable
|
||||
import com.yinyuan.doudou.pay.adapter.GiveSearchAdapter
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
* 音萌首页
|
||||
@@ -42,6 +50,10 @@ class RecommendFragment : BaseFragment(),
|
||||
private var mFragmentsBottom: MutableList<Fragment> = ArrayList()
|
||||
private lateinit var singleAnchorAdapter: HomeSingleAnchorAdapter
|
||||
|
||||
private lateinit var giftServiceAdapter: GiftServiceAdapter
|
||||
private lateinit var rvDelegate: RVDelegate<GiftServiceMsgVo>
|
||||
private var disposable: Disposable? = null
|
||||
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
|
||||
//仅埋点使用,不影响业务逻辑
|
||||
@@ -69,13 +81,20 @@ class RecommendFragment : BaseFragment(),
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
loadData()
|
||||
homeViewModel.getServiceGiftRecord()
|
||||
}
|
||||
|
||||
override fun initiate() {
|
||||
initRefreshView()
|
||||
initTitleTab()
|
||||
initSingleAnchor()
|
||||
|
||||
//initSingleAnchor()
|
||||
giftServiceAdapter = GiftServiceAdapter()
|
||||
rvDelegate = RVDelegate.Builder<GiftServiceMsgVo>()
|
||||
.setAdapter(giftServiceAdapter)
|
||||
.setRecyclerView(mBinding.rvGiftService)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间"))
|
||||
.setLayoutManager(LinearLayoutManager(mContext))
|
||||
.build()
|
||||
homeViewModel.resourceLiveData.observe(this) {
|
||||
if (it.isNullOrEmpty() || it.size != 3) {
|
||||
mBinding.llResource.isGone = true
|
||||
@@ -122,6 +141,21 @@ class RecommendFragment : BaseFragment(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
homeViewModel.giftServiceLiveData.observe(viewLifecycleOwner) {
|
||||
rvDelegate.loadData(it)
|
||||
}
|
||||
disposable = Observable.intervalRange(0, Int.MAX_VALUE.toLong(), 0, 5, TimeUnit.SECONDS)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.filter { rvDelegate.adapter.itemCount > 0 && isResumed }
|
||||
.subscribe {
|
||||
val index = (it % rvDelegate.adapter.itemCount).toInt()
|
||||
if (index == 0) {
|
||||
mBinding.rvGiftService.scrollToPosition(index)
|
||||
} else {
|
||||
mBinding.rvGiftService.smoothScrollToPosition(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun initRefreshView() {
|
||||
@@ -141,14 +175,9 @@ class RecommendFragment : BaseFragment(),
|
||||
}
|
||||
|
||||
private fun initTitleTab() {
|
||||
val tagList = InitialModel.get().cacheInitInfo?.homeTabList.let {
|
||||
if (it?.size == 2) it else arrayListOf("热门房间", "组队开黑")
|
||||
}
|
||||
val tagList = arrayListOf("发现新朋友", "组队开黑")
|
||||
mFragmentsBottom.add(RoomNewFriendsFragment.newInstance())
|
||||
mFragmentsBottom.add(HomePlayFragment.newInstance())
|
||||
mFragmentsBottom.add(RoomHotFragment.newInstance())
|
||||
if (tagList[0] != "组队开黑") {
|
||||
mFragmentsBottom.reverse()
|
||||
}
|
||||
val commonNavigator = CommonNavigator(context)
|
||||
commonNavigator.setTitleWrapContent(true)
|
||||
val magicIndicatorAdapter = MainMagicIndicatorAdapter(context, tagList)
|
||||
@@ -201,7 +230,12 @@ class RecommendFragment : BaseFragment(),
|
||||
|
||||
private fun loadData() {
|
||||
homeViewModel.getHomeResource()
|
||||
homeViewModel.getHomeSingleAnchorList()
|
||||
//homeViewModel.getHomeSingleAnchorList()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
disposable?.dispose()
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,77 @@
|
||||
package com.nnbc123.app.home.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.nnbc123.app.base.BaseViewBindingFragment
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.databinding.FragmentRoomHotBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.RoomHotAdapter
|
||||
import com.nnbc123.app.home.adapter.RoomNewFriendsAdapter
|
||||
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.user.bean.UserInfo
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
|
||||
class RoomNewFriendsFragment : BaseViewBindingFragment<FragmentRoomHotBinding>() {
|
||||
|
||||
companion object {
|
||||
fun newInstance(): RoomNewFriendsFragment {
|
||||
val args = Bundle()
|
||||
val fragment = RoomNewFriendsFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
private lateinit var roomHotAdapter : RoomNewFriendsAdapter
|
||||
private lateinit var rvDelegate: RVDelegate<UserInfo>
|
||||
|
||||
private var page = 1
|
||||
private val pageSize = Int.MAX_VALUE
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
|
||||
override fun init() {
|
||||
roomHotAdapter = RoomNewFriendsAdapter()
|
||||
rvDelegate = RVDelegate.Builder<UserInfo>()
|
||||
.setAdapter(roomHotAdapter)
|
||||
.setRecyclerView(binding.recyclerView)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无新朋友"))
|
||||
.setLayoutManager(LinearLayoutManager(mContext))
|
||||
.setPageSize(pageSize)
|
||||
.build()
|
||||
|
||||
homeViewModel.newFriendLiveData.observe(this) {
|
||||
rvDelegate.loadData(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
loadData(true)
|
||||
}
|
||||
|
||||
private fun loadData(isRefresh: Boolean) {
|
||||
homeViewModel.getNewFriendList()
|
||||
}
|
||||
|
||||
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(true)
|
||||
}
|
||||
}
|
BIN
app/src/main/res/drawable-xhdpi/bg_gift_service.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_gift_service_arrow.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
app/src/main/res/drawable-xhdpi/ic_home_man.png
Normal file
After Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.9 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_woman.png
Normal file
After Width: | Height: | Size: 433 B |
BIN
app/src/main/res/drawable-xhdpi/ic_new_friends_msg.png
Normal file
After Width: | Height: | Size: 979 B |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 23 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_resource_3.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 283 B After Width: | Height: | Size: 511 B |
5
app/src/main/res/drawable/shape_65d3f7_corner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="100dp" />
|
||||
<solid android:color="#65D3F7" />
|
||||
</shape>
|
5
app/src/main/res/drawable/shape_f6f7f9_corner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="100dp" />
|
||||
<solid android:color="#F6F7F9" />
|
||||
</shape>
|
5
app/src/main/res/drawable/shape_ff9cce_corner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="100dp" />
|
||||
<solid android:color="#FF9CCE" />
|
||||
</shape>
|
8
app/src/main/res/drawable/shape_home_online.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@color/white" />
|
||||
<solid android:color="#ff6ce19a" />
|
||||
</shape>
|
12
app/src/main/res/drawable/shape_room_new_friends_bg.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#ffffffff" />
|
||||
<corners
|
||||
android:bottomLeftRadius="12dp"
|
||||
android:bottomRightRadius="12dp"
|
||||
android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp" />
|
||||
</shape>
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke
|
||||
android:width="1px"
|
||||
android:color="#5FCCE4" />
|
||||
<solid android:color="#99ffffff" />
|
||||
android:color="@color/white"
|
||||
android:width="1dp" />
|
||||
<solid android:color="#80ffffff" />
|
||||
<corners
|
||||
android:bottomLeftRadius="16dp"
|
||||
android:bottomRightRadius="16dp"
|
||||
|
@@ -41,15 +41,12 @@
|
||||
android:background="@drawable/bg_room_main_entrance"
|
||||
android:visibility="visible">
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_avatar"
|
||||
android:layout_width="@dimen/dp_drag_layout_avatar_size"
|
||||
android:layout_height="@dimen/dp_drag_layout_avatar_size"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="12.5dp"
|
||||
|
||||
>
|
||||
android:layout_marginStart="12.5dp">
|
||||
|
||||
<com.nnbc123.app.common.widget.CircleImageView
|
||||
android:id="@+id/avatar_image"
|
||||
@@ -69,6 +66,7 @@
|
||||
android:layout_height="10dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@color/transparent" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
@@ -78,6 +76,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_toStartOf="@id/view_close"
|
||||
android:visibility="gone"
|
||||
android:layout_toEndOf="@id/fl_avatar"
|
||||
android:orientation="vertical">
|
||||
|
||||
@@ -102,6 +101,7 @@
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_10"
|
||||
tools:text="ID:666" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
|
@@ -172,7 +172,8 @@
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_vip_room_bottom" />
|
||||
android:src="@drawable/ic_vip_room_bottom"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_rank"
|
||||
@@ -336,9 +337,9 @@
|
||||
android:id="@+id/room_more"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginEnd="13dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="13dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/icon_room_more" />
|
||||
|
||||
|
@@ -44,10 +44,10 @@
|
||||
<com.nnbc123.library.widget.DrawableCenterTextView
|
||||
android:id="@+id/tv_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shape_room_temp"
|
||||
android:drawableStart="@mipmap/ic_search_main"
|
||||
@@ -55,14 +55,14 @@
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:text="搜索房间/昵称/ID"
|
||||
android:textColor="#BABBCD"
|
||||
android:textColor="#9EB5C5"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_ranking"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:onClick="@{click}"
|
||||
@@ -78,8 +78,8 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:onClick="@{click}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_home_my_room" />
|
||||
|
||||
android:src="@drawable/ic_home_my_room"
|
||||
android:visibility="gone" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@@ -482,7 +482,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="13dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:background="@drawable/bg_me_wallet_entrance"
|
||||
android:background="@drawable/bg_me_level_entrance"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="17dp"
|
||||
@@ -515,7 +515,6 @@
|
||||
app:layout_constraintStart_toEndOf="@id/me_item_level"
|
||||
app:layout_constraintTop_toTopOf="@id/me_item_level" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_wallet"
|
||||
android:layout_width="0dp"
|
||||
@@ -592,6 +591,7 @@
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:visibility="gone"
|
||||
android:background="@drawable/shape_me_indicator_bg" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@@ -47,41 +47,92 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/ll_resource"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_0"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/ic_resource_0" />
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_resource_0"
|
||||
app:layout_constraintDimensionRatio="94:120"
|
||||
app:layout_constraintEnd_toStartOf="@id/iv_resource_1"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_percent="0.25" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/ic_resource_1" />
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:src="@drawable/ic_resource_1"
|
||||
app:layout_constraintDimensionRatio="120:56"
|
||||
app:layout_constraintEnd_toStartOf="@id/iv_resource_2"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_resource_0"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_resource_0"
|
||||
app:layout_constraintWidth_percent="0.32" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/ic_resource_2" />
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="3dp"
|
||||
android:src="@drawable/ic_resource_2"
|
||||
app:layout_constraintDimensionRatio="120:56"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_resource_1"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_resource_0"
|
||||
app:layout_constraintWidth_percent="0.32" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_resource_3"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_resource_0"
|
||||
app:layout_constraintDimensionRatio="243:56"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_resource_1"
|
||||
app:layout_constraintWidth_percent="0.65" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@drawable/bg_gift_service"
|
||||
app:layout_constraintDimensionRatio="694:148"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_resource_3"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_resource_0"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_resource_0">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="21dp"
|
||||
android:layout_marginTop="7dp"
|
||||
android:text="热门"
|
||||
android:textColor="@color/text_normal_282828"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_gift_service"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="11dp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/ll_single_anchor"
|
||||
@@ -90,7 +141,7 @@
|
||||
android:paddingStart="15dp"
|
||||
android:paddingTop="8dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
tools:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -128,7 +179,7 @@
|
||||
android:paddingEnd="5dp"
|
||||
android:scrollbars="none"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
86
app/src/main/res/layout/item_gift_service.xml
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<com.nnbc123.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_send"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_nick_send"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="#ff282828"
|
||||
android:textSize="12sp"
|
||||
tools:text="小半" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="赠送"
|
||||
android:textColor="#ffffa826"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<com.nnbc123.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_receiver"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="8dp"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_nick_receiver"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="#ff282828"
|
||||
android:textSize="12sp"
|
||||
tools:text="小半" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gift_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:textColor="#ffffa826"
|
||||
android:textSize="12sp"
|
||||
tools:text="星语心愿" />
|
||||
|
||||
<com.nnbc123.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_gift"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="8dp"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gift_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:textColor="#ff878b9c"
|
||||
android:textSize="14sp"
|
||||
tools:text="x1" />
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_gift_service_arrow" />
|
||||
|
||||
</LinearLayout>
|
155
app/src/main/res/layout/item_room_new_friends.xml
Normal file
@@ -0,0 +1,155 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/shape_room_new_friends_bg"
|
||||
app:layout_constraintDimensionRatio="335:93"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.nnbc123.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="75dp"
|
||||
android:layout_height="75dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_online"
|
||||
android:layout_width="14dp"
|
||||
android:layout_height="14dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@drawable/shape_home_online"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_avatar"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_avatar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_vip_icon"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginStart="12dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_nickname"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_nickname" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_nickname"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="3dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/text_normal_282828"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/ll_gender_age"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_vip_icon"
|
||||
app:layout_constraintTop_toTopOf="@id/view_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:layout_goneMarginStart="12dp"
|
||||
tools:text="余生点唱歌曲交友房间" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_gender_age"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:background="@drawable/shape_ff9cce_corner"
|
||||
android:gravity="center_vertical"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_desc"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_nickname">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gender"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="5dp"
|
||||
android:src="@drawable/ic_home_woman" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_age"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="2dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
tools:text="22" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_constellation"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/shape_f6f7f9_corner"
|
||||
android:gravity="center"
|
||||
android:text="巨蟹座"
|
||||
android:textColor="#ffb3b5c4"
|
||||
android:textSize="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ll_gender_age"
|
||||
app:layout_constraintStart_toEndOf="@id/ll_gender_age"
|
||||
app:layout_constraintTop_toTopOf="@id/ll_gender_age" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:text="一起来玩呀"
|
||||
android:textColor="#ffbdbfd0"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/view_bg"
|
||||
app:layout_constraintEnd_toStartOf="@id/ll_online"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_gender_age" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_online"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="@id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/view_bg"
|
||||
app:layout_constraintTop_toTopOf="@id/view_bg">
|
||||
|
||||
<com.opensource.svgaplayer.SVGAImageView
|
||||
android:id="@+id/svga_living"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_online_text"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:text="直播中"
|
||||
android:textColor="#ffbdbfd0"
|
||||
android:textSize="10sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -47,10 +47,12 @@
|
||||
android:onClick="@{click}"
|
||||
app:autoPlay="false"
|
||||
app:fillMode="Clear"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_ship"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="750:725"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_ship"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_ship"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.7"
|
||||
app:loopCount="1"
|
||||
app:source="svga/pull_radish_bg.svga" />
|
||||
|
||||
|
@@ -0,0 +1,121 @@
|
||||
package com.nnbc123.core.home.bean;
|
||||
|
||||
public class GiftServiceMsgVo {
|
||||
private long roomUid;
|
||||
private String roomTitle;
|
||||
private long senderUid;
|
||||
private long senderErbanNo;
|
||||
private String senderAvatar;
|
||||
private String senderNick;
|
||||
private long receiverUid;
|
||||
private long receiverErbanNo;
|
||||
private String receiverAvatar;
|
||||
private String receiverNick;
|
||||
private String giftName;
|
||||
private int giftNum;
|
||||
private String giftPicUrl;
|
||||
|
||||
public long getRoomUid() {
|
||||
return roomUid;
|
||||
}
|
||||
|
||||
public void setRoomUid(long roomUid) {
|
||||
this.roomUid = roomUid;
|
||||
}
|
||||
|
||||
public String getRoomTitle() {
|
||||
return roomTitle;
|
||||
}
|
||||
|
||||
public void setRoomTitle(String roomTitle) {
|
||||
this.roomTitle = roomTitle;
|
||||
}
|
||||
|
||||
public long getSenderUid() {
|
||||
return senderUid;
|
||||
}
|
||||
|
||||
public void setSenderUid(long senderUid) {
|
||||
this.senderUid = senderUid;
|
||||
}
|
||||
|
||||
public long getSenderErbanNo() {
|
||||
return senderErbanNo;
|
||||
}
|
||||
|
||||
public void setSenderErbanNo(long senderErbanNo) {
|
||||
this.senderErbanNo = senderErbanNo;
|
||||
}
|
||||
|
||||
public String getSenderAvatar() {
|
||||
return senderAvatar;
|
||||
}
|
||||
|
||||
public void setSenderAvatar(String senderAvatar) {
|
||||
this.senderAvatar = senderAvatar;
|
||||
}
|
||||
|
||||
public String getSenderNick() {
|
||||
return senderNick;
|
||||
}
|
||||
|
||||
public void setSenderNick(String senderNick) {
|
||||
this.senderNick = senderNick;
|
||||
}
|
||||
|
||||
public long getReceiverUid() {
|
||||
return receiverUid;
|
||||
}
|
||||
|
||||
public void setReceiverUid(long receiverUid) {
|
||||
this.receiverUid = receiverUid;
|
||||
}
|
||||
|
||||
public long getReceiverErbanNo() {
|
||||
return receiverErbanNo;
|
||||
}
|
||||
|
||||
public void setReceiverErbanNo(long receiverErbanNo) {
|
||||
this.receiverErbanNo = receiverErbanNo;
|
||||
}
|
||||
|
||||
public String getReceiverAvatar() {
|
||||
return receiverAvatar;
|
||||
}
|
||||
|
||||
public void setReceiverAvatar(String receiverAvatar) {
|
||||
this.receiverAvatar = receiverAvatar;
|
||||
}
|
||||
|
||||
public String getReceiverNick() {
|
||||
return receiverNick;
|
||||
}
|
||||
|
||||
public void setReceiverNick(String receiverNick) {
|
||||
this.receiverNick = receiverNick;
|
||||
}
|
||||
|
||||
public String getGiftName() {
|
||||
return giftName;
|
||||
}
|
||||
|
||||
public void setGiftName(String giftName) {
|
||||
this.giftName = giftName;
|
||||
}
|
||||
|
||||
public int getGiftNum() {
|
||||
return giftNum;
|
||||
}
|
||||
|
||||
public void setGiftNum(int giftNum) {
|
||||
this.giftNum = giftNum;
|
||||
}
|
||||
|
||||
public String getGiftPicUrl() {
|
||||
return giftPicUrl;
|
||||
}
|
||||
|
||||
public void setGiftPicUrl(String giftPicUrl) {
|
||||
this.giftPicUrl = giftPicUrl;
|
||||
}
|
||||
}
|
@@ -194,6 +194,15 @@ object HomeModel : BaseModel() {
|
||||
api.getPartyRecommendRoomList(uid, types)
|
||||
}
|
||||
|
||||
suspend fun getServiceGiftRecord(): List<GiftServiceMsgVo>? =
|
||||
launchRequest {
|
||||
api.getServiceGiftRecord()
|
||||
}
|
||||
|
||||
suspend fun getNewFriendList(): List<UserInfo>? =
|
||||
launchRequest {
|
||||
api.getNewFriendList()
|
||||
}
|
||||
|
||||
private interface Api {
|
||||
/**
|
||||
@@ -412,6 +421,22 @@ object HomeModel : BaseModel() {
|
||||
@Query("uid") uid: String,
|
||||
@Query("types") types: String
|
||||
): ServiceResult<List<HomeRoomInfo>>
|
||||
|
||||
/**
|
||||
* 全服礼物记录
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET("/home/service/gift/record")
|
||||
suspend fun getServiceGiftRecord(): ServiceResult<List<GiftServiceMsgVo>>
|
||||
|
||||
/**
|
||||
* 发现新朋友
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET("/home/newFriend")
|
||||
suspend fun getNewFriendList(): ServiceResult<List<UserInfo>>
|
||||
}
|
||||
|
||||
}
|