3 Commits

Author SHA1 Message Date
lzl
cdd3f79c59 Merge branch 'branch_new' into branch_new_83 2025-12-16 10:01:20 +08:00
lzl
a593acba07 Merge branch 'branch_new' into branch_new_83 2025-12-10 18:12:01 +08:00
lzl
3c59e8bbce 83 2025-12-10 16:15:37 +08:00
136 changed files with 2008 additions and 2718 deletions

View File

@@ -117,7 +117,6 @@ public class AppUpdateDialog extends BaseDialog<DialogAppUpdateBinding> implemen
mProgressDialog.dismiss();
}
try {
LogUtils.e("installAppSuccess",localPath);
AppUtils.installApp(localPath);
} catch (Exception e) {
Logger.e("installAppError", e);

View File

@@ -186,7 +186,7 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
helper.getView(R.id.dy_lookmore_tv).setVisibility(GONE);
helper.getView(R.id.dy_content_tv).setVisibility(GONE);
} else {
helper.getView(R.id.dy_lookmore_tv).setVisibility(GONE);
helper.getView(R.id.dy_lookmore_tv).setVisibility(VISIBLE);
helper.getView(R.id.dy_content_tv).setVisibility(VISIBLE);
}
helper.getView(R.id.dy_lookmore_tv).getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@@ -196,7 +196,7 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
TextView view = helper.getView(R.id.dy_content_tv);
int lineCount = view.getLineCount();
if (lineCount >= 7) {
helper.getView(R.id.dy_lookmore_tv).setVisibility(GONE);
helper.getView(R.id.dy_lookmore_tv).setVisibility(VISIBLE);
helper.getView(R.id.dy_content_tv).getViewTreeObserver().removeOnPreDrawListener(this);//销毁
} else {
helper.getView(R.id.dy_lookmore_tv).setVisibility(GONE);

View File

@@ -16,6 +16,6 @@ public class BlackUserBean {
private int sex;
private String user_code;
private int is_online;
private int is_follow;// 是否关注 0:未关注 1已关注 2别人关注了你你没有关注别人这个2只会在粉丝中使用
private int is_follow;
private List<String> icon;
}

View File

@@ -61,7 +61,7 @@ public class GiftBoxBean {
private int task_type_id;
private String task_type_name;
private int is_lock;//锁:0 不开启锁 1 开启锁
@Data
public static class DailyTasksBean {

View File

@@ -1,11 +0,0 @@
package com.xscm.moduleutil.bean
/**
* 项目名称:羽声语音
* 时间2025/12/16 11:35
* 用途:任务未领取角标
*/
class TasksMessage {
var num: Int=0
var not_received_tasks_num : Int=0 //任务未领取奖励数 这是心跳中返回的参数,用于展示任务未领取角标,是在房间内展示的
}

View File

@@ -11,21 +11,10 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeJoin = 1001;
/// 用户退出房间
public static final int QXRoomMessageTypeQuit = 1002;
//================================================================================================麦上变化=================================================================
/// 用户上麦
public static final int QXRoomMessageTypeUpSeat = 1003;
/// 用户下麦
public static final int QXRoomMessageTypeDownSeat = 1004;
/// 拍卖者被拉上麦
public static final int QXRoomMessageTypeAuctionIsUp = 1022;
/// 竞拍开始,竞拍麦位发生变化
public static final int QXRoomMessageTypeAuctionIsStart = 1024;
/// 互娱 麦位发生变化
public static final int QXRoomMessageTypeSeatDidChanged = 1053;
/// 房间内换麦
public static final int QXRoomMessageTypehm = 1039;
//==============================================================================================end=================================================================
/// 房间收到礼物
public static final int QXRoomMessageTypeGift = 1005;
/// 设置管理员
@@ -59,11 +48,12 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeRoomUpdate = 1020;
/// 清除魅力值
public static final int QXRoomMessageTypeRoom = 1021;
/// 拍卖者被拉上麦
public static final int QXRoomMessageTypeAuctionIsUp = 1022;
/// 拍卖者拍卖开始
public static final int QXRoomMessageTypeAuctionIsSelected = 1023;
/// 竞拍开始,竞拍麦位发生变化
public static final int QXRoomMessageTypeAuctionIsStart = 1024;
/// 竞拍结束
public static final int QXRoomMessageTypeAuctionIsEnd = 1025;
/// 主持延时
@@ -111,7 +101,8 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeRoomFriendCreateRelation = 1051;
/// 私密小屋结束时间发生延时
public static final int QXRoomMessageTypeCabinTimeDelay = 1052;
/// 麦位发生变化
public static final int QXRoomMessageTypeSeatDidChanged = 1053;
/// 心动值发生变化
public static final int QXRoomMessageTypeHeartDidChanged = 1054;
/// 小黑屋有人退出房间
@@ -138,7 +129,8 @@ public class EMMessageInfo implements MultiItemEntity {
//已点歌曲数量
public static final int QXRoomMessageTypeSongerNum = 1072;
/// 房间内换麦
public static final int QXRoomMessageTypehm = 1039;
public static final int QXRoomMessageTypeCPText = 1080;//CP特效进入房间的特效
/// 签约开始
public static final int QXRoomMessageTypeSignStartText = 1090;

View File

@@ -26,7 +26,7 @@ public class RoomInfoResp implements Serializable {
private RoomOrderDemand demand;//嘉宾需求
private int rejoin;
private int is_show_self;//盲盒是否送自己
private MusicSongBean song_user_info;//ktv
private MusicSongBean song_user_info;
private MusicSongBean nextInfo;
private RoomAuction room_auction;//拍卖房信息
private RoomCpUserBean cp_user;

View File

@@ -13,7 +13,6 @@ import com.xscm.moduleutil.widget.Constants;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Field;
@@ -27,7 +26,7 @@ public interface ApiServer {
@FormUrlEncoded //请求验证码
@POST(Constants.SEND_CODE)
Call<BaseModel<String>> sendCode(@Field("mobile") String mobile, @Field("event") String event);
Observable<BaseModel<Object>> sendCode(@Field("mobile") String mobile, @Field("event") String event);
@FormUrlEncoded
@POST(Constants.LOGIN)
@@ -39,7 +38,7 @@ public interface ApiServer {
@FormUrlEncoded //手机换绑
@POST(Constants.MODIFY_MOBILE)
Call<BaseModel<String>> mobileView(@Field("mobile") String mobile, @Field("new_mobile") String new_mobile, @Field("sms_code") String sms_code,@Field("new_sms_code") String new_sms_code);
Call<BaseModel<String>> mobileView(@Field("mobile") String mobile, @Field("new_mobile") String new_mobile, @Field("sms_code") String sms_code);
@GET(Constants.GET_EMOTION)
Call<BaseModel<List<Emotion>>> upEmotion();
@@ -557,9 +556,6 @@ public interface ApiServer {
@GET(Constants.GET_WALLET)
Call<BaseModel<WalletBean>> wallet();
@GET(Constants.GET_TASKS_MESSAGE)
Call<BaseModel<TasksMessage>> getTasksMessage();
@FormUrlEncoded
@POST(Constants.REDPACKET_CREATE)
Call<ResponseBody> redPacketCreate(@Field("type") int type, @Field("password") String password, @Field("coin_type") int coin_type, @Field("total_amount") String total_amount,
@@ -633,7 +629,7 @@ public interface ApiServer {
@FormUrlEncoded
@POST(Constants.POST_KEEP_XINTIAO)
Call<BaseModel<TasksMessage>> keepXintiao(@Field("room_id") String room_id);
Call<ResponseBody> keepXintiao(@Field("room_id") String room_id);
@FormUrlEncoded
@POST(Constants.DOWN_PIT)
@@ -693,7 +689,7 @@ public interface ApiServer {
@FormUrlEncoded
@POST(Constants.CHANGE_SONG)
Call<BaseModel<String>> changeSong(@Field("room_id") String roomId, @Field("now_did") String now_did,@Field("is_auto_next") String is_auto_next);
Call<BaseModel<String>> changeSong(@Field("room_id") String roomId, @Field("now_did") String now_did);
@FormUrlEncoded
@POST(Constants.POST_HOST_LIST)

View File

@@ -7,7 +7,6 @@ import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
@@ -80,7 +79,6 @@ public class RetrofitClient {
public interface JoinRoomLoadListener {
void onJoinRoomLoad(String result);
}
public void setJoinRoomLoadListener(JoinRoomLoadListener joinRoomLoadListener) {
this.joinRoomLoadListener = joinRoomLoadListener;
}
@@ -163,16 +161,6 @@ public class RetrofitClient {
return cpListener;
}
private TasksMessageListener tasksMessageListener;
public interface TasksMessageListener {
void onTasksMessageNum(int result);
}
public void setTasksMessageListener(TasksMessageListener tasksMessageListener) {
this.tasksMessageListener = tasksMessageListener;
}
public static RetrofitClient getInstance() {
if (INSTANCE == null) {
@@ -219,30 +207,12 @@ public class RetrofitClient {
sApiServer.appUpdate().compose(new DefaultTransformer<>()).subscribe(observer);
}
public void sendCode(String mobile, String event, BaseObserver<String> observer) {
sApiServer.sendCode(mobile, event).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
if (response.code() == 200) {
BaseModel<String> body = response.body();
if (body.getCode() == 1) {
observer.onNext(body.getMsg());
} else if (body.getCode() == 0) {
ToastUtils.showLong(body.getMsg());
}
}
}
@Override
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
LogUtils.e("sendCode", t.getMessage());
}
});
public void sendCode(String mobile, String event, BaseObserver<Object> observer) {
sApiServer.sendCode(mobile, event).compose(new DefaultTransformer<>()).subscribe(observer);
}
public void mobileView(String mobile, String new_mobile, String sms_code,String new_sms_code, BaseObserver<String> observer) {
sApiServer.mobileView(mobile, new_mobile, sms_code,new_sms_code).enqueue(new Callback<BaseModel<String>>() {
public void mobileView(String mobile, String new_mobile, String sms_code, BaseObserver<String> observer) {
sApiServer.mobileView(mobile, new_mobile, sms_code).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
if (response.code() == 200) {
@@ -575,7 +545,7 @@ public class RetrofitClient {
} catch (ClassNotFoundException e) {
}
} else {
ToastUtils.showLong(baseModel.getMsg());
ToastUtils.showLong(baseModel.getMsg());
}
}
}
@@ -951,7 +921,7 @@ public class RetrofitClient {
BaseModel<List<MyBagDataBean>> baseModel = response.body();
if (baseModel.getCode() == 1) {
observer.onNext(baseModel.getData());
} else if (baseModel.getCode() == 0) {
}else if (baseModel.getCode() == 0) {
observer.onNext(new ArrayList<>());
}
}
@@ -972,7 +942,7 @@ public class RetrofitClient {
BaseModel<List<MyBagDataBean>> baseModel = response.body();
if (baseModel.getCode() == 1) {
observer.onNext(baseModel.getData());
} else if (baseModel.getCode() == 0) {
}else if (baseModel.getCode() == 0) {
observer.onNext(new ArrayList<>());
}
}
@@ -1092,8 +1062,8 @@ public class RetrofitClient {
sApiServer.dailyTasksOpenBox(gift_box_id).compose(new DefaultTransformer<>()).subscribe(observer);
}
public void dailyTasksReceive(String task_id, String student_id, BaseObserver<String> observer) {
sApiServer.dailyTasksReceive(task_id, student_id).enqueue(new Callback<ResponseBody>() {
public void dailyTasksReceive(String task_id,String student_id, BaseObserver<String> observer) {
sApiServer.dailyTasksReceive(task_id,student_id).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
@@ -2080,11 +2050,6 @@ public class RetrofitClient {
BaseModel<UserInfo> listBaseModel = response.body();
if (listBaseModel.getCode() == 1) {
observer.onNext(listBaseModel.getData());
}else if (listBaseModel.getCode() == 0){
ToastUtils.showShort(listBaseModel.getMsg());
if (ActivityUtils.getTopActivity().getComponentName().getClassName().contains("UserHomepageActivity")){
ActivityUtils.getTopActivity().finish();
}
}
}
}
@@ -2296,10 +2261,10 @@ public class RetrofitClient {
}
} else if (roomInfoRespBaseModel.getCode() == 0) {
ToastUtils.showShort(roomInfoRespBaseModel.getMsg());
if (joinRoomLoadListener != null) {
if (joinRoomLoadListener != null){
joinRoomLoadListener.onJoinRoomLoad(roomInfoRespBaseModel.getMsg());
}
} else if (roomInfoRespBaseModel.getCode() == 202) {
}else if (roomInfoRespBaseModel.getCode() == 202){
observer.onNext(roomInfoRespBaseModel.getData());
} else {
MessageListenerSingleton.getInstance().quitGroup(roomId);
@@ -2397,7 +2362,7 @@ public class RetrofitClient {
});
}
public void check_create_room(BaseObserver<String> observer) {
public void check_create_room(BaseObserver<String> observer){
sApiServer.checkCreateRoom().enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -2405,9 +2370,9 @@ public class RetrofitClient {
BaseModel<String> stringBaseModel = response.body();
if (stringBaseModel.getCode() == 1) {
observer.onNext("");
} else if (stringBaseModel.getCode() == 0) {
}else if (stringBaseModel.getCode() == 0) {
com.hjq.toast.ToastUtils.show(stringBaseModel.getMsg());
} else if (stringBaseModel.getCode() == 301) {
}else if(stringBaseModel.getCode()==301){
try {
CommonAppContext.getInstance().clearLoginInfo();
ToastUtils.showShort(stringBaseModel.getMsg());
@@ -2415,7 +2380,7 @@ public class RetrofitClient {
throw new RuntimeException(e);
}
}
} else {
}else {
LogUtils.e("check_create_room", response.message());
}
@@ -2461,7 +2426,7 @@ public class RetrofitClient {
BaseModel<RoomOnline> roomOnlineBaseModel = response.body();
if (roomOnlineBaseModel.getCode() == 1) {
observer.onNext(roomOnlineBaseModel.getData());
} else if (roomOnlineBaseModel.getCode() == 0) {
}else if (roomOnlineBaseModel.getCode() == 0) {
ToastUtils.showLong(roomOnlineBaseModel.getMsg());
}
}
@@ -2503,7 +2468,7 @@ public class RetrofitClient {
});
}
public void index_recommend_room(BaseObserver<IndexRecommendRoom> observer) {
public void index_recommend_room(BaseObserver<IndexRecommendRoom> observer) {
sApiServer.index_recommend_room().enqueue(new Callback<BaseModel<IndexRecommendRoom>>() {
@Override
@@ -2513,7 +2478,7 @@ public class RetrofitClient {
if (indexRecommendRoomBaseModel.getCode() == 1) {
if (indexRecommendRoomBaseModel.getData() == null) {
observer.onNext(new IndexRecommendRoom());
} else {
}else {
observer.onNext(indexRecommendRoomBaseModel.getData());
}
} else if (indexRecommendRoomBaseModel.getCode() == 0) {
@@ -2531,11 +2496,11 @@ public class RetrofitClient {
@Override
public void onFailure(Call<BaseModel<IndexRecommendRoom>> call, Throwable t) {
LogUtils.e("首页房间推荐", t.fillInStackTrace());
LogUtils.e("首页房间推荐",t.fillInStackTrace());
}
});
}
}
public void wallet(BaseObserver<WalletBean> observer) {
sApiServer.wallet().enqueue(new Callback<BaseModel<WalletBean>>() {
@@ -2556,36 +2521,7 @@ public class RetrofitClient {
});
}
public void getTasksMessage(BaseObserver<TasksMessage> observer) {
sApiServer.getTasksMessage().enqueue(new Callback<BaseModel<TasksMessage>>() {
@Override
public void onResponse(Call<BaseModel<TasksMessage>> call, Response<BaseModel<TasksMessage>> response) {
if (response.code() == 200) {
BaseModel<TasksMessage> tasksMessage = response.body();
if (tasksMessage.getCode() == 1) {
observer.onNext(tasksMessage.getData());
} else if (tasksMessage.getCode() == 0) {
} else if (tasksMessage.getCode() == 301) {
try {
CommonAppContext.getInstance().clearLoginInfo();
ToastUtils.showShort(tasksMessage.getMsg());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}
}
@Override
public void onFailure(Call<BaseModel<TasksMessage>> call, Throwable t) {
LogUtils.e("任务个数", t.fillInStackTrace());
}
});
}
public void redPacketCreate(int type, String password, int coin_type, String
total_amount, String total_count, String conditions, String countdown, String
room_id, String remark, BaseObserver<String> observer) {
public void redPacketCreate(int type, String password, int coin_type, String total_amount, String total_count, String conditions, String countdown, String room_id, String remark, BaseObserver<String> observer) {
sApiServer.redPacketCreate(type, password, coin_type, total_amount, total_count, conditions, countdown, room_id, remark).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
@@ -2646,8 +2582,7 @@ public class RetrofitClient {
// });
}
public void appPay(String user_id, String money, String coin, String type, String
type_params, String type_id, String nobility_id, BaseObserver<AppPay> observer) {
public void appPay(String user_id, String money, String coin, String type, String type_params, String type_id, String nobility_id, BaseObserver<AppPay> observer) {
sApiServer.appPay(user_id, money, coin, type, type_params, type_id, nobility_id).enqueue(new Callback<BaseModel<AppPay>>() {
@Override
public void onResponse(Call<BaseModel<AppPay>> call, Response<BaseModel<AppPay>> response) {
@@ -2706,8 +2641,7 @@ public class RetrofitClient {
});
}
public void bind(String userId, String type, String alipayAccount, String
bank_card_number, String bank_card, String open_bank, BaseObserver<String> observer) {
public void bind(String userId, String type, String alipayAccount, String bank_card_number, String bank_card, String open_bank, BaseObserver<String> observer) {
sApiServer.bind(userId, type, alipayAccount, bank_card_number, bank_card, open_bank).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -2740,8 +2674,7 @@ public class RetrofitClient {
});
}
public void getRoomUserInfo(String room_id, String
user_id, BaseObserver<UserInfo> observer) {
public void getRoomUserInfo(String room_id, String user_id, BaseObserver<UserInfo> observer) {
sApiServer.getRoomUserInfo(room_id, user_id).enqueue(new Callback<BaseModel<UserInfo>>() {
@Override
public void onResponse(Call<BaseModel<UserInfo>> call, Response<BaseModel<UserInfo>> response) {
@@ -2760,9 +2693,8 @@ public class RetrofitClient {
});
}
public void songList(String room_id, String
page, BaseObserver<List<MusicSongBean>> observer) {
sApiServer.songList(room_id, page).enqueue(new Callback<BaseModel<List<MusicSongBean>>>() {
public void songList(String room_id,String page, BaseObserver<List<MusicSongBean>> observer) {
sApiServer.songList(room_id,page).enqueue(new Callback<BaseModel<List<MusicSongBean>>>() {
@Override
public void onResponse(Call<BaseModel<List<MusicSongBean>>> call, Response<BaseModel<List<MusicSongBean>>> response) {
if (response.code() == 200) {
@@ -2802,8 +2734,7 @@ public class RetrofitClient {
}
public void getSearch(String keyWord, String
type, BaseObserver<List<RoomSearchResp>> observer) {
public void getSearch(String keyWord, String type, BaseObserver<List<RoomSearchResp>> observer) {
sApiServer.getSearch(keyWord, type).enqueue(new Callback<BaseModel<List<RoomSearchResp>>>() {
@Override
public void onResponse(Call<BaseModel<List<RoomSearchResp>>> call, Response<BaseModel<List<RoomSearchResp>>> response) {
@@ -2926,8 +2857,7 @@ public class RetrofitClient {
});
}
public void roomAuctionJoin(String auctionId, String userId, String giftId, String
num, String type, BaseObserver<RoomAuction.AuctionListBean> observer) {
public void roomAuctionJoin(String auctionId, String userId, String giftId, String num, String type, BaseObserver<RoomAuction.AuctionListBean> observer) {
sApiServer.roomAuctionJoin(auctionId, userId, giftId, num, type).enqueue(new ApiResponseCallback<RoomAuction.AuctionListBean>(CommonAppContext.getInstance()) {
@Override
public void onSuccess(RoomAuction.AuctionListBean data) {
@@ -3042,14 +2972,10 @@ public class RetrofitClient {
if (response.code() == 200) {
BaseModel<RedPackGrab> baseModel = response.body();
if (baseModel.getCode() == 1) {
if (baseModel.getData() != null) {
observer.onNext(baseModel.getData());
}
observer.onNext(baseModel.getData());
} else if (baseModel.getCode() == 0) {
ToastUtils.showShort(baseModel.getMsg());
if (baseModel.getData() != null) {
observer.onNext(baseModel.getData());
}
observer.onNext(baseModel.getData());
} else if (baseModel.getCode() == 301) {
try {
ToastUtils.showShort(baseModel.getMsg());
@@ -3274,8 +3200,7 @@ public class RetrofitClient {
});
}
public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String
type, String pit_number, String heart_id, BaseObserver<RoomGiftData> observer) {
public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number, String heart_id, BaseObserver<RoomGiftData> observer) {
sApiServer.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number, heart_id).enqueue(new Callback<BaseModel<RoomGiftData>>() {
@Override
public void onResponse(Call<BaseModel<RoomGiftData>> call, Response<BaseModel<RoomGiftData>> response) {
@@ -3313,8 +3238,7 @@ public class RetrofitClient {
});
}
public void cpGiveGift(String user_id, String gift_id, String
room_id, BaseObserver<RoomGiftData> observer) {
public void cpGiveGift(String user_id, String gift_id, String room_id, BaseObserver<RoomGiftData> observer) {
sApiServer.cpGiveGift(user_id, gift_id, room_id).enqueue(new Callback<BaseModel<RoomGiftData>>() {
@Override
@@ -3508,36 +3432,21 @@ public class RetrofitClient {
}
public void keepXintiao(String roomId) {
sApiServer.keepXintiao(roomId).enqueue(new Callback<BaseModel<TasksMessage>>() {
sApiServer.keepXintiao(roomId).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<BaseModel<TasksMessage>> call, Response<BaseModel<TasksMessage>> response) {
if (response.code() == 200) {
BaseModel<TasksMessage> tasksMessage = response.body();
assert tasksMessage != null;
if (tasksMessage.getCode() == 1) {
if (tasksMessageListener != null && tasksMessage.getData() != null) {
tasksMessageListener.onTasksMessageNum(tasksMessage.getData().getNot_received_tasks_num());
}
} else if (tasksMessage.getCode() == 0) {
} else if (tasksMessage.getCode() == 301) {
try {
CommonAppContext.getInstance().clearLoginInfo();
ToastUtils.showShort(tasksMessage.getMsg());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<BaseModel<TasksMessage>> call, Throwable t) {
LogUtils.e("心跳: " + t.fillInStackTrace());
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
public void setMutePit(String roomId, String user_id, String isMute, BaseObserver<String> observer) {
public void setMutePit(String roomId, String user_id, String
isMute, BaseObserver<String> observer) {
sApiServer.setMutePit(roomId, user_id, isMute).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -3677,8 +3586,7 @@ public class RetrofitClient {
});
}
public void roomRelationList(String
type, BaseObserver<List<RoomRelationBean>> observer) {
public void roomRelationList(String type, BaseObserver<List<RoomRelationBean>> observer) {
sApiServer.roomRelationList(type).enqueue(new Callback<BaseModel<List<RoomRelationBean>>>() {
@Override
public void onResponse(Call<BaseModel<List<RoomRelationBean>>> call, Response<BaseModel<List<RoomRelationBean>>> response) {
@@ -3717,8 +3625,8 @@ public class RetrofitClient {
});
}
public void changeSong(String room_id, String now_did,String isAutoNext, BaseObserver<String> observer) {
sApiServer.changeSong(room_id, now_did,isAutoNext).enqueue(new Callback<BaseModel<String>>() {
public void changeSong(String room_id, String now_did, BaseObserver<String> observer) {
sApiServer.changeSong(room_id, now_did).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
onNextRetu(response, observer);
@@ -3815,7 +3723,7 @@ public class RetrofitClient {
public void quitRoom(String room_id, String user_id, BaseObserver<String> observer) {
if (room_id == null || room_id.isEmpty())
if (room_id == null ||room_id.isEmpty())
return;
sApiServer.quitRoom(room_id, user_id).enqueue(new Callback<ResponseBody>() {
@Override
@@ -3830,8 +3738,7 @@ public class RetrofitClient {
});
}
public void getFriendListMore(String user_id, String
relation_id, BaseObserver<List<RelationshipBean>> observer) {
public void getFriendListMore(String user_id, String relation_id, BaseObserver<List<RelationshipBean>> observer) {
sApiServer.getFriendListMore(user_id, relation_id).enqueue(new Callback<BaseModel<List<RelationshipBean>>>() {
@Override
@@ -3977,8 +3884,7 @@ public class RetrofitClient {
});
}
public void commentZone(String id, String content, String pid, String
reply_to, BaseObserver<String> observer) {
public void commentZone(String id, String content, String pid, String reply_to, BaseObserver<String> observer) {
sApiServer.commentZone(id, content, pid, reply_to).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -3992,8 +3898,7 @@ public class RetrofitClient {
});
}
public void getFriendList(String userId, String page, String
page_limit, BaseObserver<RelationBean> observer) {
public void getFriendList(String userId, String page, String page_limit, BaseObserver<RelationBean> observer) {
sApiServer.getFriendList(userId, page, page_limit).enqueue(new Callback<BaseModel<RelationBean>>() {
@Override
public void onResponse(Call<BaseModel<RelationBean>> call, Response<BaseModel<RelationBean>> response) {
@@ -4036,8 +3941,8 @@ public class RetrofitClient {
});
}
public void cancel(String sms_code, BaseObserver<String> observer) {
sApiServer.cancel(SpUtil.getToken(), sms_code).enqueue(new Callback<BaseModel<String>>() {
public void cancel(String sms_code,BaseObserver<String> observer) {
sApiServer.cancel(SpUtil.getToken(),sms_code).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -4065,8 +3970,7 @@ public class RetrofitClient {
});
}
public void getPostData(String new_password, String mobile, String code, String
userId, BaseObserver<String> observer) {
public void getPostData(String new_password, String mobile, String code, String userId, BaseObserver<String> observer) {
sApiServer.getPostData(new_password, mobile, code, userId).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -4223,8 +4127,7 @@ public class RetrofitClient {
});
}
public void userOnlineStatus(String user_id, String
roomId, BaseObserver<List<UserOnlineStatusBean>> observer) {
public void userOnlineStatus(String user_id, String roomId, BaseObserver<List<UserOnlineStatusBean>> observer) {
sApiServer.userOnlineStatus(user_id, roomId).enqueue(new Callback<BaseModel<List<UserOnlineStatusBean>>>() {
@Override
public void onResponse(Call<BaseModel<List<UserOnlineStatusBean>>> call, Response<BaseModel<List<UserOnlineStatusBean>>> response) {
@@ -4401,8 +4304,7 @@ public class RetrofitClient {
});
}
public void onNextRetu
(Response<BaseModel<String>> response, BaseObserver<String> observer) {
public void onNextRetu(Response<BaseModel<String>> response, BaseObserver<String> observer) {
if (response.code() == 200) {
BaseModel<String> string = response.body();
if (string != null) {
@@ -4525,8 +4427,7 @@ public class RetrofitClient {
}
/// 盲盒转盘抽奖
public void drawGiftList(String giftBagId, String gift_user_ids, String roomId, String
num, String heart_id, String auction_id, BaseObserver<BlindReslutBean> observer) {
public void drawGiftList(String giftBagId, String gift_user_ids, String roomId, String num, String heart_id, String auction_id, BaseObserver<BlindReslutBean> observer) {
sApiServer.drawGiftList(giftBagId, gift_user_ids, roomId, num, heart_id, auction_id).enqueue(new Callback<BaseModel<BlindReslutBean>>() {
@Override
public void onResponse(Call<BaseModel<BlindReslutBean>> call, Response<BaseModel<BlindReslutBean>> response) {
@@ -4746,8 +4647,7 @@ public class RetrofitClient {
});
}
public void roomUserCharmList(String room_id, String
user_id, BaseObserver<List<RoomUserCharmListBean>> observer) {
public void roomUserCharmList(String room_id, String user_id, BaseObserver<List<RoomUserCharmListBean>> observer) {
sApiServer.roomUserCharmList(room_id, user_id).enqueue(new Callback<BaseModel<List<RoomUserCharmListBean>>>() {
@Override
public void onResponse(Call<BaseModel<List<RoomUserCharmListBean>>> call, Response<BaseModel<List<RoomUserCharmListBean>>> response) {
@@ -4797,8 +4697,8 @@ public class RetrofitClient {
});
}
public void signCoin(String sign_id, String sign_value, BaseObserver<String> observer) {
sApiServer.signCoin(sign_id, sign_value).enqueue(new Callback<BaseModel<String>>() {
public void signCoin(String sign_id,String sign_value, BaseObserver<String> observer) {
sApiServer.signCoin(sign_id,sign_value).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -4813,8 +4713,8 @@ public class RetrofitClient {
}
public void getCpRoom(String userId, int page, BaseObserver<HeartCpBean> observer) {
sApiServer.getCpRoom(userId, page + "").enqueue(new Callback<BaseModel<HeartCpBean>>() {
public void getCpRoom(String userId,int page, BaseObserver<HeartCpBean> observer) {
sApiServer.getCpRoom(userId,page+"").enqueue(new Callback<BaseModel<HeartCpBean>>() {
@Override
public void onResponse(Call<BaseModel<HeartCpBean>> call, Response<BaseModel<HeartCpBean>> response) {
if (response.code() == 200) {
@@ -4892,8 +4792,7 @@ public class RetrofitClient {
}
}
public void familyEarnings(String user_id, int page, String start_time, String
end_time, BaseObserver<List<FamilyEarnings>> observer) {
public void familyEarnings(String user_id, int page, String start_time, String end_time, BaseObserver<List<FamilyEarnings>> observer) {
sApiServer.familyEarnings(user_id, page, start_time, end_time).enqueue(new Callback<BaseModel<List<FamilyEarnings>>>() {
@Override
public void onResponse(Call<BaseModel<List<FamilyEarnings>>> call, Response<BaseModel<List<FamilyEarnings>>> response) {
@@ -4994,7 +4893,7 @@ public class RetrofitClient {
});
}
public void signRefuse(String roomId, BaseObserver<String> observer) {
public void signRefuse(String roomId,BaseObserver<String> observer){
sApiServer.signRefuse(roomId).enqueue(new Callback<BaseModel<String>>() {
@Override
@@ -5009,8 +4908,8 @@ public class RetrofitClient {
});
}
public void freeReSign(int type, String userId, BaseObserver<String> observer) {
if (type == 1) {
public void freeReSign(int type, String userId,BaseObserver<String> observer) {
if (type==1) {
sApiServer.freeReSign(userId).enqueue(new Callback<BaseModel<String>>() {
@Override
@@ -5023,7 +4922,7 @@ public class RetrofitClient {
LogUtils.e("freeReSign", t.fillInStackTrace());
}
});
} else {
}else {
sApiServer.reSign(userId).enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -5039,17 +4938,17 @@ public class RetrofitClient {
}
public void signIn(BaseObserver<List<SignInData>> observer) {
sApiServer.signIn().enqueue(new Callback<BaseModel<List<SignInData>>>() {
sApiServer.signIn().enqueue(new Callback<BaseModel<List<SignInData>>>(){
@Override
public void onResponse(Call<BaseModel<List<SignInData>>> call, Response<BaseModel<List<SignInData>>> response) {
if (response.code() == 200) {
if (response.code()==200){
BaseModel<List<SignInData>> baseModel = response.body();
if (baseModel.getCode() == 1) {
observer.onNext(baseModel.getData() != null ? baseModel.getData() : new ArrayList<SignInData>());
} else if (baseModel.getCode() == 0) {
if (baseModel.getCode()==1 ){
observer.onNext(baseModel.getData()!=null ? baseModel.getData() : new ArrayList<SignInData>());
}else if (baseModel.getCode()==0){
com.hjq.toast.ToastUtils.show(baseModel.getMsg());
} else if (baseModel.getCode() == 301) {
}else if (baseModel.getCode()==301){
try {
CommonAppContext.getInstance().clearLoginInfo();
ToastUtils.showShort(baseModel.getMsg());
@@ -5057,8 +4956,8 @@ public class RetrofitClient {
throw new RuntimeException(e);
}
}
} else {
LogUtils.e("signIn", response.errorBody());
}else {
LogUtils.e("signIn",response.errorBody());
}
}
@@ -5069,9 +4968,8 @@ public class RetrofitClient {
});
}
public void dailyTasksSign(BaseObserver<String> observer) {
sApiServer.postDailyTasksSign().enqueue(new Callback<BaseModel<String>>() {
sApiServer.postDailyTasksSign().enqueue(new Callback<BaseModel<String>>(){
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
@@ -5085,19 +4983,18 @@ public class RetrofitClient {
});
}
public void tasksSignStatus(BaseObserver<TasksSignStatus> observer) {
sApiServer.postDailyTasksSignStatus().enqueue(new Callback<BaseModel<TasksSignStatus>>() {
sApiServer.postDailyTasksSignStatus().enqueue(new Callback<BaseModel<TasksSignStatus>>(){
@Override
public void onResponse(Call<BaseModel<TasksSignStatus>> call, Response<BaseModel<TasksSignStatus>> response) {
if (response.code() == 200) {
if (response.code()==200){
BaseModel<TasksSignStatus> baseModel = response.body();
if (baseModel.getCode() == 1) {
if (baseModel.getCode()==1){
observer.onNext(baseModel.getData());
} else if (baseModel.getCode() == 0) {
}else if (baseModel.getCode()==0){
com.hjq.toast.ToastUtils.show(baseModel.getMsg());
} else if (baseModel.getCode() == 301) {
}else if (baseModel.getCode()==301){
try {
CommonAppContext.getInstance().clearLoginInfo();
ToastUtils.showShort(baseModel.getMsg());
@@ -5105,8 +5002,8 @@ public class RetrofitClient {
throw new RuntimeException(e);
}
}
} else {
LogUtils.e("postDailyTasksSignStatus", response.errorBody());
}else {
LogUtils.e("postDailyTasksSignStatus",response.errorBody());
}
}

View File

@@ -26,18 +26,13 @@ import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.vectordrawable.graphics.drawable.Animatable2Compat;
import com.blankj.utilcode.util.ConvertUtils;
import com.blankj.utilcode.util.Utils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.integration.webp.decoder.WebpDrawable;
import com.bumptech.glide.integration.webp.decoder.WebpDrawableTransformation;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.Transformation;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.bitmap.CenterInside;
import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.request.FutureTarget;
import com.bumptech.glide.request.RequestListener;
@@ -660,54 +655,6 @@ public class ImageUtils {
}
}
public static void loadWebpOneStart(int webp_anim, ImageView mAnimView){
if (mAnimView == null) {
return;
}
// 1. 本地资源专属优化配置
RequestOptions options = new RequestOptions()
// 强制限制解码尺寸为ImageView显示尺寸核心优化
.override(800, 800); // 本地图用原尺寸,或指定固定尺寸
//webp动图
CenterInside transformation = new CenterInside();
Glide.with(mAnimView)
.load(webp_anim)//不是本地资源就改为url即可
.apply(options)
.optionalTransform(transformation)
.optionalTransform(WebpDrawable.class, new WebpDrawableTransformation(transformation))
.addListener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
WebpDrawable webpDrawable = (WebpDrawable) resource;
//需要设置为循环1次才会有onAnimationEnd回调
webpDrawable.setLoopCount(1);
webpDrawable.registerAnimationCallback(new Animatable2Compat.AnimationCallback() {
@Override
public void onAnimationStart(Drawable drawable) {
super.onAnimationStart(drawable);
}
@Override
public void onAnimationEnd(Drawable drawable) {
super.onAnimationEnd(drawable);
webpDrawable.unregisterAnimationCallback(this);
}
});
return false;
}
})
.into(mAnimView);
}
public static void clearDiskCache(Context context){
Glide.get(context).clearDiskCache();
}

View File

@@ -50,16 +50,15 @@ public class QXRedPacketManager {
*
* @param redPackets 红包模型列表
*/
public void addRedPackets(String roomId,List<RedPacketInfo> redPackets) {
public void addRedPackets(List<RedPacketInfo> redPackets) {
if (redPackets == null || redPackets.isEmpty()) {
return;
}
this.redPackets.entrySet().removeIf(entry ->
!(entry.getValue().getRoom_id()+"").equals(roomId));
for (RedPacketInfo model : redPackets) {
this.redPackets.put(model.getRedpacket_id(), model);
}
// 在添加数据后启动定时器(如果尚未启动)
startCheckTimer();
if (this.delegate != null && this.delegate instanceof QXRedPacketManagerDelegate) {
@@ -72,12 +71,11 @@ public class QXRedPacketManager {
*
* @param redPacket 红包模型
*/
public void addRedPacket(String roomId,RedPacketInfo redPacket) {
public void addRedPacket(RedPacketInfo redPacket) {
if (redPacket == null || redPacket.getRedpacket_id() == null) {
return;
}
this.redPackets.entrySet().removeIf(entry ->
!(entry.getValue().getRoom_id()+"").equals(roomId));
this.redPackets.put(redPacket.getRedpacket_id(), redPacket);
// 在添加数据后启动定时器(如果尚未启动)

View File

@@ -168,28 +168,4 @@ public class TextViewUtils {
public interface OnClickableTextListener {
void onClick();
}
/**
* 使用正则表达式格式化手机号中间4位替换为****
* @param phone 原始手机号
* @return 格式化后的手机号
*/
public static String formatPhoneNumberWithRegex(String phone) {
if (phone == null) {
return "";
}
return phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}
/**
* 处理带区号的手机号中间4位替换为****
* @param phone 原始手机号(可能带区号)
* @return 格式化后的手机号
*/
public static String formatAnyPhone(String phone) {
if (phone == null) {
return "";
}
return phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}
}

View File

@@ -209,7 +209,7 @@ public class TimeUtils {
//获取当前日期
public static String getCurrentDate2() {
Date d = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddhhmmssSSS");
SimpleDateFormat sf = new SimpleDateFormat("yyyy_MM_dd_hh_mm_ss_SSS");
return sf.format(d);
}
/**

View File

@@ -15,8 +15,7 @@ public enum EnvironmentEnum {
1600096860,
"3e8f3add448d4692bc1d04c75ffe801b",
//"tcp://1.13.101.98",
// "tcp://1.13.20.30",
"tcp://yushengapi.qxyushen.top",
"tcp://1.13.20.30",
// "https://vespa.qxyushen.top/h5",
"https://yushengapi.qxyushen.top/h5",
0),
@@ -31,8 +30,7 @@ public enum EnvironmentEnum {
"wxc7681513be9f926b",
1600096890,
"02f7339ec98947deaeab173599891932",
// "tcp://1.13.181.248",
"tcp://test.vespa.qxyushen.top",
"tcp://1.13.181.248",
"https://test.vespa.qxyushen.top/h5",
1);

View File

@@ -272,7 +272,6 @@ public class Constants {
public static final String GET_ROOM_TYPE = "/api/Index/room_type_list";//房间分类列表
public static final String GET_GIVE_GIFT = "/api/Gift/chat_gift_send";//聊天送礼物
public static final String GET_WALLET = "/api/UserWallet/wallet";//钱包
public static final String GET_TASKS_MESSAGE = "/api/Tasks/dailyTasksUnReceiveCount";//【新】未领取奖励任务数量
public static final String REDPACKET_CREATE = "/api/Redpacket/create";//创建红包
public static final String ROOM_REDPACKET = "/api/Redpacket/roomRedPackets";//红包列表
@@ -444,8 +443,7 @@ public class Constants {
// public static final String MODIFY_MOBILE = "/api/UserData/modify_mobile";//手机换绑
public static final String MODIFY_MOBILE = "/api/UserData/modify_mobiles";//手机换绑
public static final String MODIFY_MOBILE = "/api/UserData/modify_mobile";//手机换绑
public static final String BIND_MOBILE = "/api/UserData/bind_mobile";//手机绑定

View File

@@ -23,7 +23,6 @@ import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.locks.ReentrantLock;
import lombok.Getter;
import lombok.Setter;
import okhttp3.Call;
import okhttp3.Callback;
@@ -41,7 +40,6 @@ public class GiftAnimView extends FrameLayout implements GiftSvgaView.OnAnimatio
private ReentrantLock lock = new ReentrantLock();
private List<String> giftArray = new ArrayList<>();
@Setter
@Getter
public ExecutorService queue;
private Context mContext;
private boolean isOnece;
@@ -227,19 +225,17 @@ public class GiftAnimView extends FrameLayout implements GiftSvgaView.OnAnimatio
public void openOrCloseEffectViewWith(boolean isShow) {
this.isShow = isShow;
removeSvgaQueueData();
if(playerMp4View!=null) {
playerMp4View.stopPlay();
playerMp4View.setVisibility(View.GONE);
}
playerMp4View.stopPlay();
playerMp4View.setVisibility(View.GONE);
setVisibility(isShow ? View.VISIBLE : View.GONE);
}
public void stopPlay() {
removeSvgaQueueData();
if(playerMp4View!=null) {
playerMp4View.stopPlay();
playerMp4View.setVisibility(View.GONE);
}
playerMp4View.stopPlay();
playerMp4View.setVisibility(View.GONE);
}

View File

@@ -98,13 +98,6 @@ public class QXGiftPlayerManager {
}
public void displayFullEffectView1(List<String> stringList){
if (getDefaultFullEffectView().getQueue() == null){
// 创建专用线程池替代GCD队列
ExecutorService queue = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(),
Executors.defaultThreadFactory());
fullEffectView.setQueue(queue);
}
getDefaultFullEffectView().displayEffectView1(stringList);
}

View File

@@ -544,7 +544,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_3"
android:gravity="center"
android:text="抽次"
android:text="抽次"
android:textSize="@dimen/sp_12" />
<TextView
@@ -573,7 +573,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_3"
android:gravity="center"
android:text="抽次"
android:text="抽次"
android:textSize="@dimen/sp_12" />
<TextView

View File

@@ -122,10 +122,8 @@
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="14dp"
tools:text="为什么会有这篇文章呢,是因为之前关于 TabLayout 的使用陆陆续续也写了好几篇了,感觉比较分散,且不成体系,写这篇文章的目的就是希望能把各种效果的实现一次性讲齐,所以也有了标题的「看这篇就够了」。
TabLayout作为导航组件来说使用场景非常的多也意味着要满足各种各样的需求。
在效果实现上,有同学会选择自定义 View 来做,定制性高,但易用性、稳定性、维护性不敢保证,使用官方组件能避免这些不确定性,一是开源,有很多大佬共建,会不停的迭代;二是经过大型 app 验证,比如 google play有了这两点基本可以放心大胆的使用官方组件了。
那可能有的同学又会说,道理我都懂,可是不满足需求啊,只能自定义了。是的,早期的 api 确实不够丰富,在某些需求的实现上显得捉襟见肘,但是 google 也在不断的迭代,目前为止,常见的样式都能满足。"
android:ellipsize="end"
android:maxLines="7"
android:textColor="@color/black"
android:textSize="14sp"
/>

View File

@@ -24,6 +24,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
android:src="@mipmap/jiaoy"/>
<!-- 头像框,与头像大小相同,覆盖在头像上 -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -10,7 +10,7 @@
<string name="dressup">个性装扮</string>
<string name="shopping">道具商城</string>
<string name="backpack">我的背包</string>
<string name="daily">任务</string>
<string name="daily">每日任务</string>
<string name="news">消息</string>
<string name="setting_name">设置</string>
<string name="me_family">我的家族</string>

View File

@@ -7,13 +7,10 @@
<uses-permission android:name="android.permission.VIBRATE" />
<application android:theme="@style/AppTheme">
<activity
android:name=".activity.user.activity.MobilePhoneActivity"
android:exported="false" />
<activity
android:name=".TransparentActivity"
android:exported="false"
android:theme="@style/TransparentActivityTheme" />
android:theme="@style/TransparentActivityTheme"
android:exported="false" />
<activity
android:name=".activity.user.activity.TotalRevenueActivity"
android:exported="false" />

View File

@@ -28,13 +28,12 @@ import com.xscm.moduleutil.listener.MessageListenerSingleton
import com.xscm.moduleutil.utils.CustomMsgCode
import io.reactivex.disposables.Disposable
import org.json.JSONObject
import java.io.File
import java.util.concurrent.TimeUnit
open class Application : CommonAppContext() {
var APP_CONTENT = ""
var APP_CONENT = ""
var LOGUTILS_SAVE_PATH = ""
var CRASHUTILS_SAVE_PATH = ""
@@ -61,13 +60,9 @@ open class Application : CommonAppContext() {
override fun onCreate() {
super.onCreate()
// 应用内部存储 filesDir 目录的根路径
APP_CONTENT = File(filesDir, "APP_CONTENT").absolutePath
// 内部存储下的日志目录
LOGUTILS_SAVE_PATH = File(filesDir, "APP_CONTENT/APP_LOG").absolutePath
// 内部存储下的崩溃日志目录
CRASHUTILS_SAVE_PATH = File(filesDir, "APP_CONTENT/APP_CRASH").absolutePath
APP_CONENT = getExternalFilesDir("APP_CONTENT")?.absolutePath.toString()
LOGUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_LOG")?.absolutePath.toString()
CRASHUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_CRASH")?.absolutePath.toString()
// 初始化单例实例
instance = this
@@ -285,7 +280,7 @@ open class Application : CommonAppContext() {
}
fun getAppContent(): String {
return APP_CONTENT
return APP_CONENT
}

View File

@@ -32,7 +32,7 @@ public class LoginPresenter extends BasePresenter<LoginContacter.View> implement
@Override
public void sendCode(String phoneNumber, int type) {
api.sendCode(phoneNumber, "default", new BaseObserver<String>() {
api.sendCode(phoneNumber, "default", new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
@@ -40,7 +40,7 @@ public class LoginPresenter extends BasePresenter<LoginContacter.View> implement
}
@Override
public void onNext(String o) {
public void onNext(Object o) {
MvpRef.get().sendCodeSuccess1(o + "");
}

View File

@@ -6,7 +6,6 @@ import com.xscm.moduleutil.activity.IPresenter;
import com.xscm.moduleutil.activity.IView;
import com.xscm.moduleutil.bean.RedPacketInfo;
import com.xscm.moduleutil.bean.RoomCharmRankBean;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
import com.xscm.moduleutil.bean.room.RoomOnline;
@@ -53,8 +52,6 @@ public class RoomContacts {
void findRoom();
void roomRedPackets(List<RedPacketInfo> list);
void getTasksMessage(TasksMessage data);
}
public interface IRoomPre extends IPresenter {
@@ -76,7 +73,7 @@ public class RoomContacts {
void getCharmRank(String roomId);
void changeSong(String roomId, String now_did,String isAutoNext);
void changeSong(String roomId, String now_did);
void hostUserPit(String roomId, String pitNumber, String userId, String type);
@@ -96,7 +93,5 @@ public class RoomContacts {
void auctionDelay(String auctionId);
void roomRedPackets(String roomId);
void getTasksMessage();
}
}

View File

@@ -94,9 +94,6 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
FriendshipRoomFragment fragment = new FriendshipRoomFragment(roomInfoResp);
return fragment;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
@Override
public void endFriend(FriendUserBean friendUserBean) {
@@ -927,8 +924,15 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
}
if (!isHaveMe) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
((RoomActivity) getActivity()).ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
}
} else {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
((RoomActivity) getActivity()).ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up);
}
}
configPowerBtn();
}

View File

@@ -68,9 +68,7 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
if (page == 1) {
adapter.setNewData(musicSongBeans);
} else {
if (musicSongBeans != null) {
musicSongBeans.size();
}
adapter.addData(musicSongBeans);
}
}

View File

@@ -115,7 +115,7 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
@Override
protected void initData() {
// mBinding.editQuery.setText(SpUtil.getMusicName());
mBinding.editQuery.setText(SpUtil.getMusicName());
mBinding.editQuery.addTextChangedListener(new TextWatcher() {
@Override
@@ -130,10 +130,8 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
@Override
public void afterTextChanged(Editable s) {
input = s.toString();
// SpUtil.setMusicName( input);
if (!input.isEmpty()) {
AgoraManager.getInstance().searchMusic(input, 1);
}
SpUtil.setMusicName( input);
AgoraManager.getInstance().searchMusic(input, 1);
}
});
}

View File

@@ -105,9 +105,6 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
// 确保 overlay buttons 已初始化
initOverlayButtons();
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
/// 更新数据
public void roomInfoUpdate(RoomInfoResp resp) {

View File

@@ -29,7 +29,6 @@ import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.RedPacketInfo;
import com.xscm.moduleutil.bean.RoomCharmRankBean;
import com.xscm.moduleutil.bean.RoomMessageEvent;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.EMMessageInfo;
import com.xscm.moduleutil.bean.room.FriendInfo;
@@ -134,6 +133,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setRoomSeatViewType();
upRoomInfo(mRoomInfoResp);
}
@@ -447,6 +447,75 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
private Fragment currentFragment = null;
private boolean isReplacing = false;
private int MAX_COUNT = 3;
private int retryCount = 0;
@SuppressLint("CheckResult")
private void switchFragment(Fragment newFragment, int containerId, boolean isAddFail) {
if (!isAdded() || newFragment == null) return;
LogUtils.e("switchFragment attachA");
FragmentTransaction ft = getChildFragmentManager().beginTransaction();
// 1. 添加新 Fragment
if (!newFragment.isAdded()) {
ft.add(containerId, newFragment);
} else if (newFragment.getView() == null) {
ft.attach(newFragment); // 确保 view 被创建
LogUtils.e("switchFragment attach");
}
// 2. 显示新 Fragment
ft.show(newFragment);
// 3. 隐藏旧 Fragment
if (currentFragment != null && currentFragment != newFragment) {
ft.hide(currentFragment);
}
ft.commitNowAllowingStateLoss(); // 立即提交
currentFragment = newFragment;
// 校验2事务执行后验证Fragment的核心状态
// ① 是否真的附加到FragmentManager
boolean isLoadSuccess = true;
String errorMsg = null;
// 更全面的检查
if (!newFragment.isAdded()) {
isLoadSuccess = false;
errorMsg = "Fragment未附加到FragmentManager";
} else if (newFragment.getView() == null) {
isLoadSuccess = false;
errorMsg = "Fragment View创建失败";
} else if (!newFragment.isResumed()) {
// 可选检查是否至少执行到onResume
// 注意:某些场景可能不需要这么严格的检查
isLoadSuccess = false;
errorMsg = "Fragment未进入Resumed状态";
}
LogUtils.e("switchFragment :" + errorMsg + ",isLoadSuccess:" + isLoadSuccess);
// 处理失败情况
if (!isLoadSuccess) {
Log.e("FragmentCheck", errorMsg);
if (retryCount == MAX_COUNT) {
LogUtils.e("switchFragment retryCount == MAX_COUNT");
return;
}
// 可以考虑自动恢复或通知用户
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
aLong -> {
retryCount++;
LogUtils.e("switchFragment retry");
switchFragment(newFragment, containerId, true);
}
);
return;
}
startActivity(new Intent(ActivityUtils.getTopActivity(), TransparentActivity.class));
}
@SuppressLint("CheckResult")
private void performFragmentReplacement(Fragment newFragment) {
@@ -508,6 +577,28 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
public void updateWheatStatus(RoomPitBean roomPitBean, int pit, boolean isOccupied, boolean isMine) {
mRoomInfoResp.getRoom_info().getPit_list().set(pit - 1, roomPitBean);
if (isOccupied && isMine) {//上麦,并且是自己
mRoomInfoResp.getUser_info().setPit_number(pit);
((RoomActivity) getActivity()).switchMic(2);
} else if (!isOccupied && isMine) { //下麦,并且是自己
mRoomInfoResp.getUser_info().setPit_number(0);
}
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).upRoomInfo(mRoomInfoResp);
}
}
//误导
public void updateSeatViewExchangedWithPitArray(RoomInfoResp roomInfoResp) {
mRoomInfoResp = roomInfoResp;
setRoomSeatViewType();
loadSubFragment(qxRoomSeatViewType);
updateChildFragmentViews();
}
//1003 1004
public void upRoomInfoData(RoomInfoResp roomInfoResp) {
this.mRoomInfoResp = roomInfoResp;
@@ -672,11 +763,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
@Override
public void getTasksMessage(TasksMessage data) {
}
public void getVoiceStatus(RoomAuction.AuctionUserBean auctionUserBean, List<RoomAuction.AuctionListBean> auctionListBeans, String user_id) {
boolean haveMe = false;
@@ -701,12 +787,19 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
RoomActivity roomActivity = (RoomActivity) getActivity();
if (!haveMe) {
AgoraManager.getInstance().ClientRole(false);
roomActivity.setrlMic(false);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
} else {
roomActivity.setrlMic(true);
if (AgoraManager.getInstance().isLocalAudioEnabled()) {
roomActivity.ivMic(com.xscm.moduleutil.R.mipmap.room_microphone);
}
}
}
} else {
if (!user_id.equals(SpUtil.getUserId() + "") && getActivity() instanceof RoomActivity) {
AgoraManager.getInstance().ClientRole(false);
((RoomActivity) getActivity()).setrlMic(false);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
}
}
@@ -732,40 +825,34 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
switch (qxRoomSeatViewType) {
case KTV:
if (ktvFragment == currentFragment) {
ktvFragment.upRoomInfoResp(mRoomInfoResp);
handleKtvEvent(messageEvent);
}
break;
case NORMAL:
if (singSongFragment == currentFragment) {
singSongFragment.upRoomInfoResp(mRoomInfoResp);
handleSingSongEvent(messageEvent);
}
break;
case AUCTION:
if (roomAuctionFragment == currentFragment) {
roomAuctionFragment.upRoomInfoResp(mRoomInfoResp);
handleAuctionEvent(messageEvent);
}
break;
case FRIEND:
if (friendshipRoomFragment == currentFragment) {
friendshipRoomFragment.upRoomInfoResp(mRoomInfoResp);
handleFriendshipEvent(messageEvent);
}
break;
case JUKEBOX:
if (roomJukeboxFragment == currentFragment) {
roomJukeboxFragment.upRoomInfoResp(mRoomInfoResp);
handleJukeboxEvent(messageEvent);
}
break;
case SIGNCONTRACT:
if (mentorShipFragment == currentFragment) {
mentorShipFragment.roomInfoUpdate(mRoomInfoResp);
handleMentorshipEvent(messageEvent);
}
break;
@@ -778,6 +865,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
private void handleMentorshipEvent(RoomMessageEvent messageEvent) {
mentorShipFragment.roomInfoUpdate(mRoomInfoResp);
switch (messageEvent.getMsgType()) {
case 1003:
mentorShipFragment.event1003(messageEvent);

View File

@@ -105,6 +105,10 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
protected void initView() {
initPopupWindow();
mBinding.guestContainer.setVisibility(GONE);
// adapter = new RoomJukeboxAdapter(R.layout.item_jukebox);
// GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 4);
// mBinding.rvJukebox.setLayoutManager(layoutManager);
// mBinding.rvJukebox.setAdapter(adapter);
viewList.clear();
viewList.add(mBinding.wheatView1);
@@ -141,7 +145,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
if (!isFastDoubleClick("online_dialog", finalI + 1 + "")) {
if (getActivity() != null && getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
((RoomActivity)getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
}
}
} else {
@@ -157,6 +161,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
mBinding.wvZc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -399,28 +404,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
return R.layout.fragment_jukebox;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
roomPitBeans.clear();
for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
if (!roomPitBean.getPit_number().equals("9") && !roomPitBean.getPit_number().equals("10")) {
roomPitBeans.add(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
roomPitBean.setIs_online(1);
}
viewList.get(i).setData(roomPitBean);
} else if (roomPitBean.getPit_number().equals("9")) {
// 确保视图的pitNumber与数据的pit_number匹配
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.isMentorShip(true);
mBinding.wvZc.setData(roomPitBean);
}
}
}
public void roomInfoUpdate(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
@@ -445,6 +428,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.isMentorShip(true);
mBinding.wvZc.setData(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
upMike(true);
}
}
}
@@ -469,7 +455,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
String userId = String.valueOf(roomInfoResp.getSinger_info().getSong_info().getSinger_user_id());
if (userId.equals(SpUtil.getUserId() + "")) {
upMike(true);
}
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(true);
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
@@ -527,16 +515,33 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
return;
}
if (pitNumber.equals("9")) {
int pitNumberA = Integer.parseInt(pitNumber);
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumberA - 1);
if (pitNumber.equals("9") || pitNumber.equals("10")) {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id(userId + "");
pitBean.setAvatar(fromUserInfo.getAvatar());
pitBean.setNickname(fromUserInfo.getNickname());
pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
// 确保视图的pitNumber与数据的pit_number匹配
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.setData(pitBean);
if (pitNumber.equals("9")) {
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.setData(pitBean);
}
} else {
// 获取对应位置的bean并更新
RoomPitBean pitBean = roomPitBeans.get(position);
pitBean.setUser_id(userId + "");
pitBean.setPit_number(pitNumber);
pitBean.setAvatar(fromUserInfo.getAvatar());
pitBean.setNickname(fromUserInfo.getNickname());
pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
try {
if (roomInfoResp.getSinger_info().getSong_info().getSinger_user_id() == userId) {
pitBean.setImageType(true);
@@ -547,6 +552,16 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
LogUtils.e("juke", e.getMessage());
pitBean.setImageType(false);
}
if (pitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
}
}
}
// 使用set方法更新数据然后通知适配器
roomPitBeans.set(position, pitBean);
viewList.get(position).setData(pitBean);
}
@@ -563,36 +578,79 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
private void configGameOptionBtn() {
if (myPitNumber == 9) {
mBinding.imQg.setVisibility(VISIBLE);
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
}
}
} else {
mBinding.imQg.setVisibility(GONE);
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
}
}
}
}
public void event1004(RoomMessageEvent messageEvent) {
boolean b = false;
String pitNumber = messageEvent.getText().getPit_number();
int userId = messageEvent.getText().getFromUserInfo().getUser_id();
if (pitNumber.equals("9")) {
int pitNumberA = Integer.parseInt(pitNumber);
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumberA - 1);
RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc;
roomDefaultWheatView.setRoomWheatNumber("9");
roomDefaultWheatView.setData(pitBean);
if (pitNumber.equals("9") || pitNumber.equals("10")) {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
if (pitNumber.equals("9")) {
RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc;
roomDefaultWheatView.setRoomWheatNumber("9");
roomDefaultWheatView.setData(pitBean);
}
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(pitNumber), false, b);
}
} else {
// 获取适配器数据
int position = Integer.parseInt(pitNumber) - 1;
// 确保位置有效
if (position < 0 || position >= roomPitBeans.size()) {
return;
}
// 获取对应位置的bean并更新
RoomPitBean pitBean = roomPitBeans.get(position);
pitBean.setUser_id("");
pitBean.setPit_number(pitNumber);
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
pitBean.setDress("");
pitBean.setImageType(false);
// 使用set方法更新数据然后通知适配器
roomPitBeans.set(position, pitBean);
viewList.get(position).setData(pitBean);
if (SpUtil.getUserId() == userId) {
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
}
}
}
}
if (userId == SpUtil.getUserId()) {
myPitNumber = 0;
@@ -611,15 +669,44 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
int toIndex = Integer.parseInt(toPit) - 1;
if (toPit.equals("9")) {
mBinding.wvZc.setData(roomInfoResp.getRoom_info().getPit_list().get(toIndex));
if (roomInfoResp.getRoom_info().getPit_list().get(toIndex).getUser_id().equals(SpUtil.getUserId() + "")) {
RoomPitBean fromBean = viewList.get(fromIndex).pitBean;
fromBean.setPit_number(toPit);
fromBean.clone();
//这里需要是重新的指向地址,不然会出现,虽然页面展示的是,但是在点击的时候,找不到对应的数据
RoomPitBean pitBean = fromBean.clone();
mBinding.wvZc.setData(pitBean);
roomInfoResp.getRoom_info().getPit_list().set(8, pitBean);
if (fromBean.getUser_id().equals(SpUtil.getUserId() + "")) {
myPitNumber = 9;
configGameOptionBtn();
}
viewList.get(fromIndex).setData(roomPitBeans.get(fromIndex));
RoomPitBean temp = viewList.get(fromIndex).pitBean;
temp.setUser_id("");
temp.setAvatar("");
temp.setNickname("");
temp.setSex("");
temp.setCharm("");
temp.setDress("");
temp.setImageType(false);
temp.setPit_number(fromPit);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, temp);
roomPitBeans.set(fromIndex, temp);
viewList.get(fromIndex).setData(temp);
} else {
viewList.get(fromIndex).setData(roomPitBeans.get(fromIndex));
viewList.get(toIndex).setData(roomPitBeans.get(toIndex));
RoomPitBean fromBean = viewList.get(fromIndex).pitBean;
fromBean.setPit_number(toPit);
RoomPitBean toBean = viewList.get(toIndex).pitBean;
toBean.setPit_number(fromPit);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, toBean);
roomInfoResp.getRoom_info().getPit_list().set(toIndex, fromBean);
roomPitBeans.set(fromIndex, toBean);
roomPitBeans.set(toIndex, fromBean);
viewList.get(fromIndex).setData(toBean);
viewList.get(toIndex).setData(fromBean);
}
LogUtils.e("huanmai2", mBinding.wvZc.pitBean);
}
@@ -666,7 +753,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.tvNetName.setText("老板");
songId = messageEvent.getText().getSong_info().getId();
String userId = String.valueOf(messageEvent.getText().getSong_info().getSinger_user_id());
if (userId.equals(SpUtil.getUserId() + "")) {
upMike(true);
}
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(false);
@@ -692,6 +781,14 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
// TODO: 2025/11/22 当在演唱位的时候,显示麦克风,当上麦的时候,也展示麦克风,
private void upMike(boolean isBool) {
if (getActivity() != null) {
// 假设Activity有获取麦位数据的方法
((RoomActivity) getActivity()).setrlMic(isBool);
}
}
public void event1035(RoomMessageEvent message) {
if (mBinding.wvZc.getUserId().equals(message.getText().getFromUserInfo().getUser_id() + "")) {

View File

@@ -29,7 +29,6 @@ import com.xscm.moduleutil.bean.MusicSongBean;
import com.xscm.moduleutil.bean.RedPacketInfo;
import com.xscm.moduleutil.bean.RoomCharmRankBean;
import com.xscm.moduleutil.bean.RoomMessageEvent;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
@@ -48,7 +47,6 @@ import com.xscm.moduleutil.widget.RoomKtvWheatView;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -70,7 +68,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
private MusicSongBean musicSongBean;
RoomFragment parentFragment;
BaseQuickAdapter<RoomPitBean, BaseViewHolder> adapter;
private List<RoomPitBean> mSongPitList = new ArrayList<>();
VolumeManager volumeManager;
public RoomKtvFragment() {
@@ -87,10 +85,6 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
return fragment;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
public void roomInfoUpdate(RoomInfoResp resp) {
roomInfoResp = resp;
initView();
@@ -111,12 +105,12 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
@Override
public void onRefPitchUpdate(float refPitch, int numberOfRefPitches) {
mKaraokeView.setPitch(refPitch);
}
@Override
public void onLineFinished(KaraokeView view, LyricsLineModel line, int score, int cumulativeScore, int index, int numberOfLines) {
LogUtils.e("onLineFinished :" + score + " " + cumulativeScore + " " + index + " " + numberOfLines);
}
});
@@ -124,9 +118,14 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (roomInfoResp.getSong_user_info() != null) {
if (roomInfoResp.getSong_user_info().getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(3, -1);
((RoomActivity) getActivity()).switchMic(1);
}
} else {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(0, 0);
}
}
did = roomInfoResp.getSong_user_info().getDid();
if (roomInfoResp.getSong_user_info().getUser_id().equals(SpUtil.getUserId() + "")) {
@@ -165,29 +164,39 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (roomPitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(2, 9);
// ((RoomActivity) getActivity()).switchMic(2);
}
}
} else if (roomPitBean.getPit_number().equals("10")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muJb;
roomDefaultWheatView.setData(roomPitBean);
}
}
}
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (roomInfoResp.getSong_pit_list() != null && !roomInfoResp.getSong_pit_list().isEmpty()) {
for (RoomPitBean roomPitBean : roomInfoResp.getSong_pit_list()) {
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).switchMic(2);
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(2, 10);
// ((RoomActivity) getActivity()).switchMic(2);
}
}
}
}
}
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
if (roomInfoResp.getSong_pit_list() != null && !roomInfoResp.getSong_pit_list().isEmpty()) {
adapter.setNewData(roomInfoResp.getSong_pit_list());
for (RoomPitBean roomPitBean : roomInfoResp.getSong_pit_list()) {
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(3, Integer.parseInt(roomPitBean.getPit_number() != null ? roomPitBean.getPit_number() : "99"));
((RoomActivity) getActivity()).switchMic(2);
}
}
}
}
adapter.notifyDataSetChanged();
sv();
tzblChanged();
@@ -314,7 +323,6 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
mBinding.llTiaoyt.setOnClickListener(this::onClick);
mBinding.llQg.setOnClickListener(this::onClick);
mBinding.llSz.setOnClickListener(this::onClick);
mSongPitList.clear();
adapter = new BaseQuickAdapter<RoomPitBean, BaseViewHolder>(R.layout.item_room_charm_rank) {
@Override
protected void convert(BaseViewHolder helper, RoomPitBean item) {
@@ -345,7 +353,6 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
});
}
};
adapter.setNewData(mSongPitList);
if (getActivity() != null && getActivity() instanceof RoomActivity) {
Objects.requireNonNull(((RoomActivity) getActivity()).getBinding()).recyclerView.setAdapter(adapter);
}
@@ -542,7 +549,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
return;
}
AgoraManager.getInstance().stopMuisc();
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did,"0");
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
} else if (id == R.id.ll_ds) {
if (mBinding.muYc.pitBean.getUser_id() != null && !mBinding.muYc.pitBean.getUser_id().equals("") && !mBinding.muYc.pitBean.getUser_id().equals("0")) {
UserInfo userInfo = new UserInfo();
@@ -626,13 +633,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
@Subscribe(threadMode = ThreadMode.MAIN)
public void roomInfoEvent(MusicPlayBean messageEvent) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mKaraokeView.setProgress(messageEvent.getPosition());
}
});
mKaraokeView.setProgress(messageEvent.getPosition());
qiegSta(messageEvent.getPosition());
}
@@ -649,7 +650,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
double duration = Math.ceil(position / 1000);
if (duration >= Double.parseDouble(musicSongBean.getDuration())) {
AgoraManager.getInstance().stopMuisc();
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did,"1");
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
}
}
}
@@ -688,29 +689,32 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
pitBean.setDress(messageEvent.getText().getSongInfo().getDress());
roomDefaultWheatView.setData(pitBean);
roomInfoResp.setSong_user_info(musicSongBean);
AgoraManager.getInstance();
AgoraManager.stopMuisc();
if (messageEvent.getText().getSongInfo().getUser_id().equals(SpUtil.getUserId() + "")) {
AgoraManager.getInstance();
AgoraManager.stopMuisc();
LogUtils.e("推送过来的code", messageEvent.getText().getSongInfo().getSong_code());
AgoraManager.getInstance().isPreload(Long.parseLong(messageEvent.getText().getSongInfo().getSong_code()), 1);
setAgorVolumes();
} else {
volumeManager.saveBz(SpUtil.getUserId() + "", true);
volumeManager.clearCurrentVolumes();
if (AgoraManager.getInstance().isOnJoin()) {
AgoraManager.getInstance().loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
}
}
if (getActivity() instanceof RoomActivity) {
if (messageEvent.getText().getSongInfo().getUser_id().equals(SpUtil.getUserId() + "")) {
((RoomActivity) getActivity()).setRoleType(3, -1);
((RoomActivity) getActivity()).switchMic(1);
} else {
if (roomInfoResp.getUser_info().getPit_number() > 0) {
} else {
((RoomActivity) getActivity()).setRoleType(0, 0);
((RoomActivity) getActivity()).switchMic(2);
}
}
@@ -726,6 +730,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
pitBean.setUser_code("");
mBinding.muYc.setData(pitBean);
roomInfoResp.setSong_user_info(null);
((RoomActivity) getActivity()).setRoleType(0, 0);
did = "";
mBinding.muName.setText("");
volumeManager.clearCurrentVolumes();
@@ -737,41 +742,68 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
mBinding.muXName.setText("");
}
}
setAgorVolumes();
sv();
}
public void event1003(RoomMessageEvent messageEvent) {
boolean b = false;
if (messageEvent.getText().getPit_number().equals("9") || messageEvent.getText().getPit_number().equals("10")) {
int pitNumber = Integer.parseInt(messageEvent.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number());
pitBean.setUser_id(messageEvent.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(messageEvent.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(messageEvent.getText().getFromUserInfo().getNickname());
pitBean.setSex(messageEvent.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(messageEvent.getText().getFromUserInfo().getCharm());
pitBean.setDress(messageEvent.getText().getFromUserInfo().getDress());
pitBean.setIs_online(messageEvent.getText().getFromUserInfo().getIs_online());
if (pitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(pitBean);
// if (getActivity() instanceof RoomActivity) {
// ((RoomActivity) getActivity()).ivSoundEffects(true);
// }
} else if (pitBean.getPit_number().equals("10")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muJb;
roomDefaultWheatView.setData(pitBean);
}
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(true);
AgoraManager.getInstance().muteLocalAudioStream(false);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(pitBean.getPit_number()), true, b);
}
} else {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number() != null ? messageEvent.getText().getPit_number() : "9999");
pitBean.setUser_id(messageEvent.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(messageEvent.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(messageEvent.getText().getFromUserInfo().getNickname());
pitBean.setSex(messageEvent.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(messageEvent.getText().getFromUserInfo().getCharm());
pitBean.setDress(messageEvent.getText().getFromUserInfo().getDress());
pitBean.setIs_online(messageEvent.getText().getFromUserInfo().getIs_online());
roomInfoResp.getSong_pit_list().add(pitBean);
}
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
sv();
}
public void event1004(RoomMessageEvent messageEvent) {
boolean b = false;
if (messageEvent.getText().getPit_number().equals("9") || messageEvent.getText().getPit_number().equals("10")) {
int pitNumber = Integer.parseInt(messageEvent.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number());
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
if (pitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(pitBean);
@@ -780,15 +812,23 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
roomDefaultWheatView.setData(pitBean);
}
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(messageEvent.getText().getPit_number()), false, b);
}
} else {
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
for (int i = 0; i < roomInfoResp.getSong_pit_list().size(); i++) {
if (roomInfoResp.getSong_pit_list().get(i).getUser_id().equals(messageEvent.getText().getFromUserInfo().getUser_id() + "")) {
roomInfoResp.getSong_pit_list().remove(i);
break;
}
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
sv();
}
@@ -804,15 +844,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
pitBean.setCharm("0");
mBinding.muJb.setData(pitBean);
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
for (int i = 0; i < roomInfoResp.getSong_pit_list().size(); i++) {
roomInfoResp.getSong_pit_list().get(i).setCharm("0");
}
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
for (int i = 0; i < roomInfoResp.getSong_pit_list().size(); i++) {
roomInfoResp.getSong_pit_list().get(i).setCharm("0");
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
public void event1005(RoomMessageEvent messageEvent) {
@@ -834,11 +869,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
}
// 更新麦位列表数据
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
@@ -908,11 +939,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
break;
}
}
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
// TODO: 2025/9/12 在离线
@@ -942,11 +969,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
break;
}
}
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
public void event1035(RoomMessageEvent messageEvent) {
@@ -986,11 +1009,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
roomInfoResp.getSong_pit_list().get(i).setDress(messageEvent.getText().getFromUserInfo().getDress());
}
}
mSongPitList.clear();
if (roomInfoResp.getSong_pit_list() != null){
mSongPitList.addAll(roomInfoResp.getSong_pit_list());
}
adapter.notifyDataSetChanged();
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
@@ -1113,9 +1132,4 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
}
@Override
public void getTasksMessage(TasksMessage data) {
}
}

View File

@@ -40,7 +40,6 @@ import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.cancel
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import retrofit2.http.POST
/**
* 签约房
@@ -74,6 +73,8 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
private val timer = CountdownTimer()
private val scope = CoroutineScope(Dispatchers.Main + SupervisorJob())
private val startOrDelay = arrayOf("开始", "延时")
private var mUserInfo: RoomUserBean? = mRoomInfoResp?.user_info
private var dialogMentorShip: DialogMentorShip? = null
@@ -187,7 +188,6 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
mBinding.tvTimeLeft.setOnClickListener(this)
mBinding.tvTimeRight.setOnClickListener(this)
mBinding.ivHelp.setOnClickListener(this)
mBinding.tvTimeStart.setOnClickListener(this)
if (mRoomInfoResp?.sign_info?.sign_id != "-1") {
mSignId = mRoomInfoResp?.sign_info?.sign_id
@@ -233,11 +233,11 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
}
R.id.tv_time_left -> {
MvpPre.signDelay(mSignId!!, mRoomId)
}
R.id.tv_time_start ->{
MvpPre.signStart(mRoomId, mSignPitBean?.user_id!!)
if (mBinding.tvTimeLeft.text.toString() == startOrDelay[0]) {
MvpPre.signStart(mRoomId, mSignPitBean?.user_id!!)
} else {
MvpPre.signDelay(mSignId!!, mRoomId)
}
}
R.id.tv_time_right -> {
@@ -273,6 +273,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
private fun showBtn(isSignUser: Boolean = false) {
activity?.runOnUiThread {
if (isStart) {
mBinding.tvTimeLeft.text = startOrDelay[1]
mBinding.tvTime.visibility = View.VISIBLE
mBinding.groupLeftPrice.visibility = View.VISIBLE
if (getHostUser() < 4) {
@@ -281,6 +282,8 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
mBinding.tvTimeRight.visibility = View.GONE
}
} else {
mBinding.tvTimeLeft.text = startOrDelay[0]
mBinding.tvTimeRight.visibility = View.GONE
mBinding.tvTime.visibility = View.GONE
mBinding.tvJsq.visibility = View.GONE
@@ -302,19 +305,9 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
"0"
)
) {
if (isStart){
mBinding.tvTimeLeft.visibility = View.VISIBLE
mBinding.tvTimeStart.visibility = View.GONE
}else{
mBinding.tvTimeLeft.visibility = View.GONE
mBinding.tvTimeStart.visibility = View.VISIBLE
}
mBinding.tvTimeLeft.visibility = View.VISIBLE
} else {
if (isStart){
mBinding.tvTimeLeft.visibility = View.GONE
}else{
mBinding.tvTimeStart.visibility = View.GONE
}
mBinding.tvTimeLeft.visibility = View.GONE
}
}
@@ -343,16 +336,11 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
this.mRoomInfoResp = roomInfoResp
mUserInfo = this.mRoomInfoResp?.user_info
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
// showBtn()
showBtn()
}
fun roomTypeSwitch(roomInfoResp: RoomInfoResp) {
this.mRoomInfoResp = roomInfoResp
//重新初始化
if (isStart){
stopTimer()
isStart = false
}
mUserInfo = this.mRoomInfoResp?.user_info
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
initView()
@@ -400,6 +388,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
signTypeDialog?.show(0)
mBinding.tvTimeLeft.text = startOrDelay[1]
mBinding.tvLeftPrice.text = currBodyValue
mBinding.tvSignDay.visibility = View.VISIBLE
mBinding.tvSignDay.text = "签约${signDay}"
@@ -494,7 +483,6 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
// 在需要开始计时的地方调用
private fun startTimer(milliseconds: Long) {
LogUtils.e("startTimer: $milliseconds")
isStart = true
showBtn()
// 启动计时器
@@ -530,7 +518,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
private fun updateTimerDisplay(time: String) {
// 在这里更新你的UI比如
mBinding.tvTime.text = "倒计时 ${time}"
LogUtils.e("updateTimerDisplay: 倒计时 ${time} =====" + mBinding.tvTime.text.toString() + "\n" + (mBinding.tvTime.visibility == View.VISIBLE))
LogUtils.e("updateTimerDisplay:" + mBinding.tvTime.text.toString() + "\n" + (mBinding.tvTime.visibility == View.VISIBLE))
}
// 延迟后重新开始计时

View File

@@ -128,10 +128,6 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
this.roomInfoResp = roomInfoResp;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
public void upRoomInfo(RoomInfoResp roomInfoResp){
this.roomInfoResp = roomInfoResp;
upDataView();
@@ -241,6 +237,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
}
parentFragment = (RoomFragment) getParentFragment();
}
@@ -1085,6 +1082,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
wheatLayoutManager1.setUpData(message, 1);
} else {
wheatLayoutManager2.setUpData(message, 2);
}
}
}
@@ -1092,39 +1090,68 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
/// 推送的下麦1003
public void event1003(RoomMessageEvent message) {
int pitNumber = Integer.parseInt(message.getText().getPit_number()) ;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber- 1);
boolean b = false;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(Integer.parseInt(message.getText().getPit_number()) - 1);
pitBean.setUser_id(message.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(message.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(message.getText().getFromUserInfo().getNickname());
pitBean.setSex(message.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(message.getText().getFromUserInfo().getCharm());
pitBean.setDress(message.getText().getFromUserInfo().getDress());
pitBean.setMic_cycle(message.getText().getFromUserInfo().getMic_cycle()!=null?message.getText().getFromUserInfo().getMic_cycle():"");
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
wheatLayoutSingManager.updateSingleWheat(pitBean, pitNumber);
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
} else {
if (message.getText().getIs_pk() == null) {
wheatLayoutManager1.updateSingleWheat(pitBean,pitNumber, 1);
wheatLayoutManager1.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 1);
} else {
wheatLayoutManager2.updateSingleWheat(pitBean, pitNumber, 2);
wheatLayoutManager2.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 2);
}
}
// 通知父 Fragment
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(true);
AgoraManager.getInstance().muteLocalAudioStream(false);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(message.getText().getPit_number()), true, b);
}
}
/// 1004
public void event1004(RoomMessageEvent message) {
int pitNumber = Integer.parseInt(message.getText().getPit_number()) ;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber- 1);
boolean b = false;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(Integer.parseInt(message.getText().getPit_number()) - 1);
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
pitBean.setDress("");
pitBean.setMic_cycle("");
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
wheatLayoutSingManager.updateSingleWheat(pitBean, pitNumber);
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
} else {
if (message.getText().getIs_pk() == null) {
wheatLayoutManager1.updateSingleWheat(pitBean, pitNumber, 1);
wheatLayoutManager1.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 1);
} else {
wheatLayoutManager2.updateSingleWheat(pitBean, pitNumber, 2);
wheatLayoutManager2.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 2);
}
}
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(message.getText().getPit_number()), false, b);
}
}
@@ -1190,6 +1217,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
MvpPre.postRoomInfo(message.getRoomId(), roomInfoResp.getUser_info().getPit_number() + "", 3);
if (message.getText().getType() == 1) {
MvpPre.postRoomInfo(message.getText().getRoom_id(), roomInfoResp.getUser_info().getPit_number() + "", 1);
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(5, -11);
}
}
}

View File

@@ -10,7 +10,6 @@ import com.xscm.modulemain.activity.room.contacts.RoomContacts;
import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.RedPacketInfo;
import com.xscm.moduleutil.bean.RoomCharmRankBean;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
import com.xscm.moduleutil.bean.room.RoomOnline;
@@ -18,7 +17,6 @@ import com.xscm.moduleutil.dialog.ConfirmDialog;
import com.xscm.moduleutil.http.APIException;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.listener.MessageListenerSingleton;
import com.xscm.moduleutil.presenter.BasePresenter;
import com.xscm.moduleutil.rtc.AgoraManager;
import com.xscm.moduleutil.utils.SpUtil;
@@ -103,7 +101,6 @@ public class RoomPresenter extends BasePresenter<RoomContacts.View> implements R
CommonAppContext.getInstance().playId.equals(roomId) ?"取消":"在想想",
v -> {
// 点击“确认”按钮时执行删除操作
MessageListenerSingleton.getInstance().joinGroup(roomId);
getRoomIn(roomId,"");
},
v -> {
@@ -271,8 +268,8 @@ public class RoomPresenter extends BasePresenter<RoomContacts.View> implements R
}
@Override
public void changeSong(String roomId, String now_did,String isAutoNext) {
api.changeSong(roomId, now_did,isAutoNext, new BaseObserver<String>() {
public void changeSong(String roomId, String now_did) {
api.changeSong(roomId, now_did, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
@@ -465,22 +462,4 @@ public class RoomPresenter extends BasePresenter<RoomContacts.View> implements R
}
});
}
@Override
public void getTasksMessage() {
api.getTasksMessage(new BaseObserver<TasksMessage>(){
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(TasksMessage s) {
if (MvpRef==null)
MvpRef=new WeakReference<>(mView);
MvpRef.get().getTasksMessage(s);
}
});
}
}

View File

@@ -2,7 +2,6 @@ package com.xscm.modulemain.activity.room.presenter;
import android.content.Context;
import com.hjq.toast.ToastUtils;
import com.xscm.modulemain.activity.room.contacts.RoomUserContacts;
import com.xscm.moduleutil.bean.RelationCardBean;
import com.xscm.moduleutil.bean.UserInfo;
@@ -208,7 +207,6 @@ public class RoomUserPresenter extends BasePresenter<RoomUserContacts.View> impl
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
ToastUtils.show(string);
MvpRef.get().kickOutRoom();
}
});

View File

@@ -37,7 +37,7 @@ public class ChangPassActivity extends BaseMvpActivity<ChangePasswordPresenter,
private void onClick(View view) {
if (view.getId() == R.id.tv_send_code) {
sendCodeSuccess2(userBean.getMobile());
if (MvpPre != null) {
MvpPre.sendCode(userBean.getMobile(), "4");
}
@@ -108,7 +108,7 @@ public class ChangPassActivity extends BaseMvpActivity<ChangePasswordPresenter,
@Override
public void sendCodeSuccess1(String phoneNumber) {
sendCodeSuccess2(userBean.getMobile());
}
@Override

View File

@@ -85,7 +85,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
// 拦截返回键,显示退出对话框而不是直接退出
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
return true;
}
@@ -102,7 +102,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
@Override
public void handleOnBackPressed() {
// 拦截返回键,导航到个人中心页面而不是直接退出
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
}
});
@@ -151,7 +151,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
mBinding.topBar.getIvBack().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
}
});
@@ -296,7 +296,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
@Override
public void checkTxtSuccess(String result) {
// 拦截返回键,显示退出对话框而不是直接退出
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
}
@@ -304,7 +304,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
public void addUserRoomSuccess(String roomId) {
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "创建房间").withString("roomId", roomId).navigation();
// 拦截返回键,显示退出对话框而不是直接退出
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
}
@@ -325,7 +325,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
@Override
public void editRoom() {
// 拦截返回键,显示退出对话框而不是直接退出
// singleTaskToActivity(MyRoomActivity.class);
singleTaskToActivity(MyRoomActivity.class);
finish();
}

View File

@@ -5,24 +5,13 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.activity.RoomActivity;
@@ -51,9 +40,7 @@ import com.xscm.moduleutil.utils.SpUtil;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
@@ -70,15 +57,14 @@ import kotlin.jvm.functions.Function0;
public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, ActivityDailyTasksBinding> implements DailyTasksConacts.View {
private TaskBoxAdapter mTaskBoxAdapter;
private TaskSectionAdapter mTaskDataAdapter;
private TaskDataAdapter taskDataAdapter;
private List<GiftBoxBean.TaskDataBean> taskList = new ArrayList<>();
private boolean isJoinRoom = false;
private ViewPager2Adapter viewPager2Adapter;
private int currentTab = 0;
@Override
protected DailyTasksPresenter bindPresenter() {
return new DailyTasksPresenter(this, this);
@@ -111,22 +97,13 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
mBinding.rvTask.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
mBinding.rvTask.setAdapter(mTaskBoxAdapter);
mBinding.rvTaskToday.setLayoutManager(new GridLayoutManager(this, 1));
mTaskDataAdapter = new TaskSectionAdapter(taskList);
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
mBinding.imGz.setOnClickListener(v -> {
Intent intent = new Intent(this, WebViewActivity.class);
intent.putExtra("url", WebUrlConstants.INSTANCE.getWEB_RULES_URL());
intent.putExtra("title", "规则 ");
startActivity(intent);
});
mTaskBoxAdapter.setOnItemClickListener(position -> {
GiftBoxBean.GiftBean item = mTaskBoxAdapter.getItem(position);
MvpPre.dailyTasksOpenBox(item.getId());
});
viewPager2Adapter = new ViewPager2Adapter(taskList, new ViewPager2Adapter.OnItemClickListener() {
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position, GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
public void onItemClick(GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
LogUtils.e("taskStatus:" + item.toString() + "\n taskItem:" + taskItem.toString());
switch (item.getTask_status()) {
case 1://未开始
@@ -144,56 +121,22 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
}
}
});
mBinding.viewPager2.setAdapter(viewPager2Adapter);
// 2. 设置 ViewPager2 的页面变化监听(联动 TabLayout
mBinding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
currentTab = position;
// 更新 TabLayout 的选中状态
TabLayout.Tab selectedTab = mBinding.tabTitle.getTabAt(position);
if (selectedTab != null) {
selectedTab.select();
}
}
mBinding.imGz.setOnClickListener(v -> {
Intent intent = new Intent(this, WebViewActivity.class);
intent.putExtra("url", WebUrlConstants.INSTANCE.getWEB_RULES_URL());
intent.putExtra("title", "规则 ");
startActivity(intent);
});
mBinding.tabTitle.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
View customView = tab.getCustomView();
if (customView != null) {
TextView textView = customView.findViewById(R.id.tabText);
ImageView iconView = customView.findViewById(R.id.tabIcon);
iconView.setImageResource(R.mipmap.icon_task_select_lock);
textView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.black));
}
mBinding.viewPager2.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
View customView = tab.getCustomView();
if (customView != null) {
TextView textView = customView.findViewById(R.id.tabText);
ImageView iconView = customView.findViewById(R.id.tabIcon);
iconView.setImageResource(R.mipmap.icon_task_select_unlock);
textView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.colorBlack45));
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
mTaskBoxAdapter.setOnItemClickListener(position -> {
GiftBoxBean.GiftBean item = mTaskBoxAdapter.getItem(position);
MvpPre.dailyTasksOpenBox(item.getId());
});
}
public void isShowLoading(boolean b) {
if (b) {
mBinding.coolWaitView.setVisibility(View.VISIBLE);
@@ -211,43 +154,16 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
@Override
public void setGiftBox(GiftBoxBean giftBoxBean) {
int lastTabIdx = currentTab;
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
taskList.clear();
taskList.addAll(giftBoxBean.getTasks());
mBinding.tabTitle.removeAllTabs();
giftBoxBean.getTasks().stream()
.filter(task -> !task.getTask_list().isEmpty())
.forEach(taskList::add);
for (int i = 0; i < taskList.size(); i++) {
GiftBoxBean.TaskDataBean taskItem = taskList.get(i);
TabLayout.Tab tab = mBinding.tabTitle.newTab();
View customView = getLayoutInflater().inflate(R.layout.custom_task_tab, null);
TextView textView = customView.findViewById(R.id.tabText);
ImageView iconView = customView.findViewById(R.id.tabIcon);
textView.setText(taskItem.getTask_type_name());
if (taskItem.getIs_lock() == 1) {
if (i == 0) {
iconView.setImageResource(R.mipmap.icon_task_select_lock);
} else {
iconView.setImageResource(R.mipmap.icon_task_select_unlock);
}
} else {
iconView.setVisibility(View.GONE);
}
tab.setCustomView(customView);
mBinding.tabTitle.addTab(tab);
}
// 4. 默认选中第一个 Tab可选
mBinding.tabTitle.post(() -> {
if (mBinding.tabTitle.getTabCount() > lastTabIdx) {
mBinding.tabTitle.selectTab(mBinding.tabTitle.getTabAt(lastTabIdx));
}
});
viewPager2Adapter.notifyDataSetChanged();
mTaskDataAdapter.notifyDataSetChanged();
}
private void taskStatus1(GiftBoxBean.TaskDataBean.DailyTasksBean item) {
@@ -288,14 +204,6 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
case 6:
toActivity(RechargeActivity.class);
break;
case 7:
if (!SpUtil.getRealName()) {
ToastUtils.show("实名认证后才能创建直播间");
toActivity(RealNameActivity.class);
return;
}
toActivity(CreatedRoomActivity.class);
break;
case 0:
break;
}
@@ -375,65 +283,5 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
}
}
class ViewPager2Adapter extends RecyclerView.Adapter<ViewPager2Adapter.ViewHolder> {
private List<GiftBoxBean.TaskDataBean> taskList;
private OnItemClickListener onItemClickListener;
public ViewPager2Adapter(List<GiftBoxBean.TaskDataBean> taskList, OnItemClickListener onItemClickListener) {
this.taskList = taskList;
this.onItemClickListener = onItemClickListener;
}
@NonNull
@Override
public ViewPager2Adapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recycleview_task, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewPager2Adapter.ViewHolder holder, int position) {
holder.recyclerView.setLayoutManager(new GridLayoutManager(DailyTasksActivity.this, 1));
TaskDataAdapter adapter = new TaskDataAdapter();
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
holder.recyclerView.setAdapter(adapter);
adapter.setNewData(taskList.get(position).getTask_list());
if (taskList.get(position).getIs_lock() == 1) {
View emptyView = LayoutInflater.from(DailyTasksActivity.this).inflate(R.layout.empty_img_layout, null, false);
ImageView ivEmpty = emptyView.findViewById(R.id.image_empty);
if (taskList.get(position).getTask_type_name().contains("师徒")) {
ivEmpty.setImageResource(R.mipmap.icon_ts_lock_show_bg);
} else if (taskList.get(position).getTask_type_name().contains("情侣")) {
ivEmpty.setImageResource(R.mipmap.icon_cp_lock_show_bg);
}
adapter.setEmptyView(emptyView);
}
adapter.setItemClickLitener((view, position1, item) -> {
if (onItemClickListener != null) {
onItemClickListener.onItemClick(position, taskList.get(position), item);
}
});
}
@Override
public int getItemCount() {
return taskList.size();
}
static class ViewHolder extends RecyclerView.ViewHolder {
public RecyclerView recyclerView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
recyclerView = itemView.findViewById(R.id.recycle_view);
}
}
interface OnItemClickListener {
void onItemClick(int position, GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
}
}
}

View File

@@ -1,41 +0,0 @@
package com.xscm.modulemain.activity.user.activity
import com.blankj.utilcode.util.ActivityUtils.startActivity
import com.xscm.modulemain.R
import com.xscm.modulemain.databinding.ActivityMobilePhoneBinding
import com.xscm.moduleutil.activity.BaseAppCompatActivity
import com.xscm.moduleutil.color.ThemeableDrawableUtils
import com.xscm.moduleutil.utils.ColorManager
import com.xscm.moduleutil.utils.SpUtil
import com.xscm.moduleutil.utils.TextViewUtils
/**
* @Author qx
* @Time 2025/12/19 11:06
* @Description 手机绑定
*/
class MobilePhoneActivity : BaseAppCompatActivity<ActivityMobilePhoneBinding>() {
override fun initData() {
mBinding.tvPhone.text = TextViewUtils.formatPhoneNumberWithRegex(SpUtil.getUserBean().mobile)
}
override fun initView() {
mBinding.topBar.setTitle("更换手机号")
ThemeableDrawableUtils.setThemeableRoundedBackground(
mBinding.tvChangePhone,
ColorManager.getInstance().getPrimaryColorInt(),
53
)
mBinding.tvChangePhone.setTextColor(ColorManager.getInstance().getButtonColorInt())
mBinding.tvChangePhone.setOnClickListener {
startActivity(PhoneReplacementActivity::class.java)
}
}
override fun getLayoutId(): Int {
return R.layout.activity_mobile_phone
}
}

View File

@@ -271,6 +271,7 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
return;
}
// MvpPre.check_create_room();
startActivity(new Intent(MyRoomActivity.this, CreatedRoomActivity.class));
finish();
}

View File

@@ -1,11 +1,7 @@
package com.xscm.modulemain.activity.user.activity;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.TextView;
import com.xscm.modulemain.R;
import com.xscm.modulemain.databinding.ActivityPhoneReplacementBinding;
@@ -13,15 +9,14 @@ import com.hjq.toast.ToastUtils;
import com.xscm.modulemain.activity.user.conacts.PhoneReplacementConacts;
import com.xscm.modulemain.activity.user.presenter.PhoneReplacementPresenter;
import com.xscm.modulemain.BaseMvpActivity;
import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.SpUtil;
/**
* @author
* @data
* @description: 手机换绑
*@author
*@data
*@description: 手机换绑
*/
public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPresenter, ActivityPhoneReplacementBinding> implements PhoneReplacementConacts.View {
private CountDownTimer mTimer;
@@ -33,14 +28,9 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
if (SpUtil.getUserBean().getMobile() == null || SpUtil.getUserBean().getMobile().equals("")) {
type = "2";
mBinding.topBar.setTitle("手机绑定");
mBinding.relTheOldPhone.setVisibility(GONE);
mBinding.rlTheOldCode.setVisibility(GONE);
} else {
type = "1";
mBinding.topBar.setTitle("手机换绑");
mBinding.relTheOldPhone.setVisibility(VISIBLE);
mBinding.tvPhone.setText(SpUtil.getUserBean().getMobile());
mBinding.rlTheOldCode.setVisibility(VISIBLE);
}
}
@@ -55,8 +45,6 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
mBinding.tvSendCode.setOnClickListener(this::onClick);
mBinding.btnSubmit.setOnClickListener(this::onClick);
mBinding.tvSendTheOldCode.setOnClickListener(this::onClick);
mBinding.tvSendCode.setTextColor(ColorManager.getInstance().getPrimaryColorInt());
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.btnSubmit, ColorManager.getInstance().getPrimaryColorInt(), 53);
@@ -69,12 +57,7 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
}
private void onClick(View view) {
if (view.getId() == R.id.tv_send_the_old_code) {
if (MvpPre == null) {
MvpPre = bindPresenter();
}
MvpPre.sendCode(SpUtil.getUserBean().getMobile(), type, mBinding.tvSendTheOldCode);
} else if (view.getId() == R.id.tv_send_code) {
if (view.getId() == R.id.tv_send_code) {
if (mBinding.edPhone.getText().toString().isEmpty()) {
ToastUtils.show("请输入手机号");
return;
@@ -83,57 +66,32 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
if (MvpPre == null) {
MvpPre = bindPresenter();
}
MvpPre.sendCode(mBinding.edPhone.getText().toString(), type, mBinding.tvSendCode);
MvpPre.sendCode(mBinding.edPhone.getText().toString(), type);
sendCodeSuccess2(mBinding.edPhone.getText().toString());
} else if (view.getId() == R.id.btnSubmit) {
if (type.equals("1")){
if(mBinding.edTheOldPassword.getText().toString().isEmpty()){
com.blankj.utilcode.util.ToastUtils.showShort("请输入手机验证码");
return;
}
if (mBinding.edPhone.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入新手机号");
return;
}
if (mBinding.edPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入验证码");
return;
}
if (MvpPre!=null){
MvpPre.mobileView(SpUtil.getUserBean().getMobile(), mBinding.edPhone.getText().toString(),mBinding.edTheOldPassword.getText().toString(), mBinding.edPassword.getText().toString(), type);
}
}else if (type.equals("2")){
if (mBinding.edPhone.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入手机号");
return;
}
if (mBinding.edPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入验证码");
return;
}
if (MvpPre!=null){
MvpPre.mobileView("", mBinding.edPhone.getText().toString(), mBinding.edPassword.getText().toString(),"", type);
if (mBinding.edPhone.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入手机");
return;
}
if (mBinding.edPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入验证码");
return;
}
if (MvpPre != null) {
if (SpUtil.getUserBean().getMobile() == null || SpUtil.getUserBean().getMobile().equals("")) {
MvpPre.mobileView(mBinding.edPhone.getText().toString(), mBinding.edPhone.getText().toString(), mBinding.edPassword.getText().toString(), type);
} else {
MvpPre.mobileView(SpUtil.getUserBean().getMobile(), mBinding.edPhone.getText().toString(), mBinding.edPassword.getText().toString(), type);
}
}
// if (MvpPre != null) {
// if (SpUtil.getUserBean().getMobile() == null || SpUtil.getUserBean().getMobile().equals("")) {
// MvpPre.mobileView(mBinding.edPhone.getText().toString(), mBinding.edPhone.getText().toString(), mBinding.edPassword.getText().toString(), type);
// } else {
// MvpPre.mobileView(SpUtil.getUserBean().getMobile(), mBinding.edPhone.getText().toString(), mBinding.edPassword.getText().toString(), type);
// }
// }
}
}
public void sendCodeSuccess2(String phoneNumber,TextView textView) {
public void sendCodeSuccess2(String phoneNumber) {
com.blankj.utilcode.util.ToastUtils.showShort("短信验证码发送成功请注意查收");
textView.setEnabled(false);
textView.setAlpha(0.5f);
mBinding.tvSendCode.setEnabled(false);
mBinding.tvSendCode.setAlpha(0.5f);
releaseTimer();
if (mTimer != null) {
mTimer.cancel();
@@ -141,16 +99,16 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
mTimer = new CountDownTimer(60000L, 1000L) {
@Override
public void onTick(long millisUntilFinished) {
if (textView != null) {
textView.setText(String.format("重新发送(%s", millisUntilFinished / 1000));
if (mBinding.tvSendCode != null) {
mBinding.tvSendCode.setText(String.format("重新发送(%s", millisUntilFinished / 1000));
}
}
@Override
public void onFinish() {
textView.setAlpha(1f);
textView.setEnabled(true);
textView.setText("重新发送");
mBinding.tvSendCode.setAlpha(1f);
mBinding.tvSendCode.setEnabled(true);
mBinding.tvSendCode.setText("重新发送");
}
};
mTimer.start();
@@ -164,22 +122,18 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
}
@Override
public void sendCodeSuccess1(String phoneNumber, TextView textView) {
sendCodeSuccess2(mBinding.edPhone.getText().toString(),textView);
public void sendCodeSuccess1(String phoneNumber) {
}
@Override
public void sendCodeSuccess(String s) {
if (s.contains("成功")) {
if (s.contains("失败")) {
ToastUtils.show(s);
try {
CommonAppContext.getInstance().clearLoginInfo();
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
finish();
} else {
ToastUtils.show(s);
finish();
}
}

View File

@@ -11,7 +11,6 @@ import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.blankj.utilcode.util.RegexUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xscm.modulemain.R;
import com.xscm.modulemain.databinding.ActivityRealNameBinding;
import com.tencent.cloud.huiyansdkface.facelight.api.WbCloudFaceContant;
@@ -115,7 +114,6 @@ public class RealNameActivity extends BaseMvpActivity<RealNamePresenter, Activit
} else {
Log.d("@@@", "刷脸失败!");
ToastUtils.showLong("人脸认证失败!");
// queren1();
}
}
@@ -130,7 +128,6 @@ public class RealNameActivity extends BaseMvpActivity<RealNamePresenter, Activit
Log.d("@@@", "刷脸失败!");
//刷脸结束后,及时释放资源
WbCloudFaceVerifySdk.getInstance().release();
ToastUtils.showLong("人脸认证失败!");
// queren1();
}

View File

@@ -36,7 +36,6 @@ import com.xscm.moduleutil.dialog.RealNameDialog;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.TextViewUtils;
import com.xscm.moduleutil.widget.CommonAppConfig;
import java.io.File;
@@ -82,13 +81,6 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
} else {
mBinding.llQhdz.setVisibility(View.GONE);
}
if (userInfo.getMobile()!=null && !userInfo.getMobile().equals("")) {
mBinding.tvPhoneTitle.setText("手机换绑");
mBinding.tvPhone.setText(TextViewUtils.formatAnyPhone(userInfo.getMobile()));
}else {
mBinding.tvPhoneTitle.setText("手机绑定");
mBinding.tvPhone.setText("");
}
}
}
@@ -138,12 +130,7 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
} else if (id == R.id.ll_szmm) {//设置密码
startActivity(new Intent(this, ChangPassActivity.class));
} else if (id == R.id.ll_shb) {
LogUtils.e("点击了", SpUtil.getUserBean().getMobile());
if (TextUtils.isEmpty(SpUtil.getUserBean().getMobile())){
startActivity(new Intent(this, PhoneReplacementActivity.class));
}else {
startActivity(new Intent(this, MobilePhoneActivity.class));
}
startActivity(new Intent(this, PhoneReplacementActivity.class));
} else if (id == R.id.ll_smrz) {//实名认证
if (SpUtil.getRealName()) {
startActivity(new Intent(this, RealDetailActivity.class));
@@ -221,12 +208,12 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (SpUtil.getUserBean().getMobile() == null) {
if( SpUtil.getUserBean().getMobile()==null){
if (MvpPre == null) {
MvpPre = bindPresenter();
}
MvpPre.cancel("");
} else {
}else {
showSecondaryVerificationDialog();
}
@@ -348,7 +335,7 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
MvpPre.cancel(code);
dialog.dismiss();
} else {
}else {
com.hjq.toast.ToastUtils.show("请输入正确的验证码");
}
}

View File

@@ -53,7 +53,7 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
if (dataChanged)
// 数据已更改,重新加载数据
page = 1;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
});
customInputDialog.show();
@@ -80,7 +80,7 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
if (dataChanged)
// 数据已更改,重新加载数据
page = 1;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
});
customInputDialog.show();
@@ -102,14 +102,14 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
// EventBus.getDefault().post(new BannerRefreshEvent());
page = 1;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
});
}
@@ -123,7 +123,7 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
protected void onResume() {
super.onResume();
page = 1;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
@Override
@@ -178,6 +178,6 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
@Override
public void deleteSong() {
page = 1;
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "20");
MvpPre.getSong(SpUtil.getUserId() + "", "", page + "", "10");
}
}

View File

@@ -5,7 +5,6 @@ import android.app.Activity;
import com.xscm.moduleutil.activity.IPresenter;
import com.xscm.moduleutil.activity.IView;
import com.xscm.moduleutil.bean.BannerModel;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.WalletBean;
@@ -24,8 +23,6 @@ public final class MeConacts {
void wallet(WalletBean walletBean);
void setBanners(List<BannerModel> bannerModels);
void getTasksMessage(TasksMessage data);
}
public interface IMePre extends IPresenter {
@@ -43,8 +40,6 @@ public final class MeConacts {
void wallet();
void getTasksMessage();
}
}

View File

@@ -1,7 +1,6 @@
package com.xscm.modulemain.activity.user.conacts;
import android.app.Activity;
import android.widget.TextView;
import com.xscm.moduleutil.activity.IPresenter;
import com.xscm.moduleutil.activity.IView;
@@ -9,15 +8,15 @@ import com.xscm.moduleutil.activity.IView;
public class PhoneReplacementConacts {
public interface View extends IView<Activity> {
void sendCodeSuccess1(String phoneNumber,TextView textView);
void sendCodeSuccess1(String phoneNumber);
void sendCodeSuccess(String s);
}
public interface IMePre extends IPresenter {
void sendCode(String phoneNumber, String type, TextView tvSendCode);
void sendCode(String phoneNumber, String type);
void mobileView(String mobile, String new_mobile, String sms_code,String new_sms_code,String type);
void mobileView(String mobile, String new_mobile, String sms_code,String type);
}
}

View File

@@ -47,7 +47,6 @@ import com.xscm.modulemain.activity.user.presenter.MePresenter;
import com.xscm.modulemain.activity.WebViewActivity;
import com.xscm.modulemain.dialog.UserNetWorthDialog;
import com.xscm.moduleutil.base.WebUrlConstants;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.widget.ShineTextView;
import com.xscm.moduleutil.base.BaseMvpFragment;
@@ -171,7 +170,6 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
MvpPre.getMyInfo();
MvpPre.wallet();
MvpPre.getBanners("6");
MvpPre.getTasksMessage();
// MvpPre.getMemberList(SpUtils.getUserId(), 1);
}
@@ -182,6 +180,9 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
public void onClick(View view) {
int id = view.getId();
if (id == R.id.ll_visit) {
// ARouter.getInstance().build(ARouteConstants.ME_VISIT).navigation();
// AppLogUtil.reportAppLog(AppLogEvent.C0104);
@@ -409,19 +410,6 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
mBinding.banner.setBannerData(R.layout.index_image_banner, bannerModels);
}
// TODO: 2025/12/16 任务未领取个数
@Override
public void getTasksMessage(TasksMessage data) {
if (data!=null){
mBinding.tvDailyMessage.setText("+"+data.getNum());
if (data.getNum()==0){
mBinding.tvDailyMessage.setVisibility(View.GONE);
}else {
mBinding.tvDailyMessage.setVisibility(View.VISIBLE);
}
}
}
private void copyUserId(CharSequence content) {
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);

View File

@@ -15,7 +15,7 @@ public class ChangePasswordPresenter extends BasePresenter<ChangePasswordConacto
@Override
public void sendCode(String phoneNumber, String type) {
api.sendCode(phoneNumber,type, new BaseObserver<String>() {
api.sendCode(phoneNumber,type, new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
@@ -23,7 +23,7 @@ public class ChangePasswordPresenter extends BasePresenter<ChangePasswordConacto
}
@Override
public void onNext(String o) {
public void onNext(Object o) {
MvpRef.get().sendCodeSuccess1(phoneNumber);
}

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import com.xscm.modulemain.activity.user.conacts.MeConacts;
import com.xscm.moduleutil.bean.BannerModel;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.WalletBean;
import com.xscm.moduleutil.http.BaseObserver;
@@ -187,25 +186,6 @@ public class MePresenter extends BasePresenter<MeConacts.View> implements MeCona
});
}
@Override
public void getTasksMessage() {
api.getTasksMessage(new BaseObserver<TasksMessage> () {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(TasksMessage s) {
if (MvpRef==null){
MvpRef=new WeakReference<>(mView);
}
MvpRef.get().getTasksMessage(s);
}
});
}
public void getBanners(String s) {
// Type listType = new TypeToken<List<BannerModel>>() {}.getType();
// List<BannerModel> restoredRoomModels = GsonUtils.getGSON().fromJson(SpUtils.getHomeBanner(), listType);

View File

@@ -1,7 +1,6 @@
package com.xscm.modulemain.activity.user.presenter;
import android.content.Context;
import android.widget.TextView;
import com.xscm.modulemain.activity.user.conacts.PhoneReplacementConacts;
import com.xscm.moduleutil.bean.UserBean;
@@ -22,8 +21,8 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
}
@Override
public void sendCode(String phoneNumber, String type, TextView textView) {
api.sendCode(phoneNumber, type, new BaseObserver<String>() {
public void sendCode(String phoneNumber, String type) {
api.sendCode(phoneNumber, type, new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
@@ -31,20 +30,20 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
}
@Override
public void onNext(String o) {
public void onNext(Object o) {
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().sendCodeSuccess1(phoneNumber,textView);
MvpRef.get().sendCodeSuccess1(phoneNumber);
}
});
}
@Override
public void mobileView(String mobile, String new_mobile, String sms_code,String new_sms_code, String type) {
public void mobileView(String mobile, String new_mobile, String sms_code, String type) {
if (type.equals("1")) {
api.mobileView(mobile, new_mobile, sms_code,new_sms_code, new BaseObserver<String>() {
api.mobileView(mobile, new_mobile, sms_code, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
@@ -55,11 +54,9 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
if (s.contains("成功")) {
UserBean userInfo = SpUtil.getUserBean();
userInfo.setMobile(new_mobile);
SpUtil.saveUserBean(userInfo);
}
UserBean userInfo = SpUtil.getUserBean();
userInfo.setMobile(new_mobile);
SpUtil.saveUserBean(userInfo);
MvpRef.get().sendCodeSuccess(s);
}
});
@@ -75,11 +72,9 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
if (s.contains("成功")) {
UserBean userInfo = SpUtil.getUserBean();
userInfo.setMobile(new_mobile);
SpUtil.saveUserBean(userInfo);
}
UserBean userInfo = SpUtil.getUserBean();
userInfo.setMobile(new_mobile);
SpUtil.saveUserBean(userInfo);
MvpRef.get().sendCodeSuccess(s);
}
});

View File

@@ -179,7 +179,7 @@ public class SettingPresenter extends BasePresenter<SettingConacts.View> impleme
@Override
public void sendCode(String phoneNumber, int type) {
api.sendCode(phoneNumber, type + "", new BaseObserver<String>() {
api.sendCode(phoneNumber, type + "", new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
@@ -187,7 +187,7 @@ public class SettingPresenter extends BasePresenter<SettingConacts.View> impleme
}
@Override
public void onNext(String o) {
public void onNext(Object o) {
}
});

View File

@@ -99,7 +99,7 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
@Override
public void sendCode(String phoneNumber, int type) {
api.sendCode(phoneNumber, type + "", new BaseObserver<String>() {
api.sendCode(phoneNumber, type + "", new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
@@ -107,7 +107,7 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
}
@Override
public void onNext(String o) {
public void onNext(Object o) {
}
});

View File

@@ -20,11 +20,10 @@ import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.MeHeadView;
import java.util.List;
/**
* @author qx
* @data 2025/5/19
* @description: 黑名单、关注、粉丝列表适配器
*@author qx
*@data 2025/5/19
*@description: 黑名单、关注、粉丝列表适配器
*/
public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder> {
@@ -46,9 +45,9 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
@Override
protected void convert(BaseViewHolder helper, BlackUserBean item) {
MeHeadView headView = helper.getView(R.id.im_user);
headView.setData(item.getAvatar(), "", "");
headView.setData(item.getAvatar(), "", "");
helper.setText(R.id.tv_nick_name, item.getNickname());
TextView imageView = helper.getView(R.id.im_g);
TextView imageView= helper.getView(R.id.im_g);
helper.setText(R.id.tv_oline, item.getIs_online() == 1 ? "[在线]" : "[离线]");
// 根据 type 设置图片资源
// 根据 type 和 status 设置图片资源
@@ -56,33 +55,33 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
if (item.getType() == 0) { // 关注
if (item.getIs_follow() == 0) {
// imageView.setImageResource(com.xscm.moduleutil.R.mipmap.gz);
ThemeableDrawableUtils.setThemeableRoundedBackground(imageView, ColorManager.getInstance().getPrimaryColorInt(), 34);
ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, ColorManager.getInstance().getPrimaryColorInt(), 34);
imageView.setTextColor(ColorManager.getInstance().getButtonColorInt());
imageView.setText("关注");
} else {
// imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yigz);
ThemeableDrawableUtils.setThemeableRoundedBackground(imageView, Color.parseColor("#EFF2F8"), 34);
ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#EFF2F8"), 34);
imageView.setTextColor(Color.BLACK);
imageView.setText("已关注");
}
} else if (item.getType() == 1) { // 黑名单
// imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yic);
ThemeableDrawableUtils.setThemeableRoundedBackground(imageView, Color.parseColor("#333333"), 34);
ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#333333"), 34);
imageView.setTextColor(Color.WHITE);
imageView.setText("移除");
} else if (item.getType() == 2) { // 粉丝
if (item.getIs_follow() != 1) { //只有等于1的时候是已经关注了等于0或者2的时候都是需要回关别人显示回关按钮
if (item.getIs_follow() == 0) {
// imageView.setImageResource(com.xscm.moduleutil.R.mipmap.hg);
ThemeableDrawableUtils.setThemeableRoundedBackground(imageView, ColorManager.getInstance().getPrimaryColorInt(), 34);
ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, ColorManager.getInstance().getPrimaryColorInt(), 34);
imageView.setTextColor(ColorManager.getInstance().getButtonColorInt());
imageView.setText("回关");
} else {
// imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yigz);
ThemeableDrawableUtils.setThemeableRoundedBackground(imageView, Color.parseColor("#EFF2F8"), 34);
ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#EFF2F8"), 34);
imageView.setTextColor(Color.BLACK);
imageView.setText("已关注");
}
} else if (item.getType() == 3) {
}else if (item.getType() == 3){
imageView.setVisibility(View.GONE);
}
@@ -92,13 +91,13 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
onItemClickListener.onItemClick(item);
}
});
LinearLayout llContainer = helper.getView(R.id.ll_in);
LinearLayout llContainer =helper.getView(R.id.ll_in);
llContainer.removeAllViews(); // 清空旧的 ImageView
List<String> images = item.getIcon(); // 获取图片列表
for (String url : images) {
if (url != null && url.contains("http")) {
if (url.contains("http")) {
ImageView imageView1 = new ImageView(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
@@ -118,8 +117,8 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
headView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (item.getType() != 1) {
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", item.getUser_id() + "").navigation();
if (item.getType() !=1){
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", item.getUser_id()+"").navigation();
}
}
});

View File

@@ -26,7 +26,7 @@ public class MyAlbumListAdapter extends BaseQuickAdapter<AlbumBean, BaseViewHold
helper.setVisible(R.id.iv_album_suo,true);
}
helper.setText(R.id.tv_album_name, item.getName());
helper.setText(R.id.tv_album_count, "浏览 "+item.getRead_num());
helper.setText(R.id.tv_album_count, item.getRead_num());
} else {
helper.setImageResource(R.id.riv_album, com.xscm.moduleutil.R.mipmap.create_album);
helper.setVisible(R.id.tv_album_name, false);

View File

@@ -103,7 +103,6 @@ class MyFamilyAdapter(
if (item.icon.isNotEmpty()) {
flex_entry.isVisible=true
flex_entry.removeAllViews()
for (url in item.icon) {
if (url.contains("http")) {
val imageView1 = ImageView(Application.getInstance())

View File

@@ -34,7 +34,6 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
if (item.getTask_status()==1){
textView.setText(item.getTask_type_str());
textView.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_r99_e24171);
}else if (item.getTask_status()==2){
textView.setText("");
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
@@ -43,6 +42,18 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
}
// if (item.getTask_type_str().equals("去完成")){
// textView.setText("未完成");
// }else if (item.getTask_type_str().equals("领取金币") || item.getTask_type_str().equals("领取钻石")){
// textView.setText("");
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
// }else {
// textView.setText("");
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
// }
ImageUtils.loadCenterCrop(item.getIcon(), helper.getView(R.id.task_pic));
helper.setText(R.id.task_name, item.getTask_name());
helper.setText(R.id.task_jb_number, item.getReward_str());

View File

@@ -1,23 +1,11 @@
package com.xscm.modulemain.dialog
import android.content.Context
import android.graphics.drawable.Drawable
import android.view.Gravity
import android.view.View
import android.widget.ImageView
import androidx.vectordrawable.graphics.drawable.Animatable2Compat
import com.bumptech.glide.Glide
import com.bumptech.glide.integration.webp.decoder.WebpDrawable
import com.bumptech.glide.integration.webp.decoder.WebpDrawableTransformation
import com.bumptech.glide.load.DataSource
import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.load.resource.bitmap.CenterInside
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target
import android.view.ViewGroup
import com.xscm.modulemain.R
import com.xscm.modulemain.databinding.DialogSignTypeBinding
import com.xscm.moduleutil.utils.ImageUtils
import com.xscm.moduleutil.widget.dialog.BaseDialog
class DialogSignType(context:Context) : BaseDialog<DialogSignTypeBinding>(context){
@@ -64,84 +52,25 @@ class DialogSignType(context:Context) : BaseDialog<DialogSignTypeBinding>(contex
0 ->{
mBinding.groupFail.visibility = View.GONE
mBinding.ivStart.visibility = View.VISIBLE
loadWebpOneStart(R.drawable.iv_start, mBinding.ivStart)
mBinding.ivSuccess.visibility = View.GONE
}
1 ->{
mBinding.groupFail.visibility = View.GONE
mBinding.ivStart.visibility = View.GONE
mBinding.ivSuccess.visibility = View.VISIBLE
window?.decorView?.postDelayed({
dismiss()
}, 1500)
}
2 ->{
mBinding.groupFail.visibility = View.VISIBLE
mBinding.ivStart.visibility = View.GONE
mBinding.ivSuccess.visibility = View.GONE
window?.decorView?.postDelayed({
dismiss()
}, 1500)
}
}
window?.decorView?.postDelayed({
dismiss()
}, 1500)
}
var webpDrawable:WebpDrawable? = null
fun loadWebpOneStart(webp_anim: Int, mAnimView: ImageView?) {
if (mAnimView == null) {
return
}
// 1. 本地资源专属优化配置
val options = RequestOptions() // 强制限制解码尺寸为ImageView显示尺寸核心优化
.override(800, 800) // 本地图用原尺寸,或指定固定尺寸
//webp动图
val transformation = CenterInside()
Glide.with(mAnimView)
.load(webp_anim) //不是本地资源就改为url即可
.apply(options)
.optionalTransform(transformation)
.optionalTransform(WebpDrawable::class.java, WebpDrawableTransformation(transformation))
.addListener(object : RequestListener<Drawable> {
override fun onLoadFailed(
e: GlideException?,
model: Any,
target: Target<Drawable>,
isFirstResource: Boolean
): Boolean {
return false
}
override fun onResourceReady(
resource: Drawable,
model: Any,
target: Target<Drawable>,
dataSource: DataSource,
isFirstResource: Boolean
): Boolean {
webpDrawable = resource as WebpDrawable
//需要设置为循环1次才会有onAnimationEnd回调
webpDrawable?.loopCount = 1
webpDrawable?.registerAnimationCallback(object :
Animatable2Compat.AnimationCallback() {
override fun onAnimationStart(drawable: Drawable) {
super.onAnimationStart(drawable)
}
override fun onAnimationEnd(drawable: Drawable) {
super.onAnimationEnd(drawable)
webpDrawable?.unregisterAnimationCallback(this)
dismiss()
}
})
return false
}
})
.into(mAnimView)
}
}

View File

@@ -453,7 +453,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
} catch (Exception e) {
viewName = "未知View ID: " + id;
}
LogUtils.e("GiftLotteryDFragment","点击了" + viewName +",isDrawing="+isDrawing);
LogUtils.e("GiftLotteryDFragment","点击了" + viewName );
}
private void setBackground() {

View File

@@ -134,7 +134,7 @@ public class RedBagSendDialog extends BaseDialog<DialogRedBagSendBinding> {
int num = Integer.parseInt(numStr);
int text = Integer.parseInt(textStr);
if (text < num) {
if (text <= num) {
diaj=false;
ToastUtils.show("金额必须大于数量");
return;
@@ -281,7 +281,7 @@ public class RedBagSendDialog extends BaseDialog<DialogRedBagSendBinding> {
int num = Integer.parseInt(numStr);
int text = Integer.parseInt(textStr);
if (text < num) {
if (text <= num) {
diaj=false;
ToastUtils.show("金额必须大于数量");
return;

View File

@@ -21,7 +21,6 @@ import com.xscm.modulemain.databinding.FragmentRoomOnlineDialogBinding;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
import com.xscm.moduleutil.bean.RedPacketInfo;
import com.xscm.moduleutil.bean.RoomCharmRankBean;
import com.xscm.moduleutil.bean.TasksMessage;
import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
import com.xscm.moduleutil.bean.room.RoomOnline;
@@ -73,7 +72,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
@Override
protected void initData() {
MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
// MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
}
@Override
@@ -387,9 +386,4 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
}
@Override
public void getTasksMessage(TasksMessage data) {
}
}

View File

@@ -15,7 +15,6 @@ import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.FragmentManager;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@@ -120,7 +119,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
LogUtils.e("roomId:" + room_id + ",userId:" + user_id);
LogUtils.e("roomId:" + room_id+",userId:"+user_id);
MvpPre.getRoomUserInfo(room_id, user_id);
}
@@ -270,8 +269,8 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
MvpPre.clearUserCharm(room_id, user_id);
} else if (id == R.id.im_gs) {
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), room_id, "", null);
} else if (id == R.id.iv_right_avatar) {
if (userInfo.getMaster() != null && userInfo.getMaster().getUser_id() != null) {
}else if (id == R.id.iv_right_avatar){
if(userInfo.getMaster()!=null && userInfo.getMaster().getUser_id()!=null) {
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getMaster().getUser_id() + "").navigation();
dismiss();
}
@@ -284,7 +283,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
} catch (Exception e) {
viewName = "未知View ID: " + id;
}
LogUtils.e("roomUserInfoFragment", "点击了" + viewName);
LogUtils.e("roomUserInfoFragment","点击了" + viewName );
}
/**
@@ -473,10 +472,10 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
mBinding.tvName.setShineType(0);
}
if (userInfo.getMaster() != null) {
if(userInfo.getMaster()!=null){
mBinding.ivRightAvatar.setVisibility(VISIBLE);
mBinding.ivRightAvatar.setMaster(userInfo.getMaster().getAvatar());
} else {
}else {
mBinding.ivRightAvatar.setVisibility(GONE);
}
@@ -496,7 +495,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
// mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_gz));
mBinding.imRoomGz.setText("+ 关注");
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff52FF96")));
}
}
if (userInfo.getIs_room_owner().equals("1")) {
close_type = 1;
@@ -514,9 +513,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
if (userInfo.getGuild_name() == null || userInfo.getGuild_name().isEmpty()) {
mBinding.tvGh.setText("所属公会:无");
} else {
if (userInfo.getUser_id() == SpUtil.getUserId()) {
if (userInfo.getUser_id() == SpUtil.getUserId()){
mBinding.tvJoinGuild.setVisibility(GONE);
} else if (userInfo.getMe_guild_name() == null || userInfo.getMe_guild_name().isEmpty()) {
}else if (userInfo.getMe_guild_name() == null || userInfo.getMe_guild_name().isEmpty()){
mBinding.tvJoinGuild.setVisibility(VISIBLE);
}
mBinding.tvGh.setText("所属公会:" + userInfo.getGuild_name());
@@ -542,9 +541,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
private void showCp() {
if (userInfo.getUser_id() == SpUtil.getUserId()) {
if (userInfo.getUser_id() == SpUtil.getUserId()){
mBinding.imRoomGz.setVisibility(GONE);
} else {
}else {
mBinding.imRoomGz.setVisibility(VISIBLE);
}
@@ -585,7 +584,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
@Override
public void onClick(View v) {
Intent intent = new Intent(ActivityUtils.getTopActivity(), HeartCpActivity.class);
intent.putExtra("userId", userInfo.getUser_id());
intent.putExtra("userId",userInfo.getUser_id());
startActivity(intent);
}
});
@@ -660,8 +659,8 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
break;
}
} catch (NullPointerException e) {
LogUtils.e("挂件位置异常" + e.toString());
}catch (NullPointerException e){
LogUtils.e("挂件位置异常"+e.toString());
}
mBinding.llCpAnimAvatar.setLayoutParams(params);
}
@@ -728,7 +727,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
} else {
mBinding.roomMCz.setVisibility(GONE);
}
if (paim == 1 && !TextUtils.isEmpty(pit_number) && (pit_number.equals("888") || pit_number.equals("111") || pit_number.equals("222") || pit_number.equals("333"))) {
if (paim == 1 && pit_number != null && (pit_number.equals("888") || pit_number.equals("111") || pit_number.equals("222") || pit_number.equals("333"))) {
mBinding.roomMCz.setVisibility(GONE);
}
@@ -924,7 +923,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
@Override
public void userGuanzSuccess(String s) {
LogUtils.e("userGuanzSuccess :" + userInfo.getIs_follow());
LogUtils.e("userGuanzSuccess :"+userInfo.getIs_follow());
if (userInfo.getIs_follow() == 1) {
userInfo.setIs_follow(0);
mBinding.imRoomGz.setText("+ 关注");

View File

@@ -275,7 +275,7 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
if (!isDrawing) {
isDrawing = true;
prepareForNewLottery();
num = "5";
num = "10";
MvpPre.xlhChou(roomId, num);
} else {
// com.hjq.toast.ToastUtils.show("正在抽奖中...");
@@ -285,7 +285,7 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
if (!isDrawing) {
isDrawing = true;
prepareForNewLottery();
num = "8";
num = "100";
MvpPre.xlhChou(roomId, num);
} else {
// com.hjq.toast.ToastUtils.show("正在抽奖中...");
@@ -411,8 +411,8 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
private void upTitle(int boxPrice) {
this.mboxPrice = boxPrice;
mBinding.tvOne.setText(boxPrice + "币一次");
mBinding.tvTen.setText((boxPrice * 5) + "");
mBinding.tvHundred.setText((boxPrice * 8) + "");
mBinding.tvTen.setText((boxPrice * 10) + "");
mBinding.tvHundred.setText((boxPrice * 100) + "");
}
// TODO: 2025/8/29 接收im推送过来的消息
@@ -619,12 +619,12 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
mBinding.llOne.setClickable( false);
}
if (icon>=mboxPrice*5){
if (icon>=mboxPrice*10){
mBinding.llTen.setClickable( true);
}else {
mBinding.llTen.setClickable( false);
}
if (icon>=mboxPrice*8){
if (icon>=mboxPrice*100){
mBinding.llHundred.setClickable( true);
}else {
mBinding.llHundred.setClickable( false);

View File

@@ -399,7 +399,6 @@ public class RoomManager {
CommonAppContext.getInstance().playId.equals(roomId) ?"":"去上一个房间",
CommonAppContext.getInstance().playId.equals(roomId) ?"取消":"在想想",
v -> {
MessageListenerSingleton.getInstance().joinGroup(roomId);
// 点击“确认”按钮时执行删除操作
fetchAndJoinRoom(ActivityUtils.getTopActivity(),roomId,"",taskId);
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Some files were not shown because too many files have changed in this diff Show More