update 联系方式
This commit is contained in:
parent
0c6eac2936
commit
2b56eff39a
@ -0,0 +1,162 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系方式
|
||||||
|
*/
|
||||||
|
public class LiveAnchorCallMeModel extends BaseModel {
|
||||||
|
@SerializedName("id")
|
||||||
|
private int id;
|
||||||
|
@SerializedName("isShow")
|
||||||
|
private int isShow;
|
||||||
|
@SerializedName("gift_id")
|
||||||
|
private int giftId;
|
||||||
|
@SerializedName("giftImage")
|
||||||
|
private String giftImage;
|
||||||
|
@SerializedName("content")
|
||||||
|
private String content;
|
||||||
|
@SerializedName("wechat")
|
||||||
|
private AppBean wechat;
|
||||||
|
@SerializedName("line")
|
||||||
|
private AppBean line;
|
||||||
|
@SerializedName("whatsApp")
|
||||||
|
private AppBean whatsApp;
|
||||||
|
|
||||||
|
public LiveAnchorCallMeModel() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGiftImage() {
|
||||||
|
return giftImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiftImage(String giftImage) {
|
||||||
|
this.giftImage = giftImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIsShow() {
|
||||||
|
return isShow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsShow(int isShow) {
|
||||||
|
this.isShow = isShow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGiftId() {
|
||||||
|
return giftId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiftId(int giftId) {
|
||||||
|
this.giftId = giftId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppBean getWechat() {
|
||||||
|
if (wechat == null) {
|
||||||
|
wechat = new AppBean();
|
||||||
|
}
|
||||||
|
return wechat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWechat(AppBean wechat) {
|
||||||
|
this.wechat = wechat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppBean getLine() {
|
||||||
|
if (line == null) {
|
||||||
|
line = new AppBean();
|
||||||
|
}
|
||||||
|
return line;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLine(AppBean line) {
|
||||||
|
this.line = line;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppBean getWhatsApp() {
|
||||||
|
if (whatsApp == null) {
|
||||||
|
whatsApp = new AppBean();
|
||||||
|
}
|
||||||
|
return whatsApp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWhatsApp(AppBean whatsApp) {
|
||||||
|
this.whatsApp = whatsApp;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "LiveAnchorCallMeModel{" +
|
||||||
|
"id=" + id +
|
||||||
|
", isShow=" + isShow +
|
||||||
|
", giftId=" + giftId +
|
||||||
|
", giftImage='" + giftImage + '\'' +
|
||||||
|
", content='" + content + '\'' +
|
||||||
|
", wechat=" + wechat +
|
||||||
|
", line=" + line +
|
||||||
|
", whatsApp=" + whatsApp +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class AppBean {
|
||||||
|
private String number;
|
||||||
|
private int isShow;
|
||||||
|
|
||||||
|
public AppBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppBean(String number, int isShow) {
|
||||||
|
this.number = number;
|
||||||
|
this.isShow = isShow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNumber() {
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumber(String number) {
|
||||||
|
this.number = number;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIsShow() {
|
||||||
|
return isShow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsShow(int isShow) {
|
||||||
|
this.isShow = isShow;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "AppBean{" +
|
||||||
|
"number='" + number + '\'' +
|
||||||
|
", isShow=" + isShow +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject toJSONObject() {
|
||||||
|
return (JSONObject) JSON.toJSON(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -44,7 +44,7 @@ public class API extends BaseApi {
|
|||||||
public PDLiveApi pdLiveApi(Context context) {
|
public PDLiveApi pdLiveApi(Context context) {
|
||||||
if (null == pdLiveApi) {
|
if (null == pdLiveApi) {
|
||||||
//实例化gson
|
//实例化gson
|
||||||
pdLiveApi=createPDLiveApi(true);
|
pdLiveApi = createPDLiveApi(true, true);
|
||||||
}
|
}
|
||||||
return pdLiveApi;
|
return pdLiveApi;
|
||||||
}
|
}
|
||||||
@ -52,10 +52,23 @@ public class API extends BaseApi {
|
|||||||
/**
|
/**
|
||||||
* 创建新的PDLiveApi,兼容部分接口需要控制是否添加UID参数
|
* 创建新的PDLiveApi,兼容部分接口需要控制是否添加UID参数
|
||||||
* 仅有需要不添加uid的接口使用,默认请用pdLiveApi()
|
* 仅有需要不添加uid的接口使用,默认请用pdLiveApi()
|
||||||
|
*
|
||||||
* @param isNeedUid 是否需要用户uid参数
|
* @param isNeedUid 是否需要用户uid参数
|
||||||
* @return PDLiveApi
|
* @return PDLiveApi
|
||||||
*/
|
*/
|
||||||
public PDLiveApi createPDLiveApi(boolean isNeedUid){
|
public PDLiveApi createPDLiveApi(boolean isNeedUid) {
|
||||||
|
return createPDLiveApi(isNeedUid, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建新的PDLiveApi,兼容部分接口需要控制是否添加UID参数
|
||||||
|
* 仅有需要不添加uid或token的接口使用,默认请用pdLiveApi()
|
||||||
|
*
|
||||||
|
* @param isNeedUid 是否需要用户uid参数
|
||||||
|
* @param isNeedToken 是否需要用户Token
|
||||||
|
* @return PDLiveApi
|
||||||
|
*/
|
||||||
|
public PDLiveApi createPDLiveApi(boolean isNeedUid, boolean isNeedToken) {
|
||||||
Gson gson = new GsonBuilder()
|
Gson gson = new GsonBuilder()
|
||||||
.registerTypeAdapter(Date.class, new DateTypeAdapter())
|
.registerTypeAdapter(Date.class, new DateTypeAdapter())
|
||||||
.create();
|
.create();
|
||||||
@ -64,20 +77,20 @@ public class API extends BaseApi {
|
|||||||
OkHttpClient.Builder builder = new OkHttpClient()
|
OkHttpClient.Builder builder = new OkHttpClient()
|
||||||
.newBuilder()
|
.newBuilder()
|
||||||
|
|
||||||
.addInterceptor(initQuery(isNeedUid,CommonAppContext.sInstance.getApplicationContext()))
|
.addInterceptor(initQuery(isNeedUid, isNeedToken, CommonAppContext.sInstance.getApplicationContext()))
|
||||||
.addInterceptor(loggingInterceptor);
|
.addInterceptor(loggingInterceptor);
|
||||||
return create(builder.build(),
|
return create(builder.build(),
|
||||||
GsonConverterFactory.create(gson), RxJava2CallAdapterFactory.create(), CommonAppConfig.HOST, PDLiveApi.class);
|
GsonConverterFactory.create(gson), RxJava2CallAdapterFactory.create(), CommonAppConfig.HOST, PDLiveApi.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
//公共参数
|
//公共参数
|
||||||
public Interceptor initQuery(boolean isNeedUid,final Context context) {
|
public Interceptor initQuery(boolean isNeedUid, boolean isNeedToken, final Context context) {
|
||||||
Interceptor addQueryParameterInterceptor = new Interceptor() {
|
Interceptor addQueryParameterInterceptor = new Interceptor() {
|
||||||
@Override
|
@Override
|
||||||
public Response intercept(Chain chain) throws IOException {
|
public Response intercept(Chain chain) throws IOException {
|
||||||
Request request = chain.request();
|
Request request = chain.request();
|
||||||
//配置公共参数
|
//配置公共参数
|
||||||
request = new ParamsContext(request, context).getInRequest(isNeedUid);
|
request = new ParamsContext(request, context).getInRequest(isNeedUid, isNeedToken);
|
||||||
return chain.proceed(request);
|
return chain.proceed(request);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.yunbao.common.http;
|
package com.yunbao.common.http;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.yunbao.common.bean.ActiveModel;
|
import com.yunbao.common.bean.ActiveModel;
|
||||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||||
import com.yunbao.common.bean.BaseModel;
|
import com.yunbao.common.bean.BaseModel;
|
||||||
@ -14,6 +15,7 @@ import com.yunbao.common.bean.IMLoginModel;
|
|||||||
import com.yunbao.common.bean.LinkMicUserBeanV2;
|
import com.yunbao.common.bean.LinkMicUserBeanV2;
|
||||||
import com.yunbao.common.bean.ListInfoMessageModel;
|
import com.yunbao.common.bean.ListInfoMessageModel;
|
||||||
import com.yunbao.common.bean.LiveAiRobotBean;
|
import com.yunbao.common.bean.LiveAiRobotBean;
|
||||||
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
import com.yunbao.common.bean.LiveDataInfoModel;
|
import com.yunbao.common.bean.LiveDataInfoModel;
|
||||||
import com.yunbao.common.bean.LiveInfoModel;
|
import com.yunbao.common.bean.LiveInfoModel;
|
||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
@ -575,4 +577,27 @@ public interface PDLiveApi {
|
|||||||
Observable<ResponseModel<List<ListInfoMessageModel>>> getAnchorMsg(
|
Observable<ResponseModel<List<ListInfoMessageModel>>> getAnchorMsg(
|
||||||
@Query("liveuid") String liveUid, @Query("page") int page, @Query("limit") int limit
|
@Query("liveuid") String liveUid, @Query("page") int page, @Query("limit") int limit
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置主播联系方式
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=Live.setAnchorContact")
|
||||||
|
Observable<ResponseModel<String>> setAnchorContact(
|
||||||
|
@Query("liveuid") String liveUid,
|
||||||
|
@Query("isShow") int show,
|
||||||
|
@Query("gift_id") int giftId,
|
||||||
|
@Query("content") String content,
|
||||||
|
@Query("wechat") JSONObject wechat,
|
||||||
|
@Query("line") JSONObject line,
|
||||||
|
@Query("whatsApp") JSONObject whatsApp
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取主播联系方式
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=Live.getContactInfo")
|
||||||
|
Observable<ResponseModel<LiveAnchorCallMeModel>> getContactInfo(
|
||||||
|
@Query("liveuid") String liveUid
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ public class GetRequestParams implements IRequestParam {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Request getRequest(boolean isNeedUid, Request request, Context context) {
|
public Request getRequest(boolean isNeedUid,boolean isNeedToken, Request request, Context context) {
|
||||||
//添加公共参数
|
//添加公共参数
|
||||||
if (IMLoginManager.isLogin(context)) {
|
if (IMLoginManager.isLogin(context)) {
|
||||||
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
||||||
@ -36,7 +36,9 @@ public class GetRequestParams implements IRequestParam {
|
|||||||
if (isNeedUid) {
|
if (isNeedUid) {
|
||||||
builder.addQueryParameter("uid", String.valueOf(model.getId()));
|
builder.addQueryParameter("uid", String.valueOf(model.getId()));
|
||||||
}
|
}
|
||||||
builder.addQueryParameter("token", model.getToken());
|
if(isNeedToken) {
|
||||||
|
builder.addQueryParameter("token", model.getToken());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return request.newBuilder().url(builder.build()).build();
|
return request.newBuilder().url(builder.build()).build();
|
||||||
|
@ -5,5 +5,5 @@ import android.content.Context;
|
|||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
|
|
||||||
public interface IRequestParam {
|
public interface IRequestParam {
|
||||||
Request getRequest(boolean isNeedUid,Request request, Context context);
|
Request getRequest(boolean isNeedUid,boolean isNeedToken, Request request, Context context);
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ public class ParamsContext {
|
|||||||
this.request = request;
|
this.request = request;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Request getInRequest(boolean isNeedUid) {
|
public Request getInRequest(boolean isNeedUid,boolean isNeedToken) {
|
||||||
switch (request.method()) {
|
switch (request.method()) {
|
||||||
case "GET":
|
case "GET":
|
||||||
iRequestParam = new GetRequestParams();
|
iRequestParam = new GetRequestParams();
|
||||||
@ -23,6 +23,6 @@ public class ParamsContext {
|
|||||||
iRequestParam = new PostRequestParams();
|
iRequestParam = new PostRequestParams();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return iRequestParam.getRequest(isNeedUid,request, context);
|
return iRequestParam.getRequest(isNeedUid,isNeedToken,request, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import okhttp3.Request;
|
|||||||
|
|
||||||
public class PostRequestParams implements IRequestParam {
|
public class PostRequestParams implements IRequestParam {
|
||||||
@Override
|
@Override
|
||||||
public Request getRequest(boolean isNeedUid, Request request, Context context) {
|
public Request getRequest(boolean isNeedUid,boolean isNeedToken, Request request, Context context) {
|
||||||
if (request.body() instanceof FormBody) {
|
if (request.body() instanceof FormBody) {
|
||||||
FormBody.Builder bodyBuilder = new FormBody.Builder();
|
FormBody.Builder bodyBuilder = new FormBody.Builder();
|
||||||
|
|
||||||
@ -32,7 +32,9 @@ public class PostRequestParams implements IRequestParam {
|
|||||||
if (isNeedUid) {
|
if (isNeedUid) {
|
||||||
bodyBuilder.addEncoded("uid", String.valueOf(model.getId()));
|
bodyBuilder.addEncoded("uid", String.valueOf(model.getId()));
|
||||||
}
|
}
|
||||||
bodyBuilder.addEncoded("token", model.getToken());
|
if(isNeedToken) {
|
||||||
|
bodyBuilder.addEncoded("token", model.getToken());
|
||||||
|
}
|
||||||
formBody = bodyBuilder.build();
|
formBody = bodyBuilder.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import android.content.Context;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.yunbao.common.Constants;
|
import com.yunbao.common.Constants;
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.common.bean.ActiveModel;
|
import com.yunbao.common.bean.ActiveModel;
|
||||||
@ -16,6 +17,7 @@ import com.yunbao.common.bean.LinkMicUserBean;
|
|||||||
import com.yunbao.common.bean.LinkMicUserBeanV2;
|
import com.yunbao.common.bean.LinkMicUserBeanV2;
|
||||||
import com.yunbao.common.bean.ListInfoMessageModel;
|
import com.yunbao.common.bean.ListInfoMessageModel;
|
||||||
import com.yunbao.common.bean.LiveAiRobotBean;
|
import com.yunbao.common.bean.LiveAiRobotBean;
|
||||||
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
import com.yunbao.common.bean.LiveDataInfoModel;
|
import com.yunbao.common.bean.LiveDataInfoModel;
|
||||||
import com.yunbao.common.bean.LiveInfoModel;
|
import com.yunbao.common.bean.LiveInfoModel;
|
||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
@ -45,6 +47,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
|||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.disposables.Disposable;
|
||||||
import io.reactivex.functions.Consumer;
|
import io.reactivex.functions.Consumer;
|
||||||
import io.reactivex.schedulers.Schedulers;
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1145,6 +1148,56 @@ public class LiveNetManager {
|
|||||||
}).isDisposed();
|
}).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置主播联系方式
|
||||||
|
* @param liveUid 直播间id
|
||||||
|
* @param callMe 载体
|
||||||
|
* @param callback 回调
|
||||||
|
*/
|
||||||
|
public void setAnchorCallMe(String liveUid,
|
||||||
|
LiveAnchorCallMeModel callMe,
|
||||||
|
HttpCallback<String> callback) {
|
||||||
|
API.get().createPDLiveApi(false, false)
|
||||||
|
.setAnchorContact(liveUid,
|
||||||
|
callMe.getIsShow(),
|
||||||
|
callMe.getGiftId(),
|
||||||
|
callMe.getContent(),
|
||||||
|
callMe.getWechat().toJSONObject(),
|
||||||
|
callMe.getLine().toJSONObject(),
|
||||||
|
callMe.getWhatsApp().toJSONObject())
|
||||||
|
.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();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取主播联系方式
|
||||||
|
*
|
||||||
|
* @param liveUid 直播间id
|
||||||
|
* @param callback 回调
|
||||||
|
*/
|
||||||
|
public void getContactInfo(String liveUid, HttpCallback<LiveAnchorCallMeModel> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.getContactInfo(liveUid)
|
||||||
|
.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();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 直播间取消网络请求
|
* 直播间取消网络请求
|
||||||
*/
|
*/
|
||||||
|
@ -13,6 +13,7 @@ import android.widget.TextView;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
||||||
import com.yunbao.common.bean.PrankGiftBean;
|
import com.yunbao.common.bean.PrankGiftBean;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
@ -86,6 +87,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
return list.size();
|
return list.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static class TmpData {
|
public static class TmpData {
|
||||||
private String value;
|
private String value;
|
||||||
private int status;
|
private int status;
|
||||||
@ -153,6 +155,9 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
@Override
|
@Override
|
||||||
public void setData(TmpData data, int position) {
|
public void setData(TmpData data, int position) {
|
||||||
super.setData(data, position);
|
super.setData(data, position);
|
||||||
|
if (!StringUtil.isEmpty(data.getValue())) {
|
||||||
|
ImgLoader.display(mContext, data.getValue(), giftIcon);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -163,6 +168,9 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
public void onSelectGift(PrankGiftBean bean) {
|
public void onSelectGift(PrankGiftBean bean) {
|
||||||
if (bean != null) {
|
if (bean != null) {
|
||||||
ImgLoader.display(mContext, bean.getIcon(), giftIcon);
|
ImgLoader.display(mContext, bean.getIcon(), giftIcon);
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(new TmpData(bean.getGiftId() + "", 1, TYPE_GIFT), getAbsoluteAdapterPosition());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,10 +195,19 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
letter = itemView.findViewById(R.id.letterText);
|
letter = itemView.findViewById(R.id.letterText);
|
||||||
edit = itemView.findViewById(R.id.edit);
|
edit = itemView.findViewById(R.id.edit);
|
||||||
edit.setOnClickListener(v -> {
|
edit.setOnClickListener(v -> {
|
||||||
new LiveAnchorEditCallMeEditAppDialog(mContext, LiveAnchorEditCallMeEditAppDialog.TYPE_LETTER).setOnValueListener(new OnItemClickListener<String>() {
|
new LiveAnchorEditCallMeEditAppDialog(mContext, TYPE_LETTER).setDefValue(list.get(1).getValue()).setOnValueListener(new OnItemClickListener<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(String bean, int position) {
|
public void onItemClick(String bean, int position) {
|
||||||
letter.setText(bean);
|
if (StringUtil.isEmpty(bean)) {
|
||||||
|
letter.setText("未填写");
|
||||||
|
letter.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
|
} else {
|
||||||
|
letter.setText(bean);
|
||||||
|
letter.setTextColor(Color.WHITE);
|
||||||
|
}
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(new TmpData(letter.getText().toString(), 1, TYPE_LETTER), getAbsoluteAdapterPosition());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}).showDialog();
|
}).showDialog();
|
||||||
});
|
});
|
||||||
@ -215,20 +232,17 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
edit = itemView.findViewById(R.id.app_edit);
|
edit = itemView.findViewById(R.id.app_edit);
|
||||||
status = itemView.findViewById(R.id.app_switch);
|
status = itemView.findViewById(R.id.app_switch);
|
||||||
icon = itemView.findViewById(R.id.gift_icon);
|
icon = itemView.findViewById(R.id.gift_icon);
|
||||||
itemView.setOnClickListener(v -> {
|
|
||||||
if (onItemClickListener != null) {
|
|
||||||
onItemClickListener.onItemClick(list.get(getAbsoluteAdapterPosition()), getAbsoluteAdapterPosition());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setData(TmpData data, int position) {
|
public void setData(TmpData data, int position) {
|
||||||
super.setData(data, position);
|
super.setData(data, position);
|
||||||
if (StringUtil.isEmpty(data.getValue())) {
|
if (StringUtil.isEmpty(data.getValue())) {
|
||||||
|
contact.setTag(null);
|
||||||
contact.setText("未填写");
|
contact.setText("未填写");
|
||||||
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
} else {
|
} else {
|
||||||
|
contact.setTag(data.getValue());
|
||||||
contact.setText(data.getValue());
|
contact.setText(data.getValue());
|
||||||
contact.setTextColor(Color.WHITE);
|
contact.setTextColor(Color.WHITE);
|
||||||
}
|
}
|
||||||
@ -237,11 +251,40 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
|||||||
} else if (data.getStatus() == 1) {
|
} else if (data.getStatus() == 1) {
|
||||||
status.setImageResource(R.mipmap.special_icon_on);
|
status.setImageResource(R.mipmap.special_icon_on);
|
||||||
}
|
}
|
||||||
|
status.setTag(data.getStatus());
|
||||||
|
status.setOnClickListener(v -> {
|
||||||
|
if (StringUtil.isEmpty((String) contact.getTag())) {
|
||||||
|
ToastUtil.show("请填写联系方式后再启用");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int tag = (int) v.getTag();
|
||||||
|
if (tag == 0) {
|
||||||
|
status.setImageResource(R.mipmap.special_icon_on);
|
||||||
|
status.setTag(1);
|
||||||
|
} else {
|
||||||
|
status.setImageResource(R.mipmap.special_icon_off);
|
||||||
|
status.setTag(0);
|
||||||
|
}
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(new TmpData((String) contact.getTag(), (Integer) status.getTag(), data.getType()), position);
|
||||||
|
}
|
||||||
|
});
|
||||||
edit.setOnClickListener(v -> {
|
edit.setOnClickListener(v -> {
|
||||||
new LiveAnchorEditCallMeEditAppDialog(mContext, data.getType()).setOnValueListener(new OnItemClickListener<String>() {
|
new LiveAnchorEditCallMeEditAppDialog(mContext, data.getType()).setDefValue((String) contact.getTag()).setOnValueListener(new OnItemClickListener<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(String bean, int position) {
|
public void onItemClick(String bean, int position) {
|
||||||
contact.setText(bean);
|
if (StringUtil.isEmpty(bean)) {
|
||||||
|
contact.setTag(null);
|
||||||
|
contact.setText("未填写");
|
||||||
|
contact.setTextColor(Color.parseColor("#80FFFFFF"));
|
||||||
|
} else {
|
||||||
|
contact.setTag(bean);
|
||||||
|
contact.setText(bean);
|
||||||
|
contact.setTextColor(Color.WHITE);
|
||||||
|
}
|
||||||
|
if (onItemClickListener != null) {
|
||||||
|
onItemClickListener.onItemClick(new TmpData((String) contact.getTag(), (Integer) status.getTag(), data.getType()), position);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}).showDialog();
|
}).showDialog();
|
||||||
});
|
});
|
||||||
|
@ -1,24 +1,22 @@
|
|||||||
package com.yunbao.live.dialog;
|
package com.yunbao.live.dialog;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.View;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
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.PrankGiftBean;
|
import com.yunbao.common.bean.BaseModel;
|
||||||
|
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.utils.DialogUitl;
|
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter;
|
import com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter;
|
||||||
import com.yunbao.live.adapter.LivePrankRecyclerAdapter;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -26,7 +24,9 @@ import java.util.List;
|
|||||||
public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
||||||
String mLiveUid = "98275";
|
String mLiveUid = "98275";
|
||||||
RecyclerView list;
|
RecyclerView list;
|
||||||
|
LiveAnchorCallMeModel callMeModel;
|
||||||
LiveAnchorEditCallMeAdapter adapter;
|
LiveAnchorEditCallMeAdapter adapter;
|
||||||
|
ImageView status;
|
||||||
|
|
||||||
public LiveAnchorEditCallMeDialog(@NonNull Context context) {
|
public LiveAnchorEditCallMeDialog(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -51,23 +51,86 @@ public class LiveAnchorEditCallMeDialog extends AbsDialogPopupWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initData() {
|
private void initData() {
|
||||||
List<LiveAnchorEditCallMeAdapter.TmpData> data = new ArrayList<>();
|
LiveNetManager.get(getContext())
|
||||||
data.add(new LiveAnchorEditCallMeAdapter.TmpData(null, 1, LiveAnchorEditCallMeAdapter.TYPE_GIFT));
|
.getContactInfo(mLiveUid, new HttpCallback<LiveAnchorCallMeModel>() {
|
||||||
data.add(new LiveAnchorEditCallMeAdapter.TmpData("测试测试", 1, LiveAnchorEditCallMeAdapter.TYPE_LETTER));
|
@Override
|
||||||
data.add(new LiveAnchorEditCallMeAdapter.TmpData("13333333333", 1, LiveAnchorEditCallMeAdapter.TYPE_APP_WECHAT));
|
public void onSuccess(LiveAnchorCallMeModel data) {
|
||||||
data.add(new LiveAnchorEditCallMeAdapter.TmpData("13333333333", 0, LiveAnchorEditCallMeAdapter.TYPE_APP_LINE));
|
callMeModel = data;
|
||||||
data.add(new LiveAnchorEditCallMeAdapter.TmpData(null, 0, LiveAnchorEditCallMeAdapter.TYPE_APP_WHATSAPP));
|
List<LiveAnchorEditCallMeAdapter.TmpData> list = new ArrayList<>();
|
||||||
adapter.setList(data);
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getGiftImage(), 1, LiveAnchorEditCallMeAdapter.TYPE_GIFT));
|
||||||
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getContent(), 1, LiveAnchorEditCallMeAdapter.TYPE_LETTER));
|
||||||
|
list.add(new LiveAnchorEditCallMeAdapter.TmpData(data.getWechat().getNumber(), data.getWechat().getIsShow(), LiveAnchorEditCallMeAdapter.TYPE_APP_WECHAT));
|
||||||
|
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));
|
||||||
|
adapter.setList(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initView() {
|
private void initView() {
|
||||||
list = findViewById(R.id.anchor_call_list);
|
list = findViewById(R.id.anchor_call_list);
|
||||||
adapter = new LiveAnchorEditCallMeAdapter(getContext(),getRootView());
|
status = findViewById(R.id.say_switch);
|
||||||
|
findViewById(R.id.btn_close).setOnClickListener(v -> dismiss());
|
||||||
|
adapter = new LiveAnchorEditCallMeAdapter(getContext(), getRootView());
|
||||||
|
adapter.setOnItemClickListener(new OnItemClickListener<LiveAnchorEditCallMeAdapter.TmpData>() {
|
||||||
|
@Override
|
||||||
|
public void onItemClick(LiveAnchorEditCallMeAdapter.TmpData bean, int position) {
|
||||||
|
if (callMeModel == null) {
|
||||||
|
callMeModel = new LiveAnchorCallMeModel();
|
||||||
|
}
|
||||||
|
if (position == 0) {
|
||||||
|
callMeModel.setGiftId(Integer.parseInt(bean.getValue()));
|
||||||
|
} else if (position == 1) {
|
||||||
|
callMeModel.setContent(bean.getValue());
|
||||||
|
} else if (bean.getType() == LiveAnchorEditCallMeAdapter.TYPE_APP_WECHAT) {
|
||||||
|
callMeModel.setWechat(new LiveAnchorCallMeModel.AppBean(bean.getValue(), bean.getStatus()));
|
||||||
|
} else if (bean.getType() == LiveAnchorEditCallMeAdapter.TYPE_APP_LINE) {
|
||||||
|
callMeModel.setLine(new LiveAnchorCallMeModel.AppBean(bean.getValue(), bean.getStatus()));
|
||||||
|
} else if (bean.getType() == LiveAnchorEditCallMeAdapter.TYPE_APP_WHATSAPP) {
|
||||||
|
callMeModel.setWhatsApp(new LiveAnchorCallMeModel.AppBean(bean.getValue(), bean.getStatus()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
status.setTag(0);
|
||||||
|
status.setOnClickListener(v -> {
|
||||||
|
int tag = (int) v.getTag();
|
||||||
|
if (tag == 0) {
|
||||||
|
status.setImageResource(R.mipmap.special_icon_on);
|
||||||
|
status.setTag(1);
|
||||||
|
} else {
|
||||||
|
status.setImageResource(R.mipmap.special_icon_off);
|
||||||
|
status.setTag(0);
|
||||||
|
}
|
||||||
|
callMeModel.setIsShow((Integer) status.getTag());
|
||||||
|
});
|
||||||
list.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
list.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||||
list.setAdapter(adapter);
|
list.setAdapter(adapter);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDismiss() {
|
||||||
|
super.onDismiss();
|
||||||
|
if (callMeModel == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LiveNetManager.get(getContext())
|
||||||
|
.setAnchorCallMe(mLiveUid, callMeModel, new HttpCallback<String>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(String data) {
|
||||||
|
ToastUtil.show("成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
package com.yunbao.live.dialog;
|
package com.yunbao.live.dialog;
|
||||||
|
|
||||||
|
import static com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter.TYPE_APP_LINE;
|
||||||
|
import static com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter.TYPE_APP_WECHAT;
|
||||||
|
import static com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter.TYPE_APP_WHATSAPP;
|
||||||
|
import static com.yunbao.live.adapter.LiveAnchorEditCallMeAdapter.TYPE_LETTER;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.View;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@ -15,10 +19,6 @@ import com.yunbao.common.utils.StringUtil;
|
|||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
|
|
||||||
public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
||||||
public static final int TYPE_LETTER = 0;
|
|
||||||
public static final int TYPE_APP_WECHAT = 2;
|
|
||||||
public static final int TYPE_APP_LINE = 3;
|
|
||||||
public static final int TYPE_APP_WHATSAPP = 4;
|
|
||||||
OnItemClickListener<String> clickListener;
|
OnItemClickListener<String> clickListener;
|
||||||
private int type;
|
private int type;
|
||||||
private String defValue;
|
private String defValue;
|
||||||
@ -49,8 +49,9 @@ public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
|||||||
return R.layout.dialog_anchor_call_edit_app;
|
return R.layout.dialog_anchor_call_edit_app;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDefValue(String defValue) {
|
public LiveAnchorEditCallMeEditAppDialog setDefValue(String defValue) {
|
||||||
this.defValue = defValue;
|
this.defValue = defValue;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveAnchorEditCallMeEditAppDialog setOnValueListener(OnItemClickListener<String> clickListener) {
|
public LiveAnchorEditCallMeEditAppDialog setOnValueListener(OnItemClickListener<String> clickListener) {
|
||||||
@ -58,6 +59,13 @@ public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDismiss() {
|
||||||
|
super.onDismiss();
|
||||||
|
((InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate() {
|
protected void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
@ -100,7 +108,7 @@ public class LiveAnchorEditCallMeEditAppDialog extends AbsDialogPopupWindow {
|
|||||||
edit = findViewById(R.id.edit);
|
edit = findViewById(R.id.edit);
|
||||||
findViewById(R.id.btn_back).setOnClickListener(v -> dismiss());
|
findViewById(R.id.btn_back).setOnClickListener(v -> dismiss());
|
||||||
findViewById(R.id.submit).setOnClickListener(v -> {
|
findViewById(R.id.submit).setOnClickListener(v -> {
|
||||||
clickListener.onItemClick(edit.getText().toString(), 0);
|
clickListener.onItemClick(edit.getText().toString(), type);
|
||||||
dismiss();
|
dismiss();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,9 @@
|
|||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="24dp"
|
android:id="@+id/btn_close"
|
||||||
android:layout_height="24dp"
|
android:layout_width="19dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
app:srcCompat="@mipmap/live_close" />
|
app:srcCompat="@mipmap/live_close" />
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user