diff --git a/app/src/main/java/com/nnbc123/app/avroom/fragment/HomePartyFragment.kt b/app/src/main/java/com/nnbc123/app/avroom/fragment/HomePartyFragment.kt index 420bcdc07..337894c52 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/fragment/HomePartyFragment.kt +++ b/app/src/main/java/com/nnbc123/app/avroom/fragment/HomePartyFragment.kt @@ -28,10 +28,12 @@ import com.nnbc123.app.databinding.FragmentChatroomGameMainBinding import com.nnbc123.app.friend.view.SelectFriendActivity import com.nnbc123.app.home.helper.OpenRoomHelper import com.nnbc123.app.ui.utils.loadAvatar +import com.nnbc123.app.ui.webview.DialogWebViewActivity import com.nnbc123.app.ui.widget.ShareDialog import com.nnbc123.app.ui.widget.ShareDialog.OnShareDialogItemClick import com.nnbc123.app.utils.RegexUtil import com.nnbc123.app.vip.VipMainActivity +import com.nnbc123.core.UriProvider import com.nnbc123.core.gift.bean.GiftMultiReceiverInfo import com.nnbc123.core.gift.bean.GiftReceiveInfo import com.nnbc123.core.gift.bean.LuckyBagGifts @@ -467,11 +469,20 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte .onEvent(StatisticsProtocol.EVENT_CP_ROOM_RANKING_LIST_CLICK, "房间榜") } else StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_MP_ROOM_RANKING_LIST_CLICK, "房间榜") - if (childFragmentManager.findFragmentByTag("dialog_fragment_room_rank") != null) { - return + val roomUid = AvRoomDataManager.get().mCurrentRoomInfo?.roomUid + var rankUri: String? = null + if (roomUid != null) { + rankUri = UriProvider.getRoomRanking(roomUid) + } + if (rankUri.isNullOrEmpty()) { + if (childFragmentManager.findFragmentByTag("dialog_fragment_room_rank") != null) { + return + } + val roomRankDialogFragment = RoomRankDialogFragment.newInstance() + roomRankDialogFragment.show(childFragmentManager, "dialog_fragment_room_rank") + } else { + DialogWebViewActivity.start(mContext, rankUri) } - val roomRankDialogFragment = RoomRankDialogFragment.newInstance() - roomRankDialogFragment.show(childFragmentManager, "dialog_fragment_room_rank") } else -> {} } diff --git a/app/src/main/java/com/nnbc123/app/avroom/widget/MicroView.java b/app/src/main/java/com/nnbc123/app/avroom/widget/MicroView.java index dc4645e11..71f7ff78b 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/widget/MicroView.java +++ b/app/src/main/java/com/nnbc123/app/avroom/widget/MicroView.java @@ -116,6 +116,9 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen } private void subMsg() { + if (isInEditMode()) { + return; + } subscribe = IMNetEaseManager.get() .getChatRoomEventObservable().subscribe( roomEvent -> onReceiveRoomEvent(roomEvent), diff --git a/core/src/diff_src_erban/java/com/nnbc123/core/UriProvider.java b/core/src/diff_src_erban/java/com/nnbc123/core/UriProvider.java index f2bc6b9dc..b60b73d7c 100644 --- a/core/src/diff_src_erban/java/com/nnbc123/core/UriProvider.java +++ b/core/src/diff_src_erban/java/com/nnbc123/core/UriProvider.java @@ -2,6 +2,8 @@ package com.nnbc123.core; import android.text.TextUtils; +import com.nnbc123.core.initial.InitialModel; +import com.nnbc123.core.initial.bean.InitInfo; import com.nnbc123.core.manager.AvRoomDataManager; /** @@ -68,9 +70,30 @@ public class UriProvider { * 贵族介绍页 */ public static String getRanking() { + InitInfo info = InitialModel.get().getCacheInitInfo(); + if (info != null) { + String uri = info.getH5Uri("rank"); + if (uri != null && uri.length() > 0) { + return uri; + } + } return WEB_URL.concat("/yinmeng/modules/rank/index.html#/rank"); } + /** + * 房间榜单 + */ + public static String getRoomRanking(long roomUid) { + InitInfo info = InitialModel.get().getCacheInitInfo(); + if (info != null) { + String uri = info.getH5Uri("roomRank"); + if (uri != null && uri.length() > 0) { + return uri + "?roomUid=" + roomUid; + } + } + return null; + } + /** * 帮助页 */ diff --git a/core/src/main/java/com/nnbc123/core/initial/bean/H5Uri.kt b/core/src/main/java/com/nnbc123/core/initial/bean/H5Uri.kt new file mode 100644 index 000000000..c4cf31648 --- /dev/null +++ b/core/src/main/java/com/nnbc123/core/initial/bean/H5Uri.kt @@ -0,0 +1,9 @@ +package com.nnbc123.core.initial.bean + +import java.io.Serializable + +/** + * Created by Max on 2023/11/5 13:56 + * Desc:H5配置 + **/ +data class H5Uri(val code: String? = null, val uri: String? = null) : Serializable \ No newline at end of file diff --git a/core/src/main/java/com/nnbc123/core/initial/bean/InitInfo.java b/core/src/main/java/com/nnbc123/core/initial/bean/InitInfo.java index 541b41f86..37be54442 100644 --- a/core/src/main/java/com/nnbc123/core/initial/bean/InitInfo.java +++ b/core/src/main/java/com/nnbc123/core/initial/bean/InitInfo.java @@ -187,6 +187,36 @@ public class InitInfo implements Serializable { } private List checkUids; + + public List getH5Uris() { + return H5Uris; + } + + /** + * 获取H5-Uri + * @param code + * @return + */ + public String getH5Uri(String code) { + if (code == null) { + return null; + } + if (H5Uris == null) { + return null; + } + for (int i = 0; i < H5Uris.size(); i++) { + H5Uri item = H5Uris.get(i); + if (item.getCode() != null && item.getCode().equals(code)) { + return item.getUri(); + } + } + return null; + } + + public void setH5Uris(List h5Uris) { + H5Uris = h5Uris; + } + private boolean checkInviteCode; private List homeTabList; private int roomBlackListSize; @@ -196,6 +226,8 @@ public class InitInfo implements Serializable { private List officialAccountUids; private boolean twelveStarSwitch; + private List H5Uris; + // @SuppressWarnings("all") public InitInfo() { @@ -839,6 +871,9 @@ public class InitInfo implements Serializable { final Object this$monsters = this.getMonsters(); final Object other$monsters = other.getMonsters(); if (this$monsters == null ? other$monsters != null : !this$monsters.equals(other$monsters)) return false; + final Object this$h5Uris = this.getH5Uris(); + final Object other$h5Uris = other.getH5Uris(); + if (this$h5Uris == null ? other$h5Uris != null : !this$h5Uris.equals(other$h5Uris)) return false; final Object this$tax = this.getTax(); final Object other$tax = other.getTax(); if (this$tax == null ? other$tax != null : !this$tax.equals(other$tax)) return false; @@ -932,6 +967,8 @@ public class InitInfo implements Serializable { result = result * PRIME + ($nobleResource == null ? 43 : $nobleResource.hashCode()); final Object $monsters = this.getMonsters(); result = result * PRIME + ($monsters == null ? 43 : $monsters.hashCode()); + final Object $h5Uris = this.getH5Uris(); + result = result * PRIME + ($h5Uris == null ? 43 : $h5Uris.hashCode()); final Object $tax = this.getTax(); result = result * PRIME + ($tax == null ? 43 : $tax.hashCode()); final Object $webHostName = this.getWebHostName();