update 联系方式
update 女神说
@ -16,6 +16,7 @@ public class BannerBean {
|
|||||||
private int type;
|
private int type;
|
||||||
private String name;
|
private String name;
|
||||||
private int activityId=0;
|
private int activityId=0;
|
||||||
|
private int mIconRes;
|
||||||
|
|
||||||
private StarChallengeStatusModel model;
|
private StarChallengeStatusModel model;
|
||||||
|
|
||||||
@ -100,6 +101,14 @@ public class BannerBean {
|
|||||||
this.activityId = activityId;
|
this.activityId = activityId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getIconRes() {
|
||||||
|
return mIconRes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIconRes(int mIconRes) {
|
||||||
|
this.mIconRes = mIconRes;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "BannerBean{" +
|
return "BannerBean{" +
|
||||||
|
@ -0,0 +1,155 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import com.yunbao.common.CommonAppConfig;
|
||||||
|
import com.yunbao.common.utils.StringUtil;
|
||||||
|
|
||||||
|
public class LiveUserMailBoxModel extends BaseModel {
|
||||||
|
@SerializedName("id")
|
||||||
|
private int id;
|
||||||
|
@SerializedName("uid")
|
||||||
|
private int uid;
|
||||||
|
@SerializedName("liveuid")
|
||||||
|
private int liveUid;
|
||||||
|
@SerializedName("is_read")
|
||||||
|
private int isRead;
|
||||||
|
@SerializedName("content")
|
||||||
|
private String content;
|
||||||
|
@SerializedName("create_time")
|
||||||
|
private String createTime;
|
||||||
|
@SerializedName("gift_id")
|
||||||
|
private int giftId;
|
||||||
|
@SerializedName("userName")
|
||||||
|
private String userName;
|
||||||
|
@SerializedName("anchorName")
|
||||||
|
private String anchorName;
|
||||||
|
@SerializedName("url")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
public LiveUserMailBoxModel() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveUserMailBoxModel(int id, int uid, int liveUid, String content, String createTime, int giftId, String userName, String anchorName) {
|
||||||
|
this.id = id;
|
||||||
|
this.uid = uid;
|
||||||
|
this.liveUid = liveUid;
|
||||||
|
this.content = content;
|
||||||
|
this.createTime = createTime;
|
||||||
|
this.giftId = giftId;
|
||||||
|
this.userName = userName;
|
||||||
|
this.anchorName = anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUid() {
|
||||||
|
return uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUid(int uid) {
|
||||||
|
this.uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLiveUid() {
|
||||||
|
return liveUid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLiveUid(int liveUid) {
|
||||||
|
this.liveUid = liveUid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(String createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGiftId() {
|
||||||
|
return giftId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiftId(int giftId) {
|
||||||
|
this.giftId = giftId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAnchorName() {
|
||||||
|
return anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAnchorName(String anchorName) {
|
||||||
|
this.anchorName = anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIsRead() {
|
||||||
|
return isRead;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsRead(int isRead) {
|
||||||
|
this.isRead = isRead;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
if (StringUtil.isEmpty(url)) {
|
||||||
|
url = "http://www.baidu.com";
|
||||||
|
} else {
|
||||||
|
if (!url.startsWith("http")) {
|
||||||
|
url = CommonAppConfig.HOST + "/" + url;
|
||||||
|
}
|
||||||
|
if (url.contains("?")) {
|
||||||
|
url += "&";
|
||||||
|
} else {
|
||||||
|
url += "?";
|
||||||
|
}
|
||||||
|
url += "uid=" + CommonAppConfig.getInstance().getUid() + "&token="
|
||||||
|
+ CommonAppConfig.getInstance().getToken();
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "LiveUserMailBoxModel{" +
|
||||||
|
"id=" + id +
|
||||||
|
", uid=" + uid +
|
||||||
|
", liveUid=" + liveUid +
|
||||||
|
", isRead=" + isRead +
|
||||||
|
", content='" + content + '\'' +
|
||||||
|
", createTime='" + createTime + '\'' +
|
||||||
|
", giftId=" + giftId +
|
||||||
|
", userName='" + userName + '\'' +
|
||||||
|
", anchorName='" + anchorName + '\'' +
|
||||||
|
", url='" + url + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
@ -27,6 +27,7 @@ public abstract class AbsDialogPopupWindow extends BottomPopupView {
|
|||||||
public void showDialog() {
|
public void showDialog() {
|
||||||
XPopup.Builder builder = new XPopup.Builder(mContext);
|
XPopup.Builder builder = new XPopup.Builder(mContext);
|
||||||
builder.isDestroyOnDismiss(true);
|
builder.isDestroyOnDismiss(true);
|
||||||
|
builder.enableDrag(false);
|
||||||
buildDialog(builder);
|
buildDialog(builder);
|
||||||
builder.asCustom(this).show();
|
builder.asCustom(this).show();
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import com.yunbao.common.bean.LiveInfoModel;
|
|||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
||||||
import com.yunbao.common.bean.LiveTaskModel;
|
import com.yunbao.common.bean.LiveTaskModel;
|
||||||
|
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||||
import com.yunbao.common.bean.MsgSwitchDetailModel;
|
import com.yunbao.common.bean.MsgSwitchDetailModel;
|
||||||
import com.yunbao.common.bean.NewPeopleInfo;
|
import com.yunbao.common.bean.NewPeopleInfo;
|
||||||
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
||||||
@ -595,7 +596,7 @@ public interface PDLiveApi {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@GET("/api/public/?service=Live.setLivePreview")
|
@GET("/api/public/?service=Live.setLivePreview")
|
||||||
Observable<ResponseModel<HttpCallbackModel>> setLivePreviewInfo(
|
Observable<ResponseModel<String>> setLivePreviewInfo(
|
||||||
@Query("liveuid") String liveUid,
|
@Query("liveuid") String liveUid,
|
||||||
@Query("isShow") int isShow,
|
@Query("isShow") int isShow,
|
||||||
@Query("content") String content,
|
@Query("content") String content,
|
||||||
@ -623,5 +624,16 @@ public interface PDLiveApi {
|
|||||||
Observable<ResponseModel<LiveAnchorCallMeModel>> getContactInfo(
|
Observable<ResponseModel<LiveAnchorCallMeModel>> getContactInfo(
|
||||||
@Query("liveuid") String liveUid
|
@Query("liveuid") String liveUid
|
||||||
);
|
);
|
||||||
|
/**
|
||||||
|
* 获取收件箱信息
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=Live.getContactMsg")
|
||||||
|
Observable<ResponseModel<List<LiveUserMailBoxModel>>> getContactMsg();
|
||||||
|
/**
|
||||||
|
* 删除联系方式信件
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=Live.delContactMsg")
|
||||||
|
Observable<ResponseModel<String>> delContactMsg(
|
||||||
|
@Query("msgId") int msgId
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import com.yunbao.common.bean.LiveInfoModel;
|
|||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
||||||
import com.yunbao.common.bean.LiveTaskModel;
|
import com.yunbao.common.bean.LiveTaskModel;
|
||||||
|
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||||
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
||||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
import com.yunbao.common.bean.NobleTrumpetModel;
|
||||||
import com.yunbao.common.bean.PkRankBean;
|
import com.yunbao.common.bean.PkRankBean;
|
||||||
@ -1167,14 +1168,14 @@ public class LiveNetManager {
|
|||||||
/**
|
/**
|
||||||
* 设置女神说
|
* 设置女神说
|
||||||
*
|
*
|
||||||
* @param isShow 是否显示
|
* @param isShow 是否显示
|
||||||
* @param content 内容
|
* @param content 内容
|
||||||
* @param styleImage 女神说底图地址
|
* @param styleImage 女神说底图地址
|
||||||
*/
|
*/
|
||||||
public void setLivePreviewInfo(String liveUid,
|
public void setLivePreviewInfo(String liveUid,
|
||||||
int isShow,
|
int isShow,
|
||||||
String content,
|
String content,
|
||||||
String styleImage, HttpCallback<HttpCallbackModel> callback) {
|
String styleImage, HttpCallback<String> callback) {
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.setLivePreviewInfo(liveUid, isShow, content, styleImage)
|
.setLivePreviewInfo(liveUid, isShow, content, styleImage)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
@ -1192,8 +1193,9 @@ public class LiveNetManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置主播联系方式
|
* 设置主播联系方式
|
||||||
* @param liveUid 直播间id
|
*
|
||||||
* @param callMe 载体
|
* @param liveUid 直播间id
|
||||||
|
* @param callMe 载体
|
||||||
* @param callback 回调
|
* @param callback 回调
|
||||||
*/
|
*/
|
||||||
public void setAnchorCallMe(String liveUid,
|
public void setAnchorCallMe(String liveUid,
|
||||||
@ -1219,6 +1221,28 @@ public class LiveNetManager {
|
|||||||
}
|
}
|
||||||
}).isDisposed();
|
}).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取收件箱信息
|
||||||
|
*
|
||||||
|
* @param callback 回调
|
||||||
|
*/
|
||||||
|
public void getContactMsg(HttpCallback<List<LiveUserMailBoxModel>> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.getContactMsg()
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(listResponseModel -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onSuccess(listResponseModel.getData().getInfo());
|
||||||
|
}
|
||||||
|
}, throwable -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onError(throwable.getMessage());
|
||||||
|
}
|
||||||
|
}).isDisposed();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取主播联系方式
|
* 获取主播联系方式
|
||||||
*
|
*
|
||||||
@ -1240,6 +1264,29 @@ public class LiveNetManager {
|
|||||||
}
|
}
|
||||||
}).isDisposed();
|
}).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除联系方式信件
|
||||||
|
*
|
||||||
|
* @param msgId 信息id
|
||||||
|
* @param callback 回调
|
||||||
|
*/
|
||||||
|
public void delContactInfo(int msgId, HttpCallback<String> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.delContactMsg(msgId)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(listResponseModel -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onSuccess(listResponseModel.getData().getInfo());
|
||||||
|
}
|
||||||
|
}, throwable -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onError(throwable.getMessage());
|
||||||
|
}
|
||||||
|
}).isDisposed();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直播间取消网络请求
|
* 直播间取消网络请求
|
||||||
*/
|
*/
|
||||||
|
@ -42,6 +42,9 @@ public class IMLoginManager extends BaseCacheManager {
|
|||||||
private final String SELECT_CLARITY = "selectClarity";
|
private final String SELECT_CLARITY = "selectClarity";
|
||||||
private final String CLARITY = "clarity";
|
private final String CLARITY = "clarity";
|
||||||
private final String xiaJBG = "xiaJBG";
|
private final String xiaJBG = "xiaJBG";
|
||||||
|
private final String STATUS_ANCHOR_SAY = "anchorSay";
|
||||||
|
private final String STATUS_ANCHOR_CALL = "anchorCallMe";
|
||||||
|
|
||||||
|
|
||||||
public void setXiaJBG(boolean xjbg) {
|
public void setXiaJBG(boolean xjbg) {
|
||||||
put(xiaJBG, xjbg);
|
put(xiaJBG, xjbg);
|
||||||
@ -84,6 +87,34 @@ public class IMLoginManager extends BaseCacheManager {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取女神说设置状态
|
||||||
|
*/
|
||||||
|
public int getAnchorSayStatus() {
|
||||||
|
return getInt(STATUS_ANCHOR_SAY, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取联系主播方式设置状态
|
||||||
|
*/
|
||||||
|
public int getAnchorCallStatus() {
|
||||||
|
return getInt(STATUS_ANCHOR_CALL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置女神说设置状态
|
||||||
|
*/
|
||||||
|
public void setAnchorSayStatus(int status) {
|
||||||
|
put(STATUS_ANCHOR_SAY, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置联系主播方式设置状态
|
||||||
|
*/
|
||||||
|
public void setAnchorCallMeStatus(int status) {
|
||||||
|
put(STATUS_ANCHOR_CALL, status);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isHint() {
|
public boolean isHint() {
|
||||||
return 1 == getInt(IS_HINT, 0);
|
return 1 == getInt(IS_HINT, 0);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,9 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
//房间类型
|
//房间类型
|
||||||
private LiveRoomTypeBean liveRoomTypeBean;
|
private LiveRoomTypeBean liveRoomTypeBean;
|
||||||
|
|
||||||
private TextView textClarity, textLiveRoomType, textLiveClass, textLiveWishlist, textRobot;
|
private TextView textClarity, textLiveRoomType, textLiveClass, textLiveWishlist, textRobot, textSay, textCall;
|
||||||
|
|
||||||
|
private int status_say, status_call;
|
||||||
|
|
||||||
public LiveOpenCustomPopup setClassBean(LiveClassBean classBean) {
|
public LiveOpenCustomPopup setClassBean(LiveClassBean classBean) {
|
||||||
this.classBean = classBean;
|
this.classBean = classBean;
|
||||||
@ -65,6 +67,8 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
textLiveClass = findViewById(R.id.text_live_class);
|
textLiveClass = findViewById(R.id.text_live_class);
|
||||||
textLiveWishlist = findViewById(R.id.text_live_wishlist);
|
textLiveWishlist = findViewById(R.id.text_live_wishlist);
|
||||||
textRobot = findViewById(R.id.text_robot);
|
textRobot = findViewById(R.id.text_robot);
|
||||||
|
textSay = findViewById(R.id.text_say);
|
||||||
|
textCall = findViewById(R.id.text_call);
|
||||||
if (classBean != null) {
|
if (classBean != null) {
|
||||||
textLiveClass.setText(classBean.getName());
|
textLiveClass.setText(classBean.getName());
|
||||||
}
|
}
|
||||||
@ -114,6 +118,24 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//设置女神说
|
||||||
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_say), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
|
@Override
|
||||||
|
public void onViewClicks() {
|
||||||
|
if (callBack != null) {
|
||||||
|
callBack.openAnchorSay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//设置联系方式
|
||||||
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_call), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
|
@Override
|
||||||
|
public void onViewClicks() {
|
||||||
|
if (callBack != null) {
|
||||||
|
callBack.openCallMe();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectClarity(int selectClarity) {
|
public void setSelectClarity(int selectClarity) {
|
||||||
@ -130,7 +152,27 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSayStatus(boolean isShow) {
|
||||||
|
textSay.setText(isShow ? R.string.do_set : R.string.not_set);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCallMeStatus(boolean isShow) {
|
||||||
|
textCall.setText(isShow ? R.string.robot_yes : R.string.robot_no);
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveOpenCustomPopup setSayStatus(int status) {
|
||||||
|
this.status_say = status;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveOpenCustomPopup setCallMeStatus(int status) {
|
||||||
|
this.status_call = status;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public void initDate() {
|
public void initDate() {
|
||||||
|
textSay.setText(status_say == 1 ? R.string.do_set : R.string.not_set);
|
||||||
|
textCall.setText(status_call == 1 ? R.string.robot_yes : R.string.robot_no);
|
||||||
LiveNetManager.get(getContext())
|
LiveNetManager.get(getContext())
|
||||||
.getLiveStetUpStatus(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()),
|
.getLiveStetUpStatus(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()),
|
||||||
new HttpCallback<LiveStetUpStatusModel>() {
|
new HttpCallback<LiveStetUpStatusModel>() {
|
||||||
@ -142,7 +184,7 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
ToastUtil.show( R.string.net_error);
|
ToastUtil.show(R.string.net_error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -174,5 +216,11 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
|
|
||||||
//打開心願單
|
//打開心願單
|
||||||
void openWishlist();
|
void openWishlist();
|
||||||
|
|
||||||
|
//设置女神说
|
||||||
|
void openAnchorSay();
|
||||||
|
|
||||||
|
//设置联系方式
|
||||||
|
void openCallMe();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -335,7 +335,48 @@
|
|||||||
android:textColor="#FF9A9A9A"
|
android:textColor="#FF9A9A9A"
|
||||||
android:textSize="12sp" />
|
android:textSize="12sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_anchor_say"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="23dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:src="@mipmap/ic_live_fun_anchor_say" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:text="@string/live_fun_anchor_say"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_call_me"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="23dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:src="@mipmap/ic_live_fun_anchor_letter" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:text="@string/live_fun_call_me"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</HorizontalScrollView>
|
</HorizontalScrollView>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="280dp"
|
android:layout_width="280dp"
|
||||||
android:layout_height="340dp"
|
android:layout_height="440dp"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardCornerRadius="12dp"
|
||||||
app:cardElevation="16dp">
|
app:cardElevation="16dp">
|
||||||
@ -206,6 +206,80 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/line_say"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="29dp"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:layout_marginEnd="29dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/live_fun_anchor_say"
|
||||||
|
android:textColor="#999999"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/text_say"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/clarity"
|
||||||
|
android:textColor="#FFC621"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="5dp"
|
||||||
|
android:layout_height="10dp"
|
||||||
|
android:layout_marginStart="6dp"
|
||||||
|
android:src="@mipmap/icon_more_open" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/line_call"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="29dp"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:layout_marginEnd="29dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/live_fun_call_me"
|
||||||
|
android:textColor="#999999"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/text_call"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/clarity"
|
||||||
|
android:textColor="#FFC621"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="5dp"
|
||||||
|
android:layout_height="10dp"
|
||||||
|
android:layout_marginStart="6dp"
|
||||||
|
android:src="@mipmap/icon_more_open" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
BIN
common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
@ -734,6 +734,8 @@
|
|||||||
<string name="live_mic">語音連麥</string>
|
<string name="live_mic">語音連麥</string>
|
||||||
<string name="live_wks">周星榜</string>
|
<string name="live_wks">周星榜</string>
|
||||||
<string name="live_zslk">暫時離開</string>
|
<string name="live_zslk">暫時離開</string>
|
||||||
|
<string name="live_fun_call_me">聯繫方式</string>
|
||||||
|
<string name="live_fun_anchor_say">女神說</string>
|
||||||
<string name="live_zslk1">恢復直播</string>
|
<string name="live_zslk1">恢復直播</string>
|
||||||
<string name="live_set_wishlist_num">請輸入數字</string>
|
<string name="live_set_wishlist_num">請輸入數字</string>
|
||||||
<string name="guard_tip_day">您是當前主播的周守護\n守護日期截止到</string>
|
<string name="guard_tip_day">您是當前主播的周守護\n守護日期截止到</string>
|
||||||
|
@ -68,6 +68,7 @@ import com.yunbao.live.dialog.LiveNewGuardListDialogFragment;
|
|||||||
import com.yunbao.live.dialog.LiveRedPackListDialogFragment;
|
import com.yunbao.live.dialog.LiveRedPackListDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveRedPackSendDialogFragment;
|
import com.yunbao.live.dialog.LiveRedPackSendDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveShareDialogFragment;
|
import com.yunbao.live.dialog.LiveShareDialogFragment;
|
||||||
|
import com.yunbao.live.dialog.LiveUserAnchorMailBoxPopDialog;
|
||||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveUserMoreDialogFragment;
|
import com.yunbao.live.dialog.LiveUserMoreDialogFragment;
|
||||||
import com.yunbao.live.http.LiveHttpConsts;
|
import com.yunbao.live.http.LiveHttpConsts;
|
||||||
@ -895,8 +896,9 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
|||||||
* 打开私信列表窗口
|
* 打开私信列表窗口
|
||||||
*/
|
*/
|
||||||
public void openChatListWindow() {
|
public void openChatListWindow() {
|
||||||
Intent intent = new Intent(mContext, PDLIiveChatActivity.class);
|
// Intent intent = new Intent(mContext, PDLIiveChatActivity.class);
|
||||||
mContext.startActivity(intent);
|
// mContext.startActivity(intent);
|
||||||
|
new LiveUserAnchorMailBoxPopDialog(mContext).showDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1288,7 +1290,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
|||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
Log.e("LiveUserMoreDialog", error);
|
Log.e("LiveUserMoreDialog", error);
|
||||||
ToastUtil.show( R.string.net_error);
|
ToastUtil.show(R.string.net_error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -1277,6 +1277,9 @@ public class LiveAudienceActivity extends LiveActivity {
|
|||||||
manager.endDRGif();
|
manager.endDRGif();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case LIVE_HIDE_MSG_RED:
|
||||||
|
showMsgRed(-1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1412,6 +1415,21 @@ public class LiveAudienceActivity extends LiveActivity {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
|
public void showMsgRed(int num) {
|
||||||
|
if (manager == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (num == -1) {
|
||||||
|
manager.mLiveAudienceViewHolder.mRedPoint.setVisibility(View.GONE);
|
||||||
|
return;
|
||||||
|
} else if (num > 0) {
|
||||||
|
manager.mLiveAudienceViewHolder.mRedPoint.setText(num + "");
|
||||||
|
}
|
||||||
|
manager.mLiveAudienceViewHolder.mRedPoint.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void closeRoom() {
|
public void closeRoom() {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,6 +22,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
|||||||
import com.yunbao.common.utils.DialogUitl;
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
import com.yunbao.common.utils.StringUtil;
|
import com.yunbao.common.utils.StringUtil;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.dialog.GiftPopDialog;
|
import com.yunbao.live.dialog.GiftPopDialog;
|
||||||
import com.yunbao.live.dialog.LiveAnchorEditCallMeEditAppDialog;
|
import com.yunbao.live.dialog.LiveAnchorEditCallMeEditAppDialog;
|
||||||
@ -38,12 +39,9 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
private Context mContext;
|
private Context mContext;
|
||||||
private OnItemClickListener<TmpData> onItemClickListener;
|
private OnItemClickListener<TmpData> onItemClickListener;
|
||||||
private List<TmpData> list = new ArrayList<>();
|
private List<TmpData> list = new ArrayList<>();
|
||||||
private String mLiveUid = "98275";
|
|
||||||
private View mParent;
|
|
||||||
|
|
||||||
public LiveAnchorEditCallMeAdapter(Context mContext, View parent) {
|
public LiveAnchorEditCallMeAdapter(Context mContext) {
|
||||||
this.mContext = mContext;
|
this.mContext = mContext;
|
||||||
this.mParent = parent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setList(List<TmpData> list) {
|
public void setList(List<TmpData> list) {
|
||||||
@ -179,7 +177,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.setShowNumber(false)
|
.setShowNumber(false)
|
||||||
.setTitle("選擇禮物")
|
.setTitle(WordUtil.getString(R.string.live_anchor_edit_call_me_select_gift))
|
||||||
.showDialog()
|
.showDialog()
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -199,7 +197,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
@Override
|
@Override
|
||||||
public void onItemClick(String bean, int position) {
|
public void onItemClick(String bean, int position) {
|
||||||
if (StringUtil.isEmpty(bean)) {
|
if (StringUtil.isEmpty(bean)) {
|
||||||
letter.setText("未填写");
|
letter.setText(WordUtil.getString(R.string.live_anchor_edit_call_me_not_filled));
|
||||||
letter.setTextColor(Color.parseColor("#80FFFFFF"));
|
letter.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
} else {
|
} else {
|
||||||
letter.setText(bean);
|
letter.setText(bean);
|
||||||
@ -239,7 +237,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
super.setData(data, position);
|
super.setData(data, position);
|
||||||
if (StringUtil.isEmpty(data.getValue())) {
|
if (StringUtil.isEmpty(data.getValue())) {
|
||||||
contact.setTag(null);
|
contact.setTag(null);
|
||||||
contact.setText("未填写");
|
contact.setText(WordUtil.getString(R.string.live_anchor_edit_call_me_not_filled));
|
||||||
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
} else {
|
} else {
|
||||||
contact.setTag(data.getValue());
|
contact.setTag(data.getValue());
|
||||||
@ -254,7 +252,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
status.setTag(data.getStatus());
|
status.setTag(data.getStatus());
|
||||||
status.setOnClickListener(v -> {
|
status.setOnClickListener(v -> {
|
||||||
if (StringUtil.isEmpty((String) contact.getTag())) {
|
if (StringUtil.isEmpty((String) contact.getTag())) {
|
||||||
ToastUtil.show("请填写联系方式后再启用");
|
ToastUtil.show(WordUtil.getString(R.string.live_anchor_edit_call_me_not_filled_toash));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int tag = (int) v.getTag();
|
int tag = (int) v.getTag();
|
||||||
@ -275,7 +273,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
public void onItemClick(String bean, int position) {
|
public void onItemClick(String bean, int position) {
|
||||||
if (StringUtil.isEmpty(bean)) {
|
if (StringUtil.isEmpty(bean)) {
|
||||||
contact.setTag(null);
|
contact.setTag(null);
|
||||||
contact.setText("未填写");
|
contact.setText(WordUtil.getString(R.string.live_anchor_edit_call_me_not_filled));
|
||||||
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
} else {
|
} else {
|
||||||
contact.setTag(bean);
|
contact.setTag(bean);
|
||||||
|
@ -0,0 +1,136 @@
|
|||||||
|
package com.yunbao.live.adapter;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.yunbao.common.bean.BaseModel;
|
||||||
|
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||||
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
import com.yunbao.live.R;
|
||||||
|
import com.yunbao.live.dialog.LiveUserAnchorMailBoxWebInfoPopDialog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class LiveUserAnchorMailBoxAdapter extends RecyclerView.Adapter<LiveUserAnchorMailBoxAdapter.MailBoxViewHolder> {
|
||||||
|
private Context mContext;
|
||||||
|
private List<LiveUserMailBoxModel> list;
|
||||||
|
OnItemClickListener<LiveUserMailBoxModel> onItemClickListener;
|
||||||
|
|
||||||
|
public LiveUserAnchorMailBoxAdapter(Context mContext) {
|
||||||
|
this.mContext = mContext;
|
||||||
|
list = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setList(List<LiveUserMailBoxModel> list) {
|
||||||
|
this.list = list;
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LiveUserMailBoxModel> getList() {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOnItemClickListener(OnItemClickListener<LiveUserMailBoxModel> onItemClickListener) {
|
||||||
|
this.onItemClickListener = onItemClickListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public MailBoxViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
|
return new MailBoxViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_live_user_mailbox, parent, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(@NonNull MailBoxViewHolder holder, int position) {
|
||||||
|
holder.setData(list.get(position), position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemCount() {
|
||||||
|
return list.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MailBoxViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
TextView topText;
|
||||||
|
TextView userName;
|
||||||
|
TextView tipText;
|
||||||
|
View del;
|
||||||
|
|
||||||
|
public MailBoxViewHolder(@NonNull View itemView) {
|
||||||
|
super(itemView);
|
||||||
|
topText = itemView.findViewById(R.id.top_text);
|
||||||
|
userName = itemView.findViewById(R.id.user_name);
|
||||||
|
tipText = itemView.findViewById(R.id.tip);
|
||||||
|
del = itemView.findViewById(R.id.del);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setData(LiveUserMailBoxModel box, int position) {
|
||||||
|
userName.setText(box.getUserName());
|
||||||
|
topText.setText(String.format(WordUtil.getString(R.string.live_user_mailbox_top_text), box.getAnchorName()));
|
||||||
|
tipText.setText(String.format(WordUtil.getString(R.string.live_user_mailbox_tip_text), box.getAnchorName()));
|
||||||
|
del.setOnClickListener(v -> {
|
||||||
|
new DialogUitl.Builder(mContext)
|
||||||
|
.setTitle(WordUtil.getString(R.string.live_user_letter_dialog_title))
|
||||||
|
.setContent(WordUtil.getString(R.string.live_user_letter_dialog_content))
|
||||||
|
.setConfrimString(WordUtil.getString(R.string.live_user_letter_dialog_yes))
|
||||||
|
.setCancelString(WordUtil.getString(R.string.live_user_letter_dialog_no))
|
||||||
|
.setView(R.layout.dialog_live_random_pk)
|
||||||
|
.setCancelable(true)
|
||||||
|
.setClickCallback((dialog, content) -> LiveNetManager.get(mContext).delContactInfo(box.getId(), new HttpCallback<String>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(String data) {
|
||||||
|
Log.i("刪除信件", "onSuccess:刪除成功 ");
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
list.removeIf(it -> it.getId() == box.getId());
|
||||||
|
}
|
||||||
|
System.err.println("-----> list size = " + list.size());
|
||||||
|
notifyDataSetChanged();
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(box, position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
Log.i("刪除信件", "onError: " + error);
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
.build().show();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
itemView.setOnClickListener(new OnClick(box));
|
||||||
|
userName.setOnClickListener(new OnClick(box));
|
||||||
|
topText.setOnClickListener(new OnClick(box));
|
||||||
|
tipText.setOnClickListener(new OnClick(box));
|
||||||
|
}
|
||||||
|
|
||||||
|
private class OnClick implements View.OnClickListener {
|
||||||
|
LiveUserMailBoxModel box;
|
||||||
|
|
||||||
|
public OnClick(LiveUserMailBoxModel box) {
|
||||||
|
this.box = box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
new LiveUserAnchorMailBoxWebInfoPopDialog(mContext, box.getAnchorName(), box.getUrl()).showDialog();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -8,13 +8,14 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.lxj.xpopup.XPopup;
|
import com.lxj.xpopup.XPopup;
|
||||||
import com.yunbao.common.bean.BaseModel;
|
|
||||||
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter;
|
import com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter;
|
||||||
|
|
||||||
@ -22,11 +23,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
||||||
String mLiveUid = "98275";
|
String mLiveUid = "";
|
||||||
RecyclerView list;
|
RecyclerView list;
|
||||||
LiveAnchorCallMeModel callMeModel;
|
LiveAnchorCallMeModel callMeModel;
|
||||||
LiveAnchorEditCallMeAdapter adapter;
|
LiveAnchorEditCallMeAdapter adapter;
|
||||||
ImageView status;
|
ImageView status;
|
||||||
|
OnItemClickListener<LiveAnchorCallMeModel> onItemClickListener;
|
||||||
|
|
||||||
public LiveAnchorEditCallMeDialog(@NonNull Context context) {
|
public LiveAnchorEditCallMeDialog(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -38,6 +40,11 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
builder.autoFocusEditText(false);
|
builder.autoFocusEditText(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LiveAnchorEditCallMeDialog setOnItemClickListener(OnItemClickListener<LiveAnchorCallMeModel> onItemClickListener) {
|
||||||
|
this.onItemClickListener = onItemClickListener;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int bindLayoutId() {
|
public int bindLayoutId() {
|
||||||
return R.layout.dialog_anchor_call_me;
|
return R.layout.dialog_anchor_call_me;
|
||||||
@ -55,6 +62,15 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
.getContactInfo(mLiveUid, new HttpCallback<LiveAnchorCallMeModel>() {
|
.getContactInfo(mLiveUid, new HttpCallback<LiveAnchorCallMeModel>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(LiveAnchorCallMeModel data) {
|
public void onSuccess(LiveAnchorCallMeModel data) {
|
||||||
|
setData(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
setData(new LiveAnchorCallMeModel());
|
||||||
|
}
|
||||||
|
|
||||||
|
void setData(LiveAnchorCallMeModel data) {
|
||||||
callMeModel = data;
|
callMeModel = data;
|
||||||
List<LiveAnchorEditCallMeAdapter.TmpData> list = new ArrayList<>();
|
List<LiveAnchorEditCallMeAdapter.TmpData> list = new ArrayList<>();
|
||||||
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getGiftImage(), 1, LiveAnchorEditCallMeAdapter.TYPE_GIFT));
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getGiftImage(), 1, LiveAnchorEditCallMeAdapter.TYPE_GIFT));
|
||||||
@ -63,11 +79,10 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getLine().getNumber(), data.getLine().getIsShow(), LiveAnchorEditCallMeAdapter.TYPE_APP_LINE));
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getLine().getNumber(), data.getLine().getIsShow(), LiveAnchorEditCallMeAdapter.TYPE_APP_LINE));
|
||||||
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getWhatsApp().getNumber(), data.getWhatsApp().getIsShow(), LiveAnchorEditCallMeAdapter.TYPE_APP_WHATSAPP));
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getWhatsApp().getNumber(), data.getWhatsApp().getIsShow(), LiveAnchorEditCallMeAdapter.TYPE_APP_WHATSAPP));
|
||||||
adapter.setList(list);
|
adapter.setList(list);
|
||||||
}
|
if (callMeModel.getIsShow() == 1) {
|
||||||
|
status.setImageResource(R.mipmap.special_icon_on);
|
||||||
@Override
|
status.setTag(1);
|
||||||
public void onError(String error) {
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -77,7 +92,7 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
list = findViewById(R.id.anchor_call_list);
|
list = findViewById(R.id.anchor_call_list);
|
||||||
status = findViewById(R.id.say_switch);
|
status = findViewById(R.id.say_switch);
|
||||||
findViewById(R.id.btn_close).setOnClickListener(v -> dismiss());
|
findViewById(R.id.btn_close).setOnClickListener(v -> dismiss());
|
||||||
adapter = new LiveAnchorEditCallMeAdapter(getContext(), getRootView());
|
adapter = new LiveAnchorEditCallMeAdapter(getContext());
|
||||||
adapter.setOnItemClickListener(new OnItemClickListener<LiveAnchorEditCallMeAdapter.TmpData>() {
|
adapter.setOnItemClickListener(new OnItemClickListener<LiveAnchorEditCallMeAdapter.TmpData>() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(LiveAnchorEditCallMeAdapter.TmpData bean, int position) {
|
public void onItemClick(LiveAnchorEditCallMeAdapter.TmpData bean, int position) {
|
||||||
@ -124,7 +139,7 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
.setAnchorCallMe(mLiveUid, callMeModel, new HttpCallback<String>() {
|
.setAnchorCallMe(mLiveUid, callMeModel, new HttpCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(String data) {
|
public void onSuccess(String data) {
|
||||||
ToastUtil.show("成功");
|
ToastUtil.show(WordUtil.isZh() ? "成功" : "success");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -132,5 +147,14 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
ToastUtil.show(error);
|
ToastUtil.show(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
IMLoginManager.get(getContext()).setAnchorCallMeStatus(callMeModel.getIsShow());
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(callMeModel, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveAnchorEditCallMeDialog setLiveUid(String liveUid) {
|
||||||
|
this.mLiveUid = liveUid;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,9 @@ import com.yunbao.common.glide.ImgLoader;
|
|||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.adapter.LiveAnchorSayItemsAdapter;
|
import com.yunbao.live.adapter.LiveAnchorSayItemsAdapter;
|
||||||
|
|
||||||
@ -41,6 +43,8 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
EditText sayEdit;
|
EditText sayEdit;
|
||||||
String mLiveUid;
|
String mLiveUid;
|
||||||
String url;
|
String url;
|
||||||
|
LiveAnchorSayModel sayModel;
|
||||||
|
OnItemClickListener<LiveAnchorSayModel> onItemClickListener;
|
||||||
|
|
||||||
public LiveAnchorSayPopDialog(@NonNull Context context) {
|
public LiveAnchorSayPopDialog(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -51,6 +55,11 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LiveAnchorSayPopDialog setOnItemClickListener(OnItemClickListener<LiveAnchorSayModel> onItemClickListener) {
|
||||||
|
this.onItemClickListener = onItemClickListener;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void buildDialog(XPopup.Builder builder) {
|
public void buildDialog(XPopup.Builder builder) {
|
||||||
builder.autoFocusEditText(false);
|
builder.autoFocusEditText(false);
|
||||||
@ -95,10 +104,11 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
if (saySwitch.getTag() == null) {
|
if (saySwitch.getTag() == null) {
|
||||||
saySwitch.setTag("");
|
saySwitch.setTag("");
|
||||||
saySwitch.setImageResource(R.mipmap.special_icon_on);
|
saySwitch.setImageResource(R.mipmap.special_icon_on);
|
||||||
|
sayModel.getLivePreview().setIsShow(1);
|
||||||
} else {
|
} else {
|
||||||
saySwitch.setTag(null);
|
saySwitch.setTag(null);
|
||||||
saySwitch.setImageResource(R.mipmap.special_icon_off);
|
saySwitch.setImageResource(R.mipmap.special_icon_off);
|
||||||
|
sayModel.getLivePreview().setIsShow(0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -110,7 +120,7 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
sayModel.getLivePreview().setContent(s.toString());
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
int n = (s.length() + 3) / 4;
|
int n = (s.length() + 3) / 4;
|
||||||
for (int i = 0; i < n; i++) {
|
for (int i = 0; i < n; i++) {
|
||||||
@ -142,13 +152,14 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
LiveNetManager.get(getContext())
|
LiveNetManager.get(getContext())
|
||||||
.setLivePreviewInfo(
|
.setLivePreviewInfo(
|
||||||
mLiveUid,
|
mLiveUid,
|
||||||
saySwitch.getTag() == null ? 0 : 1,
|
sayModel.getLivePreview().getIsShow(),
|
||||||
edit,
|
edit,
|
||||||
url,
|
url,
|
||||||
new HttpCallback<HttpCallbackModel>() {
|
new HttpCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(HttpCallbackModel data) {
|
public void onSuccess(String data) {
|
||||||
Log.i("女神说", "onSuccess: " + data);
|
Log.i("女神说", "onSuccess: " + data);
|
||||||
|
ToastUtil.show(WordUtil.isZh() ? "成功" : "success");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -157,7 +168,10 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(sayModel, 0);
|
||||||
|
}
|
||||||
|
IMLoginManager.get(getContext()).setAnchorSayStatus(sayModel.getLivePreview().getIsShow());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initData() {
|
private void initData() {
|
||||||
@ -165,6 +179,7 @@ public class LiveAnchorSayPopDialog extends AbsDialogPopupWindow {
|
|||||||
.getLivePreviewInfo(mLiveUid, new HttpCallback<LiveAnchorSayModel>() {
|
.getLivePreviewInfo(mLiveUid, new HttpCallback<LiveAnchorSayModel>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(LiveAnchorSayModel data) {
|
public void onSuccess(LiveAnchorSayModel data) {
|
||||||
|
sayModel = data;
|
||||||
List<String> urls = new ArrayList<>(data.getStyle());
|
List<String> urls = new ArrayList<>(data.getStyle());
|
||||||
adapter.setList(urls);
|
adapter.setList(urls);
|
||||||
LiveAnchorSayModel.LivePreview preview = data.getLivePreview();
|
LiveAnchorSayModel.LivePreview preview = data.getLivePreview();
|
||||||
|
@ -4,6 +4,7 @@ import static com.yunbao.common.CommonAppConfig.isGetNewWrap;
|
|||||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||||
import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
|
import static com.yunbao.live.views.LiveRoomViewHolder.bean1;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
@ -25,7 +26,11 @@ import android.widget.RadioButton;
|
|||||||
import android.widget.RadioGroup;
|
import android.widget.RadioGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
@ -124,6 +129,9 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
private TextView mVipGoldDesc;
|
private TextView mVipGoldDesc;
|
||||||
private TextView mGiftPackage;
|
private TextView mGiftPackage;
|
||||||
private boolean isPk;
|
private boolean isPk;
|
||||||
|
private int isContactGift = 0;
|
||||||
|
DialogInterface.OnDismissListener onDismissListener;
|
||||||
|
DialogInterface.OnShowListener onShowListener;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -155,6 +163,22 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
mLiveGuardInfo = liveGuardInfo;
|
mLiveGuardInfo = liveGuardInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(DialogInterface dialog) {
|
||||||
|
super.onDismiss(dialog);
|
||||||
|
if (onDismissListener != null) {
|
||||||
|
onDismissListener.onDismiss(dialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
if (onShowListener != null) {
|
||||||
|
onShowListener.onShow(getDialog());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setPkStatus(boolean pk) {
|
public void setPkStatus(boolean pk) {
|
||||||
isPk = pk;
|
isPk = pk;
|
||||||
}
|
}
|
||||||
@ -208,7 +232,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPageSelected(int position) {
|
public void onPageSelected(int position) {
|
||||||
if (mRadioGroup != null && mRadioGroup.getChildAt(position)!=null) {
|
if (mRadioGroup != null && mRadioGroup.getChildAt(position) != null) {
|
||||||
((RadioButton) mRadioGroup.getChildAt(position)).setChecked(true);
|
((RadioButton) mRadioGroup.getChildAt(position)).setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -278,6 +302,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
mStream = bundle.getString(Constants.LIVE_STREAM);
|
mStream = bundle.getString(Constants.LIVE_STREAM);
|
||||||
mWishGiftId = bundle.getString(Constants.LIVE_WISH_GIFTID);
|
mWishGiftId = bundle.getString(Constants.LIVE_WISH_GIFTID);
|
||||||
by = bundle.getString("by");
|
by = bundle.getString("by");
|
||||||
|
isContactGift = bundle.getBoolean("isContactGift", false) ? 1 : 0;
|
||||||
}
|
}
|
||||||
loadGiftListData();
|
loadGiftListData();
|
||||||
loadUserVip();
|
loadUserVip();
|
||||||
@ -665,9 +690,9 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
}
|
}
|
||||||
SendGiftCallback callback = new SendGiftCallback(mLiveGiftBean);
|
SendGiftCallback callback = new SendGiftCallback(mLiveGiftBean);
|
||||||
if (by != null) {
|
if (by != null) {
|
||||||
LiveHttpUtil.sendGift("1", mLiveUid, mStream, mLiveGiftBean.getId(), mCount, callback);
|
LiveHttpUtil.sendGift("1", mLiveUid, mStream, mLiveGiftBean.getId(), mCount, isContactGift, callback);
|
||||||
} else {
|
} else {
|
||||||
LiveHttpUtil.sendGift("0", mLiveUid, mStream, mLiveGiftBean.getId(), mCount, callback);
|
LiveHttpUtil.sendGift("0", mLiveUid, mStream, mLiveGiftBean.getId(), mCount, isContactGift, callback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -722,6 +747,14 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
mLiveGiftPagerAdapter.refreshId(status.getId());
|
mLiveGiftPagerAdapter.refreshId(status.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
|
||||||
|
this.onDismissListener = onDismissListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOnShowListener(DialogInterface.OnShowListener onShowListener) {
|
||||||
|
this.onShowListener = onShowListener;
|
||||||
|
}
|
||||||
|
|
||||||
private class SendGiftCallback extends HttpCallback {
|
private class SendGiftCallback extends HttpCallback {
|
||||||
|
|
||||||
private LiveGiftBean mGiftBean;
|
private LiveGiftBean mGiftBean;
|
||||||
|
@ -116,6 +116,8 @@ public class LiveNewFunctionDialogFragment extends AbsDialogFragment implements
|
|||||||
findViewById(R.id.anchor_task).setOnClickListener(this);
|
findViewById(R.id.anchor_task).setOnClickListener(this);
|
||||||
|
|
||||||
findViewById(R.id.live_tool_robot).setOnClickListener(this);
|
findViewById(R.id.live_tool_robot).setOnClickListener(this);
|
||||||
|
findViewById(R.id.live_tool_call_me).setOnClickListener(this);
|
||||||
|
findViewById(R.id.live_tool_anchor_say).setOnClickListener(this);
|
||||||
|
|
||||||
if (leave == 0) {
|
if (leave == 0) {
|
||||||
((ImageView) mLeaveView.findViewById(R.id.live_tool_leave_img)).setImageResource(R.mipmap.icon_leave);
|
((ImageView) mLeaveView.findViewById(R.id.live_tool_leave_img)).setImageResource(R.mipmap.icon_leave);
|
||||||
@ -190,6 +192,10 @@ public class LiveNewFunctionDialogFragment extends AbsDialogFragment implements
|
|||||||
taskDialog.updateLiveTimer(mAnchorLiveTime);
|
taskDialog.updateLiveTimer(mAnchorLiveTime);
|
||||||
taskDialog.showDialog();
|
taskDialog.showDialog();
|
||||||
|
|
||||||
|
} else if (id == R.id.live_tool_call_me) {
|
||||||
|
new LiveAnchorEditCallMeDialog(mContext).setLiveUid(liveUid).showDialog();
|
||||||
|
} else if (id == R.id.live_tool_anchor_say) {
|
||||||
|
new LiveAnchorSayPopDialog(mContext).setLiveUid(liveUid).showDialog();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,106 @@
|
|||||||
|
package com.yunbao.live.dialog;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.lxj.xpopup.XPopup;
|
||||||
|
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||||
|
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||||
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
|
import com.yunbao.common.utils.Bus;
|
||||||
|
import com.yunbao.live.R;
|
||||||
|
import com.yunbao.live.adapter.LiveUserAnchorMailBoxAdapter;
|
||||||
|
import com.yunbao.live.event.LiveAudienceEvent;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户获取主播联系方式信箱弹框
|
||||||
|
*/
|
||||||
|
public class LiveUserAnchorMailBoxPopDialog extends AbsDialogPopupWindow {
|
||||||
|
private RecyclerView list;
|
||||||
|
private LiveUserAnchorMailBoxAdapter adapter;
|
||||||
|
private View empty;
|
||||||
|
|
||||||
|
public LiveUserAnchorMailBoxPopDialog(@NonNull Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void buildDialog(XPopup.Builder builder) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int bindLayoutId() {
|
||||||
|
return R.layout.dialog_live_user_mailbox;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate() {
|
||||||
|
super.onCreate();
|
||||||
|
adapter = new LiveUserAnchorMailBoxAdapter(getContext());
|
||||||
|
list = findViewById(R.id.mailbox);
|
||||||
|
empty = findViewById(R.id.ic_empty);
|
||||||
|
list.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||||
|
list.setAdapter(adapter);
|
||||||
|
adapter.setOnItemClickListener((bean, position) -> {
|
||||||
|
if (adapter.getItemCount() == 0) {
|
||||||
|
empty.setVisibility(VISIBLE);
|
||||||
|
list.setVisibility(GONE);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
initData();
|
||||||
|
}
|
||||||
|
|
||||||
|
String TAG = "信箱";
|
||||||
|
|
||||||
|
void initData() {
|
||||||
|
LiveNetManager.get(getContext())
|
||||||
|
.getContactMsg(new HttpCallback<List<LiveUserMailBoxModel>>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<LiveUserMailBoxModel> data) {
|
||||||
|
Log.i(TAG, "onSuccess: " + data.size());
|
||||||
|
for (LiveUserMailBoxModel datum : data) {
|
||||||
|
Log.i(TAG, "for data : " + datum);
|
||||||
|
}
|
||||||
|
setData(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
Log.e(TAG, "onError: " + error);
|
||||||
|
setData(new ArrayList<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
void setData(List<LiveUserMailBoxModel> data) {
|
||||||
|
if (data.isEmpty()) {
|
||||||
|
empty.setVisibility(VISIBLE);
|
||||||
|
list.setVisibility(GONE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
adapter.setList(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDismiss() {
|
||||||
|
super.onDismiss();
|
||||||
|
for (LiveUserMailBoxModel model : adapter.getList()) {
|
||||||
|
if(model.getIsRead()==0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Bus.get().post(new LiveAudienceEvent()
|
||||||
|
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_HIDE_MSG_RED));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
package com.yunbao.live.dialog;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.webkit.WebSettings;
|
||||||
|
import android.webkit.WebView;
|
||||||
|
import android.webkit.WebViewClient;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.lxj.xpopup.XPopup;
|
||||||
|
import com.yunbao.common.CommonAppContext;
|
||||||
|
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||||
|
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||||
|
import com.yunbao.common.utils.L;
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
import com.yunbao.live.R;
|
||||||
|
|
||||||
|
public class LiveUserAnchorMailBoxWebInfoPopDialog extends AbsDialogPopupWindow {
|
||||||
|
WebView mWebView;
|
||||||
|
TextView textView;
|
||||||
|
|
||||||
|
String anchorName;
|
||||||
|
String url;
|
||||||
|
|
||||||
|
public LiveUserAnchorMailBoxWebInfoPopDialog(@NonNull Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveUserAnchorMailBoxWebInfoPopDialog(@NonNull Context context, String anchorName, String url) {
|
||||||
|
super(context);
|
||||||
|
this.anchorName = anchorName;
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void buildDialog(XPopup.Builder builder) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int bindLayoutId() {
|
||||||
|
return R.layout.dialog_live_user_mailbox_web;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate() {
|
||||||
|
super.onCreate();
|
||||||
|
mWebView=findViewById(R.id.webView);
|
||||||
|
textView=findViewById(R.id.title);
|
||||||
|
textView.setText(String.format(WordUtil.getString(R.string.live_user_mailbox_web_title),anchorName));
|
||||||
|
mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(CommonAppContext.getTopActivity(),mWebView),"androidObject");
|
||||||
|
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||||
|
mWebView.getSettings().setDomStorageEnabled(true);
|
||||||
|
String appCachePath = getContext().getCacheDir().getAbsolutePath();
|
||||||
|
mWebView.getSettings().setAppCachePath(appCachePath);
|
||||||
|
mWebView.getSettings().setAllowFileAccess(true);
|
||||||
|
mWebView.getSettings().setAppCacheEnabled(true);
|
||||||
|
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
|
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||||
|
}
|
||||||
|
mWebView.setWebViewClient(new WebViewClient() {
|
||||||
|
@Override
|
||||||
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||||
|
L.e("H5-------->" + url);
|
||||||
|
view.loadUrl(url);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageFinished(WebView view, String url) {
|
||||||
|
// view.loadUrl("javascript:window.androidObject.setHeight(document.body.clientHeight,document.body.clientWidth)");
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mWebView.loadUrl(url);
|
||||||
|
}
|
||||||
|
}
|
@ -299,7 +299,8 @@ public class LiveAudienceEvent extends BaseModel {
|
|||||||
UPDATA_ROBOT(53, "更新机器人消息"),
|
UPDATA_ROBOT(53, "更新机器人消息"),
|
||||||
LIVE_VIDEO(54, "画质选择"),
|
LIVE_VIDEO(54, "画质选择"),
|
||||||
LUCKY_100_CHECK(55, "幸运百分百"),
|
LUCKY_100_CHECK(55, "幸运百分百"),
|
||||||
LIVE_END(56, "主播下播");
|
LIVE_END(56, "主播下播"),
|
||||||
|
LIVE_HIDE_MSG_RED(57,"隐藏红点");
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
private String name;
|
private String name;
|
||||||
|
@ -606,12 +606,22 @@ public class LiveHttpUtil {
|
|||||||
* 观众给主播送礼物
|
* 观众给主播送礼物
|
||||||
*/
|
*/
|
||||||
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, HttpCallback callback) {
|
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, HttpCallback callback) {
|
||||||
|
sendGift(by, liveUid, stream, giftId, giftCount, 0, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 观众给主播送礼物
|
||||||
|
* @param isContactGift 是否为联系方式礼物
|
||||||
|
*/
|
||||||
|
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, HttpCallback callback) {
|
||||||
HttpClient.getInstance().get("Live.sendGift", LiveHttpConsts.SEND_GIFT)
|
HttpClient.getInstance().get("Live.sendGift", LiveHttpConsts.SEND_GIFT)
|
||||||
.params("liveuid", liveUid)
|
.params("liveuid", liveUid)
|
||||||
.params("stream", stream)
|
.params("stream", stream)
|
||||||
.params("giftid", giftId)
|
.params("giftid", giftId)
|
||||||
|
.params("isContactGift", isContactGift)
|
||||||
.params("giftcount", giftCount)
|
.params("giftcount", giftCount)
|
||||||
.params("isprank", by)
|
.params("isprank", by)
|
||||||
|
.params("appVersion", CommonAppConfig.getInstance().getVersion())
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import org.greenrobot.eventbus.EventBus;
|
|||||||
|
|
||||||
public abstract class AbsLiveViewHolder extends AbsViewHolder implements View.OnClickListener {
|
public abstract class AbsLiveViewHolder extends AbsViewHolder implements View.OnClickListener {
|
||||||
|
|
||||||
private TextView mRedPoint;
|
public TextView mRedPoint;
|
||||||
|
|
||||||
public AbsLiveViewHolder(Context context, ViewGroup parentView) {
|
public AbsLiveViewHolder(Context context, ViewGroup parentView) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
|
@ -12,7 +12,11 @@ public class Banner4CustomViewHolder implements BannerViewHolder<BannerBean> {
|
|||||||
@Override
|
@Override
|
||||||
public View createView(Context context, int position, BannerBean data) {
|
public View createView(Context context, int position, BannerBean data) {
|
||||||
ImageView icon=new ImageView(context);
|
ImageView icon=new ImageView(context);
|
||||||
ImgLoader.display(context,data.getImageUrl(),icon);
|
if(data.getIconRes()!=0){
|
||||||
|
ImgLoader.display(context,data.getIconRes(),icon);
|
||||||
|
}else {
|
||||||
|
ImgLoader.display(context, data.getImageUrl(), icon);
|
||||||
|
}
|
||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,8 @@ import com.lxj.xpopup.interfaces.XPopupCallback;
|
|||||||
import com.yunbao.common.CommonAppConfig;
|
import com.yunbao.common.CommonAppConfig;
|
||||||
import com.yunbao.common.Constants;
|
import com.yunbao.common.Constants;
|
||||||
import com.yunbao.common.bean.IMLoginModel;
|
import com.yunbao.common.bean.IMLoginModel;
|
||||||
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
|
import com.yunbao.common.bean.LiveAnchorSayModel;
|
||||||
import com.yunbao.common.bean.LiveClassBean;
|
import com.yunbao.common.bean.LiveClassBean;
|
||||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||||
import com.yunbao.common.bean.UserBean;
|
import com.yunbao.common.bean.UserBean;
|
||||||
@ -35,6 +37,7 @@ import com.yunbao.common.glide.ImgLoader;
|
|||||||
import com.yunbao.common.http.HttpCallback;
|
import com.yunbao.common.http.HttpCallback;
|
||||||
import com.yunbao.common.interfaces.CommonCallback;
|
import com.yunbao.common.interfaces.CommonCallback;
|
||||||
import com.yunbao.common.interfaces.ImageResultCallback;
|
import com.yunbao.common.interfaces.ImageResultCallback;
|
||||||
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
import com.yunbao.common.manager.IMLoginManager;
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
import com.yunbao.common.utils.DialogUitl;
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
@ -53,6 +56,7 @@ import com.yunbao.faceunity.FaceManager;
|
|||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.activity.LiveActivity;
|
import com.yunbao.live.activity.LiveActivity;
|
||||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||||
|
import com.yunbao.live.dialog.LiveAnchorEditCallMeDialog;
|
||||||
import com.yunbao.live.dialog.LiveAnchorSayPopDialog;
|
import com.yunbao.live.dialog.LiveAnchorSayPopDialog;
|
||||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveNewRoomClassDialogFragment;
|
import com.yunbao.live.dialog.LiveNewRoomClassDialogFragment;
|
||||||
@ -198,6 +202,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
|||||||
findViewById(R.id.btn_horizontally).setOnClickListener(this);
|
findViewById(R.id.btn_horizontally).setOnClickListener(this);
|
||||||
findViewById(R.id.anchor_agreement_layout).setOnClickListener(this);
|
findViewById(R.id.anchor_agreement_layout).setOnClickListener(this);
|
||||||
findViewById(R.id.btn_live_anchor_say).setOnClickListener(this);
|
findViewById(R.id.btn_live_anchor_say).setOnClickListener(this);
|
||||||
|
findViewById(R.id.btn_live_anchor_call_me).setOnClickListener(this);
|
||||||
|
|
||||||
if (manager != null) {
|
if (manager != null) {
|
||||||
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
|
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
|
||||||
@ -392,6 +397,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
|||||||
}
|
}
|
||||||
// startLive();
|
// startLive();
|
||||||
liveOpenCustomPopup = new LiveOpenCustomPopup(mContext, IMLoginManager.get(mContext).getSelectClarity(), classBean, liveRoomTypeBean)
|
liveOpenCustomPopup = new LiveOpenCustomPopup(mContext, IMLoginManager.get(mContext).getSelectClarity(), classBean, liveRoomTypeBean)
|
||||||
|
.setSayStatus(IMLoginManager.get(mContext).getAnchorSayStatus())
|
||||||
|
.setCallMeStatus(IMLoginManager.get(mContext).getAnchorCallStatus())
|
||||||
.setCallBack(new LiveOpenCustomPopup.LiveOpenCallBack() {
|
.setCallBack(new LiveOpenCustomPopup.LiveOpenCallBack() {
|
||||||
@Override
|
@Override
|
||||||
|
|
||||||
@ -540,6 +547,16 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
|||||||
//点击心愿单
|
//点击心愿单
|
||||||
openWishListWindow();
|
openWishListWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void openAnchorSay() {
|
||||||
|
openAnchorSayDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void openCallMe() {
|
||||||
|
openAnchorCallMeDialog();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
new XPopup.Builder(mContext)
|
new XPopup.Builder(mContext)
|
||||||
.asCustom(liveOpenCustomPopup)
|
.asCustom(liveOpenCustomPopup)
|
||||||
@ -569,7 +586,9 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
|||||||
.append(model.getToken());
|
.append(model.getToken());
|
||||||
RouteUtil.forwardLiveZhuangBanActivity(url.toString(), false);
|
RouteUtil.forwardLiveZhuangBanActivity(url.toString(), false);
|
||||||
} else if (i == R.id.btn_live_anchor_say) {
|
} else if (i == R.id.btn_live_anchor_say) {
|
||||||
new LiveAnchorSayPopDialog(mContext).setLiveUid(mLiveUid).showDialog();
|
openAnchorSayDialog();
|
||||||
|
} else if (i == R.id.btn_live_anchor_call_me) {
|
||||||
|
openAnchorCallMeDialog();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,6 +620,28 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void openAnchorSayDialog() {
|
||||||
|
new LiveAnchorSayPopDialog(mContext).setLiveUid(mLiveUid).setOnItemClickListener(new OnItemClickListener<LiveAnchorSayModel>() {
|
||||||
|
@Override
|
||||||
|
public void onItemClick(LiveAnchorSayModel bean, int position) {
|
||||||
|
if (liveOpenCustomPopup != null) {
|
||||||
|
liveOpenCustomPopup.setSayStatus(bean.getLivePreview().getIsShow() == 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).showDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void openAnchorCallMeDialog() {
|
||||||
|
new LiveAnchorEditCallMeDialog(mContext).setLiveUid(mLiveUid).setOnItemClickListener(new OnItemClickListener<LiveAnchorCallMeModel>() {
|
||||||
|
@Override
|
||||||
|
public void onItemClick(LiveAnchorCallMeModel bean, int position) {
|
||||||
|
if (liveOpenCustomPopup != null) {
|
||||||
|
liveOpenCustomPopup.setCallMeStatus(bean.getIsShow() == 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).showDialog();
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
public void updateStart(LiveAudienceEvent event) {
|
public void updateStart(LiveAudienceEvent event) {
|
||||||
if (event.getType() == WISH_LIST_UPDATE) {
|
if (event.getType() == WISH_LIST_UPDATE) {
|
||||||
|
@ -6,6 +6,7 @@ import static com.yunbao.live.views.LivePushRyViewHolder.btn_close;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Outline;
|
import android.graphics.Outline;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.CountDownTimer;
|
import android.os.CountDownTimer;
|
||||||
@ -68,11 +69,13 @@ import com.yunbao.common.bean.HourRank;
|
|||||||
import com.yunbao.common.bean.IMLoginModel;
|
import com.yunbao.common.bean.IMLoginModel;
|
||||||
import com.yunbao.common.bean.LevelBean;
|
import com.yunbao.common.bean.LevelBean;
|
||||||
import com.yunbao.common.bean.LinkMicUserBean;
|
import com.yunbao.common.bean.LinkMicUserBean;
|
||||||
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
import com.yunbao.common.bean.LiveAnchorSayModel;
|
import com.yunbao.common.bean.LiveAnchorSayModel;
|
||||||
import com.yunbao.common.bean.LiveBean;
|
import com.yunbao.common.bean.LiveBean;
|
||||||
import com.yunbao.common.bean.LiveGiftBean;
|
import com.yunbao.common.bean.LiveGiftBean;
|
||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
import com.yunbao.common.bean.LiveUserGiftBean;
|
import com.yunbao.common.bean.LiveUserGiftBean;
|
||||||
|
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
||||||
import com.yunbao.common.bean.MsgModel;
|
import com.yunbao.common.bean.MsgModel;
|
||||||
import com.yunbao.common.bean.NewPeopleTaskModel;
|
import com.yunbao.common.bean.NewPeopleTaskModel;
|
||||||
import com.yunbao.common.bean.PkRankBean;
|
import com.yunbao.common.bean.PkRankBean;
|
||||||
@ -137,6 +140,7 @@ import com.yunbao.live.custom.TopGradual;
|
|||||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
|
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveGameDialogFragment;
|
import com.yunbao.live.dialog.LiveGameDialogFragment;
|
||||||
|
import com.yunbao.live.dialog.LiveGiftDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveHDDialogFragment;
|
import com.yunbao.live.dialog.LiveHDDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||||
import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
|
import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
|
||||||
@ -296,6 +300,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
private List<BannerBean> mBannerList2 = new ArrayList<>();
|
private List<BannerBean> mBannerList2 = new ArrayList<>();
|
||||||
private List<BannerBean> mBannerList3 = new ArrayList<>();
|
private List<BannerBean> mBannerList3 = new ArrayList<>();
|
||||||
private List<BannerBean> mBannerList4 = new ArrayList<>();
|
private List<BannerBean> mBannerList4 = new ArrayList<>();
|
||||||
|
private List<BannerBean> mTopBannerList = new ArrayList<>();
|
||||||
private LinearLayout btn_event2, btn_event3, btn_event4;
|
private LinearLayout btn_event2, btn_event3, btn_event4;
|
||||||
private ImageView imgEvent;
|
private ImageView imgEvent;
|
||||||
private View btnEvent;
|
private View btnEvent;
|
||||||
@ -341,6 +346,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
private TextView mAnchorSayText;
|
private TextView mAnchorSayText;
|
||||||
private ImageView mAnchorSayHide;
|
private ImageView mAnchorSayHide;
|
||||||
//----!主播说组件---//
|
//----!主播说组件---//
|
||||||
|
private Banner topBanner1;//心愿单&联系方式
|
||||||
|
|
||||||
public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) {
|
public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
@ -836,6 +842,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
mPkRankTopIcon = (ImageView) findViewById(R.id.icon_pk_top);
|
mPkRankTopIcon = (ImageView) findViewById(R.id.icon_pk_top);
|
||||||
mRedVal = (TextView) findViewById(R.id.pk_rank_red_val);
|
mRedVal = (TextView) findViewById(R.id.pk_rank_red_val);
|
||||||
mBlueVal = (TextView) findViewById(R.id.pk_rank_blue_val);
|
mBlueVal = (TextView) findViewById(R.id.pk_rank_blue_val);
|
||||||
|
topBanner1 = (Banner) findViewById(R.id.top_banner1);
|
||||||
|
|
||||||
if (LivePushTxViewHolder.mTRTCCloud != null || LivePushRyViewHolder.rtcRoom != null) {
|
if (LivePushTxViewHolder.mTRTCCloud != null || LivePushRyViewHolder.rtcRoom != null) {
|
||||||
fans_btn.setVisibility(View.GONE);
|
fans_btn.setVisibility(View.GONE);
|
||||||
@ -1140,6 +1147,12 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
|
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
topBanner1.setOutlineProvider(new ViewOutlineProvider() {
|
||||||
|
@Override
|
||||||
|
public void getOutline(View view, Outline outline) {
|
||||||
|
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
|
||||||
|
}
|
||||||
|
});
|
||||||
//打招呼消息
|
//打招呼消息
|
||||||
fastMsgRecyclerView = (RecyclerView) findViewById(R.id.room_fast_msg);
|
fastMsgRecyclerView = (RecyclerView) findViewById(R.id.room_fast_msg);
|
||||||
fastMsgRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
fastMsgRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||||
@ -4293,4 +4306,77 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final int TOP_BANNER_TYPE_CALL_ME = 100;//联系方式
|
||||||
|
|
||||||
|
public void initTopBanner() {
|
||||||
|
checkNewLetter();
|
||||||
|
mTopBannerList = new ArrayList<>();
|
||||||
|
topBanner1.setAutoPlay(true)
|
||||||
|
.setPages(mTopBannerList, new Banner4CustomViewHolder())
|
||||||
|
.setDelayTime(3000)
|
||||||
|
.setBannerStyle(BannerConfig.NOT_INDICATOR)
|
||||||
|
.setOnBannerClickListener(new OnBannerClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onBannerClick(List datas, int position) {
|
||||||
|
if (mTopBannerList.get(position).getType() == TOP_BANNER_TYPE_CALL_ME) {
|
||||||
|
Dialog loading = DialogUitl.loadingDialog(mContext);
|
||||||
|
loading.show();
|
||||||
|
LiveGiftDialogFragment fragment = new LiveGiftDialogFragment();
|
||||||
|
fragment.setOnDismissListener(dialog -> {
|
||||||
|
checkNewLetter();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
fragment.setOnShowListener(dialog -> mHandler.postDelayed(loading::dismiss,500));
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString(Constants.LIVE_UID, mLiveUid);
|
||||||
|
bundle.putString(Constants.LIVE_STREAM, mStream);
|
||||||
|
bundle.putString(Constants.LIVE_WISH_GIFTID, mTopBannerList.get(position).getActivityId() + "");
|
||||||
|
bundle.putBoolean("isContactGift", true);
|
||||||
|
fragment.setArguments(bundle);
|
||||||
|
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGiftDialogFragment");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.start();
|
||||||
|
LiveNetManager.get(mContext)
|
||||||
|
.getContactInfo(mLiveUid, new com.yunbao.common.http.base.HttpCallback<LiveAnchorCallMeModel>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(LiveAnchorCallMeModel data) {
|
||||||
|
System.out.println(">>>>> 获取联系方式:" + data);
|
||||||
|
BannerBean call = new BannerBean();
|
||||||
|
call.setIconRes(R.mipmap.ic_live_float_call_me);
|
||||||
|
call.setActivityId(data.getGiftId());
|
||||||
|
call.setType(TOP_BANNER_TYPE_CALL_ME);
|
||||||
|
mTopBannerList.add(0, call);
|
||||||
|
topBanner1.update(mTopBannerList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
System.out.println("!>>>>> 获取联系方式:" + error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkNewLetter() {
|
||||||
|
LiveNetManager.get(mContext).getContactMsg(new com.yunbao.common.http.base.HttpCallback<List<LiveUserMailBoxModel>>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<LiveUserMailBoxModel> data) {
|
||||||
|
for (LiveUserMailBoxModel model : data) {
|
||||||
|
if (model.getIsRead() == 0 && mContext instanceof LiveAudienceActivity) {
|
||||||
|
((LiveAudienceActivity) mContext).showMsgRed(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -472,6 +472,8 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
|||||||
mLiveRoomViewHolder.setMedaRankNum(data.getEnterRoomInfo().getMedalRankNum());
|
mLiveRoomViewHolder.setMedaRankNum(data.getEnterRoomInfo().getMedalRankNum());
|
||||||
//初始化女神说
|
//初始化女神说
|
||||||
mLiveRoomViewHolder.initAnchorSay();
|
mLiveRoomViewHolder.initAnchorSay();
|
||||||
|
//初始化顶部banner
|
||||||
|
mLiveRoomViewHolder.initTopBanner();
|
||||||
|
|
||||||
isattention = Integer.parseInt(data.getEnterRoomInfo().getIsattention());
|
isattention = Integer.parseInt(data.getEnterRoomInfo().getIsattention());
|
||||||
if (isattention == 0) {
|
if (isattention == 0) {
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:width="60dp" android:height="22dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#ffffffff" />
|
||||||
|
<corners android:topLeftRadius="11dp" android:topRightRadius="11dp" android:bottomLeftRadius="11dp" android:bottomRightRadius="11dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:width="96dp" android:height="22dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<stroke android:width="1dp" android:color="#ffffffff" />
|
||||||
|
<gradient android:type="linear" android:useLevel="true" android:startColor="#ffe5eeff" android:endColor="#ffe5fbff" android:angle="270" />
|
||||||
|
<corners android:topLeftRadius="22dp" android:topRightRadius="22dp" android:bottomLeftRadius="22dp" android:bottomRightRadius="22dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:width="112dp" android:height="42dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<stroke android:width="1dp" android:color="#ffffffff" />
|
||||||
|
<gradient android:type="linear" android:useLevel="true" android:startColor="#ffe5eeff" android:endColor="#ffe5fbff" android:angle="135" />
|
||||||
|
<corners android:topLeftRadius="22dp" android:topRightRadius="22dp" android:bottomLeftRadius="22dp" android:bottomRightRadius="22dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
@ -32,7 +32,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="編輯聯系方式"
|
android:text="@string/live_anchor_edit_call_me_title"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
@ -86,7 +86,7 @@
|
|||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center|start"
|
android:gravity="center|start"
|
||||||
android:text="聯系方式開關"
|
android:text="@string/live_anchor_edit_call_me_switch"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="編輯女神說"
|
android:text="@string/live_anchor_say_title"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
@ -75,7 +75,7 @@
|
|||||||
android:autofillHints=""
|
android:autofillHints=""
|
||||||
android:background="@drawable/bg_item_random_pk_type_1"
|
android:background="@drawable/bg_item_random_pk_type_1"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:hint="请輸入女神想說的話,限16個字哦。"
|
android:hint="@string/live_anchor_say_edit_hint"
|
||||||
android:inputType="textPersonName"
|
android:inputType="textPersonName"
|
||||||
android:maxLength="16"
|
android:maxLength="16"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
@ -93,7 +93,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:text="选择样式"
|
android:text="@string/live_anchor_say_select_style"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@ -130,7 +130,7 @@
|
|||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center|start"
|
android:gravity="center|start"
|
||||||
android:text="女神說開關"
|
android:text="@string/live_anchor_say_switch"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
@ -20,9 +20,10 @@
|
|||||||
android:background="@drawable/bg_live_gift_download_all"
|
android:background="@drawable/bg_live_gift_download_all"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:visibility="invisible">
|
android:visibility="gone">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:visibility="gone"
|
||||||
android:layout_width="19dp"
|
android:layout_width="19dp"
|
||||||
android:layout_height="19dp"
|
android:layout_height="19dp"
|
||||||
android:layout_marginEnd="7dp"
|
android:layout_marginEnd="7dp"
|
||||||
@ -32,7 +33,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="一鍵下載所有禮物動畫"
|
android:text="设置为联系方式礼物"
|
||||||
android:textSize="10sp"
|
android:textSize="10sp"
|
||||||
android:visibility="visible" />
|
android:visibility="visible" />
|
||||||
|
|
||||||
|
68
live/src/main/res/layout/dialog_live_user_mailbox.xml
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/bg_top"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:scaleType="fitEnd"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@mipmap/bg_live_user_mailbox_top" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView10"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="85dp"
|
||||||
|
android:layout_marginTop="45dp"
|
||||||
|
android:text="信件欄"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/mailbox"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="328dp"
|
||||||
|
android:background="#D6E8FE"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="1.0"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/bg_top"
|
||||||
|
tools:listitem="@layout/item_live_user_mailbox">
|
||||||
|
|
||||||
|
</androidx.recyclerview.widget.RecyclerView>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/ic_empty"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="328dp"
|
||||||
|
android:background="#D6E8FE"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="1.0"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/bg_top">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="232dp"
|
||||||
|
android:layout_height="210dp"
|
||||||
|
android:background="#D6E8FE"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@mipmap/ic_live_user_mailbox" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
44
live/src/main/res/layout/dialog_live_user_mailbox_web.xml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/bg_top"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:scaleType="fitEnd"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@mipmap/bg_live_user_mailbox_top" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="85dp"
|
||||||
|
android:layout_marginTop="50dp"
|
||||||
|
android:text="信件欄"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<WebView
|
||||||
|
android:id="@+id/webView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="428dp"
|
||||||
|
android:background="#D6E8FE"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="1.0"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/bg_top">
|
||||||
|
|
||||||
|
</WebView>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -28,7 +28,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="24dp"
|
||||||
android:text="未填写"
|
android:text="@string/live_anchor_edit_call_me_not_filled"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="#80FFFFFF"
|
android:textColor="#80FFFFFF"
|
||||||
app:layout_constraintStart_toEndOf="@+id/gift_icon"
|
app:layout_constraintStart_toEndOf="@+id/gift_icon"
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
android:layout_marginStart="12dp"
|
android:layout_marginStart="12dp"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginTop="6dp"
|
||||||
android:layout_marginBottom="6dp"
|
android:layout_marginBottom="6dp"
|
||||||
android:text="選擇禮物"
|
android:text="@string/live_anchor_edit_call_me_select_gift"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="14dp"
|
android:layout_marginTop="14dp"
|
||||||
android:text="信內容"
|
android:text="@string/live_anchor_edit_call_me_letter_title"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@ -39,7 +39,7 @@
|
|||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:ellipsize="none"
|
android:ellipsize="none"
|
||||||
android:text="我能想到最浪漫的事,就是和你一起慢慢變老,一路上收藏點點滴滴的歡笑,留到以後坐著搖椅慢慢聊。"
|
android:text="@string/live_anchor_edit_call_me_letter_content"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
92
live/src/main/res/layout/item_live_user_mailbox.xml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/bg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="235dp"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@mipmap/bg_live_user_mailbox" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/top_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="40dp"
|
||||||
|
android:layout_marginTop="32dp"
|
||||||
|
android:background="@drawable/bg_item_live_user_mailbox_top_text"
|
||||||
|
android:paddingStart="8dp"
|
||||||
|
android:paddingTop="4dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:paddingBottom="4dp"
|
||||||
|
android:textColor="#5C8599"
|
||||||
|
android:textSize="10sp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="来自主播昵称的信" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/del"
|
||||||
|
android:layout_width="24dp"
|
||||||
|
android:layout_height="24dp"
|
||||||
|
android:layout_marginTop="32dp"
|
||||||
|
android:layout_marginEnd="40dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@mipmap/bg_live_user_mailbox_del" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/user_name"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/bg_item_live_user_mailbox_username_text"
|
||||||
|
android:paddingStart="16dp"
|
||||||
|
android:paddingTop="10dp"
|
||||||
|
android:paddingEnd="16dp"
|
||||||
|
android:paddingBottom="10dp"
|
||||||
|
android:textColor="#3399FF"
|
||||||
|
android:textSize="16sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="@tools:sample/full_names" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tip"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="40dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:gravity="start"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="14sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
tools:text="「主播昵稱」有更多話對你說" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView13"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="32dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:background="@drawable/bg_item_live_user_mailbox_info_text"
|
||||||
|
android:paddingStart="10dp"
|
||||||
|
android:paddingTop="4dp"
|
||||||
|
android:paddingEnd="10dp"
|
||||||
|
android:paddingBottom="4dp"
|
||||||
|
android:textColor="#3399FF"
|
||||||
|
android:textSize="10sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:text="@string/live_user_mailbox_more_text" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -673,7 +673,18 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<com.ms.banner.Banner
|
||||||
|
android:id="@+id/top_banner1"
|
||||||
|
android:layout_width="52dp"
|
||||||
|
android:layout_height="64dp"
|
||||||
|
android:layout_below="@+id/live_rank_pk"
|
||||||
|
android:layout_alignEnd="@+id/live_rank_pk"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
android:layout_marginTop="40dp"
|
||||||
|
android:layout_marginRight="5dp"
|
||||||
|
app:delay_time="5000"
|
||||||
|
app:indicator_height="8dp"
|
||||||
|
app:indicator_width="8dp" />
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/btn_prize_pool_level"
|
android:id="@+id/btn_prize_pool_level"
|
||||||
android:layout_width="70dp"
|
android:layout_width="70dp"
|
||||||
|
@ -99,8 +99,8 @@
|
|||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/btn_live_class"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/btn_live_clarity"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@ -138,6 +138,11 @@
|
|||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="18dp"
|
||||||
|
android:layout_height="18dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
app:srcCompat="@mipmap/ic_live_ready_channel" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/live_class"
|
android:id="@+id/live_class"
|
||||||
@ -167,6 +172,11 @@
|
|||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/btn_live_clarity">
|
app:layout_constraintTop_toBottomOf="@+id/btn_live_clarity">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="18dp"
|
||||||
|
android:layout_height="18dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
app:srcCompat="@mipmap/ic_live_ready_xjd" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_wishlist"
|
android:id="@+id/text_wishlist"
|
||||||
@ -202,7 +212,7 @@
|
|||||||
android:layout_width="18dp"
|
android:layout_width="18dp"
|
||||||
android:layout_height="18dp"
|
android:layout_height="18dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
app:srcCompat="@mipmap/icon_fhd" />
|
app:srcCompat="@mipmap/ic_live_ready_say" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/live_anchor_say"
|
android:id="@+id/live_anchor_say"
|
||||||
@ -223,6 +233,40 @@
|
|||||||
android:src="@mipmap/icon_live_more" />
|
android:src="@mipmap/icon_live_more" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/btn_live_anchor_call_me"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="25dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/btn_live_class">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="18dp"
|
||||||
|
android:layout_height="18dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
app:srcCompat="@mipmap/ic_live_ready_letter" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/live_ready_anchor_call_me"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="5dp"
|
||||||
|
android:layout_height="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@mipmap/icon_live_more" />
|
||||||
|
</LinearLayout>
|
||||||
<View
|
<View
|
||||||
android:id="@+id/line"
|
android:id="@+id/line"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
BIN
live/src/main/res/mipmap-mdpi/ic_live_float_call_me.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
live/src/main/res/mipmap-mdpi/ic_live_ready_channel.png
Normal file
After Width: | Height: | Size: 427 B |
BIN
live/src/main/res/mipmap-mdpi/ic_live_ready_letter.png
Normal file
After Width: | Height: | Size: 487 B |
BIN
live/src/main/res/mipmap-mdpi/ic_live_ready_say.png
Normal file
After Width: | Height: | Size: 667 B |
BIN
live/src/main/res/mipmap-mdpi/ic_live_ready_xjd.png
Normal file
After Width: | Height: | Size: 676 B |
BIN
live/src/main/res/mipmap-mdpi/ic_live_user_mailbox.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
live/src/main/res/mipmap-xhdpi/bg_live_user_mailbox.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
live/src/main/res/mipmap-xhdpi/bg_live_user_mailbox_del.png
Normal file
After Width: | Height: | Size: 547 B |
BIN
live/src/main/res/mipmap-xhdpi/bg_live_user_mailbox_top.png
Normal file
After Width: | Height: | Size: 18 KiB |
@ -67,4 +67,6 @@
|
|||||||
<string name="random_pk_search_hint" >Please enter the anchor nickname or id you want to pk</string>
|
<string name="random_pk_search_hint" >Please enter the anchor nickname or id you want to pk</string>
|
||||||
<string name="free_pk_user_pking" >The other team is engaged in a PK</string>
|
<string name="free_pk_user_pking" >The other team is engaged in a PK</string>
|
||||||
<string name="free_pk_num_null" >The PK number is used up</string>
|
<string name="free_pk_num_null" >The PK number is used up</string>
|
||||||
|
<string name="live_user_mailbox_top_text">来自%s的信</string>
|
||||||
|
<string name="live_user_mailbox_tip_text">「%s」有更多話對你說</string>
|
||||||
</resources>
|
</resources>
|
@ -65,4 +65,25 @@
|
|||||||
<string name="live_data_msg1">本場直播數據統計</string>
|
<string name="live_data_msg1">本場直播數據統計</string>
|
||||||
<string name="live_data_msg2">歷史數據可在主播中心查看</string>
|
<string name="live_data_msg2">歷史數據可在主播中心查看</string>
|
||||||
<string name="live_data_tip">* 人數及新增相關數據非实时计算</string>
|
<string name="live_data_tip">* 人數及新增相關數據非实时计算</string>
|
||||||
|
<string name="live_user_mailbox_top_text">来自%s的信</string>
|
||||||
|
<string name="live_user_mailbox_tip_text">「%s」有更多話對你說</string>
|
||||||
|
<string name="live_user_mailbox_more_text">查看詳情</string>
|
||||||
|
<string name="live_user_mailbox_web_title">來自「%s」的信</string>
|
||||||
|
<string name="live_anchor_edit_call_me_title">編輯聯系方式</string>
|
||||||
|
<string name="live_anchor_edit_call_me_switch">聯系方式開關</string>
|
||||||
|
<string name="live_anchor_edit_call_me_select_gift">選擇禮物</string>
|
||||||
|
<string name="live_anchor_edit_call_me_not_filled">未填寫</string>
|
||||||
|
<string name="live_anchor_edit_call_me_not_filled_toash">请填写联系方式后再启用</string>
|
||||||
|
<string name="live_anchor_edit_call_me_letter_title">信內容</string>
|
||||||
|
<string name="live_anchor_edit_call_me_letter_content">我能想到最浪漫的事,就是和你一起慢慢變老,一路上收藏點點滴滴的歡笑,留到以後坐著搖椅慢慢聊。</string>
|
||||||
|
<string name="live_ready_anchor_call_me">聯繫方式</string>
|
||||||
|
<string name="live_anchor_say_title">編輯女神說</string>
|
||||||
|
<string name="live_anchor_say_edit_hint">请輸入女神想說的話,限16個字哦。</string>
|
||||||
|
<string name="live_anchor_say_select_style">选择样式</string>
|
||||||
|
<string name="live_anchor_say_switch">女神說開關</string>
|
||||||
|
<string name="live_user_letter_dialog_title">刪除郵件</string>
|
||||||
|
<string name="live_user_letter_dialog_content">是否確認刪除此郵件</string>
|
||||||
|
<string name="live_user_letter_dialog_yes">刪除</string>
|
||||||
|
<string name="live_user_letter_dialog_no">再想想</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|