贵族特权完善
This commit is contained in:
@@ -274,12 +274,12 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void setDefalutText(int index) {
|
protected void setDefalutText(int index) {
|
||||||
tvNick.setTextColor(context.getResources().getColor(R.color.white_transparent_30));
|
tvNick.setTextColor(Color.WHITE);
|
||||||
tvNick.setText("号麦位");
|
tvNick.setText("号麦位");
|
||||||
|
|
||||||
if (tvNumber != null) {
|
if (tvNumber != null) {
|
||||||
tvNumber.setBackgroundResource(R.drawable.icon_bg_number_default);
|
tvNumber.setBackgroundResource(R.drawable.icon_bg_number_default);
|
||||||
tvNumber.setTextColor(context.getResources().getColor(R.color.white_transparent_30));
|
tvNumber.setTextColor(Color.WHITE);
|
||||||
tvNumber.setText(String.valueOf(index + 1));
|
tvNumber.setText(String.valueOf(index + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
package com.yizhuan.erban.avroom.adapter;
|
package com.yizhuan.erban.avroom.adapter;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -55,7 +57,7 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
|||||||
} else {
|
} else {
|
||||||
item = LayoutInflater.from(parent.getContext()).
|
item = LayoutInflater.from(parent.getContext()).
|
||||||
inflate(R.layout.list_item_micro, parent, false);
|
inflate(R.layout.list_item_micro, parent, false);
|
||||||
return new GiftValueViewHolder(item);
|
return new MicroViewHolder(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,4 +81,36 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
|||||||
if (position == 0) return TYPE_BOSS;
|
if (position == 0) return TYPE_BOSS;
|
||||||
return TYPE_NORMAL;
|
return TYPE_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MicroViewHolder extends BaseMicroViewAdapter.GiftValueViewHolder {
|
||||||
|
MicroViewHolder(View itemView) {
|
||||||
|
super(itemView);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void bind(RoomQueueInfo info, int position) {
|
||||||
|
super.bind(info, position);
|
||||||
|
if (position == 7) {
|
||||||
|
ivUpImage.setImageResource(R.drawable.icon_room_up_micro_vip);
|
||||||
|
} else {
|
||||||
|
ivUpImage.setImageResource(R.drawable.icon_room_up_micro);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
|
@Override
|
||||||
|
public void setDefalutText(int index) {
|
||||||
|
if (index == 7) {
|
||||||
|
tvNick.setTextColor(Color.WHITE);
|
||||||
|
tvNick.setText("老板位");
|
||||||
|
if (tvNumber != null) {
|
||||||
|
tvNumber.setBackgroundResource(R.drawable.shape_micro_vip);
|
||||||
|
tvNumber.setTextColor(Color.WHITE);
|
||||||
|
tvNumber.setText(String.valueOf((index + 1)));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
super.setDefalutText(index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,8 @@ import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
|
|||||||
import com.chad.library.adapter.base.BaseViewHolder;
|
import com.chad.library.adapter.base.BaseViewHolder;
|
||||||
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||||
import com.netease.nimlib.sdk.RequestCallbackWrapper;
|
import com.netease.nimlib.sdk.RequestCallbackWrapper;
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMember;
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
|
||||||
import com.netease.nimlib.sdk.uinfo.constant.GenderEnum;
|
import com.netease.nimlib.sdk.uinfo.constant.GenderEnum;
|
||||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||||
import com.yizhuan.erban.R;
|
import com.yizhuan.erban.R;
|
||||||
@@ -32,8 +34,10 @@ import com.yizhuan.xchat_android_core.noble.NobleResourceType;
|
|||||||
import com.yizhuan.xchat_android_core.noble.NobleUtil;
|
import com.yizhuan.xchat_android_core.noble.NobleUtil;
|
||||||
import com.yizhuan.xchat_android_core.room.bean.OnlineChatMember;
|
import com.yizhuan.xchat_android_core.room.bean.OnlineChatMember;
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||||
|
import com.yizhuan.xchat_android_core.utils.LogUtils;
|
||||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.disposables.Disposable;
|
||||||
@@ -49,7 +53,7 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
|||||||
private boolean mIsHomeParty;
|
private boolean mIsHomeParty;
|
||||||
private Disposable mDisposable;
|
private Disposable mDisposable;
|
||||||
private Context context;
|
private Context context;
|
||||||
|
private OnRoomOnlineNumberChangeListener mListener;
|
||||||
|
|
||||||
public OnlineUserAdapter(Context context, boolean isHomeParty) {
|
public OnlineUserAdapter(Context context, boolean isHomeParty) {
|
||||||
super(null);
|
super(null);
|
||||||
@@ -66,7 +70,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
|||||||
registerRoomEvent();
|
registerRoomEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void convert(BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
protected void convert(BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
||||||
if (onlineChatMember != null) {
|
if (onlineChatMember != null) {
|
||||||
@@ -131,6 +134,7 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
|||||||
onlineChatMember.chatRoomMember.setAvatar(context.getResources().getString(R.string.url_mystery_man));
|
onlineChatMember.chatRoomMember.setAvatar(context.getResources().getString(R.string.url_mystery_man));
|
||||||
onlineChatMember.chatRoomMember.setNick(context.getResources().getString(R.string.mystery_man));
|
onlineChatMember.chatRoomMember.setNick(context.getResources().getString(R.string.mystery_man));
|
||||||
}
|
}
|
||||||
|
LogUtils.d(Arrays.toString(onlineChatMember.chatRoomMember.getExtension().entrySet().toArray()));
|
||||||
|
|
||||||
baseViewHolder.setText(R.id.nick, RegexUtil.getPrintableString(onlineChatMember.chatRoomMember.getNick()));
|
baseViewHolder.setText(R.id.nick, RegexUtil.getPrintableString(onlineChatMember.chatRoomMember.getNick()));
|
||||||
|
|
||||||
@@ -294,7 +298,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
|||||||
roomEvent.getEvent() == RoomEvent.ROOM_MANAGER_REMOVE, mData);
|
roomEvent.getEvent() == RoomEvent.ROOM_MANAGER_REMOVE, mData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void updateDownUpMic(String account, boolean isUpMic) {
|
private void updateDownUpMic(String account, boolean isUpMic) {
|
||||||
if (mListener != null) {
|
if (mListener != null) {
|
||||||
mListener.onMemberDownUpMic(account, isUpMic, mData);
|
mListener.onMemberDownUpMic(account, isUpMic, mData);
|
||||||
@@ -308,8 +311,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private OnRoomOnlineNumberChangeListener mListener;
|
|
||||||
|
|
||||||
public void setListener(OnRoomOnlineNumberChangeListener listener) {
|
public void setListener(OnRoomOnlineNumberChangeListener listener) {
|
||||||
mListener = listener;
|
mListener = listener;
|
||||||
}
|
}
|
||||||
|
@@ -736,23 +736,15 @@ public class RoomEffectView extends FrameLayout {
|
|||||||
&& userInfo.getCarInfo() != null
|
&& userInfo.getCarInfo() != null
|
||||||
&& userInfo.getCarInfo().isUsing()
|
&& userInfo.getCarInfo().isUsing()
|
||||||
&& userInfo.getCarInfo().getStatus() == CarInfo.STATUS_USER_CAN_USE) {
|
&& userInfo.getCarInfo().getStatus() == CarInfo.STATUS_USER_CAN_USE) {
|
||||||
if (AvRoomDataManager.get().mIsNeedGiftEffect &&
|
|
||||||
!AvRoomDataManager.get().isSelfGamePlaying()) {
|
|
||||||
mCarEffectList.add(userInfo.getCarInfo());
|
|
||||||
}
|
|
||||||
// 非贵族人员,进来后要播放座驾动画
|
|
||||||
if (userInfo.getNobleInfo() == null) {
|
|
||||||
if (!binding.roomCarSvga.isAnimating() && !isSvgaPlaying) {
|
|
||||||
// 播放座驾动画
|
|
||||||
playCarAnim(userInfo.getCarInfo());
|
|
||||||
}
|
|
||||||
// 公屏进入房间的提示语
|
|
||||||
IMNetEaseManager.get()
|
|
||||||
.sendCarPlayRoomMsgBySdk(userInfo.getCarInfo(), userInfo.getUid(), userInfo.getNick())
|
|
||||||
.subscribe();
|
|
||||||
}
|
|
||||||
// 贵族人员,要先判断是否隐身
|
// 贵族人员,要先判断是否隐身
|
||||||
if (userInfo.getNobleInfo() != null && !userInfo.getNobleInfo().isNobleEnterHide()) {
|
if (userInfo.getUserVipInfoVO() == null || !userInfo.getUserVipInfoVO().getEnterHide()) {
|
||||||
|
|
||||||
|
if (AvRoomDataManager.get().mIsNeedGiftEffect &&
|
||||||
|
!AvRoomDataManager.get().isSelfGamePlaying()) {
|
||||||
|
mCarEffectList.add(userInfo.getCarInfo());
|
||||||
|
}
|
||||||
|
|
||||||
if (!binding.roomCarSvga.isAnimating() && !isSvgaPlaying) {
|
if (!binding.roomCarSvga.isAnimating() && !isSvgaPlaying) {
|
||||||
// 播放座驾动画
|
// 播放座驾动画
|
||||||
playCarAnim(userInfo.getCarInfo());
|
playCarAnim(userInfo.getCarInfo());
|
||||||
|
@@ -77,12 +77,6 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
mTitleBar.addAction(object : TitleBar.ImageAction(R.drawable.ic_vip_setting) {
|
|
||||||
override fun performAction(view: View) {
|
|
||||||
VipSettingActivity.start(this@VipMainActivity)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
binding.ivTimeHelp.setOnClickListener {
|
binding.ivTimeHelp.setOnClickListener {
|
||||||
VipRemainTimeDialog.newInstance().show(this)
|
VipRemainTimeDialog.newInstance().show(this)
|
||||||
}
|
}
|
||||||
@@ -155,6 +149,14 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
|||||||
keepParams.horizontalBias = it.levelKeepScore.toFloat() / it.levelUpScore
|
keepParams.horizontalBias = it.levelKeepScore.toFloat() / it.levelUpScore
|
||||||
binding.ivKeepIndicator.layoutParams = keepParams
|
binding.ivKeepIndicator.layoutParams = keepParams
|
||||||
|
|
||||||
|
if (it.ownAuthTypes?.contains(13) == true && mTitleBar.actionCount == 1) {
|
||||||
|
mTitleBar.addAction(object : TitleBar.ImageAction(R.drawable.ic_vip_setting) {
|
||||||
|
override fun performAction(view: View) {
|
||||||
|
VipSettingActivity.start(this@VipMainActivity)
|
||||||
|
}
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
|
||||||
} ?: run {
|
} ?: run {
|
||||||
binding.llMyVipInfo.isVisible = false
|
binding.llMyVipInfo.isVisible = false
|
||||||
binding.tvOpenVip.isVisible = true
|
binding.tvOpenVip.isVisible = true
|
||||||
|
@@ -8,6 +8,7 @@ import com.netease.nim.uikit.StatusBarUtil
|
|||||||
import com.yizhuan.erban.R
|
import com.yizhuan.erban.R
|
||||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||||
import com.yizhuan.erban.databinding.ActivityVipSettingBinding
|
import com.yizhuan.erban.databinding.ActivityVipSettingBinding
|
||||||
|
import com.yizhuan.xchat_android_core.user.UserModel
|
||||||
|
|
||||||
class VipSettingActivity : BaseViewBindingActivity<ActivityVipSettingBinding>() {
|
class VipSettingActivity : BaseViewBindingActivity<ActivityVipSettingBinding>() {
|
||||||
|
|
||||||
@@ -26,6 +27,24 @@ class VipSettingActivity : BaseViewBindingActivity<ActivityVipSettingBinding>()
|
|||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun init() {
|
override fun init() {
|
||||||
initWhiteTitleBar("贵族设置")
|
initWhiteTitleBar("贵族设置")
|
||||||
|
vipViewModel.loadingLiveData.observe(this) {
|
||||||
|
if (it == true) {
|
||||||
|
dialogManager.showProgressDialog(this)
|
||||||
|
} else {
|
||||||
|
dialogManager.dismissDialog()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vipViewModel.enterHideLiveData.observe(this) {
|
||||||
|
binding.switchHideGoRoom.isOn = it == true
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.switchHideGoRoom.isOn = UserModel.get().cacheLoginUserInfo?.userVipInfoVO?.enterHide == true
|
||||||
|
|
||||||
|
binding.switchHideGoRoom.setOnSwitchStateChangeListener {
|
||||||
|
vipViewModel.changeInvisibleInRoom(it)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initWhiteTitleBar(title: String?) {
|
override fun initWhiteTitleBar(title: String?) {
|
||||||
|
@@ -42,6 +42,9 @@ class VipViewModel : BaseViewModel() {
|
|||||||
private val _vipBroadcastInfoLiveData = MutableLiveData<BeanResult<VipBroadcastInfo>>()
|
private val _vipBroadcastInfoLiveData = MutableLiveData<BeanResult<VipBroadcastInfo>>()
|
||||||
val vipBroadcastInfoLiveData: LiveData<BeanResult<VipBroadcastInfo>> = _vipBroadcastInfoLiveData
|
val vipBroadcastInfoLiveData: LiveData<BeanResult<VipBroadcastInfo>> = _vipBroadcastInfoLiveData
|
||||||
|
|
||||||
|
private val _enterHideLiveData = MutableLiveData<Boolean>()
|
||||||
|
val enterHideLiveData: LiveData<Boolean> = _enterHideLiveData
|
||||||
|
|
||||||
fun getVipPageInfo() {
|
fun getVipPageInfo() {
|
||||||
_loadingLiveData.value = true
|
_loadingLiveData.value = true
|
||||||
safeLaunch(
|
safeLaunch(
|
||||||
@@ -132,6 +135,24 @@ class VipViewModel : BaseViewModel() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun changeInvisibleInRoom(open: Boolean) {
|
||||||
|
_loadingLiveData.value = true
|
||||||
|
safeLaunch(
|
||||||
|
onError = {
|
||||||
|
it.message.toast()
|
||||||
|
_loadingLiveData.value = false
|
||||||
|
_enterHideLiveData.value = !open
|
||||||
|
},
|
||||||
|
block = {
|
||||||
|
VipModel.changeInvisibleInRoom(open)
|
||||||
|
_loadingLiveData.value = false
|
||||||
|
_enterHideLiveData.value = open
|
||||||
|
UserModel.get().cacheLoginUserInfo?.userVipInfoVO?.enterHide = open
|
||||||
|
"设置成功".toast()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun onItemSelect(position: Int) {
|
fun onItemSelect(position: Int) {
|
||||||
_currVipInfoLiveData.value = vipInfosLiveData.value?.getOrNull(position)
|
_currVipInfoLiveData.value = vipInfosLiveData.value?.getOrNull(position)
|
||||||
_pageLiveData.value = position
|
_pageLiveData.value = position
|
||||||
|
BIN
app/src/main/res/drawable-xxhdpi/icon_room_up_micro_vip.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/icon_room_up_micro_vip.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
10
app/src/main/res/drawable/shape_micro_vip.xml
Normal file
10
app/src/main/res/drawable/shape_micro_vip.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="oval">
|
||||||
|
<gradient
|
||||||
|
android:angle="180"
|
||||||
|
android:startColor="#fff1b54d"
|
||||||
|
android:endColor="#ffefcc95"
|
||||||
|
android:type="linear"
|
||||||
|
android:useLevel="true" />
|
||||||
|
</shape>
|
@@ -25,11 +25,11 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextViewStyle" parent="android:Widget.TextView">
|
<style name="TextViewStyle" parent="android:Widget.TextView">
|
||||||
<item name="android:fontFamily">sans-serif-medium</item>
|
<item name="android:fontFamily">sans-serif</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="ButtonStyle" parent="android:Widget.Holo.Button">
|
<style name="ButtonStyle" parent="android:Widget.Holo.Button">
|
||||||
<item name="android:fontFamily">sans-serif-medium</item>
|
<item name="android:fontFamily">sans-serif</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@@ -30,6 +30,7 @@ import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
|||||||
import com.yizhuan.treasure_box.bean.PrizeInfo;
|
import com.yizhuan.treasure_box.bean.PrizeInfo;
|
||||||
import com.yizhuan.treasure_box.model.BoxModel;
|
import com.yizhuan.treasure_box.model.BoxModel;
|
||||||
import com.yizhuan.treasure_box.model.IBoxModel;
|
import com.yizhuan.treasure_box.model.IBoxModel;
|
||||||
|
import com.yizhuan.xchat_android_core.DemoCache;
|
||||||
import com.yizhuan.xchat_android_core.UriProvider;
|
import com.yizhuan.xchat_android_core.UriProvider;
|
||||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||||
@@ -188,7 +189,7 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
|||||||
mBinding.ivFirstBox.setVisibility(View.GONE);
|
mBinding.ivFirstBox.setVisibility(View.GONE);
|
||||||
mBinding.ivBoxOpen.startAnimation();
|
mBinding.ivBoxOpen.startAnimation();
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
BoxModel.get().openBox(boxType, count, true)
|
BoxModel.get().openBox(boxType, count, DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true))
|
||||||
.compose(bindToLifecycle())
|
.compose(bindToLifecycle())
|
||||||
.doOnError(throwable -> {
|
.doOnError(throwable -> {
|
||||||
mBinding.ivOpen.setEnabled(true);
|
mBinding.ivOpen.setEnabled(true);
|
||||||
@@ -325,7 +326,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
|||||||
super.setStatusBar();
|
super.setStatusBar();
|
||||||
StatusBarUtil.transparencyBar(this);
|
StatusBarUtil.transparencyBar(this);
|
||||||
StatusBarUtil.StatusBarLightMode(this);
|
StatusBarUtil.StatusBarLightMode(this);
|
||||||
StatusBarUtil.StatusBarLightMode(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -30,6 +30,7 @@ import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
|||||||
import com.yizhuan.treasure_box.bean.PrizeInfo;
|
import com.yizhuan.treasure_box.bean.PrizeInfo;
|
||||||
import com.yizhuan.treasure_box.model.BoxModel;
|
import com.yizhuan.treasure_box.model.BoxModel;
|
||||||
import com.yizhuan.treasure_box.model.IBoxModel;
|
import com.yizhuan.treasure_box.model.IBoxModel;
|
||||||
|
import com.yizhuan.xchat_android_core.DemoCache;
|
||||||
import com.yizhuan.xchat_android_core.UriProvider;
|
import com.yizhuan.xchat_android_core.UriProvider;
|
||||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||||
@@ -179,7 +180,7 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity<ActivityTreas
|
|||||||
mBinding.ivOpen.setEnabled(false);
|
mBinding.ivOpen.setEnabled(false);
|
||||||
mBinding.svgaOpen.startAnimation();
|
mBinding.svgaOpen.startAnimation();
|
||||||
BoxModel.get()
|
BoxModel.get()
|
||||||
.openBox(boxType, count, true)
|
.openBox(boxType, count, DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true))
|
||||||
.compose(bindToLifecycle())
|
.compose(bindToLifecycle())
|
||||||
.doOnError(throwable -> {
|
.doOnError(throwable -> {
|
||||||
mBinding.ivOpen.setEnabled(true);
|
mBinding.ivOpen.setEnabled(true);
|
||||||
|
@@ -2,6 +2,7 @@ package com.yizhuan.erban.treasure_box.widget.dialog;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
@@ -9,6 +10,7 @@ import com.yizhuan.erban.R;
|
|||||||
import com.yizhuan.erban.databinding.DialogBoxMoreBinding;
|
import com.yizhuan.erban.databinding.DialogBoxMoreBinding;
|
||||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||||
import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
||||||
|
import com.yizhuan.xchat_android_core.DemoCache;
|
||||||
import com.yizhuan.xchat_android_core.UriProvider;
|
import com.yizhuan.xchat_android_core.UriProvider;
|
||||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||||
|
|
||||||
@@ -36,16 +38,28 @@ public class BoxMoreDialog extends BaseBindingDialog<DialogBoxMoreBinding> {
|
|||||||
@Override
|
@Override
|
||||||
protected void init() {
|
protected void init() {
|
||||||
binding.tvHistory.setOnClickListener(v -> {
|
binding.tvHistory.setOnClickListener(v -> {
|
||||||
DialogWebViewActivity.start(context, UriProvider.getBoxHistory(),false);
|
DialogWebViewActivity.start(context, UriProvider.getBoxHistory(), false);
|
||||||
closeDialog();
|
closeDialog();
|
||||||
});
|
});
|
||||||
binding.tvBoxRule.setOnClickListener(v -> {
|
binding.tvBoxRule.setOnClickListener(v -> {
|
||||||
DialogWebViewActivity.start(context, UriProvider.getBoxHelp(),false);
|
DialogWebViewActivity.start(context, UriProvider.getBoxHelp(), false);
|
||||||
closeDialog();
|
closeDialog();
|
||||||
});
|
});
|
||||||
binding.tvGetKey.setOnClickListener(v -> {
|
binding.tvGetKey.setOnClickListener(v -> {
|
||||||
DialogWebViewActivity.start(context,UriProvider.getBoxKey());
|
DialogWebViewActivity.start(context, UriProvider.getBoxKey());
|
||||||
closeDialog();
|
closeDialog();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
updateMsgSwitch(DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true));
|
||||||
|
binding.ivSwitch.setOnClickListener(v -> {
|
||||||
|
boolean sendMsg = !DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true);
|
||||||
|
updateMsgSwitch(sendMsg);
|
||||||
|
DemoCache.saveBoolean(DemoCache.KEY_BOX_MESSAGE, sendMsg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateMsgSwitch(boolean sendMsg) {
|
||||||
|
binding.ivSwitch.setImageResource(sendMsg ?
|
||||||
|
R.drawable.icon_room_set_lock_true : R.drawable.icon_room_set_lock_false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -128,6 +128,7 @@
|
|||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:layout_marginTop="52dp"
|
android:layout_marginTop="52dp"
|
||||||
app:autoPlay="false"
|
app:autoPlay="false"
|
||||||
|
app:fillMode="Clear"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/view_bg"
|
app:layout_constraintTop_toTopOf="@id/view_bg"
|
||||||
|
@@ -225,6 +225,7 @@
|
|||||||
android:layout_height="200dp"
|
android:layout_height="200dp"
|
||||||
android:layout_marginTop="60dp"
|
android:layout_marginTop="60dp"
|
||||||
app:autoPlay="false"
|
app:autoPlay="false"
|
||||||
|
app:fillMode="Clear"
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/view_bg"
|
app:layout_constraintTop_toTopOf="@id/view_bg"
|
||||||
@@ -239,6 +240,7 @@
|
|||||||
android:layout_marginStart="80dp"
|
android:layout_marginStart="80dp"
|
||||||
android:layout_marginTop="60dp"
|
android:layout_marginTop="60dp"
|
||||||
app:autoPlay="false"
|
app:autoPlay="false"
|
||||||
|
app:fillMode="Clear"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="@id/iv_box"
|
app:layout_constraintStart_toStartOf="@id/iv_box"
|
||||||
|
@@ -57,6 +57,29 @@
|
|||||||
android:textColor="#ff333333"
|
android:textColor="#ff333333"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="43dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:text="允许中奖消息对外展示"
|
||||||
|
android:textColor="#ff333333"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_switch"
|
||||||
|
android:layout_width="@dimen/dp_45"
|
||||||
|
android:layout_height="@dimen/dp_25"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:layout_gravity="end|center_vertical"
|
||||||
|
android:src="@drawable/icon_room_set_lock_false" />
|
||||||
|
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</layout>
|
</layout>
|
@@ -1,8 +1,14 @@
|
|||||||
package com.yizhuan.xchat_android_core.manager;
|
package com.yizhuan.xchat_android_core.manager;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.text.SpannableStringBuilder;
|
||||||
|
import android.text.Spanned;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.text.style.ForegroundColorSpan;
|
||||||
|
import android.text.style.ImageSpan;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
@@ -13,6 +19,7 @@ import com.google.gson.Gson;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import com.hjq.toast.ToastUtils;
|
||||||
import com.netease.nim.uikit.business.session.helper.MessageListPanelHelper;
|
import com.netease.nim.uikit.business.session.helper.MessageListPanelHelper;
|
||||||
import com.netease.nim.uikit.common.antispam.AntiSpamEvent;
|
import com.netease.nim.uikit.common.antispam.AntiSpamEvent;
|
||||||
import com.netease.nim.uikit.common.util.AntiSpamUtil;
|
import com.netease.nim.uikit.common.util.AntiSpamUtil;
|
||||||
@@ -50,6 +57,7 @@ import com.netease.nimlib.sdk.util.api.RequestResult;
|
|||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
import com.yizhuan.xchat_android_constants.XChatConstants;
|
import com.yizhuan.xchat_android_constants.XChatConstants;
|
||||||
import com.yizhuan.xchat_android_core.Constants;
|
import com.yizhuan.xchat_android_core.Constants;
|
||||||
|
import com.yizhuan.xchat_android_core.R;
|
||||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||||
import com.yizhuan.xchat_android_core.bean.RoomMicInfo;
|
import com.yizhuan.xchat_android_core.bean.RoomMicInfo;
|
||||||
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
||||||
@@ -1488,11 +1496,28 @@ public final class IMNetEaseManager {
|
|||||||
msg.setRemoteExtension(remoteExtension);
|
msg.setRemoteExtension(remoteExtension);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//需要稍微延迟点,否则有冲突
|
|
||||||
new Handler().postDelayed(() -> noticeMemBerInNotice(msg), 500);
|
|
||||||
|
|
||||||
|
if (!needToHideEnterMessage(msg)) {
|
||||||
|
addMessagesImmediately(msg);
|
||||||
|
//需要稍微延迟点,否则有冲突
|
||||||
|
new Handler().postDelayed(() -> noticeMemBerInNotice(msg), 500);
|
||||||
|
} else {
|
||||||
|
if (Objects.equals(String.valueOf(AuthModel.get().getCurrentUid()), account)) {
|
||||||
|
//SingleToastUtil.showToast("您已隐身进入房间");
|
||||||
|
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||||
|
builder.append("-");
|
||||||
|
builder.setSpan(new ImageSpan(
|
||||||
|
BitmapFactory.decodeResource(
|
||||||
|
BasicConfig.INSTANCE.getAppContext().getResources(),
|
||||||
|
R.drawable.ic_hide_enter_room)),
|
||||||
|
0, 1,
|
||||||
|
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||||
|
builder.append(" ");
|
||||||
|
builder.append("您已隐身进入房间");
|
||||||
|
ToastUtils.show(builder);
|
||||||
|
}
|
||||||
|
}
|
||||||
AvRoomDataManager.get().mRoomAllMemberList.add(chatRoomMember);
|
AvRoomDataManager.get().mRoomAllMemberList.add(chatRoomMember);
|
||||||
addMessagesImmediately(!needToHideEnterMessage(msg) ? msg : null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -59,6 +59,7 @@ public class DemoCache {
|
|||||||
private static final String KEY_RED_PACKAGE = "RedPackage";
|
private static final String KEY_RED_PACKAGE = "RedPackage";
|
||||||
public static final String KEY_VIP_RED_POINT = "key_vip_red_point";
|
public static final String KEY_VIP_RED_POINT = "key_vip_red_point";
|
||||||
private static final String KEY_AT_MSG_UUID = "AtMsgUuid";
|
private static final String KEY_AT_MSG_UUID = "AtMsgUuid";
|
||||||
|
public static final String KEY_BOX_MESSAGE = "key_box_message";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存网页域名
|
* 保存网页域名
|
||||||
|
@@ -419,8 +419,6 @@ public class NobleUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Object getResource(String type, MicMemberInfo chatRoomMember) {
|
public static Object getResource(String type, MicMemberInfo chatRoomMember) {
|
||||||
// 判断是否有权限
|
|
||||||
if (!hasRightToDo(type, chatRoomMember)) return "";
|
|
||||||
Object o;
|
Object o;
|
||||||
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
||||||
|| chatRoomMember.getExtension() == null
|
|| chatRoomMember.getExtension() == null
|
||||||
@@ -435,8 +433,6 @@ public class NobleUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Object getResource(String type, ChatRoomMember chatRoomMember) {
|
public static Object getResource(String type, ChatRoomMember chatRoomMember) {
|
||||||
// 判断是否有权限
|
|
||||||
if (!hasRightToDo(type, chatRoomMember)) return "";
|
|
||||||
Object o;
|
Object o;
|
||||||
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
||||||
|| chatRoomMember.getExtension() == null
|
|| chatRoomMember.getExtension() == null
|
||||||
|
@@ -48,6 +48,7 @@ import com.yizhuan.xchat_android_core.room.queue.bean.MicMemberInfo;
|
|||||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||||
import com.yizhuan.xchat_android_core.user.bean.BaseInfo;
|
import com.yizhuan.xchat_android_core.user.bean.BaseInfo;
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||||
|
import com.yizhuan.xchat_android_core.utils.LogUtils;
|
||||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||||
import com.yizhuan.xchat_android_core.vip.UserVipInfo;
|
import com.yizhuan.xchat_android_core.vip.UserVipInfo;
|
||||||
import com.yizhuan.xchat_android_core.vip.VipInfo;
|
import com.yizhuan.xchat_android_core.vip.VipInfo;
|
||||||
@@ -58,6 +59,7 @@ import com.yizhuan.xchat_android_library.utils.ListUtils;
|
|||||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
|
@@ -594,7 +594,7 @@ public class UserInfo implements Serializable {
|
|||||||
UserVipInfo userVipInfo = userInfo.getUserVipInfoVO();
|
UserVipInfo userVipInfo = userInfo.getUserVipInfoVO();
|
||||||
if (userVipInfo != null && !TextUtils.isEmpty(userVipInfo.getVipIcon())) {
|
if (userVipInfo != null && !TextUtils.isEmpty(userVipInfo.getVipIcon())) {
|
||||||
map.put(VIP_ICON, userVipInfo.getVipIcon());
|
map.put(VIP_ICON, userVipInfo.getVipIcon());
|
||||||
map.put(NobleResourceType.KEY_ENTER_HIDE, userVipInfo.getEnterHide() ? 1 : 0);
|
map.put(NobleResourceType.KEY_ENTER_HIDE, userVipInfo.getEnterHide());
|
||||||
if (!TextUtils.isEmpty(userVipInfo.getEnterRoomEffects())) {
|
if (!TextUtils.isEmpty(userVipInfo.getEnterRoomEffects())) {
|
||||||
map.put(ENTER_ROOM_EFFECTS, userVipInfo.getEnterRoomEffects());
|
map.put(ENTER_ROOM_EFFECTS, userVipInfo.getEnterRoomEffects());
|
||||||
}
|
}
|
||||||
|
@@ -7,6 +7,6 @@ data class UserVipInfo(
|
|||||||
val vipLevel: Int = 0,
|
val vipLevel: Int = 0,
|
||||||
val friendNickColour: String = "",
|
val friendNickColour: String = "",
|
||||||
val preventKick: Boolean = false,
|
val preventKick: Boolean = false,
|
||||||
val enterHide: Boolean = false,
|
var enterHide: Boolean = false,
|
||||||
val enterRoomEffects: String = ""
|
val enterRoomEffects: String = ""
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
@@ -32,6 +32,11 @@ object VipModel : BaseModel() {
|
|||||||
api.sendVipBroadcast(content, AvRoomDataManager.get().roomUid)
|
api.sendVipBroadcast(content, AvRoomDataManager.get().roomUid)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
suspend fun changeInvisibleInRoom(open: Boolean): String? =
|
||||||
|
launchRequest {
|
||||||
|
api.changeInvisibleInRoom(open)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private interface Api {
|
private interface Api {
|
||||||
|
|
||||||
@@ -70,6 +75,14 @@ object VipModel : BaseModel() {
|
|||||||
@Query("content") content: String,
|
@Query("content") content: String,
|
||||||
@Query("roomUid") roomUid: Long
|
@Query("roomUid") roomUid: Long
|
||||||
): ServiceResult<String>
|
): ServiceResult<String>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开关隐身进房状态
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GET("/vip/changeInvisibleInRoom")
|
||||||
|
suspend fun changeInvisibleInRoom(@Query("open") open: Boolean): ServiceResult<String>
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
BIN
nim_uikit/res/drawable-xhdpi/ic_hide_enter_room.png
Normal file
BIN
nim_uikit/res/drawable-xhdpi/ic_hide_enter_room.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
Reference in New Issue
Block a user