贵族特权完善
This commit is contained in:
@@ -274,12 +274,12 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
}
|
||||
|
||||
protected void setDefalutText(int index) {
|
||||
tvNick.setTextColor(context.getResources().getColor(R.color.white_transparent_30));
|
||||
tvNick.setTextColor(Color.WHITE);
|
||||
tvNick.setText("号麦位");
|
||||
|
||||
if (tvNumber != null) {
|
||||
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));
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package com.yizhuan.erban.avroom.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -55,7 +57,7 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
} else {
|
||||
item = LayoutInflater.from(parent.getContext()).
|
||||
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;
|
||||
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.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||
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.model.NimUserInfo;
|
||||
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.room.bean.OnlineChatMember;
|
||||
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 java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
@@ -49,7 +53,7 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
private boolean mIsHomeParty;
|
||||
private Disposable mDisposable;
|
||||
private Context context;
|
||||
|
||||
private OnRoomOnlineNumberChangeListener mListener;
|
||||
|
||||
public OnlineUserAdapter(Context context, boolean isHomeParty) {
|
||||
super(null);
|
||||
@@ -66,7 +70,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
registerRoomEvent();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
||||
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.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()));
|
||||
|
||||
@@ -294,7 +298,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
roomEvent.getEvent() == RoomEvent.ROOM_MANAGER_REMOVE, mData);
|
||||
}
|
||||
|
||||
|
||||
private void updateDownUpMic(String account, boolean isUpMic) {
|
||||
if (mListener != null) {
|
||||
mListener.onMemberDownUpMic(account, isUpMic, mData);
|
||||
@@ -308,8 +311,6 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
}
|
||||
}
|
||||
|
||||
private OnRoomOnlineNumberChangeListener mListener;
|
||||
|
||||
public void setListener(OnRoomOnlineNumberChangeListener listener) {
|
||||
mListener = listener;
|
||||
}
|
||||
|
@@ -736,23 +736,15 @@ public class RoomEffectView extends FrameLayout {
|
||||
&& userInfo.getCarInfo() != null
|
||||
&& userInfo.getCarInfo().isUsing()
|
||||
&& userInfo.getCarInfo().getStatus() == CarInfo.STATUS_USER_CAN_USE) {
|
||||
|
||||
// 贵族人员,要先判断是否隐身
|
||||
if (userInfo.getUserVipInfoVO() == null || !userInfo.getUserVipInfoVO().getEnterHide()) {
|
||||
|
||||
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 (!binding.roomCarSvga.isAnimating() && !isSvgaPlaying) {
|
||||
// 播放座驾动画
|
||||
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 {
|
||||
VipRemainTimeDialog.newInstance().show(this)
|
||||
}
|
||||
@@ -155,6 +149,14 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
keepParams.horizontalBias = it.levelKeepScore.toFloat() / it.levelUpScore
|
||||
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 {
|
||||
binding.llMyVipInfo.isVisible = false
|
||||
binding.tvOpenVip.isVisible = true
|
||||
|
@@ -8,6 +8,7 @@ import com.netease.nim.uikit.StatusBarUtil
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.databinding.ActivityVipSettingBinding
|
||||
import com.yizhuan.xchat_android_core.user.UserModel
|
||||
|
||||
class VipSettingActivity : BaseViewBindingActivity<ActivityVipSettingBinding>() {
|
||||
|
||||
@@ -26,6 +27,24 @@ class VipSettingActivity : BaseViewBindingActivity<ActivityVipSettingBinding>()
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun init() {
|
||||
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?) {
|
||||
|
@@ -42,6 +42,9 @@ class VipViewModel : BaseViewModel() {
|
||||
private val _vipBroadcastInfoLiveData = MutableLiveData<BeanResult<VipBroadcastInfo>>()
|
||||
val vipBroadcastInfoLiveData: LiveData<BeanResult<VipBroadcastInfo>> = _vipBroadcastInfoLiveData
|
||||
|
||||
private val _enterHideLiveData = MutableLiveData<Boolean>()
|
||||
val enterHideLiveData: LiveData<Boolean> = _enterHideLiveData
|
||||
|
||||
fun getVipPageInfo() {
|
||||
_loadingLiveData.value = true
|
||||
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) {
|
||||
_currVipInfoLiveData.value = vipInfosLiveData.value?.getOrNull(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 name="TextViewStyle" parent="android:Widget.TextView">
|
||||
<item name="android:fontFamily">sans-serif-medium</item>
|
||||
<item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
<style name="ButtonStyle" parent="android:Widget.Holo.Button">
|
||||
<item name="android:fontFamily">sans-serif-medium</item>
|
||||
<item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
@@ -30,6 +30,7 @@ import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
||||
import com.yizhuan.treasure_box.bean.PrizeInfo;
|
||||
import com.yizhuan.treasure_box.model.BoxModel;
|
||||
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.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
@@ -188,7 +189,7 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
mBinding.ivFirstBox.setVisibility(View.GONE);
|
||||
mBinding.ivBoxOpen.startAnimation();
|
||||
long startTime = System.currentTimeMillis();
|
||||
BoxModel.get().openBox(boxType, count, true)
|
||||
BoxModel.get().openBox(boxType, count, DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true))
|
||||
.compose(bindToLifecycle())
|
||||
.doOnError(throwable -> {
|
||||
mBinding.ivOpen.setEnabled(true);
|
||||
@@ -325,7 +326,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
super.setStatusBar();
|
||||
StatusBarUtil.transparencyBar(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.model.BoxModel;
|
||||
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.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
@@ -179,7 +180,7 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity<ActivityTreas
|
||||
mBinding.ivOpen.setEnabled(false);
|
||||
mBinding.svgaOpen.startAnimation();
|
||||
BoxModel.get()
|
||||
.openBox(boxType, count, true)
|
||||
.openBox(boxType, count, DemoCache.readBoolean(DemoCache.KEY_BOX_MESSAGE, true))
|
||||
.compose(bindToLifecycle())
|
||||
.doOnError(throwable -> {
|
||||
mBinding.ivOpen.setEnabled(true);
|
||||
|
@@ -2,6 +2,7 @@ package com.yizhuan.erban.treasure_box.widget.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
@@ -9,6 +10,7 @@ import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.databinding.DialogBoxMoreBinding;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
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_library.annatation.ActLayoutRes;
|
||||
|
||||
@@ -36,16 +38,28 @@ public class BoxMoreDialog extends BaseBindingDialog<DialogBoxMoreBinding> {
|
||||
@Override
|
||||
protected void init() {
|
||||
binding.tvHistory.setOnClickListener(v -> {
|
||||
DialogWebViewActivity.start(context, UriProvider.getBoxHistory(),false);
|
||||
DialogWebViewActivity.start(context, UriProvider.getBoxHistory(), false);
|
||||
closeDialog();
|
||||
});
|
||||
binding.tvBoxRule.setOnClickListener(v -> {
|
||||
DialogWebViewActivity.start(context, UriProvider.getBoxHelp(),false);
|
||||
DialogWebViewActivity.start(context, UriProvider.getBoxHelp(), false);
|
||||
closeDialog();
|
||||
});
|
||||
binding.tvGetKey.setOnClickListener(v -> {
|
||||
DialogWebViewActivity.start(context,UriProvider.getBoxKey());
|
||||
DialogWebViewActivity.start(context, UriProvider.getBoxKey());
|
||||
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_marginTop="52dp"
|
||||
app:autoPlay="false"
|
||||
app:fillMode="Clear"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/view_bg"
|
||||
|
@@ -225,6 +225,7 @@
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginTop="60dp"
|
||||
app:autoPlay="false"
|
||||
app:fillMode="Clear"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/view_bg"
|
||||
@@ -239,6 +240,7 @@
|
||||
android:layout_marginStart="80dp"
|
||||
android:layout_marginTop="60dp"
|
||||
app:autoPlay="false"
|
||||
app:fillMode="Clear"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_box"
|
||||
|
@@ -57,6 +57,29 @@
|
||||
android:textColor="#ff333333"
|
||||
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>
|
||||
|
||||
</layout>
|
@@ -1,8 +1,14 @@
|
||||
package com.yizhuan.xchat_android_core.manager;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.os.Handler;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.text.style.ImageSpan;
|
||||
import android.util.Log;
|
||||
import android.util.SparseArray;
|
||||
|
||||
@@ -13,6 +19,7 @@ import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
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.common.antispam.AntiSpamEvent;
|
||||
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.yizhuan.xchat_android_constants.XChatConstants;
|
||||
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.bean.RoomMicInfo;
|
||||
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
||||
@@ -1488,11 +1496,28 @@ public final class IMNetEaseManager {
|
||||
msg.setRemoteExtension(remoteExtension);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
addMessagesImmediately(!needToHideEnterMessage(msg) ? msg : null);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -59,6 +59,7 @@ public class DemoCache {
|
||||
private static final String KEY_RED_PACKAGE = "RedPackage";
|
||||
public static final String KEY_VIP_RED_POINT = "key_vip_red_point";
|
||||
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) {
|
||||
// 判断是否有权限
|
||||
if (!hasRightToDo(type, chatRoomMember)) return "";
|
||||
Object o;
|
||||
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
||||
|| chatRoomMember.getExtension() == null
|
||||
@@ -435,8 +433,6 @@ public class NobleUtil {
|
||||
}
|
||||
|
||||
public static Object getResource(String type, ChatRoomMember chatRoomMember) {
|
||||
// 判断是否有权限
|
||||
if (!hasRightToDo(type, chatRoomMember)) return "";
|
||||
Object o;
|
||||
if (chatRoomMember == null || TextUtils.isEmpty(chatRoomMember.getAccount())
|
||||
|| 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.bean.BaseInfo;
|
||||
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.vip.UserVipInfo;
|
||||
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 java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
|
@@ -594,7 +594,7 @@ public class UserInfo implements Serializable {
|
||||
UserVipInfo userVipInfo = userInfo.getUserVipInfoVO();
|
||||
if (userVipInfo != null && !TextUtils.isEmpty(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())) {
|
||||
map.put(ENTER_ROOM_EFFECTS, userVipInfo.getEnterRoomEffects());
|
||||
}
|
||||
|
@@ -7,6 +7,6 @@ data class UserVipInfo(
|
||||
val vipLevel: Int = 0,
|
||||
val friendNickColour: String = "",
|
||||
val preventKick: Boolean = false,
|
||||
val enterHide: Boolean = false,
|
||||
var enterHide: Boolean = false,
|
||||
val enterRoomEffects: String = ""
|
||||
) : Serializable
|
||||
|
@@ -32,6 +32,11 @@ object VipModel : BaseModel() {
|
||||
api.sendVipBroadcast(content, AvRoomDataManager.get().roomUid)
|
||||
}
|
||||
|
||||
suspend fun changeInvisibleInRoom(open: Boolean): String? =
|
||||
launchRequest {
|
||||
api.changeInvisibleInRoom(open)
|
||||
}
|
||||
|
||||
|
||||
private interface Api {
|
||||
|
||||
@@ -70,6 +75,14 @@ object VipModel : BaseModel() {
|
||||
@Query("content") content: String,
|
||||
@Query("roomUid") roomUid: Long
|
||||
): 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