Compare commits
12 Commits
molistar/g
...
molistar/1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e26d548515 | ||
![]() |
539be23e47 | ||
![]() |
dcafb35e24 | ||
![]() |
8fa429aca6 | ||
![]() |
f08b6d4577 | ||
![]() |
3ea7aecd5c | ||
![]() |
178f4e24ef | ||
![]() |
e2861459fb | ||
![]() |
d704a44106 | ||
![]() |
da81a4e905 | ||
![]() |
6c081d9a38 | ||
![]() |
37d897035f |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
||||
[submodule "modules/module_google"]
|
||||
path = modules/module_google
|
||||
url = https://e.coding.net/chwllive/peko/peko-android-gms.git
|
@@ -895,20 +895,6 @@
|
||||
android:foregroundServiceType="mediaPlayback"
|
||||
android:enabled="true" />
|
||||
|
||||
<!-- Trigger Google Play services to install the backported photo picker module. -->
|
||||
<service
|
||||
android:name="com.google.android.gms.metadata.ModuleDependencies"
|
||||
android:enabled="false"
|
||||
android:exported="false"
|
||||
tools:ignore="MissingClass">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.gms.metadata.MODULE_DEPENDENCIES" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="photopicker_activity:0:required"
|
||||
android:value="" />
|
||||
</service>
|
||||
|
||||
<activity android:name=".avroom.room_album.RoomAlbumActivity" />
|
||||
|
||||
<activity android:name=".ui.language.LanguageActivity" />
|
||||
|
@@ -47,8 +47,7 @@ public abstract class BottomViewListenerWrapper {
|
||||
|
||||
}
|
||||
|
||||
public void onRoomGameplayClick(){
|
||||
public void onRoomGameplayClick(boolean isOnlyPK){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -11,6 +11,7 @@ import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.adapter.RoomGameListAdapter
|
||||
import com.chwl.app.base.BaseActivity
|
||||
@@ -38,7 +39,7 @@ class RoomGameListDialog :
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
private val adapter = RoomGameListAdapter()
|
||||
private var dialogManager: DialogManager? = null
|
||||
|
||||
private lateinit var recycleView: RecyclerView
|
||||
override fun getTheme(): Int {
|
||||
return R.style.ErbanBottomSheetDialogDimFalse
|
||||
}
|
||||
@@ -61,6 +62,8 @@ class RoomGameListDialog :
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initView()
|
||||
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
|
||||
recycleView = recyclerView
|
||||
switchStatus(0)
|
||||
requestData()
|
||||
}
|
||||
@@ -89,6 +92,14 @@ class RoomGameListDialog :
|
||||
binding?.recyclerView?.adapter = adapter
|
||||
}
|
||||
|
||||
private fun updateDialogHeight(count: Int) {
|
||||
if (count > 10) {
|
||||
val layoutParams = recycleView.layoutParams
|
||||
layoutParams.height = 600
|
||||
recycleView.layoutParams = layoutParams
|
||||
}
|
||||
}
|
||||
|
||||
private fun requestData() {
|
||||
val dataService =
|
||||
AudioRoomContext.get()
|
||||
@@ -96,6 +107,7 @@ class RoomGameListDialog :
|
||||
val cacheKey = "game_list#${parentFragment.hashCode()}"
|
||||
val list = dataService?.getData(cacheKey) as? List<GameInfo>
|
||||
if (!list.isNullOrEmpty()) {
|
||||
updateDialogHeight(list.size)
|
||||
loadData(list)
|
||||
return
|
||||
}
|
||||
@@ -106,6 +118,7 @@ class RoomGameListDialog :
|
||||
}
|
||||
.subscribe { it: List<GameInfo> ->
|
||||
dataService?.putData(cacheKey, it)
|
||||
updateDialogHeight(it.size)
|
||||
loadData(it)
|
||||
}
|
||||
getCompositeDisposable().add(disposable)
|
||||
|
@@ -10,6 +10,8 @@ import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.activity.CreatePKActivity
|
||||
import com.chwl.app.avroom.adapter.RoomGameplayAdapter
|
||||
@@ -39,8 +41,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.gson.Gson
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
|
||||
class RoomGameplayDialog :
|
||||
BottomSheetDialogFragment() {
|
||||
class RoomGameplayDialog : BottomSheetDialogFragment() {
|
||||
|
||||
var isOnlyPK = false
|
||||
private lateinit var recycleView: RecyclerView
|
||||
|
||||
private var binding: RoomGameplayDialogBinding? = null
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
private val adapter = RoomGameplayAdapter()
|
||||
@@ -69,6 +74,10 @@ class RoomGameplayDialog :
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initView()
|
||||
|
||||
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
|
||||
recycleView = recyclerView
|
||||
|
||||
switchStatus(0)
|
||||
requestData()
|
||||
}
|
||||
@@ -97,28 +106,46 @@ class RoomGameplayDialog :
|
||||
}
|
||||
|
||||
private fun requestData() {
|
||||
val dataService =
|
||||
AudioRoomContext.get()
|
||||
?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
|
||||
val cacheKey = "gameplay_list#${parentFragment.hashCode()}"
|
||||
val list = dataService?.getData(cacheKey) as? List<RoomIcon>
|
||||
if (!list.isNullOrEmpty()) {
|
||||
loadSuccess(list)
|
||||
return
|
||||
if (isOnlyPK) {
|
||||
loadSuccess(arrayListOf())
|
||||
} else {
|
||||
val dataService =
|
||||
AudioRoomContext.get()
|
||||
?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
|
||||
val cacheKey = "gameplay_list#${parentFragment.hashCode()}"
|
||||
val list = dataService?.getData(cacheKey) as? List<RoomIcon>
|
||||
|
||||
if (!list.isNullOrEmpty()) {
|
||||
updateDialogHeight(list.size)
|
||||
loadSuccess(list)
|
||||
return
|
||||
}
|
||||
val disposable = AvRoomModel.get().roomGamePlayList
|
||||
.doOnError {
|
||||
loadFail(it)
|
||||
}
|
||||
.subscribe { it: List<RoomIcon> ->
|
||||
dataService?.putData(cacheKey, it)
|
||||
updateDialogHeight(it.size)
|
||||
loadSuccess(it)
|
||||
}
|
||||
getCompositeDisposable().add(disposable)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateDialogHeight(count: Int) {
|
||||
if (count > 10) {
|
||||
val layoutParams = recycleView.layoutParams
|
||||
layoutParams.height = 600
|
||||
recycleView.layoutParams = layoutParams
|
||||
}
|
||||
val disposable = AvRoomModel.get().roomGamePlayList
|
||||
.doOnError {
|
||||
loadFail(it)
|
||||
}
|
||||
.subscribe { it: List<RoomIcon> ->
|
||||
dataService?.putData(cacheKey, it)
|
||||
loadSuccess(it)
|
||||
}
|
||||
getCompositeDisposable().add(disposable)
|
||||
}
|
||||
|
||||
private fun loadSuccess(list: List<RoomIcon>?) {
|
||||
val finalList = getLocalList()
|
||||
var finalList = mutableListOf<RoomGameplayItem>()
|
||||
if (isOnlyPK) {
|
||||
finalList = getLocalList()
|
||||
}
|
||||
list?.let {
|
||||
finalList.addAll(list.map {
|
||||
RoomGameplayItem.RoomIconItem(it) { dialog, item ->
|
||||
|
@@ -63,6 +63,7 @@ import com.chwl.app.music.widget.MusicPlayerView
|
||||
import com.chwl.app.public_chat.ui.message.HeadlineViewModel
|
||||
import com.chwl.app.room_chat.activity.RoomMsgActivity
|
||||
import com.chwl.app.ui.pay.ChargeActivity
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity
|
||||
import com.chwl.app.ui.webview.DialogWebViewActivity
|
||||
import com.chwl.app.ui.widget.ButtonItem
|
||||
import com.chwl.app.ui.widget.GiftDialog
|
||||
@@ -98,6 +99,8 @@ import com.chwl.core.manager.RoomEvent
|
||||
import com.chwl.core.mentoring_relationship.event.MentoringStopCountingEvent
|
||||
import com.chwl.core.room.anotherroompk.ShowGiftDialogEvent
|
||||
import com.chwl.core.room.anotherroompk.ShowUserInfoDialogEvent
|
||||
import com.chwl.core.room.bean.RightBottomIconConfig
|
||||
import com.chwl.core.room.bean.RoomIcon
|
||||
import com.chwl.core.room.bean.RoomInfo
|
||||
import com.chwl.core.room.event.RoomAtEvent
|
||||
import com.chwl.core.room.event.RoomClearScreenEvent
|
||||
@@ -122,6 +125,7 @@ import com.chwl.library.common.util.LimitClickUtils
|
||||
import com.chwl.library.net.rxnet.utils.RxNetWorkUtils
|
||||
import com.chwl.library.rxbus.RxBus
|
||||
import com.chwl.library.utils.*
|
||||
import com.google.gson.Gson
|
||||
import com.netease.nim.uikit.common.antispam.AntiSpamEvent
|
||||
import com.netease.nimlib.sdk.StatusCode
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder
|
||||
@@ -665,6 +669,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
bottomView.showHomePartyDownMicBottom()
|
||||
}
|
||||
bottomView.showInputOrIcon(isOnMic)
|
||||
bottomView.updateGameEntrance()
|
||||
// 更新聽筒消息
|
||||
bottomView.setRemoteMuteOpen(!AudioEngineManager.get().isRemoteMute)
|
||||
if (isOnMic) {
|
||||
@@ -792,8 +797,24 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
override fun onClick(v: View) {
|
||||
if (mClickLimit.checkForTime(500)) return
|
||||
when (v.id) {
|
||||
R.id.iv_config_entrance -> {
|
||||
val roomInfo = AvRoomDataManager.get().mCurrentRoomInfo ?: return
|
||||
val configInfo = AvRoomDataManager.get().rightBottomIconConfig ?: return
|
||||
if (configInfo.skipType == 1) {
|
||||
playConfigWeb(configInfo.skipUrl)
|
||||
} else if (configInfo.skipType == 2) {
|
||||
playConfigBaishunGame(configInfo)
|
||||
}
|
||||
}
|
||||
R.id.iv_game -> {
|
||||
RoomGameListDialog().show(childFragmentManager, "GAME_LIST")
|
||||
val dialog = RoomGameplayDialog()
|
||||
dialog.isOnlyPK = false
|
||||
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
|
||||
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
|
||||
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
|
||||
}
|
||||
}
|
||||
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
|
||||
}
|
||||
R.id.input_send -> {
|
||||
sendMsg()
|
||||
@@ -807,6 +828,38 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
}
|
||||
}
|
||||
|
||||
private fun playConfigWeb(url: String) {
|
||||
CommonWebViewActivity.start(mContext, url)
|
||||
}
|
||||
|
||||
private fun playConfigBaishunGame(configInfo: RightBottomIconConfig) {
|
||||
val roomIcon: RoomIcon = RoomIcon(
|
||||
skipContent = configInfo.skipUrl,
|
||||
skipType = 3,
|
||||
showType = 1,
|
||||
code = "BAISHUN",
|
||||
ruleValue = configInfo.reserve)
|
||||
try {
|
||||
val url = roomIcon.skipContent
|
||||
val ruleValue = Gson().fromJson<RoomIcon.RuleValueBean>(
|
||||
roomIcon.ruleValue,
|
||||
RoomIcon.RuleValueBean::class.java
|
||||
)
|
||||
val config = Gson().fromJson<BaiShunGameConfig>(
|
||||
ruleValue.RESERVE,
|
||||
BaiShunGameConfig::class.java
|
||||
)
|
||||
if (config != null && url != null) {
|
||||
config.reloadDynamicParams()
|
||||
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
|
||||
} else {
|
||||
SingleToastUtil.showToast(R.string.manager_trtc_trtcengineadapter_042)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
private fun sendMsg() {
|
||||
val message = inputEdit.text.toString().trim()
|
||||
if (isPublicMessageTab()) {
|
||||
@@ -1434,14 +1487,19 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
RoomMsgActivity.start(mContext)
|
||||
}
|
||||
|
||||
override fun onRoomGameplayClick() {
|
||||
val dialog = RoomGameplayDialog()
|
||||
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
|
||||
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
|
||||
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
|
||||
override fun onRoomGameplayClick(isOnlyPK: Boolean) {
|
||||
if (isOnlyPK) {
|
||||
val dialog = RoomGameplayDialog()
|
||||
dialog.isOnlyPK = isOnlyPK
|
||||
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
|
||||
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
|
||||
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
|
||||
}
|
||||
}
|
||||
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
|
||||
} else {
|
||||
RoomGameListDialog().show(childFragmentManager, "GAME_LIST")
|
||||
}
|
||||
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
@@ -14,8 +15,13 @@ import com.chwl.app.avroom.headline.RoomHeadlineWidget;
|
||||
import com.chwl.app.avroom.online.RoomOnlineWidget;
|
||||
import com.chwl.app.avroom.rank.RoomRankNumberWidget;
|
||||
import com.chwl.app.music.widget.MusicPlayerView;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.webview.DialogWebViewActivity;
|
||||
import com.chwl.core.room.bean.RightBottomIconConfig;
|
||||
import com.chwl.core.room.bean.RoomIcon;
|
||||
import com.chwl.core.room.core.RoomDataService;
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
|
||||
import com.chwl.core.support.room.AudioRoomContext;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent;
|
||||
import com.chwl.app.R;
|
||||
@@ -79,6 +85,7 @@ import io.reactivex.Single;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.functions.Consumer;
|
||||
|
||||
/**
|
||||
* 轰趴房间
|
||||
@@ -101,6 +108,8 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
private PKMicQueueDialog pkMicQueueDialog;
|
||||
private Disposable roomPkOrderDisposable;
|
||||
|
||||
private boolean hasBaishunGames;
|
||||
|
||||
public static HomePartyRoomFragment newInstance() {
|
||||
HomePartyRoomFragment roomFragment = new HomePartyRoomFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
@@ -149,6 +158,28 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
updateQueuingMicBtn();
|
||||
updatePkScoreBoard();
|
||||
initRoomPkOrder(AvRoomDataManager.get().showPkBeginTime, AvRoomDataManager.get().pkBeginTime);
|
||||
requestData();
|
||||
}
|
||||
|
||||
private void requestData() {
|
||||
RoomDataService dataService = (RoomDataService) AudioRoomContext.Companion.get().findAbility(RoomDataService.class.getSimpleName());
|
||||
String cacheKey = "gameplay_list#" + hashCode();
|
||||
Disposable disposable = AvRoomModel.get().getRoomGamePlayList().doOnError(new Consumer<Throwable>() {
|
||||
@Override
|
||||
public void accept(Throwable throwable) throws Exception {
|
||||
hasBaishunGames = false;
|
||||
updateConfigButtonArea();
|
||||
}
|
||||
}).subscribe(new Consumer<List<RoomIcon>>() {
|
||||
@Override
|
||||
public void accept(List<RoomIcon> roomIcons) throws Exception {
|
||||
if (dataService != null) {
|
||||
dataService.putData(cacheKey, roomIcons);
|
||||
}
|
||||
hasBaishunGames = roomIcons.size() > 0;
|
||||
updateConfigButtonArea();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -197,6 +228,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
gameBinding.setRoomInfo(AvRoomDataManager.get().mCurrentRoomInfo);
|
||||
updateQueuingMicBtn();
|
||||
updatePkScoreBoard();
|
||||
updateConfigButtonArea();
|
||||
getMvpPresenter().updateLeaveMode();
|
||||
break;
|
||||
case RoomEvent.ENTER_ROOM:
|
||||
@@ -470,11 +502,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
updateMicroView();
|
||||
changeModelShowView();
|
||||
refreshDatingNextStatus();
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
gameBinding.ivGame.setVisibility(View.GONE);
|
||||
} else {
|
||||
gameBinding.ivGame.setVisibility(View.VISIBLE);
|
||||
}
|
||||
// updateConfigButtonArea();
|
||||
}
|
||||
|
||||
protected void updateMicroView(){
|
||||
@@ -502,6 +530,34 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
refreshDatingNextStatus();
|
||||
}
|
||||
|
||||
public void updateConfigButtonArea() {
|
||||
RightBottomIconConfig configModel = AvRoomDataManager.get().rightBottomIconConfig;
|
||||
if (configModel == null) {
|
||||
gameBinding.ivConfigEntrance.setVisibility(View.GONE);
|
||||
} else {
|
||||
if (configModel.getIcon1Url() == null) {
|
||||
gameBinding.ivConfigEntrance.setVisibility(View.GONE);
|
||||
} else {
|
||||
ImageLoadUtils.loadAvatar(configModel.getIcon1Url(), gameBinding.ivConfigEntrance);
|
||||
gameBinding.ivConfigEntrance.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
if (configModel.getIcon2Url() != null) {
|
||||
ImageLoadUtils.loadAvatar(configModel.getIcon2Url(), gameBinding.ivGame);
|
||||
}
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
gameBinding.ivGame.setVisibility(View.GONE);
|
||||
} else {
|
||||
if (hasBaishunGames) {
|
||||
gameBinding.ivGame.setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
gameBinding.ivGame.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateQueuingMicBtn() {
|
||||
if (AvRoomDataManager.get().mCurrentRoomInfo != null) {
|
||||
bottomView.updateQueuingMicButton();
|
||||
@@ -564,7 +620,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onDatingSelectUserEvent(DatingSelectUserEvent event) {
|
||||
if (getMvpPresenter() != null) {
|
||||
|
@@ -16,12 +16,11 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.chwl.app.avroom.activity.RoomTypeSwitchActivity;
|
||||
import com.chwl.app.avroom.dialog.RoomGameplayDialog;
|
||||
import com.chwl.core.utils.extension.StringExtensionKt;
|
||||
import com.netease.nim.uikit.api.NimUIKit;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
@@ -30,7 +29,6 @@ import com.netease.nimlib.sdk.uinfo.model.UserInfo;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.BottomViewListenerWrapper;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.vip.VipMainActivity;
|
||||
import com.chwl.app.room_chat.activity.RoomMsgActivity;
|
||||
import com.chwl.core.helper.ImHelperUtils;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
@@ -75,6 +73,10 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
private ImageView iconMicQueue;
|
||||
private ImageView iconRoomMsg;
|
||||
|
||||
private ImageView iconRoomBaiShunGame;
|
||||
|
||||
private ImageView pkGameView;
|
||||
|
||||
@Nullable
|
||||
private PopupWindow msgTipPopupWindow;
|
||||
@NonNull
|
||||
@@ -106,11 +108,12 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
remoteMute = findViewById(R.id.icon_room_open_remote_mic);
|
||||
faceLayout = findViewById(R.id.room_face_layout);
|
||||
micLayout = findViewById(R.id.room_mic_layout);
|
||||
iconRoomBaiShunGame = findViewById(R.id.icon_room_baishun_game);
|
||||
|
||||
iconMicQueue = (ImageView) findViewById(R.id.icon_mic_queue);
|
||||
|
||||
iconRoomMsg = findViewById(R.id.iv_room_message);
|
||||
ImageView gameView = findViewById(R.id.icon_room_game);
|
||||
pkGameView = findViewById(R.id.icon_room_PK_game);
|
||||
openMic.setOnClickListener(this);
|
||||
sendMsgInput.setOnClickListener(this);
|
||||
sendFace.setOnClickListener(this);
|
||||
@@ -119,7 +122,8 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
sendMagic.setOnClickListener(this);
|
||||
iconMicQueue.setOnClickListener(this);
|
||||
iconRoomMsg.setOnClickListener(this);
|
||||
gameView.setOnClickListener(this);
|
||||
pkGameView.setOnClickListener(this);
|
||||
iconRoomBaiShunGame.setOnClickListener(this);
|
||||
|
||||
setMicBtnEnable(false);
|
||||
setMicBtnOpen(false);
|
||||
@@ -243,6 +247,10 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
}
|
||||
}
|
||||
|
||||
public void setBaiShunBtnOpen(boolean isOpen) {
|
||||
iconRoomBaiShunGame.setVisibility(isOpen ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
public void notifyStateChanged() {
|
||||
setMagicBtnEnable(true);
|
||||
}
|
||||
@@ -252,6 +260,18 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
micLayout.setVisibility(VISIBLE);
|
||||
}
|
||||
|
||||
public void updateGameEntrance() {
|
||||
if (AvRoomDataManager.get().isManager() || SuperAdminUtil.isSuperAdmin()) {
|
||||
if (!AvRoomDataManager.get().isCpRoom()) {
|
||||
pkGameView.setVisibility(VISIBLE);
|
||||
iconRoomBaiShunGame.setVisibility(VISIBLE);
|
||||
}
|
||||
} else {
|
||||
pkGameView.setVisibility(GONE);
|
||||
iconRoomBaiShunGame.setVisibility(GONE);
|
||||
}
|
||||
}
|
||||
|
||||
public void showHomePartyDownMicBottom() {
|
||||
faceLayout.setVisibility(GONE);
|
||||
micLayout.setVisibility(GONE);
|
||||
@@ -351,9 +371,14 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
wrapper.onRoomMessageClick();
|
||||
}
|
||||
break;
|
||||
case R.id.icon_room_game:
|
||||
case R.id.icon_room_PK_game:
|
||||
if (wrapper != null) {
|
||||
wrapper.onRoomGameplayClick();
|
||||
wrapper.onRoomGameplayClick(true);
|
||||
}
|
||||
break;
|
||||
case R.id.icon_room_baishun_game:
|
||||
if (wrapper != null) {
|
||||
wrapper.onRoomGameplayClick(false);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_ic_game.webp
Normal file
BIN
app/src/main/res/drawable-xxhdpi/room_ic_game.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_menu_ic_baishun_game.webp
Normal file
BIN
app/src/main/res/drawable-xxhdpi/room_menu_ic_baishun_game.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
@@ -228,6 +228,19 @@
|
||||
tools:contentDescription="@string/layout_fragment_av_room_game_05"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_config_entrance"
|
||||
android:layout_width="@dimen/dp_38"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_above="@id/iv_game"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_11"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:onClick="@{click}"
|
||||
android:src="@drawable/room_ic_game"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_game"
|
||||
android:layout_width="@dimen/dp_38"
|
||||
@@ -235,20 +248,23 @@
|
||||
android:layout_above="@id/iv_queuing_micro"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_11"
|
||||
android:layout_marginBottom="@dimen/dp_6"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:onClick="@{click}"
|
||||
android:src="@drawable/room_ic_game" />
|
||||
android:src="@drawable/room_ic_game"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_team_pk"
|
||||
android:layout_width="@dimen/dp_38"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_above="@id/iv_game"
|
||||
android:layout_above="@id/iv_config_entrance"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_11"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:src="@drawable/room_team_pk_icon"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
@@ -11,6 +11,24 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_room_send_msg_input"
|
||||
android:layout_width="@dimen/dp_90"
|
||||
android:layout_height="@dimen/dp_28"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:background="@drawable/shape_190b032d_14dp"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="@dimen/dp_3"
|
||||
android:paddingEnd="@dimen/dp_3"
|
||||
android:text="@string/room_say_something"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/layout_menus"
|
||||
android:layout_width="0dp"
|
||||
@@ -21,7 +39,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/icon_room_send_gift"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_room_send_msg_input"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_default="wrap">
|
||||
|
||||
@@ -31,25 +49,6 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_room_send_msg_input"
|
||||
android:layout_width="@dimen/dp_90"
|
||||
android:layout_height="@dimen/dp_28"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:background="@drawable/shape_190b032d_14dp"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="@dimen/dp_3"
|
||||
android:paddingEnd="@dimen/dp_3"
|
||||
android:text="@string/room_say_something"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="visible"
|
||||
app:autoSizeMaxTextSize="@dimen/dp_10"
|
||||
app:autoSizeMinTextSize="@dimen/dp_7"
|
||||
app:autoSizeStepGranularity="1px"
|
||||
app:autoSizeTextType="uniform"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/room_mic_layout"
|
||||
android:layout_width="@dimen/dp_29"
|
||||
@@ -120,12 +119,21 @@
|
||||
android:src="@drawable/room_menu_ic_more" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_room_game"
|
||||
android:id="@+id/icon_room_baishun_game"
|
||||
android:layout_width="@dimen/dp_29"
|
||||
android:layout_height="@dimen/dp_29"
|
||||
android:layout_marginStart="@dimen/dp_11"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/room_menu_ic_baishun_game" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_room_PK_game"
|
||||
android:layout_width="@dimen/dp_29"
|
||||
android:layout_height="@dimen/dp_29"
|
||||
android:layout_marginStart="@dimen/dp_11"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/room_menu_ic_playlist" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</HorizontalScrollView>
|
||||
|
@@ -967,7 +967,7 @@
|
||||
<string name="me_gain_recording">Wallet</string>
|
||||
<string name="me_clean_diamond">Give Coins</string>
|
||||
<string name="me_give_gift">Send Gifts</string>
|
||||
<string name="me_donation">My Donations</string>
|
||||
<string name="me_donation">Coins Gifting</string>
|
||||
<string name="donation_to">Donate to</string>
|
||||
<string name="me_donation_detail">Donation Details</string>
|
||||
|
||||
@@ -2709,18 +2709,18 @@
|
||||
<string name="widget_dynamicface_dynamicfacedialog_04">Required VIP level:</string>
|
||||
<string name="widget_dynamicface_dynamicfacedialog_05">Noble expression panel click event</string>
|
||||
<string name="ui_widget_giftavataradapter_01">Room Owner</string>
|
||||
<string name="ui_widget_giftdialog_01">Gift</string>
|
||||
<string name="ui_widget_giftdialog_02">Gift</string>
|
||||
<string name="ui_widget_giftdialog_01">Popular</string>
|
||||
<string name="ui_widget_giftdialog_02">Popular</string>
|
||||
<string name="ui_widget_giftdialog_03">Luck</string>
|
||||
<string name="ui_widget_giftdialog_04">Luck</string>
|
||||
<string name="ui_widget_giftdialog_05">VIP</string>
|
||||
<string name="ui_widget_giftdialog_06">VIP</string>
|
||||
<string name="ui_widget_giftdialog_07">Weekly Star</string>
|
||||
<string name="ui_widget_giftdialog_08">Weekly Star</string>
|
||||
<string name="ui_widget_giftdialog_07">WeekStar</string>
|
||||
<string name="ui_widget_giftdialog_08">WeekStar</string>
|
||||
<string name="ui_widget_giftdialog_09">Doodle</string>
|
||||
<string name="ui_widget_giftdialog_010">Doodle</string>
|
||||
<string name="ui_widget_giftdialog_011">Backpack</string>
|
||||
<string name="ui_widget_giftdialog_hot">Hot</string>
|
||||
<string name="ui_widget_giftdialog_hot">FM</string>
|
||||
<string name="ui_widget_giftdialog_012">Backpack</string>
|
||||
<string name="ui_widget_giftdialog_013">Awaiting</string>
|
||||
<string name="ui_widget_giftdialog_014">Awaiting</string>
|
||||
@@ -4839,7 +4839,7 @@
|
||||
<string name="association_list">Guild Weekly Ranking</string>
|
||||
<string name="association_list_empty">No guild ranking yet</string>
|
||||
<string name="association_hall_list_empty">No room ranking yet</string>
|
||||
<string name="me_give_gold_empty">No donation records yet</string>
|
||||
<string name="me_give_gold_empty">No gifting records yet</string>
|
||||
<string name="password_input_user_id">Please enter User ID</string>
|
||||
<string name="displayed_three_month">Only display records of the last three months</string>
|
||||
<string name="setting_pay_pwd_first">Please set up payment password first</string>
|
||||
@@ -4849,7 +4849,7 @@
|
||||
<string name="give_gold_to_user">Give to %s</string>
|
||||
<string name="have_copy">Copied</string>
|
||||
<string name="copy">Copy</string>
|
||||
<string name="donation_record">Donation Records</string>
|
||||
<string name="donation_record">Gifting Records</string>
|
||||
<string name="me_num">Quantity</string>
|
||||
<string name="me_all">All</string>
|
||||
<string name="please_select_gift">Please select a gift first</string>
|
||||
|
@@ -12,8 +12,8 @@
|
||||
<string name="dy_open_other_number">Expand %s replies</string>
|
||||
<string name="dy_comment_text">Comment</string>
|
||||
<string name="dys_tab_recommend">Recommend</string>
|
||||
<string name="dys_tab_attent">Follow</string>
|
||||
<string name="dys_tab_new">Newest</string>
|
||||
<string name="dys_tab_attent">Following</string>
|
||||
<string name="dys_tab_new">Latest</string>
|
||||
<string name="dys_find_tab_square">Square</string>
|
||||
<string name="dys_jump_mini_world">Go to see</string>
|
||||
</resources>
|
@@ -137,6 +137,9 @@ dir mapping:
|
||||
bdfaa.beeefc -> fi
|
||||
ffefcef.ddbccaec.view -> fj
|
||||
ddae.cfdb.view -> fk
|
||||
cfdd.baac.ui.feedback -> fl
|
||||
cfdd.baac.ui.debug -> fm
|
||||
cfdd.baac.ui.game_team.record -> fn
|
||||
|
||||
class mapping:
|
||||
fbdb.abea.ShowBindPhoneActivity -> a.A
|
||||
@@ -1132,3 +1135,22 @@ class mapping:
|
||||
ddae.cfdb.view.WorldsChooseFrg -> fk.BME
|
||||
ddae.cfdb.view.WorldChooseAdapter -> fk.BMF
|
||||
ddae.cfdb.view.IPublishView -> fk.BMG
|
||||
eacad.fcafd.SVGAView -> e.BMH
|
||||
cfdd.baac.ui.feedback.FeedbackActivity -> fl.BMI
|
||||
cfdd.baac.ui.debug.DebugActivity -> fm.BMJ
|
||||
cfdd.baac.ui.game_team.record.GameTeamRecordActivity -> fn.BMK
|
||||
aedbb.fbfebd.BaseDialogFragment -> b.BML
|
||||
cabdb.accfda.AutoMirroredShapeableImageView -> p.BMM
|
||||
accd.bbdff.FeedbackConfigBean -> u.BMN
|
||||
accd.bbdff.FeedbackTypeBean -> u.BMO
|
||||
fdeaee.fddfeca.PathHelper -> br.BMP
|
||||
bcead.dfdbfb.AvatarHelper -> cj.BMQ
|
||||
cfdd.baac.ui.feedback.FeedbackViewModel -> fl.BMR
|
||||
cfdd.baac.ui.feedback.CustomerServiceDialog -> fl.BMS
|
||||
cfdd.baac.ui.feedback.FeedbackTypeAdapter -> fl.BMT
|
||||
cfdd.baac.ui.feedback.CustomerServiceItemAdapter -> fl.BMU
|
||||
cfdd.baac.ui.debug.DebugAdapter -> fm.BMV
|
||||
cfdd.baac.ui.game_team.record.GameTeamRecordIndicatorAdapter -> fn.BMW
|
||||
cfdd.baac.ui.game_team.record.GameTeamRecordFragment -> fn.BMX
|
||||
cfdd.baac.ui.game_team.record.GameTeamRecordAdapter -> fn.BMY
|
||||
cfdd.baac.ui.game_team.record.GameTeamRecordViewModel -> fn.BMZ
|
||||
|
@@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.chwl.core.room.bean.RightBottomIconConfig;
|
||||
import com.chwl.core.support.room.AudioRoomContext;
|
||||
import com.netease.nimlib.sdk.NIMChatRoomSDK;
|
||||
import com.netease.nimlib.sdk.RequestCallback;
|
||||
@@ -236,6 +237,8 @@ public final class AvRoomDataManager {
|
||||
|
||||
private List<Integer> unlockedRoomAlbumPhotos = new ArrayList<>();
|
||||
|
||||
public RightBottomIconConfig rightBottomIconConfig;
|
||||
|
||||
private AvRoomDataManager() {
|
||||
mRoomManagerList = new ArrayList<>();
|
||||
mRoomFixedMemberList = new ArrayList<>();
|
||||
@@ -299,6 +302,7 @@ public final class AvRoomDataManager {
|
||||
redEnvelopeType = roomInfo.getRedEnvelopeType();
|
||||
hasRoomAlbum = roomInfo.isHasRoomAlbum();
|
||||
serialValue = roomInfo.getSerialValue();
|
||||
rightBottomIconConfig = roomInfo.rightBottomIconConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,102 @@
|
||||
package com.chwl.core.room.bean;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class RightBottomIconConfig implements Parcelable, Serializable {
|
||||
|
||||
int skipType;
|
||||
private String skipUrl;
|
||||
|
||||
private String icon2Url;
|
||||
|
||||
private String icon1Url;
|
||||
|
||||
private String reserve;
|
||||
|
||||
protected RightBottomIconConfig(Parcel in) {
|
||||
skipType = in.readInt();
|
||||
skipUrl = in.readString();
|
||||
icon2Url = in.readString();
|
||||
icon1Url = in.readString();
|
||||
reserve = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RightBottomIconConfig{" +
|
||||
"skipType=" + skipType +
|
||||
", skipUrl='" + skipUrl + '\'' +
|
||||
", icon2Url='" + icon2Url + '\'' +
|
||||
", icon1Url='" + icon1Url + '\'' +
|
||||
", reserve='" + reserve + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
public void setIcon1Url(String icon1Url) {
|
||||
this.icon1Url = icon1Url;
|
||||
}
|
||||
|
||||
public void setIcon2Url(String icon2Url) {
|
||||
this.icon2Url = icon2Url;
|
||||
}
|
||||
|
||||
public void setReserve(String reserve) {
|
||||
this.reserve = reserve;
|
||||
}
|
||||
|
||||
public void setSkipType(int skipType) {
|
||||
this.skipType = skipType;
|
||||
}
|
||||
|
||||
public void setSkipUrl(String skipUrl) {
|
||||
this.skipUrl = skipUrl;
|
||||
}
|
||||
public int getSkipType() {
|
||||
return skipType;
|
||||
}
|
||||
|
||||
public String getIcon1Url() {
|
||||
return icon1Url;
|
||||
}
|
||||
|
||||
public String getIcon2Url() {
|
||||
return icon2Url;
|
||||
}
|
||||
|
||||
public String getReserve() {
|
||||
return reserve;
|
||||
}
|
||||
|
||||
public String getSkipUrl() {
|
||||
return skipUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeInt(skipType);
|
||||
dest.writeString(skipUrl);
|
||||
dest.writeString(icon2Url);
|
||||
dest.writeString(icon1Url);
|
||||
dest.writeString(reserve);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static final Creator<RightBottomIconConfig> CREATOR = new Creator<RightBottomIconConfig>() {
|
||||
@Override
|
||||
public RightBottomIconConfig createFromParcel(Parcel in) {
|
||||
return new RightBottomIconConfig(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RightBottomIconConfig[] newArray(int size) {
|
||||
return new RightBottomIconConfig[size];
|
||||
}
|
||||
};
|
||||
}
|
@@ -160,6 +160,8 @@ public class RoomInfo implements Parcelable,Serializable {
|
||||
// 总流水
|
||||
private double serialValue;
|
||||
|
||||
public RightBottomIconConfig rightBottomIconConfig;
|
||||
|
||||
protected RoomInfo(Parcel in) {
|
||||
uid = in.readLong();
|
||||
officeUser = in.readInt();
|
||||
@@ -192,6 +194,7 @@ public class RoomInfo implements Parcelable,Serializable {
|
||||
isOpenKTV = in.readByte() != 0;
|
||||
isOpenGame = in.readByte() != 0;
|
||||
boxSwitchVo = in.readParcelable(BoxSwitchVo.class.getClassLoader());
|
||||
rightBottomIconConfig = in.readParcelable(RightBottomIconConfig.class.getClassLoader());
|
||||
findLoveDrawSwitchVo = in.readParcelable(FindLoveSwitchVo.class.getClassLoader());
|
||||
singingMusicName = in.readString();
|
||||
limitType = in.readString();
|
||||
@@ -258,6 +261,7 @@ public class RoomInfo implements Parcelable,Serializable {
|
||||
dest.writeByte((byte) (isOpenKTV ? 1 : 0));
|
||||
dest.writeByte((byte) (isOpenGame ? 1 : 0));
|
||||
dest.writeParcelable(boxSwitchVo, flags);
|
||||
dest.writeParcelable(rightBottomIconConfig, flags);
|
||||
dest.writeParcelable(findLoveDrawSwitchVo, flags);
|
||||
dest.writeString(singingMusicName);
|
||||
dest.writeString(limitType);
|
||||
|
@@ -32,8 +32,8 @@ COMPILE_SDK_VERSION=34
|
||||
MIN_SDK_VERSION=21
|
||||
TARGET_SDK_VERSION=34
|
||||
|
||||
version_name=1.0.11
|
||||
version_code=14
|
||||
version_name=1.0.12
|
||||
version_code=16
|
||||
|
||||
#systemProp.https.proxyHost=127.0.0.1
|
||||
#systemProp.https.proxyPort=7890
|
||||
|
Submodule modules/module_google deleted from 4588da09d9
Reference in New Issue
Block a user