房间设置新增房间分类设置入口

This commit is contained in:
huangjian
2022-07-15 14:41:28 +08:00
parent 6dd7481a29
commit af86ef80d4
13 changed files with 733 additions and 584 deletions

View File

@@ -9,15 +9,15 @@ import android.text.TextUtils;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import com.donkingliang.labels.LabelsView;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
import com.yizhuan.erban.R;
import com.yizhuan.erban.avroom.dialog.SelectLabelDialog;
import com.yizhuan.erban.avroom.presenter.RoomSettingPresenter;
import com.yizhuan.erban.avroom.view.IRoomSettingView;
import com.yizhuan.erban.avroom.widget.EditRoomTitleDialog;
@@ -39,6 +39,7 @@ import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomMessageViewNoticeInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomSettingTabInfo;
import com.yizhuan.xchat_android_core.room.bean.SingleRoomSortInfo;
import com.yizhuan.xchat_android_core.room.giftvalue.GiftValueModel;
import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg;
import com.yizhuan.xchat_android_core.room.model.AvRoomModel;
@@ -49,6 +50,7 @@ import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import com.yizhuan.xchat_android_library.utils.CommonUtils;
import com.yizhuan.xchat_android_library.utils.JavaUtil;
import com.yizhuan.xchat_android_library.utils.ListUtils;
import com.yizhuan.xchat_android_library.utils.codec.DESUtils;
@@ -60,6 +62,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import io.reactivex.SingleObserver;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -71,21 +74,24 @@ import io.reactivex.disposables.Disposable;
*/
@CreatePresenter(RoomSettingPresenter.class)
public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomSettingPresenter>
implements LabelsView.OnLabelClickListener, View.OnClickListener, IRoomSettingView {
implements View.OnClickListener, IRoomSettingView {
private LabelsView labelsView;
private List<String> labels;
private String selectLabel;
private RelativeLayout managerLayout;
private RelativeLayout blackLayout;
private RelativeLayout mRoomBgLayout;
private RoomInfo roomInfo;
private View selectLabelView;
private String selectLabel;
private RoomSettingTabInfo mSelectTabInfo;
private List<RoomSettingTabInfo> mTabInfoList;
private List<RoomSettingTabInfo> tabInfoList;
@Nullable
private Long singleRoomSortId;
@Nullable
private String singleRoomSortName;
@Nullable
private List<SingleRoomSortInfo> sortInfoList;
private ActivityRoomSettingBinding binding;
public static void start(Context context) {
@@ -121,6 +127,9 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
if (AvRoomDataManager.get().isCpRoom() || AvRoomDataManager.get().isSingleRoom()) {
binding.queuingMicroModeLayout.setVisibility(View.GONE);
}
binding.layoutSingleRoomSort.setVisibility(
AvRoomDataManager.get().isRoomOwner() && AvRoomDataManager.get().isSingleRoom()
? View.VISIBLE : View.GONE);
//调用更改房间信息接口后会发消息ROOM_INFO_UPDATE在此处接收ui改动
IMNetEaseManager.get().getChatRoomEventObservable()
.compose(bindToLifecycle())
@@ -199,6 +208,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
selectLabel = "";
}
binding.tvRoomLabel.setText(selectLabel);
binding.tvSingleRoomSort.setText(roomInfo.getSortName());
binding.switchAudio.setChecked(roomInfo.getAudioQuality() == 2);
if (TextUtils.isEmpty(roomInfo.getRoomPwd())) {
binding.layoutPwdResult.setVisibility(View.GONE);
@@ -262,37 +272,28 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
};
if (AvRoomDataManager.get().isRoomOwner()) {
model.updateRoomInfo(name, desc, roomInfo.getIntroduction(), pwd, label, id,
AuthModel.get().getCurrentUid(),
AuthModel.get().getTicket(),
giftEffect,
binding.switchAudio.isChecked() ? 2 : 1,
roomInfo.getLimitType(), roomInfo.isPureMode(),
roomInfo.getType(),
roomInfo.getMgId())
AuthModel.get().getCurrentUid(),
AuthModel.get().getTicket(),
giftEffect,
binding.switchAudio.isChecked() ? 2 : 1,
roomInfo.getLimitType(), roomInfo.isPureMode(),
roomInfo.getType(),
roomInfo.getMgId(),
singleRoomSortId)
.compose(bindToLifecycle())
.subscribe(observer);
} else if (AvRoomDataManager.get().isRoomAdmin()) {
model.updateByAdmin(roomInfo.getUid(), name, desc, roomInfo.getIntroduction(), pwd, label, id,
AuthModel.get().getCurrentUid(),
AuthModel.get().getTicket(),
giftEffect,
binding.switchAudio.isChecked() ? 2 : 1,
roomInfo.isPureMode())
AuthModel.get().getCurrentUid(),
AuthModel.get().getTicket(),
giftEffect,
binding.switchAudio.isChecked() ? 2 : 1,
roomInfo.isPureMode())
.compose(bindToLifecycle())
.subscribe(observer);
}
}
@Override
public void onLabelClick(TextView label, Object data, int position) {
if (!ListUtils.isListEmpty(mTabInfoList)) {
mSelectTabInfo = mTabInfoList.get(position);
}
selectLabel = (String) data;
labelsView.setSelects(position);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
@@ -343,32 +344,22 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
pwdDialog.show();
break;
case R.id.layout_label:
if (selectLabelView == null) {
selectLabelView = binding.vsLabels.getViewStub().inflate();
labelsView = selectLabelView.findViewById(R.id.labels_view);
if (CommonUtils.isFastDoubleClick(1000)) return;
if (ListUtils.isListEmpty(tabInfoList)) {
getDialogManager().showProgressDialog(this);
getMvpPresenter().requestTagAll();
} else {
onResultRequestTagAllSuccess(tabInfoList);
}
break;
case R.id.layout_single_room_sort:
if (CommonUtils.isFastDoubleClick(1000)) return;
if (ListUtils.isListEmpty(sortInfoList)) {
getDialogManager().showProgressDialog(this);
getMvpPresenter().requestSingleRoomSort();
} else {
onResultRequestSingleRoomSortSuccess(sortInfoList);
}
selectLabelView.setVisibility(View.VISIBLE);
selectLabelView.findViewById(R.id.iv_close_label).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectLabelView.setVisibility(View.GONE);
}
});
selectLabelView.findViewById(R.id.tv_select_lable).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectLabelView.setVisibility(View.GONE);
//选择的是同一个则不处理
if (TextUtils.isEmpty(selectLabel) || selectLabel.equals(roomInfo.getRoomTag())) {
return;
}
// StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_ROOM_LIST_LABEL,
// "区分房间标签:" + selectLabel);
save(null, null, selectLabel);
}
});
labelsView.setOnLabelClickListener(this);
getMvpPresenter().requestTagAll();
break;
case R.id.switch_gift:
if (binding.switchGift.isSelected()) {
@@ -398,7 +389,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
if (roomInfo == null) return;
getDialogManager().showProgressDialog(this, "请稍后...");
AvRoomModel.get().closeScreen(roomInfo.getRoomId(),
!roomInfo.isCloseScreen())
!roomInfo.isCloseScreen())
.compose(bindToLifecycle())
.flatMap(data -> IMNetEaseManager.get().closeOpenScreen(
data.getRoomId(), data))
@@ -538,35 +529,64 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
}
}
@Override
public void onResultRequestTagAllSuccess(List<RoomSettingTabInfo> tabInfoList) {
mTabInfoList = tabInfoList;
this.tabInfoList = tabInfoList;
getDialogManager().dismissDialog();
if (ListUtils.isListEmpty(tabInfoList)) {
toast("房间标签为空");
return;
}
labels = new ArrayList<>();
List<String> labels = new ArrayList<>();
for (RoomSettingTabInfo tabInfo : tabInfoList) {
labels.add(tabInfo.getName());
}
labelsView.setLabels((ArrayList<String>) labels);
if (roomInfo != null && !TextUtils.isEmpty(roomInfo.getRoomTag())) {
if (labels.contains(roomInfo.getRoomTag())) {
labelsView.setSelects(labels.indexOf(roomInfo.getRoomTag()));
new SelectLabelDialog(this, "房间标签", labels, roomInfo.getRoomTag(), (label, data, position) -> {
mSelectTabInfo = tabInfoList.get(position);
selectLabel = (String) data;
}, v -> {
//选择的是同一个则不处理
if (TextUtils.isEmpty(selectLabel) || selectLabel.equals(roomInfo.getRoomTag())) {
return;
}
}
save(null, null, selectLabel);
}).show();
}
@Override
public void onResultRequestTagAllFail(String error) {
getDialogManager().dismissDialog();
toast(error);
}
@Override
public void updateRoomInfoSuccess(RoomInfo roomInfo) {
public void onResultRequestSingleRoomSortSuccess(List<SingleRoomSortInfo> tabInfoList) {
sortInfoList = tabInfoList;
getDialogManager().dismissDialog();
if (ListUtils.isListEmpty(tabInfoList)) {
toast("房间分类为空");
return;
}
List<String> labels = new ArrayList<>();
for (SingleRoomSortInfo tabInfo : tabInfoList) {
labels.add(tabInfo.getSortName());
}
new SelectLabelDialog(this, "房间分类", labels, roomInfo.getRoomTag(), (label, data, position) -> {
singleRoomSortId = tabInfoList.get(position).getId();
singleRoomSortName = (String) data;
}, v -> {
//选择的是同一个则不处理
if (TextUtils.isEmpty(singleRoomSortName) || Objects.equals(singleRoomSortName, roomInfo.getSortName())) {
return;
}
save(null, null, roomInfo.getRoomTag());
}).show();
}
@Override
public void onResultRequestSingleRoomSortFail(String error) {
getDialogManager().dismissDialog();
toast(error);
}
@Override
@@ -606,12 +626,6 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
binding.tvTipsLeaveMode.setVisibility(roomInfo.isLeaveMode() ? View.VISIBLE : View.GONE);
}
@Override
public void updateRoomInfoFail(String error) {
getDialogManager().dismissDialog();
toast(error);
}
@Override
public void onSuccessToFinish() {
finish();

View File

@@ -0,0 +1,41 @@
package com.yizhuan.erban.avroom.dialog
import android.content.Context
import android.view.View
import com.donkingliang.labels.LabelsView
import com.yizhuan.erban.R
import com.yizhuan.erban.databinding.DialogSelectLabelBinding
import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.dialog_select_label)
class SelectLabelDialog(
context: Context,
private val title: String,
private val labels: List<String>,
private val selectLabel: String?,
private val onLabelClickListener: LabelsView.OnLabelClickListener,
private val onSaveClickListener: View.OnClickListener
) :
BaseBindingDialog<DialogSelectLabelBinding>(context, R.style.dialog),
View.OnClickListener {
override fun init() {
binding.click = this
binding.tvTitle.text = title
binding.labelsView.setOnLabelClickListener(onLabelClickListener)
binding.labelsView.setLabels(labels)
if (labels.contains(selectLabel)) {
binding.labelsView.setSelects(labels.indexOf(selectLabel))
}
}
override fun onClick(v: View) {
when (v.id) {
R.id.tv_confirm -> {
onSaveClickListener.onClick(v)
dismiss()
}
}
}
}

View File

@@ -62,6 +62,20 @@ public class RoomSettingPresenter extends BaseMvpPresenter<IRoomSettingView> {
});
}
@SuppressLint("CheckResult")
public void requestSingleRoomSort() {
model.requestSingleRoomSort()
.subscribe((date, throwable) -> {
IRoomSettingView roomSettingView = getMvpView();
if (roomSettingView == null) return;
if (throwable != null) {
roomSettingView.onResultRequestSingleRoomSortFail(throwable.getMessage());
} else {
roomSettingView.onResultRequestSingleRoomSortSuccess(date);
}
});
}
public void requestRoomInfo(long uid) {
model.requestRoomInfoFromService(uid + "", new CallBack<RoomInfo>() {
@Override
@@ -194,9 +208,9 @@ public class RoomSettingPresenter extends BaseMvpPresenter<IRoomSettingView> {
}
if (AvRoomDataManager.get().isRoomOwner()) {
model.updateRoomPureModeForOwner(roomInfo.getTitle(), roomInfo.getRoomDesc(),
roomInfo.getIntroduction(), roomInfo.getRoomPwd(), roomInfo.getRoomTag(),
roomInfo.getTagId(), roomInfo.isHasAnimationEffect(),
roomInfo.getAudioQuality(), roomInfo.getLimitType(), isPureMode)
roomInfo.getIntroduction(), roomInfo.getRoomPwd(), roomInfo.getRoomTag(),
roomInfo.getTagId(), roomInfo.isHasAnimationEffect(),
roomInfo.getAudioQuality(), roomInfo.getLimitType(), isPureMode)
.compose(bindToLifecycle())
.subscribe((roomInfo1, throwable) -> {
if (throwable == null) {
@@ -207,8 +221,8 @@ public class RoomSettingPresenter extends BaseMvpPresenter<IRoomSettingView> {
});
} else if (AvRoomDataManager.get().isRoomAdmin()) {
model.updateRoomPureMode(roomInfo.getUid(), roomInfo.getTitle(), roomInfo.getRoomDesc(),
roomInfo.getIntroduction(), roomInfo.getRoomPwd(), roomInfo.getRoomTag(), roomInfo.getTagId(),
roomInfo.isHasAnimationEffect(), roomInfo.getAudioQuality(), isPureMode)
roomInfo.getIntroduction(), roomInfo.getRoomPwd(), roomInfo.getRoomTag(), roomInfo.getTagId(),
roomInfo.isHasAnimationEffect(), roomInfo.getAudioQuality(), isPureMode)
.compose(bindToLifecycle())
.subscribe((roomInfo1, throwable) -> {
if (throwable == null) {

View File

@@ -2,6 +2,7 @@ package com.yizhuan.erban.avroom.view;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomSettingTabInfo;
import com.yizhuan.xchat_android_core.room.bean.SingleRoomSortInfo;
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
import java.util.List;
@@ -18,12 +19,12 @@ public interface IRoomSettingView extends IMvpBaseView {
void onResultRequestTagAllFail(String error);
void updateRoomInfoSuccess(RoomInfo roomInfo);
void onResultRequestSingleRoomSortSuccess(List<SingleRoomSortInfo> tabInfoList);
void onResultRequestSingleRoomSortFail(String error);
void reQuestRoomInfo(RoomInfo roomInfo);
void updateRoomInfoFail(String error);
void onSuccessToFinish();
void onFailToToast(String error);

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#FFA936" android:state_selected="true" />
<item android:color="@color/color_666666" />
</selector>

View File

@@ -4,14 +4,15 @@
<item android:state_selected="true">
<shape>
<corners android:radius="25dp" />
<solid android:color="@color/appColor" />
<solid android:color="#FFF0C9" />
<stroke android:width="1px" android:color="#FFBC51" />
</shape>
</item>
<!-- 标签的正常背景 -->
<item>
<shape>
<corners android:radius="25dp" />
<solid android:color="@color/white_transparent_10" />
<solid android:color="@color/color_F1F1FA" />
</shape>
</item>
</selector>

View File

@@ -10,66 +10,118 @@
type="android.view.View.OnClickListener" />
</data>
<FrameLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_normal_1c1b22">
android:background="@color/bg_normal_1c1b22"
android:orientation="vertical">
<LinearLayout
<com.yizhuan.erban.base.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30" />
<com.yizhuan.erban.base.TitleBar
android:id="@+id/title_bar"
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30" />
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/layout_room_name_edit"
android:layout_width="match_parent"
android:layout_height="44dp"
android:onClick="@{click}">
<TextView
android:id="@+id/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间名"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<TextView
android:id="@+id/tv_room_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_16"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="@dimen/dp_10"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:maxLines="1"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="@dimen/sp_13"
tools:text="官方房官方房官方房官方房官方房官方房官方房官方房官方" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/rl_pwd"
android:layout_width="match_parent"
android:layout_height="44dp">
<TextView
android:id="@+id/pwd_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间上锁"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<ImageView
android:id="@+id/iv_room_lock"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_25"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_15"
android:onClick="@{click}"
android:scaleType="fitCenter"
android:src="@drawable/icon_room_set_lock_false" />
<EditText
android:id="@+id/pwd_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@id/pwd_text"
android:background="@null"
android:hint="请设置房间密码"
android:inputType="number"
android:maxLength="8"
android:singleLine="true"
android:textColor="@color/text_normal_c6c6e9"
android:textColorHint="@color/text_hint_555574"
android:textCursorDrawable="@null"
android:textSize="14dp"
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
android:id="@+id/layout_pwd_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/layout_room_name_edit"
android:layout_width="match_parent"
android:layout_height="44dp"
android:onClick="@{click}">
<TextView
android:id="@+id/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间名"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<TextView
android:id="@+id/tv_room_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_16"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="@dimen/dp_10"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:maxLines="1"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="@dimen/sp_13"
tools:text="官方房官方房官方房官方房官方房官方房官方房官方房官方" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
@@ -77,350 +129,400 @@
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/rl_pwd"
<TextView
android:id="@+id/tv_password"
android:layout_width="match_parent"
android:layout_height="44dp">
android:layout_height="@dimen/dp_44"
android:drawableEnd="@drawable/arrow_right"
android:gravity="center_vertical"
android:onClick="@{click}"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15"
tools:text="123456" />
<TextView
android:id="@+id/pwd_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间上锁"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
</LinearLayout>
<ImageView
android:id="@+id/iv_room_lock"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_25"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_15"
android:onClick="@{click}"
android:scaleType="fitCenter"
android:src="@drawable/icon_room_set_lock_false" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_10"
android:background="@color/line_353548" />
<EditText
android:id="@+id/pwd_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@id/pwd_text"
android:background="@null"
android:hint="请设置房间密码"
android:inputType="number"
android:maxLength="8"
android:singleLine="true"
android:textColor="@color/text_normal_c6c6e9"
android:textColorHint="@color/text_hint_555574"
android:textCursorDrawable="@null"
android:textSize="14dp"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_single_room_sort"
android:layout_width="match_parent"
android:layout_height="44dp"
android:onClick="@{click}"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:id="@+id/layout_pwd_result"
android:layout_width="match_parent"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间分类"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<TextView
android:id="@+id/tv_single_room_sort"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_16"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="@dimen/dp_10"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:maxLines="1"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
tools:text="聊天" />
<TextView
android:id="@+id/tv_password"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_44"
android:drawableEnd="@drawable/arrow_right"
android:gravity="center_vertical"
android:onClick="@{click}"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15"
tools:text="123456" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_10"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/layout_label"
android:layout_width="match_parent"
android:layout_height="44dp"
android:onClick="@{click}">
<RelativeLayout
android:id="@+id/layout_label"
android:layout_width="match_parent"
android:layout_height="44dp"
android:onClick="@{click}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间标签"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间标签"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<TextView
android:id="@+id/tv_room_label"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_16"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="@dimen/dp_10"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:maxLines="1"
android:textColor="@color/app_248cfe"
android:textSize="@dimen/sp_13"
tools:text="聊天" />
<TextView
android:id="@+id/tv_room_label"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_16"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="@dimen/dp_10"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:maxLines="1"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
tools:text="聊天" />
</RelativeLayout>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_10"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/manager_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_10"
android:background="@color/line_353548" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="管理员"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<RelativeLayout
android:id="@+id/manager_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="管理员"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/black_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_marginTop="1dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="黑名单"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/room_bg_layout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="@string/room_bg_text"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/audio_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
android:text="高品质音效"
android:textColor="@color/text_title_white" />
<RelativeLayout
android:id="@+id/black_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_marginTop="1dp">
<Switch
android:id="@+id/switch_audio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="黑名单"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/gift_layout"
android:layout_width="match_parent"
android:layout_height="55dp">
<View
android:layout_width="match_parent"
android:layout_height="1px"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
android:text="房间礼物特效"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<RelativeLayout
android:id="@+id/room_bg_layout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:visibility="gone">
<ImageView
android:id="@+id/switch_gift"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="@string/room_bg_text"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/screen_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45">
<RelativeLayout
android:id="@+id/audio_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间公屏"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:text="高品质音效"
android:textColor="@color/text_title_white" />
<ImageView
android:id="@+id/switch_screen"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<Switch
android:id="@+id/switch_audio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/arrow_right" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
<RelativeLayout
android:id="@+id/queuing_micro_mode_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
android:text="@string/text_room_queuing_micro_mode"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<RelativeLayout
android:id="@+id/gift_layout"
android:layout_width="match_parent"
android:layout_height="55dp">
<ImageView
android:id="@+id/switch_queuing_micro_mode"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:text="房间礼物特效"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548"
android:visibility="gone" />
<ImageView
android:id="@+id/switch_gift"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/room_pure_mode_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp_45"
android:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="1px"
<TextView
android:id="@+id/tv_room_pure_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
android:layout_marginTop="@dimen/dp_13"
android:text="@string/text_room_pure_mode"
android:textColor="@color/text_title_white"
android:textSize="@dimen/dp_15"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="SpUsage" />
<RelativeLayout
android:id="@+id/screen_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:text="房间公屏"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<ImageView
android:id="@+id/switch_screen"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/queuing_micro_mode_layout"
android:layout_width="match_parent"
<TextView
android:id="@+id/tv_tips_room_pure_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginBottom="@dimen/dp_12"
android:text="@string/tips_open_room_pure_mode"
android:textColor="@color/text_secondary_4f516a"
android:textSize="@dimen/dp_12"
android:visibility="gone"
android:layout_height="@dimen/dp_45">
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/tv_room_pure_mode"
app:layout_constraintTop_toBottomOf="@+id/tv_room_pure_mode"
tools:ignore="SpUsage"
tools:visibility="gone" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:text="@string/text_room_queuing_micro_mode"
android:textColor="@color/text_title_white"
android:textSize="@dimen/sp_15" />
<ImageView
android:id="@+id/switch_room_pure_mode"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_25"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginEnd="@dimen/dp_15"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/switch_queuing_micro_mode"
android:layout_width="45dp"
android:layout_height="25dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="15dp"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false" />
</RelativeLayout>
<LinearLayout
android:id="@+id/leave_mode_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548"
android:visibility="gone" />
android:background="@color/line_353548" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/room_pure_mode_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp_45"
android:visibility="gone">
android:minHeight="@dimen/dp_45">
<TextView
android:id="@+id/tv_room_pure_mode"
android:id="@+id/tv_leave_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/text_room_pure_mode"
android:text="@string/text_leave_mode"
android:textColor="@color/text_title_white"
android:textSize="@dimen/dp_15"
app:layout_constraintStart_toStartOf="parent"
@@ -428,23 +530,23 @@
tools:ignore="SpUsage" />
<TextView
android:id="@+id/tv_tips_room_pure_mode"
android:id="@+id/tv_tips_leave_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginBottom="@dimen/dp_12"
android:text="@string/tips_open_room_pure_mode"
android:text="@string/tips_leave_mode"
android:textColor="@color/text_secondary_4f516a"
android:textSize="@dimen/dp_12"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/tv_room_pure_mode"
app:layout_constraintTop_toBottomOf="@+id/tv_room_pure_mode"
app:layout_constraintStart_toStartOf="@id/tv_leave_mode"
app:layout_constraintTop_toBottomOf="@id/tv_leave_mode"
tools:ignore="SpUsage"
tools:visibility="gone" />
<ImageView
android:id="@+id/switch_room_pure_mode"
android:id="@+id/switch_leave_mode"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_25"
android:layout_alignParentEnd="true"
@@ -455,87 +557,18 @@
android:src="@drawable/icon_room_set_lock_false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/leave_mode_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:background="@color/line_353548" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp_45">
<TextView
android:id="@+id/tv_leave_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/text_leave_mode"
android:textColor="@color/text_title_white"
android:textSize="@dimen/dp_15"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="SpUsage" />
<TextView
android:id="@+id/tv_tips_leave_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginBottom="@dimen/dp_12"
android:text="@string/tips_leave_mode"
android:textColor="@color/text_secondary_4f516a"
android:textSize="@dimen/dp_12"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_leave_mode"
app:layout_constraintTop_toBottomOf="@id/tv_leave_mode"
tools:ignore="SpUsage"
tools:visibility="gone" />
<ImageView
android:id="@+id/switch_leave_mode"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_25"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginEnd="@dimen/dp_15"
android:onClick="@{click}"
android:src="@drawable/icon_room_set_lock_false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/bg_secondary_2a2a39" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<ViewStub
android:id="@+id/vs_labels"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/include_layout_room_lable" />
</FrameLayout>
<View
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/bg_secondary_2a2a39" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</layout>

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="click"
type="android.view.View.OnClickListener" />
</data>
<LinearLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:background="@drawable/dialog_background"
android:orientation="vertical"
android:paddingTop="@dimen/dp_16"
android:paddingBottom="@dimen/dp_16">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="房间标签"
android:textColor="#ff333333"
android:textSize="15sp" />
<com.donkingliang.labels.LabelsView
android:id="@+id/labels_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="32dp"
app:labelBackground="@drawable/bg_label"
app:labelTextColor="@color/color_selector_app_color_false_white"
app:labelTextPaddingBottom="5dp"
app:labelTextPaddingLeft="12dp"
app:labelTextPaddingRight="12dp"
app:labelTextPaddingTop="5dp"
app:labelTextSize="@dimen/sp_13"
app:lineMargin="10dp"
app:maxSelect="1"
app:selectType="SINGLE"
app:wordMargin="10dp" />
<TextView
android:id="@+id/tv_confirm"
android:layout_width="260dp"
android:layout_height="38dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="48dp"
android:background="@drawable/common_btn_bg"
android:gravity="center"
android:text="完成"
android:onClick="@{click}"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
</layout>

View File

@@ -1,78 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/black_transparent_90"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_close_label"
android:src="@drawable/icon_close_labe"
android:layout_gravity="end"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginEnd="@dimen/dp_23"
android:layout_width="@dimen/dp_22"
android:layout_height="@dimen/dp_22" />
<TextView
android:text="@string/select_a_label_for_your_room"
android:textSize="@dimen/sp_22"
android:layout_marginTop="115dp"
android:layout_marginStart="@dimen/dp_44"
android:textColor="@color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_marginStart="46dp"
android:text="聊天"
android:layout_marginTop="@dimen/dp_25"
android:textColor="@color/white_transparent_50"
android:textSize="@dimen/sp_14"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="240dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.donkingliang.labels.LabelsView
android:id="@+id/labels_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="43dp"
android:layout_marginEnd="43dp"
android:layout_marginTop="7dp"
app:labelBackground="@drawable/bg_label"
app:labelTextColor="@color/white"
app:labelTextPaddingBottom="2.5dp"
app:labelTextPaddingLeft="12dp"
app:labelTextPaddingRight="12dp"
app:labelTextPaddingTop="2dp"
app:labelTextSize="@dimen/sp_13"
app:lineMargin="10dp"
app:maxSelect="1"
app:selectType="SINGLE"
app:wordMargin="10dp" />
</LinearLayout>
</ScrollView>
<com.coorchice.library.SuperTextView
android:id="@+id/tv_select_lable"
android:text="完成"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:layout_marginTop="@dimen/dp_10"
android:layout_width="196dp"
android:layout_height="@dimen/dp_44"
app:solid="@color/appColor"
app:corner="@dimen/dp_50" />
</LinearLayout>

View File

@@ -123,7 +123,7 @@
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.8</item>
<item name="android:backgroundDimAmount">0.5</item>
</style>
<style name="top_dialog" parent="Theme.AppCompat.Dialog">

View File

@@ -81,9 +81,8 @@ public class RoomInfo implements Parcelable,Serializable {
public String roomPwd;
private String sortName;
/** 主题类型名称 */
private String roomTag;
/** 主题类型id */
public int tagId;
@@ -144,6 +143,7 @@ public class RoomInfo implements Parcelable,Serializable {
private boolean showPkBeginTime;
private long pkBeginTime;
protected RoomInfo(Parcel in) {
uid = in.readLong();
officeUser = in.readInt();
@@ -165,6 +165,7 @@ public class RoomInfo implements Parcelable,Serializable {
meetingName = in.readString();
roomPwd = in.readString();
roomTag = in.readString();
sortName = in.readString();
tagId = in.readInt();
tagPict = in.readString();
onlineNum = in.readInt();
@@ -186,6 +187,8 @@ public class RoomInfo implements Parcelable,Serializable {
nick = in.readString();
gender = in.readInt();
worldId = in.readLong();
showPkBeginTime = in.readByte() != 0;
pkBeginTime = in.readLong();
showGiftValue = in.readByte() != 0;
hideFlag = in.readInt();
closeScreenFlag = in.readInt();
@@ -224,6 +227,7 @@ public class RoomInfo implements Parcelable,Serializable {
dest.writeString(meetingName);
dest.writeString(roomPwd);
dest.writeString(roomTag);
dest.writeString(sortName);
dest.writeInt(tagId);
dest.writeString(tagPict);
dest.writeInt(onlineNum);
@@ -245,6 +249,8 @@ public class RoomInfo implements Parcelable,Serializable {
dest.writeString(nick);
dest.writeInt(gender);
dest.writeLong(worldId);
dest.writeByte((byte) (showPkBeginTime ? 1 : 0));
dest.writeLong(pkBeginTime);
dest.writeByte((byte) (showGiftValue ? 1 : 0));
dest.writeInt(hideFlag);
dest.writeInt(closeScreenFlag);

View File

@@ -0,0 +1,6 @@
package com.yizhuan.xchat_android_core.room.bean
data class SingleRoomSortInfo(
val id: Long = 0,
val sortName: String = "",
)

View File

@@ -8,6 +8,7 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
import com.yizhuan.xchat_android_core.manager.BaseMvpModel;
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.bean.RoomSettingTabInfo;
import com.yizhuan.xchat_android_core.room.bean.SingleRoomSortInfo;
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
@@ -49,6 +50,12 @@ public class RoomSettingModel extends BaseMvpModel {
.observeOn(AndroidSchedulers.mainThread());
}
public Single<List<SingleRoomSortInfo>> requestSingleRoomSort() {
return mRoomSettingService.requestSingleRoomSort()
.compose(RxHelper.handleSchAndExce())
.compose(RxHelper.handleBeanData());
}
public Single<String> invite(long uid, String uids) {
return mRoomSettingService.invite(uid, uids)
.flatMap(new Function<ServiceResult<String>, SingleSource<? extends String>>() {
@@ -89,7 +96,34 @@ public class RoomSettingModel extends BaseMvpModel {
boolean isPureMode,
int type,
long gameId) {
return mRoomSettingService.updateRoomInfo(title, desc, introduction, pwd, label, tagId, uid, hasEffect, audio, limitType, isPureMode, type, gameId)
return updateRoomInfo(title, desc, introduction, pwd, label, tagId, uid, ticket, hasEffect, audio, limitType, isPureMode, type, gameId, null);
}
/**
* 更新房间设置信息
*
* @param title
* @param desc
* @param pwd
* @param label 标签名字
* @param tagId 标签id
*/
public Single<RoomInfo> updateRoomInfo(String title,
String desc,
String introduction,
String pwd,
String label,
int tagId,
long uid,
String ticket,
boolean hasEffect,
int audio,
String limitType,
boolean isPureMode,
int type,
long gameId,
Long singleRoomSortId) {
return mRoomSettingService.updateRoomInfo(title, desc, introduction, pwd, label, tagId, uid, hasEffect, audio, limitType, isPureMode, type, gameId, singleRoomSortId)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.onErrorResumeNext(this.<RoomInfo>getSingleCommonExceptionFunction())
@@ -137,7 +171,7 @@ public class RoomSettingModel extends BaseMvpModel {
String introduction, String pwd, String label,
int tagId, boolean hasEffect, int audio, boolean isPureMode) {
return mRoomSettingService.updateRoomPureMode(roomUid, title, desc, introduction, pwd, label,
tagId, AuthModel.get().getCurrentUid(), hasEffect, audio, isPureMode)
tagId, AuthModel.get().getCurrentUid(), hasEffect, audio, isPureMode)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.onErrorResumeNext(this.<RoomInfo>getSingleCommonExceptionFunction())
@@ -162,7 +196,7 @@ public class RoomSettingModel extends BaseMvpModel {
int tagId, boolean hasEffect, int audio,
String limitType, boolean isPureMode) {
return mRoomSettingService.updateRoomPureModeOwner(title, desc, introduction, pwd, label,
tagId, AuthModel.get().getCurrentUid(), hasEffect, audio, limitType, isPureMode)
tagId, AuthModel.get().getCurrentUid(), hasEffect, audio, limitType, isPureMode)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.onErrorResumeNext(this.<RoomInfo>getSingleCommonExceptionFunction())
@@ -221,6 +255,12 @@ public class RoomSettingModel extends BaseMvpModel {
@POST("room/tag/v4/all")
Single<ServiceResult<List<RoomSettingTabInfo>>> requestTagAll(@Field("uid") long uid);
/**
* @return
*/
@GET("single/broadcast/sort")
Single<ServiceResult<List<SingleRoomSortInfo>>> requestSingleRoomSort();
/**
* 更新房间设置信息
*
@@ -243,7 +283,8 @@ public class RoomSettingModel extends BaseMvpModel {
@Field("limitType") String limitType,
@Field("isPureMode") boolean isPureMode,
@Field("type") int type,
@Field("mgId") long gameId);
@Field("mgId") long gameId,
@Field("singleRoomSortId") Long singleRoomSortId);
/**
* 更新房间设置信息