From a54b7967c9e70f9e895444d3980de23f27046a7c Mon Sep 17 00:00:00 2001 From: max Date: Mon, 13 May 2024 18:01:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=81=A2=E5=A4=8D=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD=EF=BC=88=E5=B0=8F=E6=97=B6?= =?UTF-8?q?=E6=A6=9C=E3=80=81=E6=88=BF=E9=97=B4=E6=A6=9C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/avroom/fragment/GameRoomFragment.kt | 3 + .../fragment/HomePartyRoomFragment.java | 14 +++ .../app/avroom/fragment/SingleRoomFragment.kt | 10 ++ .../chwl/app/avroom/rank/RoomRankWidget.kt | 94 +++++++++++++++++++ .../res/drawable/room_rank_widget_bg_game.xml | 10 ++ .../main/res/layout/fragment_av_room_game.xml | 35 +++++++ .../main/res/layout/fragment_game_room.xml | 6 ++ .../main/res/layout/fragment_single_room.xml | 40 +++++++- app/src/main/res/layout/room_rank_widget.xml | 56 +++++++++++ .../main/java/com/chwl/core/UriProvider.java | 22 +++++ 10 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/chwl/app/avroom/rank/RoomRankWidget.kt create mode 100644 app/src/main/res/drawable/room_rank_widget_bg_game.xml create mode 100644 app/src/main/res/layout/room_rank_widget.xml diff --git a/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt b/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt index 6ca031433..a76785a6f 100644 --- a/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt +++ b/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt @@ -17,6 +17,7 @@ import com.chwl.app.avroom.adapter.OnMicroItemClickListener import com.chwl.app.avroom.game.GameDelegate import com.chwl.app.avroom.game.OnGameStatusChangeListener import com.chwl.app.avroom.presenter.GameRoomPresenter +import com.chwl.app.avroom.rank.RoomRankWidget import com.chwl.app.avroom.view.IGameRoomView import com.chwl.app.databinding.FragmentGameRoomBinding import com.chwl.app.ui.widget.GiftDialog.OnGiftDialogBtnClickListener @@ -69,6 +70,7 @@ class GameRoomFragment : BaseRoomFragment(), AvRoomDataManager.get().mCurrentRoomInfo?.mgId ) gameDelegate.setOnGameStatusChangeListener(this) + gameBinding.rankWidget.setContentBackgroundResource(R.drawable.room_rank_widget_bg_game) } @SuppressLint("CheckResult") @@ -210,5 +212,6 @@ class GameRoomFragment : BaseRoomFragment(), override fun initWidget() { super.initWidget() + registerWidget(RoomRankWidget::class.java.simpleName, gameBinding.rankWidget) } } \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/avroom/fragment/HomePartyRoomFragment.java b/app/src/main/java/com/chwl/app/avroom/fragment/HomePartyRoomFragment.java index b338afa62..03a73ff8e 100644 --- a/app/src/main/java/com/chwl/app/avroom/fragment/HomePartyRoomFragment.java +++ b/app/src/main/java/com/chwl/app/avroom/fragment/HomePartyRoomFragment.java @@ -10,7 +10,9 @@ import androidx.databinding.DataBindingUtil; import com.chwl.app.avroom.gameplay.RoomGameplayListWidget; import com.chwl.app.avroom.gameplay.RoomGameplayWidget; +import com.chwl.app.avroom.rank.RoomRankWidget; import com.chwl.app.music.widget.MusicPlayerView; +import com.chwl.app.ui.webview.DialogWebViewActivity; import com.netease.nim.uikit.common.util.log.LogUtil; import com.trello.rxlifecycle3.android.FragmentEvent; import com.chwl.app.R; @@ -133,6 +135,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment + updateView(roomContributeDataInfo.rankings) + } + getCompositeDisposable().add(disposable) + } + + private fun updateView(list: List?) { + arrayListOf( + binding.ivRank0, binding.ivRank1, binding.ivRank2 + ).forEachIndexed { index, imageView -> + val url = list?.getOrNull(index)?.avatar + if (url.isNullOrEmpty()) { + imageView.isVisible = false + } else { + imageView.loadAvatar(url) + imageView.isVisible = true + } + } + } + + fun setContentBackgroundResource(resId: Int) { + binding.layoutRoot.setBackgroundResource(resId) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/room_rank_widget_bg_game.xml b/app/src/main/res/drawable/room_rank_widget_bg_game.xml new file mode 100644 index 000000000..06b966529 --- /dev/null +++ b/app/src/main/res/drawable/room_rank_widget_bg_game.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_av_room_game.xml b/app/src/main/res/layout/fragment_av_room_game.xml index dd3abbd58..460ca8bd5 100644 --- a/app/src/main/res/layout/fragment_av_room_game.xml +++ b/app/src/main/res/layout/fragment_av_room_game.xml @@ -72,15 +72,50 @@ android:layout_marginTop="@dimen/dp_10" android:orientation="horizontal"> + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/main/java/com/chwl/core/UriProvider.java b/core/src/main/java/com/chwl/core/UriProvider.java index 1157b8de4..d9f5edf10 100644 --- a/core/src/main/java/com/chwl/core/UriProvider.java +++ b/core/src/main/java/com/chwl/core/UriProvider.java @@ -241,4 +241,26 @@ public class UriProvider { public static String getInviteFan() { return JAVA_WEB_URL.concat("/molistar/activity/2024-invitationFission/index.html"); } + + /** + * 房间排行榜 + */ + public static String getRoomRanking() { + return IM_SERVER_URL.concat("/molistar/modules/room_rank/index.html?roomUid=" + AvRoomDataManager.get().getRoomUid()); + } + + /** + * 个播小时榜 + */ + public static String getSingleRoomHourRankUrl(long roomUid) { + return JAVA_WEB_URL.concat("/molistar/modules/room_rank/hourRank.html?roomUid=" + roomUid); + } + + /** + * 牌照房小时榜 + */ + public static String getRoomHourRankUrl(long roomUid) { + return JAVA_WEB_URL.concat("/molistar/modules/room_rank/hourRankLicense.html?roomUid=" + roomUid); + } + }