Compare commits
64 Commits
branch_new
...
branch_new
| Author | SHA1 | Date | |
|---|---|---|---|
| cdd3f79c59 | |||
| 72a7eecbcd | |||
| 9b7c586d6b | |||
| 41e4dcf2fc | |||
| a512b50343 | |||
| a9af37489e | |||
| e16878b0cf | |||
| 8dcafa37ba | |||
| a7a24b52f9 | |||
| c2f5376ec8 | |||
| 39098757fd | |||
| 7768a8f70b | |||
| 42f786f9ef | |||
| 0c8163277a | |||
| c2096a8274 | |||
| 5fb367e321 | |||
| 14782341f9 | |||
| 724046c9c6 | |||
| b915e9d044 | |||
| f80582a189 | |||
| c200c6c307 | |||
| dce92eb61a | |||
| 56d5d40214 | |||
| 98f8928bc8 | |||
| bc4e9b4bfa | |||
| fda29801b3 | |||
| 13d8e94083 | |||
| be09d0e792 | |||
| ec535432e7 | |||
| c563354117 | |||
| 71fce13074 | |||
| 1746e7a89b | |||
| d63fd43ad2 | |||
| 8faac0f526 | |||
| dfefaae153 | |||
| 23de7e5bf6 | |||
| 37395ccff3 | |||
| ebf29b2aa2 | |||
| f646493800 | |||
| 6825009aba | |||
| 17b562f194 | |||
| 89374e536d | |||
| 0d8b0134d9 | |||
| feb922624f | |||
| 6bae825d0f | |||
| d470b2fdb1 | |||
| ed0eccd0ee | |||
| ecdd2fc063 | |||
| b6bc353db1 | |||
| e386b072f5 | |||
| 3263fbd7f6 | |||
| a593acba07 | |||
| b5b443e188 | |||
| 9d546717db | |||
| dab7e1e83a | |||
| 8232415cbf | |||
| 3c59e8bbce | |||
| 611c4829ce | |||
| 2b137643f2 | |||
| 913e92644c | |||
| 531d62ae3a | |||
| 19ce1dbe94 | |||
| 91e222554a | |||
| a9c2bd9878 |
@@ -74,8 +74,7 @@ public class AppUpdateDialog extends BaseDialog<DialogAppUpdateBinding> implemen
|
|||||||
mProgressDialog.setCanceledOnTouchOutside(false);
|
mProgressDialog.setCanceledOnTouchOutside(false);
|
||||||
mProgressDialog.setMessage("下载中请稍等!!!");
|
mProgressDialog.setMessage("下载中请稍等!!!");
|
||||||
mProgressDialog.show();
|
mProgressDialog.show();
|
||||||
DownloadUtil downloadUtil = new DownloadUtil(getContext());
|
DownloadUtil downloadUtil = new DownloadUtil(getContext(),appUpdateModel.getUrl(),this);
|
||||||
downloadUtil.downloadFile(appUpdateModel.getUrl(), this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -274,9 +274,11 @@ public class CirleListAdapter extends BaseQuickAdapter<CircleListBean, BaseViewH
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (item.getRoom_id() != null && !item.getRoom_id().equals("0")) {
|
if (item.getRoom_id() != null && !item.getRoom_id().equals("0")) {
|
||||||
helper.setText(R.id.gensui, "跟随");
|
helper.setText(R.id.gensui, "");
|
||||||
|
helper.getView(R.id.gensui).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gsui);
|
||||||
} else if (item.getRoom_id() == null || item.getRoom_id().equals("0")) {
|
} else if (item.getRoom_id() == null || item.getRoom_id().equals("0")) {
|
||||||
helper.setText(R.id.gensui, "私信");
|
helper.setText(R.id.gensui, "");
|
||||||
|
helper.getView(R.id.gensui).setBackgroundResource(com.xscm.moduleutil.R.mipmap.six);
|
||||||
}
|
}
|
||||||
//分享数
|
//分享数
|
||||||
// helper.setText(R.id.dy_zs, item.getRewards_num() != null ? item.getRewards_num() : "0");
|
// helper.setText(R.id.dy_zs, item.getRewards_num() != null ? item.getRewards_num() : "0");
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public class GiftRoomAdapter extends BaseAdapter {
|
|||||||
private static RoonGiftModel sGiftModel;
|
private static RoonGiftModel sGiftModel;
|
||||||
private GiftRoomAdapter mAdapter;
|
private GiftRoomAdapter mAdapter;
|
||||||
private RoonGiftModel mGiftModel;
|
private RoonGiftModel mGiftModel;
|
||||||
|
|
||||||
public void setGiftModel(GiftRoomAdapter adapter, RoonGiftModel gift) {
|
public void setGiftModel(GiftRoomAdapter adapter, RoonGiftModel gift) {
|
||||||
sAdapter = new WeakReference<>(adapter);
|
sAdapter = new WeakReference<>(adapter);
|
||||||
sGiftModel = gift;
|
sGiftModel = gift;
|
||||||
@@ -129,7 +130,7 @@ public class GiftRoomAdapter extends BaseAdapter {
|
|||||||
viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
|
viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
|
||||||
viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
|
viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
|
||||||
viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
|
viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
|
||||||
viewHolder.iv_gift_select= (ImageView) convertView.findViewById(R.id.iv_gift_select);
|
viewHolder.iv_gift_select = (ImageView) convertView.findViewById(R.id.iv_gift_select);
|
||||||
|
|
||||||
// im_heart现在位于顶层布局中
|
// im_heart现在位于顶层布局中
|
||||||
viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
|
viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
|
||||||
@@ -140,25 +141,32 @@ public class GiftRoomAdapter extends BaseAdapter {
|
|||||||
|
|
||||||
viewHolder.item_layout.setOnClickListener(v -> {
|
viewHolder.item_layout.setOnClickListener(v -> {
|
||||||
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
|
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
|
||||||
if (giftModel.getIs_lock()==0) {
|
if (giftModel.getIs_lock() == 0) {
|
||||||
EventBus.getDefault().post(new RoomGiftClickToEvent(this, giftModel, 1));
|
EventBus.getDefault().post(new RoomGiftClickToEvent(this, giftModel, 1));
|
||||||
}else if (giftModel.getIs_lock()==1){
|
} else if (giftModel.getIs_lock() == 1) {
|
||||||
ToastUtils.show("当前属于爵位礼物,请开通爵位");
|
ToastUtils.show("当前属于爵位礼物,请开通爵位");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (giftModel.getIs_lock()==0){
|
if (giftModel.getIs_lock() == 0) {
|
||||||
viewHolder.iv_gift_select.setVisibility(GONE);
|
viewHolder.iv_gift_select.setVisibility(GONE);
|
||||||
}else {
|
} else {
|
||||||
viewHolder.iv_gift_select.setVisibility(VISIBLE);
|
viewHolder.iv_gift_select.setVisibility(VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (giftModel.getIs_cp()==0) {//这是cp礼物
|
if (giftModel.getIs_cp() == 0 && giftModel.getIs_teacher() == 0 ) {//这是cp礼物
|
||||||
viewHolder.im_heart.setVisibility(GONE);
|
viewHolder.im_heart.setVisibility(GONE);
|
||||||
}else {
|
} else {
|
||||||
if (viewHolder.im_heart != null) {
|
if (viewHolder.im_heart != null) {
|
||||||
viewHolder.im_heart.setVisibility(VISIBLE);
|
viewHolder.im_heart.setVisibility(VISIBLE);
|
||||||
|
if (giftModel.getIs_cp() == 1) {
|
||||||
|
viewHolder.im_heart.setImageResource(R.mipmap.icon_heart);
|
||||||
|
}else if (giftModel.getIs_teacher() == 1) {
|
||||||
|
viewHolder.im_heart.setImageResource(R.mipmap.icon_teacher);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 在给View绑定显示的数据时,计算正确的position = position + curIndex * pageSize,
|
* 在给View绑定显示的数据时,计算正确的position = position + curIndex * pageSize,
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -297,12 +297,18 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
|||||||
roonGiftModel.setNum(giftModel.getNum());
|
roonGiftModel.setNum(giftModel.getNum());
|
||||||
if (giftModel.getGift_id().equals(id)) {
|
if (giftModel.getGift_id().equals(id)) {
|
||||||
if (!giftModel.isChecked()) {
|
if (!giftModel.isChecked()) {
|
||||||
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
|
|
||||||
giftModel.setChecked(true);
|
giftModel.setChecked(true);
|
||||||
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
|
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
|
||||||
|
}else {
|
||||||
|
giftModel.setChecked(false);
|
||||||
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
giftModel.setChecked(false);
|
giftModel.setChecked(false);
|
||||||
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (event.adapter != null && event.adapter.get() != null) {
|
if (event.adapter != null && event.adapter.get() != null) {
|
||||||
event.adapter.get().notifyDataSetChanged();
|
event.adapter.get().notifyDataSetChanged();
|
||||||
@@ -321,13 +327,20 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
|
|||||||
if (giftModel.getGift_id().equals(id)) {
|
if (giftModel.getGift_id().equals(id)) {
|
||||||
selGift = giftModel;
|
selGift = giftModel;
|
||||||
if (!giftModel.isChecked()) {
|
if (!giftModel.isChecked()) {
|
||||||
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
|
|
||||||
giftModel.setChecked(true);
|
giftModel.setChecked(true);
|
||||||
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
|
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
|
||||||
|
}else {
|
||||||
|
giftModel.setChecked(false);
|
||||||
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
|
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
giftModel.setChecked(false);
|
giftModel.setChecked(false);
|
||||||
EventBus.getDefault().post(new GiftUserRefreshEvent(false, event.type, null));
|
roonGiftModel.setChecked(giftModel.isChecked());
|
||||||
|
// EventBus.getDefault().post(new GiftUserRefreshEvent(false, event.type, roonGiftModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (event.adapter != null && event.adapter.get() != null) {
|
if (event.adapter != null && event.adapter.get() != null) {
|
||||||
event.adapter.get().notifyDataSetChanged();
|
event.adapter.get().notifyDataSetChanged();
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
|
|||||||
//设置mqtt环境 false 测试环境 true 正式环境
|
//设置mqtt环境 false 测试环境 true 正式环境
|
||||||
// ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false);
|
// ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false);
|
||||||
//设置http环境 false 测试环境 true 正式环境
|
//设置http环境 false 测试环境 true 正式环境
|
||||||
ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(false);
|
ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true);
|
||||||
currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH();
|
currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH();
|
||||||
|
|
||||||
initialization();
|
initialization();
|
||||||
|
|||||||
@@ -3,16 +3,18 @@ package com.xscm.moduleutil.bean;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*@author qx
|
* @author qx
|
||||||
*@data 2025/5/27
|
* @data 2025/5/27
|
||||||
*@description: 礼盒数据
|
* @description: 礼盒数据
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class GiftBoxBean {
|
public class GiftBoxBean {
|
||||||
private String user_gold;//累计获取的金币
|
private String user_gold;//累计获取的金币
|
||||||
private List<GiftBean> gift_box_list;
|
private List<GiftBean> gift_box_list;
|
||||||
private TaskDataBean tasks;
|
private List<TaskDataBean> tasks;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class GiftBean {
|
public static class GiftBean {
|
||||||
// private String giftName; //初级礼盒、高级礼盒
|
// private String giftName; //初级礼盒、高级礼盒
|
||||||
@@ -21,10 +23,25 @@ public class GiftBoxBean {
|
|||||||
// private String giftTypeNumber; //当前的百分比
|
// private String giftTypeNumber; //当前的百分比
|
||||||
// private String giftTypeStatus; //是否已经可以
|
// private String giftTypeStatus; //是否已经可以
|
||||||
|
|
||||||
|
|
||||||
|
/*{
|
||||||
|
"id":2,
|
||||||
|
"name":"高级礼盒",
|
||||||
|
"title":"最高可获得10000金币",
|
||||||
|
"icon":"",
|
||||||
|
"highest_gain":"10000",
|
||||||
|
"meet":"300",
|
||||||
|
"unlock_progress":0,
|
||||||
|
"all_number":"1",
|
||||||
|
"taday_number":0,
|
||||||
|
"taday_number_left":1,
|
||||||
|
"status":0,
|
||||||
|
"status_str":"未解锁"
|
||||||
|
}*/
|
||||||
private String id;//礼盒ID
|
private String id;//礼盒ID
|
||||||
private String name;//礼盒名称
|
private String name;//礼盒名称
|
||||||
private String title; //标题
|
private String title; //标题
|
||||||
private String icon ;//图标
|
private String icon;//图标
|
||||||
private String highest_gain;//最高获得金币数
|
private String highest_gain;//最高获得金币数
|
||||||
private String meet;//满多少金币可抽
|
private String meet;//满多少金币可抽
|
||||||
private String unlock_progress;// //解锁进度
|
private String unlock_progress;// //解锁进度
|
||||||
@@ -37,25 +54,62 @@ public class GiftBoxBean {
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class TaskDataBean {
|
public static class TaskDataBean {
|
||||||
private List<DailyTasksBean> daily_tasks;
|
private List<DailyTasksBean> task_list;
|
||||||
private List<DailyTasksBean> daily_tasks_special;
|
// private List<DailyTasksBean> daily_tasks_special;
|
||||||
private List<DailyTasksBean> usual_tasks;
|
// private List<DailyTasksBean> usual_tasks;
|
||||||
private List<DailyTasksBean> teacher_tasks;
|
// private List<DailyTasksBean> teacher_tasks;
|
||||||
|
|
||||||
|
private int task_type_id;
|
||||||
|
private String task_type_name;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class DailyTasksBean {
|
public static class DailyTasksBean {
|
||||||
private int task_id;////任务Id
|
|
||||||
private String task_name;//任务名称
|
/* {
|
||||||
private String icon;//图标
|
"task_id":20,
|
||||||
private int gold_reward; //奖励金币
|
"icon":null,
|
||||||
private int target_quantity;//目标完成数量
|
"task_name":"每日在房间时长 15 分钟(0/15)",
|
||||||
private int task_type;//任务类型 1每日任务 2每日特殊任务 3平台常规任务
|
"target_quantity":900,
|
||||||
private int task_status;//任务状态:1完成 2去领取 3已领取
|
"task_type":2,
|
||||||
private String task_type_str; //任务状态
|
"jump_type":4,
|
||||||
private int processing_type;//跳转状态:
|
"tasks_bag_id":0,
|
||||||
private String processing_type_str;//跳转状态
|
"task_status":1,
|
||||||
private String from_id;
|
"task_type_str":"去完成",
|
||||||
private int reward_type;//1:金币 2:钻石
|
"jump_type_str":"跳转房间",
|
||||||
|
"from_id":6040,
|
||||||
|
"is_time":1,
|
||||||
|
"processing_type":2,
|
||||||
|
"processing_type_str":"去观看",
|
||||||
|
"reward_str":"25金币,笨笨狗x1,
|
||||||
|
仙女之星头像框,
|
||||||
|
三八大杠"
|
||||||
|
}*/
|
||||||
|
|
||||||
|
private int task_id;////任务Id
|
||||||
|
private String icon;//图标
|
||||||
|
private String task_name;//任务名称
|
||||||
|
private int target_quantity;//目标完成数量
|
||||||
|
private int task_type;//任务类型 1每日任务 2每日特殊任务 3平台常规任务
|
||||||
|
/**
|
||||||
|
* 0 不跳转
|
||||||
|
* 1 跳转实名
|
||||||
|
* 2 跳转我的相册
|
||||||
|
* 3 跳转绑定管理
|
||||||
|
* 4 跳转房间
|
||||||
|
* 5 跳转申请加入公会
|
||||||
|
* 6 跳转充值
|
||||||
|
*/
|
||||||
|
private int jump_type; //跳转类型
|
||||||
|
private int tasks_bag_id; //任务礼盒ID
|
||||||
|
private int task_status;//任务状态:1完成 2去领取 3已领取
|
||||||
|
private String task_type_str; //任务状态
|
||||||
|
private String jump_type_str; //跳转类型提示
|
||||||
|
private String from_id;
|
||||||
|
private int is_time;
|
||||||
|
private int processing_type;//跳转状态:
|
||||||
|
private String processing_type_str;//跳转状态
|
||||||
|
private String reward_str;//1:奖励
|
||||||
|
private String student_id;//徒弟ID
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class PlaceholderBean {
|
|||||||
private String nickname1;
|
private String nickname1;
|
||||||
private String avatar;
|
private String avatar;
|
||||||
private String total;
|
private String total;
|
||||||
private String rank;
|
private String rank="";
|
||||||
private List<String> icon;
|
private List<String> icon;
|
||||||
private String room_name;
|
private String room_name;
|
||||||
private String room_id;
|
private String room_id;
|
||||||
|
|||||||
@@ -111,6 +111,9 @@ public class RoomMessageEvent extends BaseEvent {
|
|||||||
private String sign_day;//被签约天数
|
private String sign_day;//被签约天数
|
||||||
private String current_body_value;//被签约身价
|
private String current_body_value;//被签约身价
|
||||||
|
|
||||||
|
private String status = "";
|
||||||
|
private String from_id = "";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ public class RoonGiftModel {
|
|||||||
private int gift_bag;//10:天空之境 11:岁月之城 12:时空之巅
|
private int gift_bag;//10:天空之境 11:岁月之城 12:时空之巅
|
||||||
private int is_lock;//爵位礼物 0:不锁 1:锁
|
private int is_lock;//爵位礼物 0:不锁 1:锁
|
||||||
|
|
||||||
private int is_cp;//1:是 0:不是
|
private int is_cp;//1:是 0:不是 是不是cp心动礼物
|
||||||
|
private int is_teacher;//1:是 0:不是 是不是师徒礼物
|
||||||
public boolean isCan_send_self() {
|
public boolean isCan_send_self() {
|
||||||
if ( isManghe()) {
|
if ( isManghe()) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
115
BaseModule/src/main/java/com/xscm/moduleutil/bean/SignInData.kt
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
package com.xscm.moduleutil.bean
|
||||||
|
|
||||||
|
import com.chad.library.adapter.base.entity.MultiItemEntity
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目名称:羽声语音
|
||||||
|
* 时间:2025/12/12 10:35
|
||||||
|
* 用途:签到实体类
|
||||||
|
*/
|
||||||
|
class SignInData : MultiItemEntity{
|
||||||
|
val TYPE_NORMAL: Int = 0 // 普通类型,使用day_sgin布局
|
||||||
|
val TYPE_DOUBLE: Int = 1 // 双倍宽度类型,使用day_sgin2布局
|
||||||
|
var viewType: Int = TYPE_NORMAL // 默认为普通类型
|
||||||
|
|
||||||
|
var day: Int = 0 //第几天
|
||||||
|
var sign_in_date: String = "" //日期
|
||||||
|
var sign_in_status: Int = 0 // 签到状态:1已签到 0未签到
|
||||||
|
var sign_in_status_str: String = "" //已签到
|
||||||
|
var is_today: Int = 0 //是否是当天 0否 1是
|
||||||
|
var gift_name: String = "" //礼物名称
|
||||||
|
var num: String = "" //数量
|
||||||
|
var gift_price: Int = 0 //价格
|
||||||
|
var type: Int = 0 //类型: 1金币 2礼物 3装扮 4钻石
|
||||||
|
var base_image: String = "" //礼物图片
|
||||||
|
override fun getItemType(): Int {
|
||||||
|
return viewType
|
||||||
|
}
|
||||||
|
|
||||||
|
/* "gift_bag": [
|
||||||
|
{
|
||||||
|
"day": 1, //第几天
|
||||||
|
"sign_in_date": "2025-12-09", //日期
|
||||||
|
"sign_in_status": 1, //签到状态:1已签到 0未签到
|
||||||
|
"sign_in_status_str": "已签到",
|
||||||
|
"is_today": 0, //是否是当天 0否 1是
|
||||||
|
"gift_name": "金币", //礼物名称
|
||||||
|
"num": 1, //数量
|
||||||
|
"gift_price": 1, //价格
|
||||||
|
"type": 1, //类型: 1金币 2礼物 3装扮 4钻石
|
||||||
|
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png" //礼物图片
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 2,
|
||||||
|
"sign_in_date": "2025-12-10",
|
||||||
|
"sign_in_status": 1,
|
||||||
|
"sign_in_status_str": "已签到",
|
||||||
|
"is_today": 0,
|
||||||
|
"gift_name": "打工狗",
|
||||||
|
"num": "1 个",
|
||||||
|
"gift_price": "9",
|
||||||
|
"type": 2,
|
||||||
|
"base_image": "https://cos.xscmmidi.site/admin/3143tianxuanbanzhuangou_17615346376493.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 3,
|
||||||
|
"sign_in_date": "2025-12-11",
|
||||||
|
"sign_in_status": 1,
|
||||||
|
"sign_in_status_str": "已签到",
|
||||||
|
"is_today": 0,
|
||||||
|
"gift_name": "神皇",
|
||||||
|
"num": "3 天",
|
||||||
|
"gift_price": 30,
|
||||||
|
"type": 3,
|
||||||
|
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/5544shenhuang_17579016149523.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 4,
|
||||||
|
"sign_in_date": "2025-12-12",
|
||||||
|
"sign_in_status": 1,
|
||||||
|
"sign_in_status_str": "已签到",
|
||||||
|
"is_today": 1,
|
||||||
|
"gift_name": "心动喷发",
|
||||||
|
"num": "2 个",
|
||||||
|
"gift_price": "100",
|
||||||
|
"type": 2,
|
||||||
|
"base_image": "https://cos.xscmmidi.site/admin/3300xindongpenfa_17615347008740.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 5,
|
||||||
|
"sign_in_date": "2025-12-13",
|
||||||
|
"sign_in_status": 0,
|
||||||
|
"sign_in_status_str": "未签到",
|
||||||
|
"is_today": 0,
|
||||||
|
"gift_name": "钻石",
|
||||||
|
"num": 20,
|
||||||
|
"gift_price": 1,
|
||||||
|
"type": 4,
|
||||||
|
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 6,
|
||||||
|
"sign_in_date": "2025-12-14",
|
||||||
|
"sign_in_status": 0,
|
||||||
|
"sign_in_status_str": "未签到",
|
||||||
|
"is_today": 0,
|
||||||
|
"gift_name": "王者之戒",
|
||||||
|
"num": "1 个",
|
||||||
|
"gift_price": "19",
|
||||||
|
"type": 2,
|
||||||
|
"base_image": "https://cos.xscmmidi.site/admin/5390wangzhezhijie_17615353361010.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 7,
|
||||||
|
"sign_in_date": "2025-12-15",
|
||||||
|
"sign_in_status": 0,
|
||||||
|
"sign_in_status_str": "未签到",
|
||||||
|
"is_today": 0,
|
||||||
|
"gift_name": "财源滚滚",
|
||||||
|
"num": "30 天",
|
||||||
|
"gift_price": 288,
|
||||||
|
"type": 3,
|
||||||
|
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/2160caiyuangunguntouxiangkuang_17579008394073.png"
|
||||||
|
}
|
||||||
|
]*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.xscm.moduleutil.bean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目名称:羽声语音
|
||||||
|
* 时间:2025/12/12 14:54
|
||||||
|
* 用途:签到状态
|
||||||
|
*/
|
||||||
|
class TasksSignStatus {
|
||||||
|
var status : Int=0
|
||||||
|
var status_str: String=""
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.xscm.moduleutil.bean;
|
package com.xscm.moduleutil.bean;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -9,8 +11,9 @@ public class UserResultResp {
|
|||||||
private String user_id;
|
private String user_id;
|
||||||
private String user_code;
|
private String user_code;
|
||||||
private String nickname;
|
private String nickname;
|
||||||
private String head_picture;
|
private String avatar;
|
||||||
private String sex;
|
private int sex;
|
||||||
|
private List<String> icon;
|
||||||
private String follow;
|
private String follow;
|
||||||
private String fans_count;
|
private String fans_count;
|
||||||
private String online_text;
|
private String online_text;
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.xscm.moduleutil.bean.room;
|
package com.xscm.moduleutil.bean.room;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class RoomOnline {
|
public class RoomOnline implements Serializable {
|
||||||
|
|
||||||
private List<RoomOnlineBean> on_pit;//麦上用户
|
private List<RoomOnlineBean> on_pit;//麦上用户
|
||||||
private List<RoomOnlineBean> off_pit;//麦下用户
|
private List<RoomOnlineBean> off_pit;//麦下用户
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.xscm.moduleutil.bean.room;
|
|||||||
|
|
||||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -12,7 +13,7 @@ import lombok.Data;
|
|||||||
* @description: 房间在线列表
|
* @description: 房间在线列表
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class RoomOnlineBean implements MultiItemEntity {
|
public class RoomOnlineBean implements MultiItemEntity, Serializable {
|
||||||
private int itemViewType;
|
private int itemViewType;
|
||||||
private String typeNames;
|
private String typeNames;
|
||||||
private int user_id;
|
private int user_id;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.xscm.moduleutil.dialog;
|
package com.xscm.moduleutil.dialog;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -36,6 +37,7 @@ public class ConfirmDialog extends Dialog {
|
|||||||
private int countdownSeconds = 0; // 倒计时秒数
|
private int countdownSeconds = 0; // 倒计时秒数
|
||||||
private CountDownTimer countDownTimer; // 倒计时对象
|
private CountDownTimer countDownTimer; // 倒计时对象
|
||||||
|
|
||||||
|
private Context context;
|
||||||
|
|
||||||
public ConfirmDialog(Context context, String title, String message,
|
public ConfirmDialog(Context context, String title, String message,
|
||||||
String positiveButtonText, String negativeButtonText,
|
String positiveButtonText, String negativeButtonText,
|
||||||
@@ -43,6 +45,7 @@ public class ConfirmDialog extends Dialog {
|
|||||||
View.OnClickListener negativeButtonClickListener,
|
View.OnClickListener negativeButtonClickListener,
|
||||||
boolean isCountdownEnabled, int countdownSeconds) {
|
boolean isCountdownEnabled, int countdownSeconds) {
|
||||||
super(context);
|
super(context);
|
||||||
|
this.context = context;
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.positiveButtonText = positiveButtonText;
|
this.positiveButtonText = positiveButtonText;
|
||||||
@@ -60,6 +63,7 @@ public class ConfirmDialog extends Dialog {
|
|||||||
View.OnClickListener negativeButtonClickListener,
|
View.OnClickListener negativeButtonClickListener,
|
||||||
boolean isCountdownEnabled, int countdownSeconds) {
|
boolean isCountdownEnabled, int countdownSeconds) {
|
||||||
super(context);
|
super(context);
|
||||||
|
this.context = context;
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.spannableMessage = spannableMessage;
|
this.spannableMessage = spannableMessage;
|
||||||
this.positiveButtonText = positiveButtonText;
|
this.positiveButtonText = positiveButtonText;
|
||||||
@@ -178,6 +182,12 @@ public class ConfirmDialog extends Dialog {
|
|||||||
countDownTimer.cancel(); // 取消倒计时
|
countDownTimer.cancel(); // 取消倒计时
|
||||||
countDownTimer = null;
|
countDownTimer = null;
|
||||||
}
|
}
|
||||||
|
if (context instanceof Activity) {
|
||||||
|
Activity activity = (Activity) context;
|
||||||
|
if (activity.isFinishing() || activity.isDestroyed()) {
|
||||||
|
return; // Don't try to dismiss if activity is gone
|
||||||
|
}
|
||||||
|
}
|
||||||
super.dismiss();
|
super.dismiss();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,9 +25,11 @@ import com.xscm.moduleutil.base.CommonAppContext;
|
|||||||
import com.xscm.moduleutil.bean.AppPay;
|
import com.xscm.moduleutil.bean.AppPay;
|
||||||
import com.xscm.moduleutil.bean.BindType;
|
import com.xscm.moduleutil.bean.BindType;
|
||||||
import com.xscm.moduleutil.bean.RechargeBean;
|
import com.xscm.moduleutil.bean.RechargeBean;
|
||||||
|
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||||
import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding;
|
import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding;
|
||||||
import com.xscm.moduleutil.presenter.RechargeDialogContacts;
|
import com.xscm.moduleutil.presenter.RechargeDialogContacts;
|
||||||
import com.xscm.moduleutil.presenter.RechargeDialogPresenter;
|
import com.xscm.moduleutil.presenter.RechargeDialogPresenter;
|
||||||
|
import com.xscm.moduleutil.utils.ColorManager;
|
||||||
import com.xscm.moduleutil.utils.SpUtil;
|
import com.xscm.moduleutil.utils.SpUtil;
|
||||||
import com.xscm.moduleutil.widget.PaymentUtil;
|
import com.xscm.moduleutil.widget.PaymentUtil;
|
||||||
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
||||||
@@ -142,6 +144,9 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment<RechargeDialog
|
|||||||
}else{
|
}else{
|
||||||
mBinding.r4.setVisibility(View.GONE);
|
mBinding.r4.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvPayment, ColorManager.getInstance().getPrimaryColorInt(), 53);
|
||||||
|
mBinding.tvPayment.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ public interface ApiServer {
|
|||||||
|
|
||||||
@FormUrlEncoded
|
@FormUrlEncoded
|
||||||
@POST(Constants.dailyTasksReceive)
|
@POST(Constants.dailyTasksReceive)
|
||||||
Call<ResponseBody> dailyTasksReceive(@Field("task_id") String task_id);
|
Call<ResponseBody> dailyTasksReceive(@Field("task_id") String task_id,@Field("student_id") String student_id);
|
||||||
|
|
||||||
@FormUrlEncoded
|
@FormUrlEncoded
|
||||||
@POST(Constants.dailyTasksComplete)
|
@POST(Constants.dailyTasksComplete)
|
||||||
@@ -498,6 +498,10 @@ public interface ApiServer {
|
|||||||
@POST(Constants.JOIN_ROOM)
|
@POST(Constants.JOIN_ROOM)
|
||||||
Call<BaseModel<RoomInfoResp>> roomGetIn(@Field("room_id") String roomId, @Field("password") String password);
|
Call<BaseModel<RoomInfoResp>> roomGetIn(@Field("room_id") String roomId, @Field("password") String password);
|
||||||
|
|
||||||
|
@FormUrlEncoded
|
||||||
|
@POST(Constants.TASK_JUMP_ROOM)
|
||||||
|
Call<BaseModel<String>> taskJumpRoomId(@Field("task_id") String taskId);
|
||||||
|
|
||||||
@FormUrlEncoded
|
@FormUrlEncoded
|
||||||
@POST(Constants.DELETE_ALBUM_IMAGE)
|
@POST(Constants.DELETE_ALBUM_IMAGE)
|
||||||
Call<BaseModel<String>> deleteAlbumImage(@Field("id") String id);
|
Call<BaseModel<String>> deleteAlbumImage(@Field("id") String id);
|
||||||
@@ -915,4 +919,14 @@ public interface ApiServer {
|
|||||||
@FormUrlEncoded
|
@FormUrlEncoded
|
||||||
@POST(Constants.POST_SIGN_REFUSE)
|
@POST(Constants.POST_SIGN_REFUSE)
|
||||||
Call<BaseModel<String>> signRefuse(@Field("room_id") String room_id);
|
Call<BaseModel<String>> signRefuse(@Field("room_id") String room_id);
|
||||||
|
|
||||||
|
|
||||||
|
@GET(Constants.GET_SIGN_IN_LIST)
|
||||||
|
Call<BaseModel<List<SignInData>>> signIn();
|
||||||
|
|
||||||
|
@GET(Constants.POST_DAILY_TASKS_SIGN)
|
||||||
|
Call<BaseModel<String>> postDailyTasksSign();
|
||||||
|
|
||||||
|
@GET(Constants.POST_DAILY_TASKS_SIGN_STATUS)
|
||||||
|
Call<BaseModel<TasksSignStatus>> postDailyTasksSignStatus();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -887,8 +887,8 @@ public class RetrofitClient {
|
|||||||
sApiServer.roomRanking(type).compose(new DefaultTransformer<>()).subscribe(observer);
|
sApiServer.roomRanking(type).compose(new DefaultTransformer<>()).subscribe(observer);
|
||||||
} else if (ranking_type.equals("1") || ranking_type.equals("2")) {
|
} else if (ranking_type.equals("1") || ranking_type.equals("2")) {
|
||||||
sApiServer.wealthRanking(ranking_type, type).compose(new DefaultTransformer<>()).subscribe(observer);
|
sApiServer.wealthRanking(ranking_type, type).compose(new DefaultTransformer<>()).subscribe(observer);
|
||||||
} else if (ranking_type.equals("3")) {
|
} else if (ranking_type.equals("3")) {//2025年12月11日14:57:44,原是传递的type,现在修改成0.只是将真爱榜变成心动榜
|
||||||
sApiServer.loveRanking(type).compose(new DefaultTransformer<>()).subscribe(observer);
|
sApiServer.loveRanking("0").compose(new DefaultTransformer<>()).subscribe(observer);
|
||||||
} else if (ranking_type.equals("4")) {
|
} else if (ranking_type.equals("4")) {
|
||||||
sApiServer.guildRanking().compose(new DefaultTransformer<>()).subscribe(observer);
|
sApiServer.guildRanking().compose(new DefaultTransformer<>()).subscribe(observer);
|
||||||
}
|
}
|
||||||
@@ -921,6 +921,8 @@ public class RetrofitClient {
|
|||||||
BaseModel<List<MyBagDataBean>> baseModel = response.body();
|
BaseModel<List<MyBagDataBean>> baseModel = response.body();
|
||||||
if (baseModel.getCode() == 1) {
|
if (baseModel.getCode() == 1) {
|
||||||
observer.onNext(baseModel.getData());
|
observer.onNext(baseModel.getData());
|
||||||
|
}else if (baseModel.getCode() == 0) {
|
||||||
|
observer.onNext(new ArrayList<>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -940,6 +942,8 @@ public class RetrofitClient {
|
|||||||
BaseModel<List<MyBagDataBean>> baseModel = response.body();
|
BaseModel<List<MyBagDataBean>> baseModel = response.body();
|
||||||
if (baseModel.getCode() == 1) {
|
if (baseModel.getCode() == 1) {
|
||||||
observer.onNext(baseModel.getData());
|
observer.onNext(baseModel.getData());
|
||||||
|
}else if (baseModel.getCode() == 0) {
|
||||||
|
observer.onNext(new ArrayList<>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -961,7 +965,7 @@ public class RetrofitClient {
|
|||||||
if (baseModel.getCode() == 1) {
|
if (baseModel.getCode() == 1) {
|
||||||
observer.onNext(baseModel.getData());
|
observer.onNext(baseModel.getData());
|
||||||
} else {
|
} else {
|
||||||
observer.onNext(null);
|
// observer.onNext(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -982,7 +986,7 @@ public class RetrofitClient {
|
|||||||
if (baseModel.getCode() == 1) {
|
if (baseModel.getCode() == 1) {
|
||||||
observer.onNext(baseModel.getMsg());
|
observer.onNext(baseModel.getMsg());
|
||||||
} else {
|
} else {
|
||||||
observer.onNext(null);
|
// observer.onNext(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1058,8 +1062,8 @@ public class RetrofitClient {
|
|||||||
sApiServer.dailyTasksOpenBox(gift_box_id).compose(new DefaultTransformer<>()).subscribe(observer);
|
sApiServer.dailyTasksOpenBox(gift_box_id).compose(new DefaultTransformer<>()).subscribe(observer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dailyTasksReceive(String task_id, BaseObserver<String> observer) {
|
public void dailyTasksReceive(String task_id,String student_id, BaseObserver<String> observer) {
|
||||||
sApiServer.dailyTasksReceive(task_id).enqueue(new Callback<ResponseBody>() {
|
sApiServer.dailyTasksReceive(task_id,student_id).enqueue(new Callback<ResponseBody>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
|
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
|
||||||
@@ -2277,6 +2281,26 @@ public class RetrofitClient {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void taskJumpRoomId(String taskId, BaseObserver<String> observer) {
|
||||||
|
sApiServer.taskJumpRoomId(taskId).enqueue(new Callback<BaseModel<String>>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
|
||||||
|
if (response.code() == 200) {
|
||||||
|
BaseModel<String> stringBaseModel = response.body();
|
||||||
|
if (stringBaseModel.getCode() == 1) {
|
||||||
|
observer.onNext(stringBaseModel.getData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void updatePassword(String roomId, String password, BaseObserver<String> observer) {
|
public void updatePassword(String roomId, String password, BaseObserver<String> observer) {
|
||||||
sApiServer.updatePassword(roomId, password).enqueue(new Callback<BaseModel<String>>() {
|
sApiServer.updatePassword(roomId, password).enqueue(new Callback<BaseModel<String>>() {
|
||||||
|
|
||||||
@@ -2452,7 +2476,11 @@ public class RetrofitClient {
|
|||||||
if (response.code() == 200) {
|
if (response.code() == 200) {
|
||||||
BaseModel<IndexRecommendRoom> indexRecommendRoomBaseModel = response.body();
|
BaseModel<IndexRecommendRoom> indexRecommendRoomBaseModel = response.body();
|
||||||
if (indexRecommendRoomBaseModel.getCode() == 1) {
|
if (indexRecommendRoomBaseModel.getCode() == 1) {
|
||||||
observer.onNext(indexRecommendRoomBaseModel.getData());
|
if (indexRecommendRoomBaseModel.getData() == null) {
|
||||||
|
observer.onNext(new IndexRecommendRoom());
|
||||||
|
}else {
|
||||||
|
observer.onNext(indexRecommendRoomBaseModel.getData());
|
||||||
|
}
|
||||||
} else if (indexRecommendRoomBaseModel.getCode() == 0) {
|
} else if (indexRecommendRoomBaseModel.getCode() == 0) {
|
||||||
ToastUtils.showShort(indexRecommendRoomBaseModel.getMsg());
|
ToastUtils.showShort(indexRecommendRoomBaseModel.getMsg());
|
||||||
} else if (indexRecommendRoomBaseModel.getCode() == 301) {
|
} else if (indexRecommendRoomBaseModel.getCode() == 301) {
|
||||||
@@ -4909,6 +4937,83 @@ public class RetrofitClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void signIn(BaseObserver<List<SignInData>> observer) {
|
||||||
|
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){
|
||||||
|
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){
|
||||||
|
com.hjq.toast.ToastUtils.show(baseModel.getMsg());
|
||||||
|
}else if (baseModel.getCode()==301){
|
||||||
|
try {
|
||||||
|
CommonAppContext.getInstance().clearLoginInfo();
|
||||||
|
ToastUtils.showShort(baseModel.getMsg());
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
LogUtils.e("signIn",response.errorBody());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<BaseModel<List<SignInData>>> call, Throwable t) {
|
||||||
|
LogUtils.e("signIn", t.fillInStackTrace());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
public void dailyTasksSign(BaseObserver<String> observer) {
|
||||||
|
sApiServer.postDailyTasksSign().enqueue(new Callback<BaseModel<String>>(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
|
||||||
|
onNextRetu(response, observer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
|
||||||
|
LogUtils.e("signIn", t.fillInStackTrace());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
public void tasksSignStatus(BaseObserver<TasksSignStatus> observer) {
|
||||||
|
sApiServer.postDailyTasksSignStatus().enqueue(new Callback<BaseModel<TasksSignStatus>>(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<BaseModel<TasksSignStatus>> call, Response<BaseModel<TasksSignStatus>> response) {
|
||||||
|
if (response.code()==200){
|
||||||
|
BaseModel<TasksSignStatus> baseModel = response.body();
|
||||||
|
if (baseModel.getCode()==1){
|
||||||
|
observer.onNext(baseModel.getData());
|
||||||
|
}else if (baseModel.getCode()==0){
|
||||||
|
com.hjq.toast.ToastUtils.show(baseModel.getMsg());
|
||||||
|
}else if (baseModel.getCode()==301){
|
||||||
|
try {
|
||||||
|
CommonAppContext.getInstance().clearLoginInfo();
|
||||||
|
ToastUtils.showShort(baseModel.getMsg());
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
LogUtils.e("postDailyTasksSignStatus",response.errorBody());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<BaseModel<TasksSignStatus>> call, Throwable t) {
|
||||||
|
LogUtils.e("postDailyTasksSignStatus", t.fillInStackTrace());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import com.xscm.moduleutil.event.RoomJoinMountModel;
|
|||||||
import com.xscm.moduleutil.event.UnreadCountEvent;
|
import com.xscm.moduleutil.event.UnreadCountEvent;
|
||||||
import com.xscm.moduleutil.http.RetrofitClient;
|
import com.xscm.moduleutil.http.RetrofitClient;
|
||||||
import com.xscm.moduleutil.rtc.MusicPlayBean;
|
import com.xscm.moduleutil.rtc.MusicPlayBean;
|
||||||
|
import com.xscm.moduleutil.utils.CustomMsgCode;
|
||||||
import com.xscm.moduleutil.utils.SpUtil;
|
import com.xscm.moduleutil.utils.SpUtil;
|
||||||
import com.tencent.imsdk.v2.V2TIMAdvancedMsgListener;
|
import com.tencent.imsdk.v2.V2TIMAdvancedMsgListener;
|
||||||
import com.tencent.imsdk.v2.V2TIMCallback;
|
import com.tencent.imsdk.v2.V2TIMCallback;
|
||||||
@@ -66,6 +67,8 @@ public class MessageListenerSingleton {
|
|||||||
private final Map<String, List<RoomMessageEvent>> cachedMessages = new ConcurrentHashMap<>();
|
private final Map<String, List<RoomMessageEvent>> cachedMessages = new ConcurrentHashMap<>();
|
||||||
private final Set<String> joinedRooms = ConcurrentHashMap.newKeySet();
|
private final Set<String> joinedRooms = ConcurrentHashMap.newKeySet();
|
||||||
|
|
||||||
|
private OnMsgTaskListener onMsgTaskListener;
|
||||||
|
|
||||||
// private boolean listenersAdded = false; // 标记监听器是否已添加
|
// private boolean listenersAdded = false; // 标记监听器是否已添加
|
||||||
// 1. 添加新的监听器接口
|
// 1. 添加新的监听器接口
|
||||||
public interface PublicScreenMessageListener {
|
public interface PublicScreenMessageListener {
|
||||||
@@ -321,6 +324,10 @@ public class MessageListenerSingleton {
|
|||||||
if (event.getMsgType() == 130 || event.getMsgType() == 131) {
|
if (event.getMsgType() == 130 || event.getMsgType() == 131) {
|
||||||
// EventBus.getDefault().post(event);
|
// EventBus.getDefault().post(event);
|
||||||
RetrofitClient.getInstance().getCpListener().onReceiveMsg(event);
|
RetrofitClient.getInstance().getCpListener().onReceiveMsg(event);
|
||||||
|
} else if (event.getMsgType() == CustomMsgCode.INSTANCE.getCODE_TASK_APPRENTICE_JOIN_ROOM()) {
|
||||||
|
if (onMsgTaskListener != null) {
|
||||||
|
onMsgTaskListener.onMsgTask(event);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
notifyMessageReceived(event);
|
notifyMessageReceived(event);
|
||||||
}
|
}
|
||||||
@@ -400,7 +407,7 @@ public class MessageListenerSingleton {
|
|||||||
// 使用默认解析
|
// 使用默认解析
|
||||||
event = GsonUtils.fromJson(message, RoomMessageEvent.class);
|
event = GsonUtils.fromJson(message, RoomMessageEvent.class);
|
||||||
}
|
}
|
||||||
LogUtils.e("收到群自定义消息:"+mRoomId+"===" + event);
|
LogUtils.e("收到群自定义消息:" + mRoomId + "===" + event);
|
||||||
// event = GsonUtils.fromJson(message, RoomMessageEvent.class);
|
// event = GsonUtils.fromJson(message, RoomMessageEvent.class);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 处理 JSON 解析过程中可能出现的异常,例如记录日志
|
// 处理 JSON 解析过程中可能出现的异常,例如记录日志
|
||||||
@@ -608,6 +615,30 @@ public class MessageListenerSingleton {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: 2025/11/19 添加发送公共方法,messageType:发送的type;message:发送的内容 userId:发送给谁
|
||||||
|
public void sendCustomC2CMessage(int messageType, String userId,RoomMessageEvent.T text) {
|
||||||
|
text.setFromUserInfo(SpUtil.getUserInfo());
|
||||||
|
LogUtils.e("发送消息", "messageType:" + messageType + "\nuserId:" + userId + "\ntext:" + text,toString());
|
||||||
|
RoomMessageEvent roomMessageEvent = new RoomMessageEvent(messageType, mRoomId, text);
|
||||||
|
String json = com.blankj.utilcode.util.GsonUtils.toJson(roomMessageEvent);
|
||||||
|
// 转换为 byte[]
|
||||||
|
byte[] binaryData = json.getBytes(StandardCharsets.UTF_8);
|
||||||
|
|
||||||
|
// 创建自定义群消息
|
||||||
|
V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(binaryData);
|
||||||
|
v2TIMMessage.setExcludedFromUnreadCount(true);
|
||||||
|
v2TIMMessage.setExcludedFromContentModeration(true);
|
||||||
|
// v2TIMMessage.setNeedReadReceipt(true);
|
||||||
|
//
|
||||||
|
// // 发送消息
|
||||||
|
V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, "u" + userId, null, V2TIMMessage.V2TIM_PRIORITY_HIGH,
|
||||||
|
true,
|
||||||
|
null,
|
||||||
|
sendCallback);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void sendCustomC2CMessage125(String userId, byte[] binaryData) {
|
public void sendCustomC2CMessage125(String userId, byte[] binaryData) {
|
||||||
// 创建自定义群消息
|
// 创建自定义群消息
|
||||||
V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(binaryData);
|
V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(binaryData);
|
||||||
@@ -664,4 +695,13 @@ public class MessageListenerSingleton {
|
|||||||
public interface OnMessageReceivedListener {
|
public interface OnMessageReceivedListener {
|
||||||
void onMessageReceived(RoomMessageEvent message);
|
void onMessageReceived(RoomMessageEvent message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setOnMsgTaskListener(OnMsgTaskListener listener) {
|
||||||
|
this.onMsgTaskListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface OnMsgTaskListener {
|
||||||
|
void onMsgTask(RoomMessageEvent message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.xscm.moduleutil.utils
|
||||||
|
|
||||||
|
object CustomMsgCode {
|
||||||
|
val CODE_TASK_APPRENTICE_JOIN_ROOM_TIMER_ID = "132"
|
||||||
|
val CODE_TASK_APPRENTICE_JOIN_ROOM = 132
|
||||||
|
val CODE_TASK_APPRENTICE_JOIN_ROOM_MSG = "您的师傅邀请您进入房间,您是否同意?"
|
||||||
|
val CODE_TASK_APPRENTICE_JOIN_ROOM_MSG_REFUSE = "您的徒弟拒绝了您的邀请。"
|
||||||
|
}
|
||||||
@@ -135,7 +135,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
|
|||||||
int currentDay = TimeUtils.getDay();
|
int currentDay = TimeUtils.getDay();
|
||||||
|
|
||||||
// 如果是最大年份且是最大月份,则日期不能超过当前日期
|
// 如果是最大年份且是最大月份,则日期不能超过当前日期
|
||||||
if (year == currentYear - 16 && month == currentMonth) {
|
if (year == currentYear - 18 && month == currentMonth) {
|
||||||
dayLimit = currentDay;
|
dayLimit = currentDay;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
|
|||||||
|
|
||||||
int monthLimit = 12;
|
int monthLimit = 12;
|
||||||
// 如果是最大年份(16年前),则月份不能超过当前月份
|
// 如果是最大年份(16年前),则月份不能超过当前月份
|
||||||
if (year == currentYear - 16) {
|
if (year == currentYear - 18) {
|
||||||
monthLimit = currentMonth;
|
monthLimit = currentMonth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
|
|||||||
private List<DateBean> getYear() {
|
private List<DateBean> getYear() {
|
||||||
int currentYear = TimeUtils.getYear();
|
int currentYear = TimeUtils.getYear();
|
||||||
int minYear = currentYear - 100; // 最小年份设为100年前
|
int minYear = currentYear - 100; // 最小年份设为100年前
|
||||||
int maxYear = currentYear - 16; // 最大年份设为16年前
|
int maxYear = currentYear - 18; // 最大年份设为16年前
|
||||||
|
|
||||||
List<DateBean> yearList = new ArrayList<>();
|
List<DateBean> yearList = new ArrayList<>();
|
||||||
for (int i = minYear; i <= maxYear; i++) {
|
for (int i = minYear; i <= maxYear; i++) {
|
||||||
|
|||||||
@@ -1,16 +1,21 @@
|
|||||||
package com.xscm.moduleutil.utils;
|
package com.xscm.moduleutil.utils;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.alibaba.android.arouter.utils.TextUtils;
|
import com.alibaba.android.arouter.utils.TextUtils;
|
||||||
import com.blankj.utilcode.util.FileUtils;
|
import com.blankj.utilcode.util.FileUtils;
|
||||||
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
import com.blankj.utilcode.util.ThreadUtils;
|
import com.blankj.utilcode.util.ThreadUtils;
|
||||||
|
import com.blankj.utilcode.util.ToastUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@@ -19,6 +24,11 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
import io.reactivex.Observable;
|
||||||
|
import io.reactivex.ObservableEmitter;
|
||||||
|
import io.reactivex.ObservableOnSubscribe;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
import okhttp3.ResponseBody;
|
import okhttp3.ResponseBody;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
@@ -41,14 +51,58 @@ public class DownloadUtil {
|
|||||||
private static final String PATH_AUDIO = Environment.getExternalStorageDirectory() + "/qipao/audio";
|
private static final String PATH_AUDIO = Environment.getExternalStorageDirectory() + "/qipao/audio";
|
||||||
|
|
||||||
|
|
||||||
public DownloadUtil(Context context) {
|
@SuppressLint("CheckResult")
|
||||||
|
public DownloadUtil(Context context, String downUrl,final DownloadListener downloadListener) {
|
||||||
|
// 1. 判空,避免空指针
|
||||||
|
if (context == null) {
|
||||||
|
ToastUtils.showShort("Context 不能为 null!");
|
||||||
|
LogUtils.e("Context 不能为 null!."+(mApi == null));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (downUrl == null || downUrl.trim().isEmpty()) {
|
||||||
|
ToastUtils.showShort("下载链接不能为 null 或空!");
|
||||||
|
LogUtils.e("下载链接不能为 null 或空!."+(mApi == null));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
|
final String dUrl = downUrl;
|
||||||
|
File qipaoDir = new File(mContext.getFilesDir(), PATH_APK);
|
||||||
|
if (qipaoDir.exists() && qipaoDir.isDirectory()) {
|
||||||
|
Observable.create(new ObservableOnSubscribe<Boolean>() {
|
||||||
|
@Override
|
||||||
|
public void subscribe(ObservableEmitter<Boolean> emitter) throws Exception {
|
||||||
|
LogUtils.e("删除文件中."+(mApi == null));
|
||||||
|
FileUtils.deleteAllInDir(qipaoDir);
|
||||||
|
emitter.onNext(true);
|
||||||
|
}
|
||||||
|
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(result -> {
|
||||||
|
LogUtils.e("删除成功."+(mApi == null));
|
||||||
|
if (mApi == null) {
|
||||||
|
//初始化网络请求接口
|
||||||
|
mApi = ApiHelper.getInstance().createService(ApiInterface.class);
|
||||||
|
int i = dUrl.lastIndexOf('/');//一定是找最后一个'/'出现的位置
|
||||||
|
String downUrlEnd = "";
|
||||||
|
if (i != -1) {
|
||||||
|
downUrlEnd = dUrl.substring(i);
|
||||||
|
}
|
||||||
|
mApkPath = new File(mContext.getFilesDir(), PATH_APK + downUrlEnd).getAbsolutePath();
|
||||||
|
}
|
||||||
|
downloadFile(dUrl, downloadListener);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
LogUtils.e("else ."+(mApi == null));
|
||||||
|
if (mApi == null) {
|
||||||
|
//初始化网络请求接口
|
||||||
|
mApi = ApiHelper.getInstance().createService(ApiInterface.class);
|
||||||
|
int i = downUrl.lastIndexOf('/');//一定是找最后一个'/'出现的位置
|
||||||
|
if (i != -1) {
|
||||||
|
downUrl = downUrl.substring(i);
|
||||||
|
}
|
||||||
|
mApkPath = new File(mContext.getFilesDir(), PATH_APK + downUrl).getAbsolutePath();
|
||||||
|
}
|
||||||
|
|
||||||
if (mApi == null) {
|
downloadFile(downUrl, downloadListener);
|
||||||
//初始化网络请求接口
|
|
||||||
mApi = ApiHelper.getInstance().createService(ApiInterface.class);
|
|
||||||
mApkPath = new File(mContext.getFilesDir(), PATH_APK).getAbsolutePath();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.xscm.moduleutil.utils;
|
package com.xscm.moduleutil.utils;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
@@ -258,6 +260,25 @@ public class TimeUtils {
|
|||||||
return "1天"; // 或者 return "0天";
|
return "1天"; // 或者 return "0天";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算时间差值并向上取整为天数
|
||||||
|
* @param currentTimeMillis 当前时间(毫秒级时间戳)
|
||||||
|
* @param createTimeSecond 创建时间(秒级时间戳)
|
||||||
|
* @return 向上取整后的天数
|
||||||
|
*/
|
||||||
|
public static int calculateDays(long currentTimeMillis, long createTimeSecond) {
|
||||||
|
// 1. 计算时间差(毫秒)
|
||||||
|
long timeDiffMillis = currentTimeMillis - createTimeSecond;
|
||||||
|
|
||||||
|
// 2. 转换为天数(1天 = 24*60*60*1000 毫秒)
|
||||||
|
BigDecimal daysDecimal = new BigDecimal(timeDiffMillis)
|
||||||
|
.divide(new BigDecimal(24 * 60 * 60 * 1000), 10, RoundingMode.HALF_UP);
|
||||||
|
|
||||||
|
// 3. 向上取整(即使是 8.0001 天也会变成 9 天)
|
||||||
|
return daysDecimal.setScale(0, RoundingMode.CEILING).intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据生日字符串计算年龄
|
* 根据生日字符串计算年龄
|
||||||
* @param birthDay 生日字符串,格式为 "yyyy-MM-dd"
|
* @param birthDay 生日字符串,格式为 "yyyy-MM-dd"
|
||||||
|
|||||||
@@ -422,6 +422,7 @@ public class AvatarFrameView extends FrameLayout {
|
|||||||
mainHandler.post(() -> {
|
mainHandler.post(() -> {
|
||||||
// 检查是否已销毁
|
// 检查是否已销毁
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
|
LogUtils.e("有缓存:"+file.exists()+"===="+file.getAbsolutePath());
|
||||||
playMp4File(file);
|
playMp4File(file);
|
||||||
} else {
|
} else {
|
||||||
LogUtils.w(TAG, "有缓存2222222222222");
|
LogUtils.w(TAG, "有缓存2222222222222");
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ public class Constants {
|
|||||||
public static final String GET_DECORATE = "/api/Decorate/user_decorate";//装扮详情
|
public static final String GET_DECORATE = "/api/Decorate/user_decorate";//装扮详情
|
||||||
public static final String SET_USER_DECORATE = "/api/Decorate/set_user_decorate";//用户装扮
|
public static final String SET_USER_DECORATE = "/api/Decorate/set_user_decorate";//用户装扮
|
||||||
public static final String JOIN_ROOM = "/api/Room/join_room";//加入房间
|
public static final String JOIN_ROOM = "/api/Room/join_room";//加入房间
|
||||||
|
public static final String TASK_JUMP_ROOM = "/api/Room/task_jump_room";//师徒任务 加入房间
|
||||||
|
|
||||||
public static final String UPDATEPASSWORD = "/api/room/setRoomPassword";//更新房间秘密啊
|
public static final String UPDATEPASSWORD = "/api/room/setRoomPassword";//更新房间秘密啊
|
||||||
public static final String GET_ROOM_ONLINE = "/api/Room/room_online_list";//房间在线列表
|
public static final String GET_ROOM_ONLINE = "/api/Room/room_online_list";//房间在线列表
|
||||||
@@ -360,9 +361,11 @@ public class Constants {
|
|||||||
public static final String POST_ROOM_RANKING = "/api/Ranking/room_ranking";//房间榜
|
public static final String POST_ROOM_RANKING = "/api/Ranking/room_ranking";//房间榜
|
||||||
public static final String GUILD_RANKING = "/api/Ranking/guild_ranking";//公会榜
|
public static final String GUILD_RANKING = "/api/Ranking/guild_ranking";//公会榜
|
||||||
public static final String POST_LOVE_RANKING = "/api/Ranking/love_ranking";//真爱榜
|
public static final String POST_LOVE_RANKING = "/api/Ranking/love_ranking";//真爱榜
|
||||||
public static final String GET_TASKS_LIHEN = "/api/Dailytasks/dailyTasksList";//每日任务列表
|
public static final String GET_TASKS_LIHEN = "/api/Tasks/dailyTasksList";//每日任务列表
|
||||||
public static final String GET_DAILY_TASK_BOX = "/api/Dailytasks/dailyTasksBoxRecord";//礼盒记录
|
public static final String GET_DAILY_TASK_BOX = "/api/Tasks/dailyTasksBoxRecord";//礼盒记录
|
||||||
public static final String dailyTasksOpenBox = "/api/Dailytasks/dailyTasksOpenBox";//开启礼盒
|
public static final String dailyTasksOpenBox = "/api/Tasks/dailyTasksOpenBox";//开启礼盒
|
||||||
|
public static final String dailyTasksReceive = "/api/Tasks/dailyTasksReceive";//领取每日任务奖励
|
||||||
|
public static final String dailyTasksComplete = "/api/Tasks/dailyTasksComplete";//领取每日任务奖励
|
||||||
public static final String GET_MY_BAG_DATA = "/api/UserGiftPack/get_gift_pack_income";//背包收入
|
public static final String GET_MY_BAG_DATA = "/api/UserGiftPack/get_gift_pack_income";//背包收入
|
||||||
public static final String GET_MY_BAG_OUTCOME = "/api/UserGiftPack/get_gift_pack_outcome";//背包礼物支出列表
|
public static final String GET_MY_BAG_OUTCOME = "/api/UserGiftPack/get_gift_pack_outcome";//背包礼物支出列表
|
||||||
public static final String GET_GIFT_PACK = "/api/UserGiftPack/get_gift_pack_list";//获取背包礼物列表
|
public static final String GET_GIFT_PACK = "/api/UserGiftPack/get_gift_pack_list";//获取背包礼物列表
|
||||||
@@ -386,9 +389,7 @@ public class Constants {
|
|||||||
public static final String GET_ACTIVITIES_PERMISSION = "/api/Activities/activities_permission";//活动弹框权限
|
public static final String GET_ACTIVITIES_PERMISSION = "/api/Activities/activities_permission";//活动弹框权限
|
||||||
public static final String GET_INDEX_RECOMMEND_ROOM = "/api/Index/index_recommend_room";//首页弹窗推荐房间
|
public static final String GET_INDEX_RECOMMEND_ROOM = "/api/Index/index_recommend_room";//首页弹窗推荐房间
|
||||||
public static final String GET_DAY_DROP_GIFT = "/api/Activities/day_drop_gift";//天降好礼列表接口(弹框)
|
public static final String GET_DAY_DROP_GIFT = "/api/Activities/day_drop_gift";//天降好礼列表接口(弹框)
|
||||||
public static final String dailyTasksReceive = "/api/Dailytasks/dailyTasksReceive";//领取每日任务奖励
|
|
||||||
public static final String postRoomSwToken = "/api/Room/update_user_sw_token";//获取用户声网token
|
public static final String postRoomSwToken = "/api/Room/update_user_sw_token";//获取用户声网token
|
||||||
public static final String dailyTasksComplete = "/api/Dailytasks/dailyTasksComplete";//领取每日任务奖励
|
|
||||||
public static final String POST_CANCEL_USER_DECORATE = "/api/Decorate/cancel_user_decorate";//取消装扮
|
public static final String POST_CANCEL_USER_DECORATE = "/api/Decorate/cancel_user_decorate";//取消装扮
|
||||||
public static final String GET_THEME_DATA = "/api/Theme/get_theme_data";//主题接口
|
public static final String GET_THEME_DATA = "/api/Theme/get_theme_data";//主题接口
|
||||||
public static final String START_FRIEND = "/api/Friend/start_friend";//点击开始按钮 交友房
|
public static final String START_FRIEND = "/api/Friend/start_friend";//点击开始按钮 交友房
|
||||||
@@ -436,6 +437,9 @@ public class Constants {
|
|||||||
public static final String POST_FREE_RE_SIGN = "/api/Sign/free_re_sign";//免费续约
|
public static final String POST_FREE_RE_SIGN = "/api/Sign/free_re_sign";//免费续约
|
||||||
public static final String POST_RE_SIGN = "/api/Sign/re_sign";//续签(花金币)
|
public static final String POST_RE_SIGN = "/api/Sign/re_sign";//续签(花金币)
|
||||||
public static final String POST_SIGN_REFUSE = "/api/RoomPit/refuse_sign_room_host_invite";//签约房间主持邀请上签约麦用户拒绝
|
public static final String POST_SIGN_REFUSE = "/api/RoomPit/refuse_sign_room_host_invite";//签约房间主持邀请上签约麦用户拒绝
|
||||||
|
public static final String GET_SIGN_IN_LIST = "/api/Tasks/dailyTasksSignList";//签到列表页面
|
||||||
|
public static final String POST_DAILY_TASKS_SIGN = "/api/Tasks/dailyTasksSign";//每日签到
|
||||||
|
public static final String POST_DAILY_TASKS_SIGN_STATUS = "/api/Tasks/dailyTasksSignStatus";//每日签到状态
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex
|
|||||||
private var initialX = 0f
|
private var initialX = 0f
|
||||||
private var initialY = 0f
|
private var initialY = 0f
|
||||||
|
|
||||||
|
private var isBeingDragged = false
|
||||||
|
|
||||||
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
|
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
|
||||||
when (ev.action) {
|
when (ev.action) {
|
||||||
MotionEvent.ACTION_DOWN -> {
|
MotionEvent.ACTION_DOWN -> {
|
||||||
@@ -31,11 +33,34 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex
|
|||||||
if (deltaX > deltaY && deltaX > 30) { // 30是阈值,可以根据需要调整
|
if (deltaX > deltaY && deltaX > 30) { // 30是阈值,可以根据需要调整
|
||||||
return super.onInterceptTouchEvent(ev)
|
return super.onInterceptTouchEvent(ev)
|
||||||
}
|
}
|
||||||
// 否则,不拦截,让子视图处理
|
|
||||||
parent.requestDisallowInterceptTouchEvent(true)
|
// 如果是向上滑动,确保父容器不拦截
|
||||||
return false
|
if (deltaY > deltaX && ev.y < initialY) {
|
||||||
|
parent.requestDisallowInterceptTouchEvent(true)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// // 否则,不拦截,让子视图处理
|
||||||
|
// parent.requestDisallowInterceptTouchEvent(true)
|
||||||
|
// return false
|
||||||
|
}
|
||||||
|
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
|
||||||
|
isBeingDragged = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.onInterceptTouchEvent(ev)
|
return super.onInterceptTouchEvent(ev)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onTouchEvent(ev: MotionEvent): Boolean {
|
||||||
|
when (ev.action) {
|
||||||
|
MotionEvent.ACTION_DOWN -> {
|
||||||
|
parent.requestDisallowInterceptTouchEvent(true)
|
||||||
|
}
|
||||||
|
MotionEvent.ACTION_MOVE -> {
|
||||||
|
if (isBeingDragged) {
|
||||||
|
parent.requestDisallowInterceptTouchEvent(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onTouchEvent(ev)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,26 +10,17 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.blankj.utilcode.util.LogUtils;
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
import com.opensource.svgaplayer.SVGACallback;
|
|
||||||
import com.opensource.svgaplayer.SVGADrawable;
|
|
||||||
import com.opensource.svgaplayer.SVGAImageView;
|
|
||||||
import com.opensource.svgaplayer.SVGAParser;
|
|
||||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
|
||||||
import com.tencent.qgame.animplayer.AnimConfig;
|
import com.tencent.qgame.animplayer.AnimConfig;
|
||||||
import com.tencent.qgame.animplayer.AnimView;
|
import com.tencent.qgame.animplayer.AnimView;
|
||||||
import com.tencent.qgame.animplayer.inter.IAnimListener;
|
import com.tencent.qgame.animplayer.inter.IAnimListener;
|
||||||
import com.xscm.moduleutil.R;
|
|
||||||
import com.xscm.moduleutil.bean.GiftBean;
|
import com.xscm.moduleutil.bean.GiftBean;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -276,55 +267,52 @@ public class GiftAnimView extends FrameLayout implements GiftSvgaView.OnAnimatio
|
|||||||
|
|
||||||
if (isLoadEffect && giftModel != null && !TextUtils.isEmpty(giftModel)) {
|
if (isLoadEffect && giftModel != null && !TextUtils.isEmpty(giftModel)) {
|
||||||
String finalGiftModel = giftModel;
|
String finalGiftModel = giftModel;
|
||||||
post(new Runnable() {
|
post(() -> {
|
||||||
@Override
|
String playImage = finalGiftModel;
|
||||||
public void run() {
|
if (playImage.endsWith("mp4")) {
|
||||||
String playImage = finalGiftModel;
|
downloadAndPlay(getContext(), playImage, new DownloadCallback() {
|
||||||
if (playImage.endsWith("mp4")) {
|
@Override
|
||||||
downloadAndPlay(getContext(), playImage, new DownloadCallback() {
|
public void onSuccess(File file) {
|
||||||
@Override
|
post(() -> {
|
||||||
public void onSuccess(File file) {
|
playerMp4View.setVisibility(View.VISIBLE);
|
||||||
post(() -> {
|
svgaView.setVisibility(View.GONE);
|
||||||
playerMp4View.setVisibility(View.VISIBLE);
|
playerMp4View.startPlay(file);
|
||||||
svgaView.setVisibility(View.GONE);
|
});
|
||||||
playerMp4View.startPlay(file);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Exception e) {
|
|
||||||
LogUtils.e("MP4下载或播放失败: " + e.getMessage());
|
|
||||||
// 处理失败情况,继续播放下一个
|
|
||||||
post(() -> {
|
|
||||||
lock.lock();
|
|
||||||
try {
|
|
||||||
isLoadEffect = false;
|
|
||||||
} finally {
|
|
||||||
lock.unlock();
|
|
||||||
}
|
|
||||||
loadStartSVGAPlayer();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (playImage.endsWith("svga")) {
|
|
||||||
// File file = downloadAndPlay(getContext(), playImage);
|
|
||||||
post(() -> {
|
|
||||||
playerMp4View.setVisibility(View.GONE);
|
|
||||||
svgaView.setVisibility(View.VISIBLE);
|
|
||||||
svgaView.loadSVGAPlayerWith(finalGiftModel, false);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
lock.lock();
|
|
||||||
try {
|
|
||||||
isLoadEffect = false;
|
|
||||||
} finally {
|
|
||||||
lock.unlock();
|
|
||||||
}
|
}
|
||||||
loadStartSVGAPlayer();
|
|
||||||
// 直接播放缓存文件
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Exception e) {
|
||||||
|
LogUtils.e("MP4下载或播放失败: " + e.getMessage());
|
||||||
|
// 处理失败情况,继续播放下一个
|
||||||
|
post(() -> {
|
||||||
|
lock.lock();
|
||||||
|
try {
|
||||||
|
isLoadEffect = false;
|
||||||
|
} finally {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
loadStartSVGAPlayer();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (playImage.endsWith("svga")) {
|
||||||
|
// File file = downloadAndPlay(getContext(), playImage);
|
||||||
|
post(() -> {
|
||||||
|
playerMp4View.setVisibility(View.GONE);
|
||||||
|
svgaView.setVisibility(View.VISIBLE);
|
||||||
|
svgaView.loadSVGAPlayerWith(finalGiftModel, false);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
lock.lock();
|
||||||
|
try {
|
||||||
|
isLoadEffect = false;
|
||||||
|
} finally {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
loadStartSVGAPlayer();
|
||||||
|
// 直接播放缓存文件
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class ShineTextView : AppCompatTextView {
|
|||||||
|
|
||||||
var _count: Int = 0 //自行运行动画次数
|
var _count: Int = 0 //自行运行动画次数
|
||||||
|
|
||||||
private lateinit var mLinearGradient: LinearGradient
|
private var mLinearGradient: LinearGradient? = null
|
||||||
private var mGradientMatrix: Matrix = Matrix()
|
private var mGradientMatrix: Matrix = Matrix()
|
||||||
private var mViewWidth = 0
|
private var mViewWidth = 0
|
||||||
private var mTranslate = 0
|
private var mTranslate = 0
|
||||||
@@ -121,13 +121,13 @@ class ShineTextView : AppCompatTextView {
|
|||||||
_count++
|
_count++
|
||||||
}
|
}
|
||||||
mGradientMatrix.setTranslate(mTranslate.toFloat(), 0f)
|
mGradientMatrix.setTranslate(mTranslate.toFloat(), 0f)
|
||||||
mLinearGradient.setLocalMatrix(mGradientMatrix)
|
mLinearGradient?.setLocalMatrix(mGradientMatrix)
|
||||||
when {
|
when {
|
||||||
shineType == 0 && _count < shineCount -> postInvalidateDelayed(50)
|
shineType == 0 && _count < shineCount -> postInvalidateDelayed(50)
|
||||||
shineType == 1 && _count < 1 -> postInvalidateDelayed(50)
|
shineType == 1 && _count < 1 -> postInvalidateDelayed(50)
|
||||||
else -> {
|
else -> {
|
||||||
mGradientMatrix.setTranslate((1.2 * mViewWidth).toFloat(), 0f)
|
mGradientMatrix.setTranslate((1.2 * mViewWidth).toFloat(), 0f)
|
||||||
mLinearGradient.setLocalMatrix(mGradientMatrix)
|
mLinearGradient?.setLocalMatrix(mGradientMatrix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ public class RewardGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPr
|
|||||||
|
|
||||||
private void giveGift(String num) {
|
private void giveGift(String num) {
|
||||||
getSelectedGift();
|
getSelectedGift();
|
||||||
if (roonGiftModel == null) {
|
if (roonGiftModel == null || !roonGiftModel.isChecked()) {
|
||||||
ToastUtils.show("请选择礼物");
|
ToastUtils.show("请选择礼物");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
14
BaseModule/src/main/res/drawable/bg_r16_deff85_cfffdc.xml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient
|
||||||
|
android:angle="90"
|
||||||
|
android:centerColor="#CFFFDC"
|
||||||
|
android:endColor="#CFFFDC"
|
||||||
|
android:startColor="#DEFF85"
|
||||||
|
android:type="linear"
|
||||||
|
android:useLevel="true" />
|
||||||
|
<corners
|
||||||
|
android:radius="@dimen/dp_16"
|
||||||
|
/>
|
||||||
|
</shape>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient
|
||||||
|
android:angle="180"
|
||||||
|
android:centerColor="#90FF86"
|
||||||
|
android:endColor="#E7FE67"
|
||||||
|
android:startColor="#5CFBBD"
|
||||||
|
android:type="linear"
|
||||||
|
android:useLevel="true" />
|
||||||
|
<stroke android:color="#FFFFF072" android:width="@dimen/dp_1"/>
|
||||||
|
<corners android:radius="@dimen/dp_99" />
|
||||||
|
</shape>
|
||||||
10
BaseModule/src/main/res/drawable/bg_sigin_status.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<solid android:color="#fffcf7eb" />
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="4dp"
|
||||||
|
android:bottomRightRadius="4dp"
|
||||||
|
android:topLeftRadius="4dp"
|
||||||
|
android:topRightRadius="4dp" />
|
||||||
|
</shape>
|
||||||
16
BaseModule/src/main/res/drawable/selector_sign_bg.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient
|
||||||
|
android:angle="90"
|
||||||
|
android:centerColor="#CFFFDC"
|
||||||
|
android:endColor="#CFFFDC"
|
||||||
|
android:startColor="#DEFF85"
|
||||||
|
android:type="linear"
|
||||||
|
android:useLevel="true" />
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="4dp"
|
||||||
|
android:bottomRightRadius="4dp"
|
||||||
|
android:topLeftRadius="4dp"
|
||||||
|
android:topRightRadius="4dp" />
|
||||||
|
</shape>
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
android:id="@+id/im_heartssss"
|
android:id="@+id/im_heartssss"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@mipmap/icon_heart"
|
tools:src="@mipmap/icon_heart"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_1"
|
android:layout_height="@dimen/dp_1"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layout_constraintGuide_percent="0.59" />
|
app:layout_constraintGuide_percent="0.62" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_frame_bg"
|
android:id="@+id/iv_frame_bg"
|
||||||
|
|||||||
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_teacher.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
BaseModule/src/main/res/mipmap-hdpi/y_w.png
Normal file
|
After Width: | Height: | Size: 541 B |
BIN
BaseModule/src/main/res/mipmap-hdpi/y_won.png
Normal file
|
After Width: | Height: | Size: 633 B |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_teacher.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/y_w.png
Normal file
|
After Width: | Height: | Size: 505 B |
BIN
BaseModule/src/main/res/mipmap-xhdpi/y_won.png
Normal file
|
After Width: | Height: | Size: 522 B |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/icon_teacher.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/y_w.png
Normal file
|
After Width: | Height: | Size: 992 B |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/y_won.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 190 B |
|
Before Width: | Height: | Size: 220 B |
@@ -299,6 +299,7 @@
|
|||||||
<color name="EFF2F8">#EFF2F8</color>
|
<color name="EFF2F8">#EFF2F8</color>
|
||||||
<color name="color_5B5B5B">#5B5B5B</color>
|
<color name="color_5B5B5B">#5B5B5B</color>
|
||||||
<color name="color_C7BF62">#C7BF62</color>
|
<color name="color_C7BF62">#C7BF62</color>
|
||||||
|
<color name="color_e3fae4">#FFE3FAE4</color>
|
||||||
|
|
||||||
|
|
||||||
<!-- 主题色 -->
|
<!-- 主题色 -->
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package com.xscm.modulemain
|
|||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.text.TextUtils
|
||||||
|
import android.view.View
|
||||||
|
import com.blankj.utilcode.util.ActivityUtils
|
||||||
import com.blankj.utilcode.util.AppUtils
|
import com.blankj.utilcode.util.AppUtils
|
||||||
import com.blankj.utilcode.util.CrashUtils
|
import com.blankj.utilcode.util.CrashUtils
|
||||||
import com.blankj.utilcode.util.LogUtils
|
import com.blankj.utilcode.util.LogUtils
|
||||||
@@ -10,13 +13,22 @@ import com.opensource.svgaplayer.utils.log.SVGALogger
|
|||||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout
|
import com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||||
import com.scwang.smartrefresh.layout.footer.ClassicsFooter
|
import com.scwang.smartrefresh.layout.footer.ClassicsFooter
|
||||||
import com.scwang.smartrefresh.layout.header.ClassicsHeader
|
import com.scwang.smartrefresh.layout.header.ClassicsHeader
|
||||||
|
import com.xscm.modulemain.activity.room.activity.RoomActivity
|
||||||
import com.xscm.modulemain.dialog.InviteDialog
|
import com.xscm.modulemain.dialog.InviteDialog
|
||||||
|
import com.xscm.modulemain.manager.RoomManager
|
||||||
|
import com.xscm.modulemain.utils.TimerManager
|
||||||
import com.xscm.modulemain.widget.WheatLayoutSingManager
|
import com.xscm.modulemain.widget.WheatLayoutSingManager
|
||||||
import com.xscm.moduleutil.base.CommonAppContext
|
import com.xscm.moduleutil.base.CommonAppContext
|
||||||
import com.xscm.moduleutil.bean.IndexRecommendRoom
|
import com.xscm.moduleutil.bean.IndexRecommendRoom
|
||||||
|
import com.xscm.moduleutil.bean.RoomMessageEvent
|
||||||
|
import com.xscm.moduleutil.dialog.ConfirmDialog
|
||||||
import com.xscm.moduleutil.http.BaseObserver
|
import com.xscm.moduleutil.http.BaseObserver
|
||||||
import com.xscm.moduleutil.http.RetrofitClient
|
import com.xscm.moduleutil.http.RetrofitClient
|
||||||
|
import com.xscm.moduleutil.listener.MessageListenerSingleton
|
||||||
|
import com.xscm.moduleutil.utils.CustomMsgCode
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
|
import org.json.JSONObject
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
|
|
||||||
open class Application : CommonAppContext() {
|
open class Application : CommonAppContext() {
|
||||||
@@ -28,6 +40,7 @@ open class Application : CommonAppContext() {
|
|||||||
|
|
||||||
var isAgoraStop = false
|
var isAgoraStop = false
|
||||||
var inviteDialog: InviteDialog? = null
|
var inviteDialog: InviteDialog? = null
|
||||||
|
var currDialogActivity: Activity? = null
|
||||||
|
|
||||||
// 单例实例
|
// 单例实例
|
||||||
companion object {
|
companion object {
|
||||||
@@ -47,10 +60,9 @@ open class Application : CommonAppContext() {
|
|||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
|
APP_CONENT = getExternalFilesDir("APP_CONTENT")?.absolutePath.toString()
|
||||||
LOGUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_LOG")?.absolutePath.toString()
|
LOGUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_LOG")?.absolutePath.toString()
|
||||||
CRASHUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_CRASH")?.absolutePath.toString()
|
CRASHUTILS_SAVE_PATH = getExternalFilesDir("APP_CONTENT/APP_CRASH")?.absolutePath.toString()
|
||||||
getExternalFilesDir("")
|
|
||||||
APP_CONENT = getExternalFilesDir("APP_CONTENT")?.absolutePath.toString()
|
|
||||||
// 初始化单例实例
|
// 初始化单例实例
|
||||||
instance = this
|
instance = this
|
||||||
|
|
||||||
@@ -65,9 +77,133 @@ open class Application : CommonAppContext() {
|
|||||||
initCrashUtils()
|
initCrashUtils()
|
||||||
initSmartRefreshLayout()
|
initSmartRefreshLayout()
|
||||||
|
|
||||||
|
initImMsg()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initImMsg() {
|
||||||
|
MessageListenerSingleton.getInstance().setOnMsgTaskListener { event ->
|
||||||
|
when (event.msgType) {
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM -> {
|
||||||
|
TimerManager.cancelTimer(CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_TIMER_ID)
|
||||||
|
try {
|
||||||
|
val json = JSONObject(event.text.text)
|
||||||
|
if (!json.isNull("status")) {
|
||||||
|
event.text.status = json.getString("status")
|
||||||
|
}
|
||||||
|
if (TextUtils.isEmpty(event.text.status))
|
||||||
|
return@setOnMsgTaskListener
|
||||||
|
when (event.text.status) {
|
||||||
|
"1" -> {//1:邀请
|
||||||
|
if (!json.isNull("room_id"))
|
||||||
|
event.text.room_id = json.getString("room_id")
|
||||||
|
if (event?.text?.room_id.isNullOrEmpty())
|
||||||
|
return@setOnMsgTaskListener
|
||||||
|
customDialog(
|
||||||
|
event.text.room_id,
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG,
|
||||||
|
5,
|
||||||
|
1,
|
||||||
|
event.text
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
"2" -> {//2:拒绝
|
||||||
|
customDialog(
|
||||||
|
"",
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG_REFUSE,
|
||||||
|
5,
|
||||||
|
3,
|
||||||
|
null,
|
||||||
|
"",
|
||||||
|
"知道了"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch (E: Exception){
|
||||||
|
LogUtils.e("Exception",E.message.toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun customDialog(
|
||||||
|
roomId: String,
|
||||||
|
message: String,
|
||||||
|
downCount: Int,
|
||||||
|
status: Int = 1,
|
||||||
|
event: RoomMessageEvent.T?,
|
||||||
|
confirm: String = "同意",
|
||||||
|
cancel: String = "拒绝",
|
||||||
|
) {
|
||||||
|
// 创建并显示确认对话框
|
||||||
|
ConfirmDialog(
|
||||||
|
ActivityUtils.getTopActivity(),
|
||||||
|
"提示",
|
||||||
|
message,
|
||||||
|
confirm,
|
||||||
|
cancel,
|
||||||
|
{ v: View? ->
|
||||||
|
when (status) {
|
||||||
|
1 -> {
|
||||||
|
if (!TextUtils.isEmpty(CommonAppContext.getInstance().playId)
|
||||||
|
&& roomId == CommonAppContext.getInstance().playId
|
||||||
|
&& ActivityUtils.getTopActivity() is RoomActivity
|
||||||
|
) {
|
||||||
|
return@ConfirmDialog
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ActivityUtils.getTopActivity() is RoomActivity) {
|
||||||
|
(ActivityUtils.getTopActivity() as RoomActivity).refreshRoomInfo(roomId)
|
||||||
|
return@ConfirmDialog
|
||||||
|
}
|
||||||
|
|
||||||
|
RoomManager.getInstance()
|
||||||
|
.fetchRoomDataAndEnter(ActivityUtils.getTopActivity(), roomId, "", null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ v: View? ->
|
||||||
|
when (status) {
|
||||||
|
1 -> {
|
||||||
|
val text = RoomMessageEvent.T()
|
||||||
|
val json = JSONObject()
|
||||||
|
json.put("status", "2")
|
||||||
|
json.put("room_id", roomId)
|
||||||
|
text.text = json.toString()
|
||||||
|
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM,
|
||||||
|
event?.fromUserInfo?.user_id.toString(),
|
||||||
|
text
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, true, downCount
|
||||||
|
).show()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun inviteApprenticeTaskTimer() {
|
||||||
|
TimerManager.scheduleTimer(
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_TIMER_ID,
|
||||||
|
20,
|
||||||
|
TimeUnit.SECONDS,
|
||||||
|
onTimeUp = {
|
||||||
|
customDialog(
|
||||||
|
"",
|
||||||
|
CustomMsgCode.CODE_TASK_APPRENTICE_JOIN_ROOM_MSG_REFUSE,
|
||||||
|
5,
|
||||||
|
3,
|
||||||
|
null,
|
||||||
|
"",
|
||||||
|
"知道了"
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun bgToForeground() {
|
||||||
AppUtils.registerAppStatusChangedListener(object : Utils.OnAppStatusChangedListener {
|
AppUtils.registerAppStatusChangedListener(object : Utils.OnAppStatusChangedListener {
|
||||||
override fun onForeground(activity: Activity?) {//应用切换到前台
|
override fun onForeground(activity: Activity?) {//应用切换到前台
|
||||||
|
|
||||||
if (!CommonAppContext.getInstance().isPlaying) {
|
if (!CommonAppContext.getInstance().isPlaying) {
|
||||||
RetrofitClient.getInstance()
|
RetrofitClient.getInstance()
|
||||||
.index_recommend_room(object : BaseObserver<IndexRecommendRoom>() {
|
.index_recommend_room(object : BaseObserver<IndexRecommendRoom>() {
|
||||||
@@ -75,15 +211,11 @@ open class Application : CommonAppContext() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onNext(t: IndexRecommendRoom) {
|
override fun onNext(t: IndexRecommendRoom) {
|
||||||
if (t != null) {
|
LogUtils.e(t)
|
||||||
inviteDialog = activity?.let { InviteDialog(it, t) }
|
if (!t.room_id.isNullOrEmpty()) {
|
||||||
if (inviteDialog?.isShowing == false) {
|
showInviteDialog(activity, t)
|
||||||
inviteDialog?.setData(t)
|
|
||||||
inviteDialog?.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -94,6 +226,19 @@ open class Application : CommonAppContext() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun showInviteDialog(activity: Activity?, t: IndexRecommendRoom) {
|
||||||
|
if (activity != null && activity == currDialogActivity && inviteDialog != null) {
|
||||||
|
inviteDialog?.setData(t)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
inviteDialog?.dismiss()
|
||||||
|
inviteDialog = null
|
||||||
|
|
||||||
|
inviteDialog = activity?.let { InviteDialog(it, t) }
|
||||||
|
inviteDialog?.setData(t)
|
||||||
|
currDialogActivity = activity
|
||||||
|
}
|
||||||
|
|
||||||
private fun initLogUtils() {
|
private fun initLogUtils() {
|
||||||
LogUtils.getConfig()
|
LogUtils.getConfig()
|
||||||
.setLogSwitch(true) // 全局开关
|
.setLogSwitch(true) // 全局开关
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo;
|
|||||||
import com.xscm.modulemain.activity.WebViewActivity;
|
import com.xscm.modulemain.activity.WebViewActivity;
|
||||||
import com.xscm.modulemain.activity.main.activity.MainActivity;
|
import com.xscm.modulemain.activity.main.activity.MainActivity;
|
||||||
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||||
|
import com.xscm.modulemain.activity.user.activity.DailyTasksActivity;
|
||||||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
||||||
import com.xscm.modulemain.activity.user.activity.MyRoomActivity;
|
import com.xscm.modulemain.activity.user.activity.MyRoomActivity;
|
||||||
import com.xscm.modulemain.manager.RoomManager;
|
import com.xscm.modulemain.manager.RoomManager;
|
||||||
@@ -147,6 +148,8 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
|||||||
((MainActivity) mThis).isShowLoading(false);
|
((MainActivity) mThis).isShowLoading(false);
|
||||||
} else if (mThis instanceof MyRoomActivity) {
|
} else if (mThis instanceof MyRoomActivity) {
|
||||||
((MyRoomActivity) mThis).isShowLoading(false);
|
((MyRoomActivity) mThis).isShowLoading(false);
|
||||||
|
} else if (mThis instanceof DailyTasksActivity) {
|
||||||
|
((DailyTasksActivity) mThis).isShowLoading(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1142,5 +1145,9 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void toActivity(Class<?> clazz) {
|
||||||
|
Intent intent = new Intent(this, clazz);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
package com.xscm.modulemain
|
package com.xscm.modulemain
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.enableEdgeToEdge
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
|
||||||
|
|
||||||
class TransparentActivity : AppCompatActivity() {
|
class TransparentActivity : AppCompatActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import androidx.fragment.app.Fragment;
|
|||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
import com.bumptech.glide.request.target.CustomTarget;
|
import com.bumptech.glide.request.target.CustomTarget;
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
|
import com.hjq.toast.ToastUtils;
|
||||||
import com.luck.picture.lib.basic.PictureSelector;
|
import com.luck.picture.lib.basic.PictureSelector;
|
||||||
import com.luck.picture.lib.config.PictureConfig;
|
import com.luck.picture.lib.config.PictureConfig;
|
||||||
import com.luck.picture.lib.engine.CropFileEngine;
|
import com.luck.picture.lib.engine.CropFileEngine;
|
||||||
@@ -139,6 +140,11 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
|
|||||||
// ToastUtils.showShort("请选择性别");
|
// ToastUtils.showShort("请选择性别");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(birthdy==null||TextUtils.isEmpty(birthdy)){
|
||||||
|
ToastUtils.show("请选择生日");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!inviteCode.isEmpty() || inviteCode != null) {
|
if (!inviteCode.isEmpty() || inviteCode != null) {
|
||||||
// map.put("user_no", inviteCode);
|
// map.put("user_no", inviteCode);
|
||||||
init_code = inviteCode;
|
init_code = inviteCode;
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import com.permissionx.guolindev.callback.RequestCallback;
|
|||||||
import com.stx.xhb.xbanner.XBanner;
|
import com.stx.xhb.xbanner.XBanner;
|
||||||
import com.tencent.imsdk.v2.V2TIMManager;
|
import com.tencent.imsdk.v2.V2TIMManager;
|
||||||
import com.tencent.imsdk.v2.V2TIMValueCallback;
|
import com.tencent.imsdk.v2.V2TIMValueCallback;
|
||||||
|
import com.xscm.modulemain.Application;
|
||||||
import com.xscm.modulemain.BaseMvpActivity;
|
import com.xscm.modulemain.BaseMvpActivity;
|
||||||
import com.xscm.modulemain.R;
|
import com.xscm.modulemain.R;
|
||||||
import com.xscm.modulemain.activity.main.contacts.HomeContacts;
|
import com.xscm.modulemain.activity.main.contacts.HomeContacts;
|
||||||
@@ -89,6 +90,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
@@ -175,6 +177,8 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
|||||||
}
|
}
|
||||||
|
|
||||||
MessageListenerSingleton.getInstance().ensureListenersAdded();
|
MessageListenerSingleton.getInstance().ensureListenersAdded();
|
||||||
|
CommonAppContext.getInstance().upMqtt();
|
||||||
|
Application.Companion.getInstance().bgToForeground();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -478,7 +482,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
|||||||
//// RoomManager.instance( CommonAppContext.getInstance()).joinRoomWithRoomId(CommonAppContext.getInstance().playId, true);
|
//// RoomManager.instance( CommonAppContext.getInstance()).joinRoomWithRoomId(CommonAppContext.getInstance().playId, true);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
CommonAppContext.getInstance().upMqtt();
|
|
||||||
MvpPre.loginIm();
|
MvpPre.loginIm();
|
||||||
Logger.i("MainActivity", "onResume");
|
Logger.i("MainActivity", "onResume");
|
||||||
// Beta.checkAppUpgrade(false, false);
|
// Beta.checkAppUpgrade(false, false);
|
||||||
@@ -888,11 +892,8 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void index_recommend_room(IndexRecommendRoom indexRecommendRoom) {
|
public void index_recommend_room(IndexRecommendRoom indexRecommendRoom) {
|
||||||
|
if (indexRecommendRoom != null && !Objects.requireNonNull(indexRecommendRoom.getRoom_id()).isEmpty()) {
|
||||||
if (indexRecommendRoom != null) {
|
Application.Companion.getInstance().showInviteDialog(this,indexRecommendRoom);
|
||||||
inviteDialog = new InviteDialog(this, indexRecommendRoom);
|
|
||||||
inviteDialog.setData(indexRecommendRoom);
|
|
||||||
inviteDialog.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -291,7 +291,8 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
|
|||||||
TextView btnCancel = dialog.findViewById(R.id.btn_cancel);
|
TextView btnCancel = dialog.findViewById(R.id.btn_cancel);
|
||||||
TextView btnConfirm = dialog.findViewById(R.id.btn_confirm);
|
TextView btnConfirm = dialog.findViewById(R.id.btn_confirm);
|
||||||
btnConfirm.setTextColor(Color.WHITE);
|
btnConfirm.setTextColor(Color.WHITE);
|
||||||
|
TextView tvTitle = dialog.findViewById(R.id.tv_title);
|
||||||
|
tvTitle.setText("选择话题");
|
||||||
assert recyclerView != null;
|
assert recyclerView != null;
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||||
MultiSelectAdapter adapter = new MultiSelectAdapter(list);
|
MultiSelectAdapter adapter = new MultiSelectAdapter(list);
|
||||||
|
|||||||
@@ -64,10 +64,12 @@ public class RedResultActivity extends BaseMvpActivity<RedEnvelopesPresenter, Fr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) {
|
public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) {
|
||||||
|
MvpPre.getRedpacketDetail(redpacketId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) {
|
public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) {
|
||||||
|
MvpPre.getRedpacketDetail(redpacketId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -83,6 +85,8 @@ public class RedResultActivity extends BaseMvpActivity<RedEnvelopesPresenter, Fr
|
|||||||
if (isFinishing() || isDestroyed()) {
|
if (isFinishing() || isDestroyed()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
mBinding.smartRefreshLayout.finishLoadMore();
|
||||||
|
mBinding.smartRefreshLayout.finishRefresh();
|
||||||
if (redpacketDetail != null) {
|
if (redpacketDetail != null) {
|
||||||
ImageUtils.loadHeadCC(redpacketDetail.getRedpacket_info().getAvatar(), mBinding.userAvatar);
|
ImageUtils.loadHeadCC(redpacketDetail.getRedpacket_info().getAvatar(), mBinding.userAvatar);
|
||||||
mBinding.userName.setText(redpacketDetail.getRedpacket_info().getNickname());
|
mBinding.userName.setText(redpacketDetail.getRedpacket_info().getNickname());
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.alibaba.android.arouter.facade.annotation.Autowired
|
import com.alibaba.android.arouter.facade.annotation.Autowired
|
||||||
import com.alibaba.android.arouter.facade.annotation.Route
|
import com.alibaba.android.arouter.facade.annotation.Route
|
||||||
@@ -69,6 +70,7 @@ import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
|||||||
import com.tencent.imsdk.v2.V2TIMValueCallback
|
import com.tencent.imsdk.v2.V2TIMValueCallback
|
||||||
import com.xscm.modulemain.BaseMvpActivity
|
import com.xscm.modulemain.BaseMvpActivity
|
||||||
import com.xscm.modulemain.R
|
import com.xscm.modulemain.R
|
||||||
|
import com.xscm.modulemain.TransparentActivity
|
||||||
import com.xscm.modulemain.activity.main.activity.MainActivity
|
import com.xscm.modulemain.activity.main.activity.MainActivity
|
||||||
import com.xscm.modulemain.activity.room.contacts.RoomContacts
|
import com.xscm.modulemain.activity.room.contacts.RoomContacts
|
||||||
import com.xscm.modulemain.activity.room.fragment.ChatRoomFragment
|
import com.xscm.modulemain.activity.room.fragment.ChatRoomFragment
|
||||||
@@ -94,7 +96,6 @@ import com.xscm.modulemain.dialog.RoomMessageDialogFragment
|
|||||||
import com.xscm.modulemain.dialog.RoomOnlineDialogFragment
|
import com.xscm.modulemain.dialog.RoomOnlineDialogFragment
|
||||||
import com.xscm.modulemain.dialog.RoomPkDialogFragment
|
import com.xscm.modulemain.dialog.RoomPkDialogFragment
|
||||||
import com.xscm.modulemain.dialog.RoomSettingFragment
|
import com.xscm.modulemain.dialog.RoomSettingFragment
|
||||||
import com.xscm.modulemain.dialog.RoomUserInfoFragment
|
|
||||||
import com.xscm.modulemain.dialog.SoundEffectsDialogFragment
|
import com.xscm.modulemain.dialog.SoundEffectsDialogFragment
|
||||||
import com.xscm.modulemain.dialog.TourClubDialogFragment
|
import com.xscm.modulemain.dialog.TourClubDialogFragment
|
||||||
import com.xscm.modulemain.manager.RoomManager
|
import com.xscm.modulemain.manager.RoomManager
|
||||||
@@ -170,7 +171,6 @@ import com.xscm.moduleutil.utils.roomview.GiftDisplayManager
|
|||||||
import com.xscm.moduleutil.widget.CircularProgressView
|
import com.xscm.moduleutil.widget.CircularProgressView
|
||||||
import com.xscm.moduleutil.widget.CustomMusicFloatingView
|
import com.xscm.moduleutil.widget.CustomMusicFloatingView
|
||||||
import com.xscm.moduleutil.widget.QXGiftPlayerManager
|
import com.xscm.moduleutil.widget.QXGiftPlayerManager
|
||||||
import com.xscm.moduleutil.widget.RoomKtvWheatView
|
|
||||||
import com.xscm.moduleutil.widget.SilentCountDownTimer
|
import com.xscm.moduleutil.widget.SilentCountDownTimer
|
||||||
import com.xscm.moduleutil.widget.ViewUtils
|
import com.xscm.moduleutil.widget.ViewUtils
|
||||||
import com.xscm.moduleutil.widget.ViewUtils.OnViewCreatedListener
|
import com.xscm.moduleutil.widget.ViewUtils.OnViewCreatedListener
|
||||||
@@ -190,6 +190,7 @@ import java.lang.ref.WeakReference
|
|||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
import java.util.Arrays
|
import java.util.Arrays
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
import java.util.stream.Collectors
|
import java.util.stream.Collectors
|
||||||
|
|
||||||
@Route(path = ARouteConstants.ROOM_DETAILS)
|
@Route(path = ARouteConstants.ROOM_DETAILS)
|
||||||
@@ -232,9 +233,6 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
private var circularProgress: CircularProgressView? = null
|
private var circularProgress: CircularProgressView? = null
|
||||||
private var publicScreenFragment: ChatRoomFragment? = null // 添加成员变量
|
private var publicScreenFragment: ChatRoomFragment? = null // 添加成员变量
|
||||||
|
|
||||||
// 添加成员变量
|
|
||||||
private var isLayoutAdjusted = false
|
|
||||||
|
|
||||||
// 存储当前显示的弹框引用
|
// 存储当前显示的弹框引用
|
||||||
private val activeDialogs: MutableList<DialogInterface> = ArrayList()
|
private val activeDialogs: MutableList<DialogInterface> = ArrayList()
|
||||||
private val activeDialogFragments: MutableList<Fragment> = ArrayList()
|
private val activeDialogFragments: MutableList<Fragment> = ArrayList()
|
||||||
@@ -243,6 +241,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
private var appStateListener: AppStateListener? = null
|
private var appStateListener: AppStateListener? = null
|
||||||
|
|
||||||
private var qxRedPacketManager: QXRedPacketManager? = null
|
private var qxRedPacketManager: QXRedPacketManager? = null
|
||||||
|
//用户列表用
|
||||||
|
private var mOnlineBean: RoomOnline? = null
|
||||||
|
|
||||||
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
||||||
if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) {
|
if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) {
|
||||||
@@ -515,15 +515,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
mBinding?.roomTop?.userRecyclerView?.adapter = likeUserAdapter
|
mBinding?.roomTop?.userRecyclerView?.adapter = likeUserAdapter
|
||||||
likeUserAdapter!!.onItemClickListener =
|
likeUserAdapter!!.onItemClickListener =
|
||||||
BaseQuickAdapter.OnItemClickListener { adapter, view, position ->
|
BaseQuickAdapter.OnItemClickListener { adapter, view, position ->
|
||||||
val fragment = RoomOnlineDialogFragment.show(
|
showUserListDialog(
|
||||||
roomId, "", mRoomUserBean, mRoomInfoResp,
|
roomId, "", mRoomUserBean, mRoomInfoResp,
|
||||||
supportFragmentManager
|
supportFragmentManager
|
||||||
)
|
)
|
||||||
|
|
||||||
LogUtils.e("fragment_onItemClickListener: ${(fragment != null)}")
|
|
||||||
if (fragment != null) {
|
|
||||||
addActiveDialogFragment(fragment) // 添加到管理列表
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mBinding!!.ivChat.setOnClickListener { view: View ->
|
mBinding!!.ivChat.setOnClickListener { view: View ->
|
||||||
@@ -903,6 +898,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
override fun onSelfInfoUpdated(info: V2TIMUserFullInfo?) {}
|
override fun onSelfInfoUpdated(info: V2TIMUserFullInfo?) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("CheckResult")
|
||||||
private fun setView(resp: RoomInfoResp?, isSwitchRoomType: Boolean = false) {
|
private fun setView(resp: RoomInfoResp?, isSwitchRoomType: Boolean = false) {
|
||||||
if (resp == null)
|
if (resp == null)
|
||||||
return
|
return
|
||||||
@@ -1014,6 +1010,17 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
setupEffectView()
|
setupEffectView()
|
||||||
|
|
||||||
MvpPre?.roomRedPackets(roomId)
|
MvpPre?.roomRedPackets(roomId)
|
||||||
|
|
||||||
|
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(
|
||||||
|
AndroidSchedulers.mainThread()
|
||||||
|
).subscribe { aLong: Long? ->
|
||||||
|
if (ActivityUtils.getTopActivity() is RoomActivity) {
|
||||||
|
startActivity(
|
||||||
|
Intent(ActivityUtils.getTopActivity(), TransparentActivity::class.java)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1519,7 +1526,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
roomFragment?.handleRoomMessage(messageEvent)
|
roomFragment?.handleRoomMessage(messageEvent)
|
||||||
} else if (msgType == EMMessageInfo.QXRoomMessageTypeSignDelayText) {
|
} else if (msgType == EMMessageInfo.QXRoomMessageTypeSignDelayText) {
|
||||||
roomFragment?.handleRoomMessage(messageEvent)
|
roomFragment?.handleRoomMessage(messageEvent)
|
||||||
}else if (msgType == EMMessageInfo.QXRoomMessageTypeSignTipText) {
|
} else if (msgType == EMMessageInfo.QXRoomMessageTypeSignTipText) {
|
||||||
roomFragment?.handleRoomMessage(messageEvent)
|
roomFragment?.handleRoomMessage(messageEvent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1925,11 +1932,13 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
||||||
roomFragment?.handleRoomMessage(messageEvent)
|
roomFragment?.handleRoomMessage(messageEvent)
|
||||||
}
|
}
|
||||||
RoomType.SIGN_CONTRACT ->{
|
|
||||||
|
RoomType.SIGN_CONTRACT -> {
|
||||||
mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = RoomPitBean(pitNumber)
|
mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = RoomPitBean(pitNumber)
|
||||||
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
||||||
roomFragment?.handleRoomMessage(messageEvent)
|
roomFragment?.handleRoomMessage(messageEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
roomFragment!!.updateSeatViewExchangedWithPitArray(mRoomInfoResp)
|
roomFragment!!.updateSeatViewExchangedWithPitArray(mRoomInfoResp)
|
||||||
}
|
}
|
||||||
@@ -2002,6 +2011,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
LogUtils.e("1020_mRoomBean", mRoomInfoResp?.room_info.toString())
|
LogUtils.e("1020_mRoomBean", mRoomInfoResp?.room_info.toString())
|
||||||
EventBus.getDefault().post(mRoomInfoResp?.room_info)
|
EventBus.getDefault().post(mRoomInfoResp?.room_info)
|
||||||
changeBackgroundColor(mRoomInfoResp?.room_info?.room_background)
|
changeBackgroundColor(mRoomInfoResp?.room_info?.room_background)
|
||||||
|
ImageUtils.loadHeadCC(mRoomInfoResp?.room_info?.room_cover, mBinding!!.roomTop.avatar)
|
||||||
|
mBinding?.roomTop?.name?.text = mRoomInfoResp?.room_info?.room_name
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleMsgType1011(messageEvent: RoomMessageEvent, text: T?) {
|
private fun handleMsgType1011(messageEvent: RoomMessageEvent, text: T?) {
|
||||||
@@ -2620,13 +2631,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
} else if (id == R.id.btn_close_live) { //退出房间
|
} else if (id == R.id.btn_close_live) { //退出房间
|
||||||
showExitRoomDialog()
|
showExitRoomDialog()
|
||||||
} else if (id == R.id.tv_num) {
|
} else if (id == R.id.tv_num) {
|
||||||
val fragment = RoomOnlineDialogFragment.show(
|
showUserListDialog(
|
||||||
roomId, "", mRoomUserBean, mRoomInfoResp,
|
roomId, "", mRoomUserBean, mRoomInfoResp,
|
||||||
supportFragmentManager
|
supportFragmentManager
|
||||||
)
|
)
|
||||||
if (fragment != null) {
|
|
||||||
addActiveDialogFragment(fragment) // 添加到管理列表
|
|
||||||
}
|
|
||||||
} else if (id == R.id.rl) {
|
} else if (id == R.id.rl) {
|
||||||
MvpPre!!.clearUserCharm(roomId, "")
|
MvpPre!!.clearUserCharm(roomId, "")
|
||||||
} else if (id == R.id.ll_input) {
|
} else if (id == R.id.ll_input) {
|
||||||
@@ -3377,7 +3385,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
// )
|
// )
|
||||||
// MessageListenerSingleton.getInstance()
|
// MessageListenerSingleton.getInstance()
|
||||||
// .joinGroup(mRoomInfoResp?.room_info?.head_line?.room_id)
|
// .joinGroup(mRoomInfoResp?.room_info?.head_line?.room_id)
|
||||||
roomId2=mRoomInfoResp?.room_info?.head_line?.room_id
|
roomId2 = mRoomInfoResp?.room_info?.head_line?.room_id
|
||||||
getHour()
|
getHour()
|
||||||
MvpPre?.getRoomIn(mRoomInfoResp?.room_info?.head_line?.room_id, "")
|
MvpPre?.getRoomIn(mRoomInfoResp?.room_info?.head_line?.room_id, "")
|
||||||
} else {
|
} else {
|
||||||
@@ -3778,7 +3786,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun refreshRoomInfo(roomId: String) {
|
fun refreshRoomInfo(roomId: String) {
|
||||||
roomId2=roomId
|
roomId2 = roomId
|
||||||
getHour()
|
getHour()
|
||||||
MvpPre?.getRoomIn(roomId, "")
|
MvpPre?.getRoomIn(roomId, "")
|
||||||
}
|
}
|
||||||
@@ -3814,84 +3822,12 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onWindowFocusChanged(hasFocus: Boolean) {
|
|
||||||
super.onWindowFocusChanged(hasFocus)
|
|
||||||
LogUtils.e("RoomActivity", "onWindowFocusChanged")
|
|
||||||
if (hasFocus && !isLayoutAdjusted) {
|
|
||||||
// adjustLayoutHeights()
|
|
||||||
isLayoutAdjusted = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var maxHeightDp: Int = 333
|
|
||||||
|
|
||||||
/**
|
// TODO: 根据返回的在线列表获取对应的值,查看是否有在线用户
|
||||||
* 动态调整布局高度以适配不同设备
|
|
||||||
*/
|
|
||||||
private fun adjustLayoutHeights() {
|
|
||||||
if (mBinding == null) return
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 获取主容器
|
|
||||||
val mainContainer = mBinding!!.mainContentContainer
|
|
||||||
val pager: View = mBinding!!.vpRoomPager
|
|
||||||
val easeContainer: View = mBinding!!.easeContainer
|
|
||||||
|
|
||||||
if (mainContainer != null && pager != null && easeContainer != null) {
|
|
||||||
// 强制测量主容器
|
|
||||||
val widthSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
|
|
||||||
val heightSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
|
|
||||||
mainContainer.measure(widthSpec, heightSpec)
|
|
||||||
|
|
||||||
var containerHeight = mainContainer.measuredHeight
|
|
||||||
if (containerHeight <= 0) {
|
|
||||||
// 如果测量不到高度,使用布局参数中的高度
|
|
||||||
val containerParams =
|
|
||||||
mainContainer.layoutParams as ConstraintLayout.LayoutParams
|
|
||||||
containerHeight = (resources.displayMetrics.heightPixels
|
|
||||||
- statusBarHeight
|
|
||||||
- resources.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_50) // room_top 高度
|
|
||||||
- resources.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15) * 3) // 底部控件高度
|
|
||||||
}
|
|
||||||
|
|
||||||
// 确保最小高度
|
|
||||||
if (containerHeight > 0) {
|
|
||||||
// 设置 vp_room_pager 占用 70% 空间
|
|
||||||
val pagerParams = pager.layoutParams as ConstraintLayout.LayoutParams
|
|
||||||
pagerParams.height = SystemUtils.getWidth(maxHeightDp)
|
|
||||||
pager.layoutParams = pagerParams
|
|
||||||
|
|
||||||
// 设置 ease_container 占用 30% 空间
|
|
||||||
val easeParams = easeContainer.layoutParams as ConstraintLayout.LayoutParams
|
|
||||||
easeParams.height = 0
|
|
||||||
easeContainer.layoutParams = easeParams
|
|
||||||
|
|
||||||
// 请求重新布局
|
|
||||||
mainContainer.requestLayout()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
LogUtils.e("adjustLayoutHeights error: " + e.message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private val statusBarHeight: Int
|
|
||||||
/**
|
|
||||||
* 获取状态栏高度
|
|
||||||
*/
|
|
||||||
get() {
|
|
||||||
var result = 0
|
|
||||||
val resourceId =
|
|
||||||
resources.getIdentifier("status_bar_height", "dimen", "android")
|
|
||||||
if (resourceId > 0) {
|
|
||||||
result = resources.getDimensionPixelSize(resourceId)
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: 根据返回的在线列表获取对应的值,查看是否有在线用户
|
|
||||||
override fun getRoomOnline(onlineBean: RoomOnline?) {
|
override fun getRoomOnline(onlineBean: RoomOnline?) {
|
||||||
if (onlineBean != null) {
|
if (onlineBean != null) {
|
||||||
|
mOnlineBean = onlineBean
|
||||||
val onlineBeans: MutableList<RoomOnlineBean> = ArrayList()
|
val onlineBeans: MutableList<RoomOnlineBean> = ArrayList()
|
||||||
if (onlineBean.on_pit.size > 0) {
|
if (onlineBean.on_pit.size > 0) {
|
||||||
onlineBeans.addAll(onlineBean.on_pit)
|
onlineBeans.addAll(onlineBean.on_pit)
|
||||||
@@ -3908,6 +3844,25 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun showUserListDialog(
|
||||||
|
roomId: String?,
|
||||||
|
pitNumber: String?,
|
||||||
|
mRoomUserBean: RoomUserBean?,
|
||||||
|
mRoomInfoResp: RoomInfoResp?,
|
||||||
|
supportFragmentManager: FragmentManager
|
||||||
|
) {
|
||||||
|
val fragment = RoomOnlineDialogFragment.show(
|
||||||
|
roomId, pitNumber, mOnlineBean, mRoomUserBean, mRoomInfoResp,
|
||||||
|
supportFragmentManager
|
||||||
|
)
|
||||||
|
|
||||||
|
LogUtils.e("fragment_onItemClickListener: ${(fragment != null)}")
|
||||||
|
if (fragment != null) {
|
||||||
|
addActiveDialogFragment(fragment) // 添加到管理列表
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun applyPit() {
|
override fun applyPit() {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -4090,6 +4045,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
|||||||
"@@@",
|
"@@@",
|
||||||
"上一个房间的roonid" + AgoraManager.getInstance().lastRoomId
|
"上一个房间的roonid" + AgoraManager.getInstance().lastRoomId
|
||||||
)
|
)
|
||||||
|
MessageListenerSingleton.getInstance().joinGroup(AgoraManager.getInstance().lastRoomId)
|
||||||
MvpPre?.getRoomIn(AgoraManager.getInstance().lastRoomId, "")
|
MvpPre?.getRoomIn(AgoraManager.getInstance().lastRoomId, "")
|
||||||
AgoraManager.getInstance().lastRoomId = ""
|
AgoraManager.getInstance().lastRoomId = ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -226,11 +226,11 @@ public class SearchActivity extends BaseMvpActivity<SearchPresenter, ActivitySea
|
|||||||
} else {
|
} else {
|
||||||
mBinding.recycleViewRoom.setVisibility(View.VISIBLE);
|
mBinding.recycleViewRoom.setVisibility(View.VISIBLE);
|
||||||
mBinding.rlRoom.setVisibility(View.VISIBLE);
|
mBinding.rlRoom.setVisibility(View.VISIBLE);
|
||||||
if (data.getRooms().size() > 2) {
|
// if (data.getRooms().size() > 2) {
|
||||||
mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2));
|
// mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2));
|
||||||
} else {
|
// } else {
|
||||||
mSearchRoomResultAdapter.setNewData(data.getRooms());
|
mSearchRoomResultAdapter.setNewData(data.getRooms());
|
||||||
}
|
// }
|
||||||
mBinding.tvRoomCount.setText("全部 " + data.getRooms().size());
|
mBinding.tvRoomCount.setText("全部 " + data.getRooms().size());
|
||||||
}
|
}
|
||||||
if (data.getUsers() != null && data.getUsers().size() != 0) {
|
if (data.getUsers() != null && data.getUsers().size() != 0) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.app.Activity;
|
|||||||
import com.xscm.moduleutil.activity.IPresenter;
|
import com.xscm.moduleutil.activity.IPresenter;
|
||||||
import com.xscm.moduleutil.activity.IView;
|
import com.xscm.moduleutil.activity.IView;
|
||||||
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
||||||
|
import com.xscm.moduleutil.bean.TasksSignStatus;
|
||||||
|
|
||||||
|
|
||||||
public final class VoiceContacts {
|
public final class VoiceContacts {
|
||||||
@@ -15,6 +16,8 @@ public final class VoiceContacts {
|
|||||||
void hideRecommend(boolean hideRecommend,boolean hideGame);
|
void hideRecommend(boolean hideRecommend,boolean hideGame);
|
||||||
void activitiesPermissionSuccess(ActivitiesPermission activitiesPermission);
|
void activitiesPermissionSuccess(ActivitiesPermission activitiesPermission);
|
||||||
|
|
||||||
|
void tasksSignStatus(TasksSignStatus tasksSignStatus);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface IIndexPre extends IPresenter {
|
public interface IIndexPre extends IPresenter {
|
||||||
@@ -25,6 +28,8 @@ public final class VoiceContacts {
|
|||||||
|
|
||||||
void activitiesPermission();//活动弹框权限
|
void activitiesPermission();//活动弹框权限
|
||||||
|
|
||||||
|
void tasksSignStatus();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
public void applyPit() {
|
public void applyPit() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public FriendshipRoomFragment() {
|
public FriendshipRoomFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,6 +94,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
FriendshipRoomFragment fragment = new FriendshipRoomFragment(roomInfoResp);
|
FriendshipRoomFragment fragment = new FriendshipRoomFragment(roomInfoResp);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void endFriend(FriendUserBean friendUserBean) {
|
public void endFriend(FriendUserBean friendUserBean) {
|
||||||
if (friendUserBean != null) {
|
if (friendUserBean != null) {
|
||||||
@@ -162,9 +164,6 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FriendshipRoomPresenter bindPresenter() {
|
protected FriendshipRoomPresenter bindPresenter() {
|
||||||
return new FriendshipRoomPresenter(this, getActivity());
|
return new FriendshipRoomPresenter(this, getActivity());
|
||||||
@@ -239,7 +238,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
initPopupWindow();
|
initPopupWindow();
|
||||||
|
|
||||||
roomId = roomInfoResp.getRoom_info().getRoom_id();
|
roomId = roomInfoResp.getRoom_info().getRoom_id();
|
||||||
|
|
||||||
for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
|
for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
|
||||||
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
|
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
|
||||||
if (i == 6 || i == 7) {
|
if (i == 6 || i == 7) {
|
||||||
@@ -359,12 +358,12 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
if (checkWeather(pitBean.getPit_number())) {
|
if (checkWeather(pitBean.getPit_number())) {
|
||||||
showPopupMenu(wheatView); // v 是点击的按钮视图
|
showPopupMenu(wheatView); // v 是点击的按钮视图
|
||||||
} else if (pitBean.getPit_number().equals("10")) {
|
} else if (pitBean.getPit_number().equals("10")) {
|
||||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity) {
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
|
if (((RoomActivity) getActivity()).getHostUser() < 4) {
|
||||||
if (((RoomActivity) ActivityUtils.getTopActivity()).isFastDoubleClick(roomInfoResp.getUser_info().getUser_id() + "", pitBean.getPit_number())) {
|
if (((RoomActivity) getActivity()).isFastDoubleClick(roomInfoResp.getUser_info().getUser_id() + "", pitBean.getPit_number())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RoomOnlineDialogFragment.show(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
((RoomActivity) getActivity()).showUserListDialog(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
} else {
|
} else {
|
||||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||||
}
|
}
|
||||||
@@ -505,7 +504,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
continue;
|
continue;
|
||||||
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
|
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
|
||||||
|
|
||||||
if (roomPitBean.getUser_id() == null || roomPitBean.getUser_id().isEmpty()){
|
if (roomPitBean.getUser_id() == null || roomPitBean.getUser_id().isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -713,7 +712,9 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
|||||||
|
|
||||||
tvHugMic.setOnClickListener(v -> {
|
tvHugMic.setOnClickListener(v -> {
|
||||||
// 处理抱麦逻辑
|
// 处理抱麦逻辑
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
popupWindow.dismiss();
|
popupWindow.dismiss();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ public class HotListFragment extends BaseMvpFragment<HotListPresenter, FragmentH
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
page=1;
|
||||||
MvpPre.getRoomList(2, "1", "20", "1", label_id);
|
MvpPre.getRoomList(2, "1", "20", "1", label_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,17 +151,17 @@ public class HotListFragment extends BaseMvpFragment<HotListPresenter, FragmentH
|
|||||||
} else {
|
} else {
|
||||||
// 检查是否有重复数据
|
// 检查是否有重复数据
|
||||||
boolean hasDuplicate = false;
|
boolean hasDuplicate = false;
|
||||||
List<TopRoom> currentData = mAdapter.getData();
|
// List<TopRoom> currentData = mAdapter.getData();
|
||||||
if (!currentData.isEmpty() && !data.isEmpty()) {
|
// if (!currentData.isEmpty() && !data.isEmpty()) {
|
||||||
// 检查第一条数据是否已经存在
|
// // 检查第一条数据是否已经存在
|
||||||
TopRoom firstNewData = data.get(0);
|
// TopRoom firstNewData = data.get(0);
|
||||||
for (TopRoom item : currentData) {
|
// for (TopRoom item : currentData) {
|
||||||
if (item.getRoom_id().equals(firstNewData.getRoom_id())) {
|
// if (item.getRoom_id().equals(firstNewData.getRoom_id())) {
|
||||||
hasDuplicate = true;
|
// hasDuplicate = true;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (!hasDuplicate) {
|
if (!hasDuplicate) {
|
||||||
mAdapter.addData(data); // 加载更多时添加数据
|
mAdapter.addData(data); // 加载更多时添加数据
|
||||||
|
|||||||
@@ -406,7 +406,9 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
|||||||
if (wheatView2.getUserId() != null) {
|
if (wheatView2.getUserId() != null) {
|
||||||
if (wheatView2.getUserId().equals("")) {
|
if (wheatView2.getUserId().equals("")) {
|
||||||
if ((wheatView.getUserId() != null && wheatView.getUserId().equals(SpUtil.getUserId() + "") || getHostUser() < 4)) {
|
if ((wheatView.getUserId() != null && wheatView.getUserId().equals(SpUtil.getUserId() + "") || getHostUser() < 4)) {
|
||||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), 888 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity)getActivity()).showUserListDialog(roomInfoResp.getRoom_info().getRoom_id(), 888 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (roomInfoResp.getRoom_auction() != null && roomInfoResp.getRoom_auction().getAuction_user() != null) {
|
if (roomInfoResp.getRoom_auction() != null && roomInfoResp.getRoom_auction().getAuction_user() != null) {
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import org.greenrobot.eventbus.ThreadMode;
|
|||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
@@ -494,18 +495,18 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
|||||||
isLoadSuccess = false;
|
isLoadSuccess = false;
|
||||||
errorMsg = "Fragment未进入Resumed状态";
|
errorMsg = "Fragment未进入Resumed状态";
|
||||||
}
|
}
|
||||||
LogUtils.e("switchFragment :"+errorMsg +",isLoadSuccess:"+isLoadSuccess);
|
LogUtils.e("switchFragment :" + errorMsg + ",isLoadSuccess:" + isLoadSuccess);
|
||||||
// 处理失败情况
|
// 处理失败情况
|
||||||
if (!isLoadSuccess) {
|
if (!isLoadSuccess) {
|
||||||
Log.e("FragmentCheck", errorMsg);
|
Log.e("FragmentCheck", errorMsg);
|
||||||
|
|
||||||
if (retryCount == MAX_COUNT){
|
if (retryCount == MAX_COUNT) {
|
||||||
LogUtils.e("switchFragment retryCount == MAX_COUNT");
|
LogUtils.e("switchFragment retryCount == MAX_COUNT");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 可以考虑自动恢复或通知用户
|
// 可以考虑自动恢复或通知用户
|
||||||
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
|
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
|
||||||
aLong ->{
|
aLong -> {
|
||||||
retryCount++;
|
retryCount++;
|
||||||
LogUtils.e("switchFragment retry");
|
LogUtils.e("switchFragment retry");
|
||||||
switchFragment(newFragment, containerId, true);
|
switchFragment(newFragment, containerId, true);
|
||||||
@@ -518,11 +519,12 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
|||||||
|
|
||||||
@SuppressLint("CheckResult")
|
@SuppressLint("CheckResult")
|
||||||
private void performFragmentReplacement(Fragment newFragment) {
|
private void performFragmentReplacement(Fragment newFragment) {
|
||||||
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
if (newFragment instanceof RoomKtvFragment){
|
if (newFragment instanceof RoomKtvFragment) {
|
||||||
((RoomActivity)ActivityUtils.getTopActivity()).getBinding().recyclerView.setVisibility(View.VISIBLE);
|
Objects.requireNonNull(((RoomActivity) getActivity()).getBinding()).recyclerView.setVisibility(View.VISIBLE);
|
||||||
}else {
|
} else {
|
||||||
((RoomActivity)ActivityUtils.getTopActivity()).getBinding().recyclerView.setVisibility(View.GONE);
|
Objects.requireNonNull(((RoomActivity) getActivity()).getBinding()).recyclerView.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getChildFragmentManager().isDestroyed()) {
|
if (getChildFragmentManager().isDestroyed()) {
|
||||||
@@ -567,8 +569,9 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
|||||||
currentFragment = newFragment;
|
currentFragment = newFragment;
|
||||||
|
|
||||||
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
|
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
|
||||||
aLong ->{
|
aLong -> {
|
||||||
startActivity(new Intent(ActivityUtils.getTopActivity(), TransparentActivity.class));
|
if (ActivityUtils.getTopActivity() instanceof RoomActivity)
|
||||||
|
startActivity(new Intent(ActivityUtils.getTopActivity(), TransparentActivity.class));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,10 +141,12 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
|||||||
roomPitBean = pitBean;
|
roomPitBean = pitBean;
|
||||||
showPopupMenu(roomJukeboxWheatView); // v 是点击的按钮视图
|
showPopupMenu(roomJukeboxWheatView); // v 是点击的按钮视图
|
||||||
} else if ((finalI + 1) == 10) {
|
} else if ((finalI + 1) == 10) {
|
||||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity) {
|
if (getActivity() instanceof RoomActivity) {
|
||||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
|
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
|
||||||
if (!isFastDoubleClick("online_dialog", finalI + 1 + "")) {
|
if (!isFastDoubleClick("online_dialog", finalI + 1 + "")) {
|
||||||
RoomOnlineDialogFragment.show(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity)getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||||
@@ -336,7 +338,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
|||||||
|
|
||||||
tvHugMic.setOnClickListener(v -> {
|
tvHugMic.setOnClickListener(v -> {
|
||||||
// 处理抱麦逻辑
|
// 处理抱麦逻辑
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
popupWindow.dismiss();
|
popupWindow.dismiss();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -757,8 +761,8 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
|||||||
mBinding.wvZc.pitBean.setImageType(false);
|
mBinding.wvZc.pitBean.setImageType(false);
|
||||||
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
|
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
for (int i = 0; i < roomPitBeans.size(); i++) {
|
for (int i = 0; i < roomPitBeans.size(); i++) {
|
||||||
|
RoomPitBean roomPitBean = roomPitBeans.get(i);
|
||||||
if (roomPitBean.getUser_id().equals(userId)) {
|
if (roomPitBean.getUser_id().equals(userId)) {
|
||||||
roomPitBean.setImageType(true);
|
roomPitBean.setImageType(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -766,9 +770,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
|||||||
}
|
}
|
||||||
viewList.get(i).setData(roomPitBean);
|
viewList.get(i).setData(roomPitBean);
|
||||||
}
|
}
|
||||||
|
|
||||||
// adapter.notifyDataSetChanged();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mBinding.ciUserAva.setImageResource(0);
|
mBinding.ciUserAva.setImageResource(0);
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import org.greenrobot.eventbus.Subscribe;
|
|||||||
import org.greenrobot.eventbus.ThreadMode;
|
import org.greenrobot.eventbus.ThreadMode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import io.agora.karaoke_view.v11.KaraokeEvent;
|
import io.agora.karaoke_view.v11.KaraokeEvent;
|
||||||
import io.agora.karaoke_view.v11.KaraokeView;
|
import io.agora.karaoke_view.v11.KaraokeView;
|
||||||
@@ -298,8 +299,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
|||||||
} else {
|
} else {
|
||||||
setVisibilityView(4);
|
setVisibilityView(4);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
LogUtils.e("RoomKtvFragment","sv()"+e.getMessage());
|
LogUtils.e("RoomKtvFragment", "sv()" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,7 +312,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
|||||||
mBinding.lyricsView.setActiveLineUpcomingTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
mBinding.lyricsView.setActiveLineUpcomingTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
||||||
mBinding.lyricsView.setCurrentLineHighlightedTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
mBinding.lyricsView.setCurrentLineHighlightedTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
||||||
mBinding.lyricsView.setCurrentLineTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
mBinding.lyricsView.setCurrentLineTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
||||||
((RoomActivity) ActivityUtils.getTopActivity()).getBinding().recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).getBinding().recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
|
||||||
|
}
|
||||||
mBinding.muName.setText("暂无歌曲");
|
mBinding.muName.setText("暂无歌曲");
|
||||||
mBinding.muXName.setText("暂无歌曲");
|
mBinding.muXName.setText("暂无歌曲");
|
||||||
startRotateAnimation();
|
startRotateAnimation();
|
||||||
@@ -350,7 +353,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
((RoomActivity) ActivityUtils.getTopActivity()).getBinding().recyclerView.setAdapter(adapter);
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
Objects.requireNonNull(((RoomActivity) getActivity()).getBinding()).recyclerView.setAdapter(adapter);
|
||||||
|
}
|
||||||
|
|
||||||
isRotate = false;
|
isRotate = false;
|
||||||
RoomKtvWheatView muYc = mBinding.muYc;
|
RoomKtvWheatView muYc = mBinding.muYc;
|
||||||
@@ -426,9 +431,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
|||||||
if (!muJb.getUserId().equals("")) {
|
if (!muJb.getUserId().equals("")) {
|
||||||
RoomUserInfoFragment.show(roomInfoResp.getRoom_info().getRoom_id(), muJb.getUserId(), muJb.pitNumber, getHostUser(), false, 2, isNumberWhether(), getChildFragmentManager());
|
RoomUserInfoFragment.show(roomInfoResp.getRoom_info().getRoom_id(), muJb.getUserId(), muJb.pitNumber, getHostUser(), false, 2, isNumberWhether(), getChildFragmentManager());
|
||||||
} else {
|
} else {
|
||||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity) {
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
|
if (getActivity() != null && ((RoomActivity) getActivity()).getHostUser() < 4) {
|
||||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
((RoomActivity)getActivity()).showUserListDialog(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
} else {
|
} else {
|
||||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||||
}
|
}
|
||||||
@@ -546,7 +551,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
|||||||
AgoraManager.getInstance().stopMuisc();
|
AgoraManager.getInstance().stopMuisc();
|
||||||
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
|
MvpPre.changeSong(roomInfoResp.getRoom_info().getRoom_id(), did);
|
||||||
} else if (id == R.id.ll_ds) {
|
} 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")) {
|
if (mBinding.muYc.pitBean.getUser_id() != null && !mBinding.muYc.pitBean.getUser_id().equals("") && !mBinding.muYc.pitBean.getUser_id().equals("0")) {
|
||||||
UserInfo userInfo = new UserInfo();
|
UserInfo userInfo = new UserInfo();
|
||||||
userInfo.setAvatar(roomInfoResp.getSong_user_info().getAvatar());
|
userInfo.setAvatar(roomInfoResp.getSong_user_info().getAvatar());
|
||||||
userInfo.setNickname(roomInfoResp.getSong_user_info().getNickname());
|
userInfo.setNickname(roomInfoResp.getSong_user_info().getNickname());
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.xscm.modulemain.activity.room.fragment
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -12,6 +11,7 @@ import android.widget.TextView
|
|||||||
import com.blankj.utilcode.util.ActivityUtils
|
import com.blankj.utilcode.util.ActivityUtils
|
||||||
import com.blankj.utilcode.util.LogUtils
|
import com.blankj.utilcode.util.LogUtils
|
||||||
import com.xscm.modulemain.R
|
import com.xscm.modulemain.R
|
||||||
|
import com.xscm.modulemain.activity.room.activity.RoomActivity
|
||||||
import com.xscm.modulemain.activity.room.contacts.MentorShipContacts
|
import com.xscm.modulemain.activity.room.contacts.MentorShipContacts
|
||||||
import com.xscm.modulemain.activity.room.presenter.MentorShipPresenter
|
import com.xscm.modulemain.activity.room.presenter.MentorShipPresenter
|
||||||
import com.xscm.modulemain.databinding.FragmentMentorShipBinding
|
import com.xscm.modulemain.databinding.FragmentMentorShipBinding
|
||||||
@@ -33,19 +33,19 @@ import com.xscm.moduleutil.bean.room.RoomPitBean
|
|||||||
import com.xscm.moduleutil.bean.room.RoomUserBean
|
import com.xscm.moduleutil.bean.room.RoomUserBean
|
||||||
import com.xscm.moduleutil.dialog.ConfirmDialog
|
import com.xscm.moduleutil.dialog.ConfirmDialog
|
||||||
import com.xscm.moduleutil.utils.ClickUtils
|
import com.xscm.moduleutil.utils.ClickUtils
|
||||||
|
import io.reactivex.disposables.Disposable
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.SupervisorJob
|
import kotlinx.coroutines.SupervisorJob
|
||||||
import kotlinx.coroutines.cancel
|
import kotlinx.coroutines.cancel
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.flow
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 签约房
|
* 签约房
|
||||||
* 1234 5 9
|
* 1234 5 9
|
||||||
*/
|
*/
|
||||||
class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||||
BaseMvpFragment<MentorShipPresenter, FragmentMentorShipBinding>(), MentorShipContacts.View,
|
BaseMvpFragment<MentorShipPresenter, FragmentMentorShipBinding>(), MentorShipContacts.View,
|
||||||
View.OnClickListener {
|
View.OnClickListener {
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
private var popupWindow: PopupWindow? = null
|
private var popupWindow: PopupWindow? = null
|
||||||
|
|
||||||
private var mPitBean: RoomPitBean? = null
|
private var mPitBean: RoomPitBean? = null
|
||||||
private var mRoomId: String = mRoomInfo?.room_info?.room_id!!
|
private var mRoomId: String = mRoomInfoResp?.room_info?.room_id!!
|
||||||
private var mSignPitBean: RoomPitBean? = null
|
private var mSignPitBean: RoomPitBean? = null
|
||||||
|
|
||||||
private var mSignId: String? = null
|
private var mSignId: String? = null
|
||||||
@@ -75,7 +75,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
private val startOrDelay = arrayOf("开始", "延时")
|
private val startOrDelay = arrayOf("开始", "延时")
|
||||||
|
|
||||||
private var mUserInfo: RoomUserBean? = mRoomInfo?.user_info
|
private var mUserInfo: RoomUserBean? = mRoomInfoResp?.user_info
|
||||||
|
|
||||||
private var dialogMentorShip: DialogMentorShip? = null
|
private var dialogMentorShip: DialogMentorShip? = null
|
||||||
|
|
||||||
@@ -83,6 +83,9 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
private var signTypeDialog: DialogSignType? = null
|
private var signTypeDialog: DialogSignType? = null
|
||||||
|
|
||||||
|
private var disposable: Disposable? = null
|
||||||
|
|
||||||
|
|
||||||
private val ivForMai = arrayOf(
|
private val ivForMai = arrayOf(
|
||||||
com.xscm.moduleutil.R.mipmap.icon_apply_for_mai,
|
com.xscm.moduleutil.R.mipmap.icon_apply_for_mai,
|
||||||
com.xscm.moduleutil.R.mipmap.icon_show_alent,
|
com.xscm.moduleutil.R.mipmap.icon_show_alent,
|
||||||
@@ -116,9 +119,9 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
mBinding.tvTimeLeft.visibility = View.GONE
|
mBinding.tvTimeLeft.visibility = View.GONE
|
||||||
|
|
||||||
for ((idx, view) in viewList.withIndex()) {
|
for ((idx, view) in viewList.withIndex()) {
|
||||||
if (mRoomInfo?.room_info?.pit_list!!.size > indexList[idx].toInt() - 1) {
|
if (mRoomInfoResp?.room_info?.pit_list!!.size > indexList[idx].toInt() - 1) {
|
||||||
view.setRoomWheatNumber(indexList[idx])
|
view.setRoomWheatNumber(indexList[idx])
|
||||||
val bean = mRoomInfo?.room_info?.pit_list!![indexList[idx].toInt() - 1]
|
val bean = mRoomInfoResp?.room_info?.pit_list!![indexList[idx].toInt() - 1]
|
||||||
if (idx == 0) {
|
if (idx == 0) {
|
||||||
view.setHostTv(mBinding.tvHostName)
|
view.setHostTv(mBinding.tvHostName)
|
||||||
} else if (idx == 1) {
|
} else if (idx == 1) {
|
||||||
@@ -139,7 +142,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
if (!view.getUserId().equals("") && !view.getUserId().equals("0")) {
|
if (!view.getUserId().equals("") && !view.getUserId().equals("0")) {
|
||||||
RoomUserInfoFragment.show(
|
RoomUserInfoFragment.show(
|
||||||
mRoomInfo?.room_info?.room_id,
|
mRoomInfoResp?.room_info?.room_id,
|
||||||
view.getUserId(),
|
view.getUserId(),
|
||||||
view.pitNumber,
|
view.pitNumber,
|
||||||
getHostUser(),
|
getHostUser(),
|
||||||
@@ -154,7 +157,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
} else {
|
} else {
|
||||||
when (indexList[idx]) {
|
when (indexList[idx]) {
|
||||||
"9" -> {
|
"9" -> {
|
||||||
MvpPre.applyPit(mRoomInfo?.room_info?.room_id!!, "9")
|
MvpPre.applyPit(mRoomInfoResp?.room_info?.room_id!!, "9")
|
||||||
}
|
}
|
||||||
|
|
||||||
"2" -> {
|
"2" -> {
|
||||||
@@ -163,14 +166,14 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
"1", "3", "4", "5" -> {
|
"1", "3", "4", "5" -> {
|
||||||
mPitBean =
|
mPitBean =
|
||||||
mRoomInfo?.room_info?.pit_list!![indexList[idx].toInt() - 1]
|
mRoomInfoResp?.room_info?.pit_list!![indexList[idx].toInt() - 1]
|
||||||
|
|
||||||
// 处理抱麦逻辑
|
// 处理抱麦逻辑
|
||||||
RoomOnlineDialogFragment.show(
|
(activity as RoomActivity).showUserListDialog(
|
||||||
mRoomId,
|
mRoomId,
|
||||||
mPitBean?.pit_number,
|
mPitBean?.pit_number,
|
||||||
mRoomInfo?.user_info,
|
mRoomInfoResp?.user_info,
|
||||||
mRoomInfo,
|
mRoomInfoResp,
|
||||||
childFragmentManager
|
childFragmentManager
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -186,10 +189,10 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
mBinding.tvTimeRight.setOnClickListener(this)
|
mBinding.tvTimeRight.setOnClickListener(this)
|
||||||
mBinding.ivHelp.setOnClickListener(this)
|
mBinding.ivHelp.setOnClickListener(this)
|
||||||
|
|
||||||
if (mRoomInfo?.sign_info?.sign_id != "-1") {
|
if (mRoomInfoResp?.sign_info?.sign_id != "-1") {
|
||||||
mSignId = mRoomInfo?.sign_info?.sign_id
|
mSignId = mRoomInfoResp?.sign_info?.sign_id
|
||||||
if (mRoomInfo?.sign_info?.sign_status == 1) {
|
if (mRoomInfoResp?.sign_info?.sign_status == 1) {
|
||||||
startTimer(mRoomInfo?.sign_info?.end_time!!)
|
startTimer(mRoomInfoResp?.sign_info?.end_time!!)
|
||||||
if (mUserInfo?.user_id?.toString().equals(mSignPitBean?.user_id)) {
|
if (mUserInfo?.user_id?.toString().equals(mSignPitBean?.user_id)) {
|
||||||
setIvForMai(1)
|
setIvForMai(1)
|
||||||
} else if (!mSignPitBean?.user_id.equals("0")) {
|
} else if (!mSignPitBean?.user_id.equals("0")) {
|
||||||
@@ -201,9 +204,9 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
setIvForMai(0)
|
setIvForMai(0)
|
||||||
}
|
}
|
||||||
mBinding.tvSignDay.visibility = View.VISIBLE
|
mBinding.tvSignDay.visibility = View.VISIBLE
|
||||||
mBinding.tvLeftPrice.text = mRoomInfo?.sign_info?.current_body_value.toString()
|
mBinding.tvLeftPrice.text = mRoomInfoResp?.sign_info?.current_body_value.toString()
|
||||||
|
|
||||||
mBinding.tvSignDay.text = "签约${mRoomInfo?.sign_info?.sign_day}天"
|
mBinding.tvSignDay.text = "签约${mRoomInfoResp?.sign_info?.sign_day}天"
|
||||||
} else {
|
} else {
|
||||||
setIvForMai(0)
|
setIvForMai(0)
|
||||||
}
|
}
|
||||||
@@ -215,7 +218,8 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
R.id.iv_apply_for_mai -> {
|
R.id.iv_apply_for_mai -> {
|
||||||
when (mBinding.ivApplyForMai.tag) {
|
when (mBinding.ivApplyForMai.tag) {
|
||||||
ivForMai[0] -> {
|
ivForMai[0] -> {
|
||||||
MvpPre!!.applyPit(mRoomInfo?.room_info?.room_id!!, "")
|
mBinding.ivApplyForMai.isClickable = false
|
||||||
|
MvpPre!!.applyPit(mRoomInfoResp?.room_info?.room_id!!, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
ivForMai[1] -> {
|
ivForMai[1] -> {
|
||||||
@@ -265,52 +269,80 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("CheckResult")
|
||||||
private fun showBtn(isSignUser: Boolean = false) {
|
private fun showBtn(isSignUser: Boolean = false) {
|
||||||
if (isStart) {
|
activity?.runOnUiThread {
|
||||||
mBinding.tvTimeLeft.text = startOrDelay[1]
|
if (isStart) {
|
||||||
mBinding.tvTime.visibility = View.VISIBLE
|
mBinding.tvTimeLeft.text = startOrDelay[1]
|
||||||
mBinding.groupLeftPrice.visibility = View.VISIBLE
|
mBinding.tvTime.visibility = View.VISIBLE
|
||||||
if (getHostUser() < 4) {
|
mBinding.groupLeftPrice.visibility = View.VISIBLE
|
||||||
mBinding.tvTimeRight.visibility = View.VISIBLE
|
if (getHostUser() < 4) {
|
||||||
}
|
mBinding.tvTimeRight.visibility = View.VISIBLE
|
||||||
} else {
|
} else {
|
||||||
mBinding.tvTimeLeft.text = startOrDelay[0]
|
mBinding.tvTimeRight.visibility = View.GONE
|
||||||
mBinding.tvTimeLeft.visibility = View.GONE
|
}
|
||||||
mBinding.tvTime.visibility = View.GONE
|
} else {
|
||||||
mBinding.tvTimeRight.visibility = View.GONE
|
mBinding.tvTimeLeft.text = startOrDelay[0]
|
||||||
mBinding.groupLeftPrice.visibility = View.GONE
|
|
||||||
if (!isSignUser) {
|
mBinding.tvTimeRight.visibility = View.GONE
|
||||||
mBinding.tvLeftPrice.text = "0"
|
mBinding.tvTime.visibility = View.GONE
|
||||||
mBinding.tvSignDay.visibility = View.GONE
|
mBinding.tvJsq.visibility = View.GONE
|
||||||
|
|
||||||
|
mBinding.tvTimeLeft.visibility = View.GONE
|
||||||
|
|
||||||
|
|
||||||
|
mBinding.groupLeftPrice.visibility = View.GONE
|
||||||
|
if (!isSignUser) {
|
||||||
|
mBinding.tvLeftPrice.text = "0"
|
||||||
|
mBinding.tvSignDay.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
|
mBinding.tvTime.text = "倒计时 00:00:00"
|
||||||
|
setIvForMai(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
mBinding.tvTime.text = "倒计时 00:00:00"
|
if (viewList[0].pitBean.user_id.equals(mUserInfo?.user_id.toString()) && !mSignPitBean?.user_id.equals(
|
||||||
setIvForMai(0)
|
"0"
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
mBinding.tvTimeLeft.visibility = View.VISIBLE
|
||||||
|
} else {
|
||||||
|
mBinding.tvTimeLeft.visibility = View.GONE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LogUtils.e(
|
LogUtils.e(
|
||||||
"showBtn",
|
"showBtn ${Thread.currentThread()}",
|
||||||
"showBtn: $isSignUser isStart: $isStart viewList[0].pitBean.user_id: ${viewList[0].pitBean.user_id} mSignPitBean?.user_id: ${mSignPitBean?.user_id} mRoomInfo?.user_info?.user_id: ${mRoomInfo?.user_info?.user_id} mUserInfo?.user_id: ${mUserInfo?.user_id}"
|
"showBtn: isSignUser: $isSignUser " +
|
||||||
|
"\nisStart: $isStart " +
|
||||||
|
"\n viewList[0].pitBean.user_id: ${viewList[0].pitBean.user_id} " +
|
||||||
|
"\n mSignPitBean?.user_id: ${mSignPitBean?.user_id} " +
|
||||||
|
"\n mRoomInfo?.user_info?.user_id: ${mRoomInfoResp?.user_info?.user_id} " +
|
||||||
|
"\n mUserInfo?.user_id: ${mUserInfo?.user_id}" +
|
||||||
|
"\n mBinding.tvTimeRight: ${mBinding.tvTimeRight.visibility == View.VISIBLE}" +
|
||||||
|
"\n mBinding.tvTime: ${mBinding.tvTime.visibility == View.VISIBLE}" +
|
||||||
|
"\n mBinding.tvTimeLeft: ${mBinding.tvTimeLeft.visibility == View.VISIBLE}"
|
||||||
)
|
)
|
||||||
if (viewList[0].pitBean.user_id.equals(mUserInfo?.user_id.toString()) && !mSignPitBean?.user_id.equals(
|
|
||||||
"0"
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
mBinding.tvTimeLeft.visibility = View.VISIBLE
|
|
||||||
} else {
|
|
||||||
mBinding.tvTimeLeft.visibility = View.GONE
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 核心工具方法:检查 Fragment 是否和 Activity 有效绑定
|
||||||
|
private fun checkFragmentAttached(): Boolean {
|
||||||
|
// 依次检查:Fragment 是否附加到 Activity、是否已销毁、是否处于正常状态
|
||||||
|
return isAdded && !isDetached && !requireActivity().isFinishing && !requireActivity().isDestroyed
|
||||||
|
}
|
||||||
|
|
||||||
fun roomInfoUpdate(mRoomInfoResp: RoomInfoResp) {
|
fun roomInfoUpdate(roomInfoResp: RoomInfoResp) {
|
||||||
mRoomInfo = mRoomInfoResp
|
this.mRoomInfoResp = roomInfoResp
|
||||||
mUserInfo = mRoomInfo?.user_info
|
mUserInfo = this.mRoomInfoResp?.user_info
|
||||||
|
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
|
||||||
showBtn()
|
showBtn()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun roomTypeSwitch(mRoomInfoResp: RoomInfoResp) {
|
fun roomTypeSwitch(roomInfoResp: RoomInfoResp) {
|
||||||
mRoomInfo = mRoomInfoResp
|
this.mRoomInfoResp = roomInfoResp
|
||||||
mUserInfo = mRoomInfo?.user_info
|
mUserInfo = this.mRoomInfoResp?.user_info
|
||||||
|
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
|
||||||
initView()
|
initView()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,7 +350,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
val pitNumber = messageEvent.text.pit_number
|
val pitNumber = messageEvent.text.pit_number
|
||||||
if (indexList.contains(pitNumber)) {
|
if (indexList.contains(pitNumber)) {
|
||||||
val viewPos = indexList.indexOf(pitNumber)
|
val viewPos = indexList.indexOf(pitNumber)
|
||||||
val pitBean = mRoomInfo?.room_info?.pit_list!![pitNumber.toInt() - 1]
|
val pitBean = mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1]
|
||||||
viewList[viewPos].setData(pitBean)
|
viewList[viewPos].setData(pitBean)
|
||||||
if (pitNumber == "1") {
|
if (pitNumber == "1") {
|
||||||
mSignPitBean = pitBean
|
mSignPitBean = pitBean
|
||||||
@@ -331,7 +363,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
val pitNumber = messageEvent.text.pit_number
|
val pitNumber = messageEvent.text.pit_number
|
||||||
if (indexList.contains(pitNumber)) {
|
if (indexList.contains(pitNumber)) {
|
||||||
val viewPos = indexList.indexOf(pitNumber)
|
val viewPos = indexList.indexOf(pitNumber)
|
||||||
val pitBean = mRoomInfo?.room_info?.pit_list!![pitNumber.toInt() - 1]
|
val pitBean = mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1]
|
||||||
viewList[viewPos].setData(pitBean)
|
viewList[viewPos].setData(pitBean)
|
||||||
if (pitNumber == "1") {
|
if (pitNumber == "1") {
|
||||||
mSignPitBean = pitBean
|
mSignPitBean = pitBean
|
||||||
@@ -345,6 +377,8 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
* sign_id :场次id(这个出价的时候要传回来)
|
* sign_id :场次id(这个出价的时候要传回来)
|
||||||
*/
|
*/
|
||||||
fun event1090(messageEvent: RoomMessageEvent?) {
|
fun event1090(messageEvent: RoomMessageEvent?) {
|
||||||
|
mBinding.ivApplyForMai.isClickable = true
|
||||||
|
|
||||||
mSignId = messageEvent?.text?.sign_id
|
mSignId = messageEvent?.text?.sign_id
|
||||||
val endTime = messageEvent?.text?.end_time
|
val endTime = messageEvent?.text?.end_time
|
||||||
val signDay = messageEvent?.text?.sign_day
|
val signDay = messageEvent?.text?.sign_day
|
||||||
@@ -354,7 +388,6 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
signTypeDialog?.show(0)
|
signTypeDialog?.show(0)
|
||||||
|
|
||||||
|
|
||||||
mBinding.tvTimeLeft.text = startOrDelay[1]
|
mBinding.tvTimeLeft.text = startOrDelay[1]
|
||||||
mBinding.tvLeftPrice.text = currBodyValue
|
mBinding.tvLeftPrice.text = currBodyValue
|
||||||
mBinding.tvSignDay.visibility = View.VISIBLE
|
mBinding.tvSignDay.visibility = View.VISIBLE
|
||||||
@@ -385,17 +418,6 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
pitBean.charm = fromUserInfo.charm
|
pitBean.charm = fromUserInfo.charm
|
||||||
viewList[indexList.indexOf("2")].setData(pitBean)
|
viewList[indexList.indexOf("2")].setData(pitBean)
|
||||||
|
|
||||||
//当前麦上出价,需要更麦上数据
|
|
||||||
// for (i in 0 until viewList.size) {
|
|
||||||
// if(i == 1 || i == 2){
|
|
||||||
// continue
|
|
||||||
// }
|
|
||||||
// if (viewList[i].pitBean?.user_id != "0" && viewList[i].pitBean?.user_id == pitBean.user_id) {
|
|
||||||
// viewList[i].setData(mRoomInfo?.room_info?.pit_list!![indexList[i].toInt() - 1])
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
if (dialogMentorShip != null && dialogMentorShip?.isShowing!!) {
|
if (dialogMentorShip != null && dialogMentorShip?.isShowing!!) {
|
||||||
MvpPre!!.signCoinList(mSignId!!)
|
MvpPre!!.signCoinList(mSignId!!)
|
||||||
}
|
}
|
||||||
@@ -447,8 +469,6 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
override fun onItemClick(coin: String) {
|
override fun onItemClick(coin: String) {
|
||||||
dialogMentorShip?.setClickable(false)
|
dialogMentorShip?.setClickable(false)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MvpPre!!.signCoin(mSignId!!, coin)
|
MvpPre!!.signCoin(mSignId!!, coin)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -470,6 +490,16 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
// 观察时间变化
|
// 观察时间变化
|
||||||
scope.launch {
|
scope.launch {
|
||||||
timer.timeLeft.collect { time ->
|
timer.timeLeft.collect { time ->
|
||||||
|
LogUtils.e("startTimer:" + time)
|
||||||
|
if (time / 1000 <= 10) {
|
||||||
|
mBinding.tvJsq.visibility = View.VISIBLE
|
||||||
|
mBinding.tvJsq.text = (time / 1000).toString()
|
||||||
|
if ((time / 1000).toInt() <= 0) {
|
||||||
|
mBinding.tvJsq.visibility = View.GONE
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mBinding.tvJsq.visibility = View.GONE
|
||||||
|
}
|
||||||
val formattedTime = timer.formatTime(time)
|
val formattedTime = timer.formatTime(time)
|
||||||
// 更新UI显示
|
// 更新UI显示
|
||||||
updateTimerDisplay(formattedTime)
|
updateTimerDisplay(formattedTime)
|
||||||
@@ -488,6 +518,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
private fun updateTimerDisplay(time: String) {
|
private fun updateTimerDisplay(time: String) {
|
||||||
// 在这里更新你的UI,比如:
|
// 在这里更新你的UI,比如:
|
||||||
mBinding.tvTime.text = "倒计时 ${time}"
|
mBinding.tvTime.text = "倒计时 ${time}"
|
||||||
|
LogUtils.e("updateTimerDisplay:" + mBinding.tvTime.text.toString() + "\n" + (mBinding.tvTime.visibility == View.VISIBLE))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 延迟后重新开始计时
|
// 延迟后重新开始计时
|
||||||
@@ -503,7 +534,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
val fromUserId = messageEvent.text.fromUserInfo.user_id
|
val fromUserId = messageEvent.text.fromUserInfo.user_id
|
||||||
for (i in 0 until viewList.size) {
|
for (i in 0 until viewList.size) {
|
||||||
if (viewList[i].pitBean?.user_id == fromUserId.toString()) {
|
if (viewList[i].pitBean?.user_id == fromUserId.toString()) {
|
||||||
val pitBean = mRoomInfo?.room_info?.pit_list!![indexList[i].toInt() - 1]
|
val pitBean = mRoomInfoResp?.room_info?.pit_list!![indexList[i].toInt() - 1]
|
||||||
viewList[i].setData(pitBean)
|
viewList[i].setData(pitBean)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -515,7 +546,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
val toId = messageEvent.text.to_pit_number
|
val toId = messageEvent.text.to_pit_number
|
||||||
if (indexList.contains(fromId)) {
|
if (indexList.contains(fromId)) {
|
||||||
val viewPos = indexList.indexOf(fromId)
|
val viewPos = indexList.indexOf(fromId)
|
||||||
val pitBean = mRoomInfo?.room_info?.pit_list!![fromId.toInt() - 1]
|
val pitBean = mRoomInfoResp?.room_info?.pit_list!![fromId.toInt() - 1]
|
||||||
viewList[viewPos].setData(pitBean)
|
viewList[viewPos].setData(pitBean)
|
||||||
if (fromId == "1") {
|
if (fromId == "1") {
|
||||||
mSignPitBean = pitBean
|
mSignPitBean = pitBean
|
||||||
@@ -524,7 +555,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
if (indexList.contains(toId)) {
|
if (indexList.contains(toId)) {
|
||||||
val viewPos = indexList.indexOf(toId)
|
val viewPos = indexList.indexOf(toId)
|
||||||
val pitBean = mRoomInfo?.room_info?.pit_list!![toId.toInt() - 1]
|
val pitBean = mRoomInfoResp?.room_info?.pit_list!![toId.toInt() - 1]
|
||||||
viewList[viewPos].setData(pitBean)
|
viewList[viewPos].setData(pitBean)
|
||||||
if (toId == "1") {
|
if (toId == "1") {
|
||||||
mSignPitBean = pitBean
|
mSignPitBean = pitBean
|
||||||
@@ -619,8 +650,11 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
tvHugMic.setOnClickListener { v: View? ->
|
tvHugMic.setOnClickListener { v: View? ->
|
||||||
// 处理抱麦逻辑
|
// 处理抱麦逻辑
|
||||||
RoomOnlineDialogFragment.show(
|
(activity as RoomActivity).showUserListDialog(
|
||||||
mRoomId, mPitBean?.pit_number, mRoomInfo?.user_info, mRoomInfo,
|
mRoomId,
|
||||||
|
mPitBean?.pit_number,
|
||||||
|
mRoomInfoResp?.user_info,
|
||||||
|
mRoomInfoResp,
|
||||||
childFragmentManager
|
childFragmentManager
|
||||||
)
|
)
|
||||||
popupWindow!!.dismiss()
|
popupWindow!!.dismiss()
|
||||||
@@ -629,11 +663,11 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
|
|
||||||
|
|
||||||
private fun getHostUser(): Int {
|
private fun getHostUser(): Int {
|
||||||
return if (mRoomInfo?.user_info?.is_room_owner == 1) {
|
return if (mRoomInfoResp?.user_info?.is_room_owner == 1) {
|
||||||
1
|
1
|
||||||
} else if (mRoomInfo?.user_info?.is_management == 1) {
|
} else if (mRoomInfoResp?.user_info?.is_management == 1) {
|
||||||
2
|
2
|
||||||
} else if (mRoomInfo?.user_info?.is_host == 1) {
|
} else if (mRoomInfoResp?.user_info?.is_host == 1) {
|
||||||
3
|
3
|
||||||
} else {
|
} else {
|
||||||
4
|
4
|
||||||
@@ -641,7 +675,7 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun isNumberWhether(): Int {
|
private fun isNumberWhether(): Int {
|
||||||
if (mRoomInfo?.user_info?.pit_number == 9) {
|
if (mRoomInfoResp?.user_info?.pit_number == 9) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
@@ -715,10 +749,10 @@ class RoomMentorShipFragment(var mRoomInfo: RoomInfoResp?) :
|
|||||||
"确认",
|
"确认",
|
||||||
"拒绝",
|
"拒绝",
|
||||||
{ v: View? ->
|
{ v: View? ->
|
||||||
MvpPre.applyPit(mRoomInfo?.room_info?.room_id!!, "1")
|
MvpPre.applyPit(mRoomInfoResp?.room_info?.room_id!!, "1")
|
||||||
},
|
},
|
||||||
{ v: View? ->
|
{ v: View? ->
|
||||||
MvpPre.signRefuse(mRoomInfo?.room_info?.room_id!!)
|
MvpPre.signRefuse(mRoomInfoResp?.room_info?.room_id!!)
|
||||||
}, true, 5
|
}, true, 5
|
||||||
).show()
|
).show()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,10 +183,10 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
|||||||
roomPitBean = pitBean;
|
roomPitBean = pitBean;
|
||||||
showPopupMenu(view); // v 是点击的按钮视图
|
showPopupMenu(view); // v 是点击的按钮视图
|
||||||
} else if (pitNumber1 == 10) {
|
} else if (pitNumber1 == 10) {
|
||||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity){
|
if (getActivity() != null && getActivity() instanceof RoomActivity){
|
||||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4){
|
if (getActivity() != null && ((RoomActivity) getActivity()).getHostUser() < 4){
|
||||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
((RoomActivity)getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||||
@@ -338,7 +338,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
|||||||
|
|
||||||
tvHugMic.setOnClickListener(v -> {
|
tvHugMic.setOnClickListener(v -> {
|
||||||
// 处理抱麦逻辑
|
// 处理抱麦逻辑
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if(getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
popupWindow.dismiss();
|
popupWindow.dismiss();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -713,9 +715,10 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
|||||||
} else if (pitNumber1 == 10) {
|
} else if (pitNumber1 == 10) {
|
||||||
// 添加防重复点击检查
|
// 添加防重复点击检查
|
||||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
|
||||||
} else {
|
} else {
|
||||||
MvpPre.applyPit(roomId, pitNumber1 + "");
|
MvpPre.applyPit(roomId, pitNumber1 + "");
|
||||||
}
|
}
|
||||||
@@ -783,9 +786,10 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
|||||||
} else if (pitNumber1 == 10) {
|
} else if (pitNumber1 == 10) {
|
||||||
// 添加防重复点击检查
|
// 添加防重复点击检查
|
||||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||||
|
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
|
||||||
} else {
|
} else {
|
||||||
MvpPre.applyPit(roomId, pitNumber1 + "");
|
MvpPre.applyPit(roomId, pitNumber1 + "");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ public class SongHistoryFragment extends BaseMvpFragment<RequestSongPresenter,Fr
|
|||||||
@Override
|
@Override
|
||||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||||
page = 1;
|
page = 1;
|
||||||
|
songList.clear();
|
||||||
MvpPre.singerSongList(roomId, type, page + "", "10");
|
MvpPre.singerSongList(roomId, type, page + "", "10");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -154,6 +155,7 @@ public class SongHistoryFragment extends BaseMvpFragment<RequestSongPresenter,Fr
|
|||||||
// 根据选择的时间筛选条件更新历史记录列表
|
// 根据选择的时间筛选条件更新历史记录列表
|
||||||
// 可以在这里调用接口获取对应时间段的历史记录
|
// 可以在这里调用接口获取对应时间段的历史记录
|
||||||
page = 1;
|
page = 1;
|
||||||
|
songList.clear();
|
||||||
MvpPre.singerSongList(roomId, type, page + "", "10");
|
MvpPre.singerSongList(roomId, type, page + "", "10");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,7 +183,7 @@ public class SongHistoryFragment extends BaseMvpFragment<RequestSongPresenter,Fr
|
|||||||
@Override
|
@Override
|
||||||
public void singerSongList(SongPlaylist s) {
|
public void singerSongList(SongPlaylist s) {
|
||||||
|
|
||||||
if (s != null &&s.getLists()!=null && s.getLists().size() > 0 ) {
|
if (s != null && !s.getLists().isEmpty()) {
|
||||||
// 判断当前是刷新还是加载更多
|
// 判断当前是刷新还是加载更多
|
||||||
RefreshState state = mBinding.smartRefreshLayout.getState();
|
RefreshState state = mBinding.smartRefreshLayout.getState();
|
||||||
if (state == RefreshState.Refreshing) {
|
if (state == RefreshState.Refreshing) {
|
||||||
@@ -192,7 +194,7 @@ public class SongHistoryFragment extends BaseMvpFragment<RequestSongPresenter,Fr
|
|||||||
mBinding.smartRefreshLayout.finishRefresh(true);
|
mBinding.smartRefreshLayout.finishRefresh(true);
|
||||||
} else if (state == RefreshState.Loading) {
|
} else if (state == RefreshState.Loading) {
|
||||||
// 加载更多,添加数据到列表
|
// 加载更多,添加数据到列表
|
||||||
if (s.getLists().size() > 0) {
|
if (!s.getLists().isEmpty()) {
|
||||||
// 只添加新加载的数据,而不是整个列表
|
// 只添加新加载的数据,而不是整个列表
|
||||||
songList.addAll(s.getLists());
|
songList.addAll(s.getLists());
|
||||||
adapter.addData(s.getLists());
|
adapter.addData(s.getLists());
|
||||||
@@ -210,6 +212,8 @@ public class SongHistoryFragment extends BaseMvpFragment<RequestSongPresenter,Fr
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
// songList.clear();
|
||||||
|
adapter.notifyDataSetChanged();
|
||||||
// 数据为空
|
// 数据为空
|
||||||
if (mBinding.smartRefreshLayout.getState() == RefreshState.Refreshing) {
|
if (mBinding.smartRefreshLayout.getState() == RefreshState.Refreshing) {
|
||||||
mBinding.smartRefreshLayout.finishRefresh(false);
|
mBinding.smartRefreshLayout.finishRefresh(false);
|
||||||
|
|||||||
@@ -17,10 +17,12 @@ import com.xscm.modulemain.activity.room.activity.SearchActivity;
|
|||||||
import com.xscm.modulemain.activity.room.contacts.VoiceContacts;
|
import com.xscm.modulemain.activity.room.contacts.VoiceContacts;
|
||||||
import com.xscm.modulemain.databinding.FragmentVoiceBinding;
|
import com.xscm.modulemain.databinding.FragmentVoiceBinding;
|
||||||
import com.xscm.modulemain.activity.room.presenter.VoicePresenter;
|
import com.xscm.modulemain.activity.room.presenter.VoicePresenter;
|
||||||
|
import com.xscm.modulemain.dialog.SignInDialog;
|
||||||
import com.xscm.moduleutil.adapter.MyFragmentPagerAdapter;
|
import com.xscm.moduleutil.adapter.MyFragmentPagerAdapter;
|
||||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||||
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
||||||
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
|
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
|
||||||
|
import com.xscm.moduleutil.bean.TasksSignStatus;
|
||||||
import com.xscm.moduleutil.dialog.FirstChargeDialog;
|
import com.xscm.moduleutil.dialog.FirstChargeDialog;
|
||||||
import com.xscm.moduleutil.dialog.RechargeDialogFragment;
|
import com.xscm.moduleutil.dialog.RechargeDialogFragment;
|
||||||
import com.xscm.modulemain.dialog.YouthModelDialog;
|
import com.xscm.modulemain.dialog.YouthModelDialog;
|
||||||
@@ -33,6 +35,8 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
|
|
||||||
public class VoiceFragment extends BaseMvpFragment<VoicePresenter, FragmentVoiceBinding> implements VoiceContacts.View {
|
public class VoiceFragment extends BaseMvpFragment<VoicePresenter, FragmentVoiceBinding> implements VoiceContacts.View {
|
||||||
@@ -98,7 +102,7 @@ public class VoiceFragment extends BaseMvpFragment<VoicePresenter, FragmentVoice
|
|||||||
// 记录已经显示过青少年模式弹窗
|
// 记录已经显示过青少年模式弹窗
|
||||||
SpUtil.setBooleanValue("youth_model_shown", true);
|
SpUtil.setBooleanValue("youth_model_shown", true);
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
MvpPre.activitiesPermission();
|
MvpPre.tasksSignStatus();
|
||||||
|
|
||||||
// 在这里可以继续显示其他弹窗,如首充弹窗
|
// 在这里可以继续显示其他弹窗,如首充弹窗
|
||||||
}
|
}
|
||||||
@@ -177,6 +181,23 @@ public class VoiceFragment extends BaseMvpFragment<VoicePresenter, FragmentVoice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tasksSignStatus(TasksSignStatus tasksSignStatus) {
|
||||||
|
if (tasksSignStatus.getStatus()==1){
|
||||||
|
MvpPre.activitiesPermission();
|
||||||
|
}else {
|
||||||
|
SignInDialog signInDialog = new SignInDialog(getContext());
|
||||||
|
signInDialog.setOnCloseListener(new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
|
MvpPre.activitiesPermission();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
signInDialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void setDialog(){
|
private void setDialog(){
|
||||||
if(ActivityUtils.getTopActivity() instanceof MainActivity){
|
if(ActivityUtils.getTopActivity() instanceof MainActivity){
|
||||||
((MainActivity)ActivityUtils.getTopActivity()).dialogUp();
|
((MainActivity)ActivityUtils.getTopActivity()).dialogUp();
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.xscm.modulemain.activity.room.contacts.VoiceContacts;
|
import com.xscm.modulemain.activity.room.contacts.VoiceContacts;
|
||||||
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
import com.xscm.moduleutil.bean.ActivitiesPermission;
|
||||||
|
import com.xscm.moduleutil.bean.TasksSignStatus;
|
||||||
import com.xscm.moduleutil.http.BaseObserver;
|
import com.xscm.moduleutil.http.BaseObserver;
|
||||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||||
|
|
||||||
@@ -134,4 +135,22 @@ public class VoicePresenter extends BasePresenter<VoiceContacts.View> implements
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tasksSignStatus() {
|
||||||
|
api.tasksSignStatus(new BaseObserver<TasksSignStatus>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
addDisposable(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(TasksSignStatus tasksSignStatus) {
|
||||||
|
if (MvpRef==null)
|
||||||
|
MvpRef=new WeakReference<>(mView);
|
||||||
|
MvpRef.get().tasksSignStatus(tasksSignStatus);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,20 @@
|
|||||||
package com.xscm.modulemain.activity.user.activity;
|
package com.xscm.modulemain.activity.user.activity;
|
||||||
|
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
|
|
||||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||||
|
import com.blankj.utilcode.util.ActivityUtils;
|
||||||
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
|
import com.xscm.modulemain.Application;
|
||||||
import com.xscm.modulemain.R;
|
import com.xscm.modulemain.R;
|
||||||
|
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||||
import com.xscm.modulemain.adapter.TaskBoxAdapter;
|
import com.xscm.modulemain.adapter.TaskBoxAdapter;
|
||||||
import com.xscm.modulemain.adapter.TaskDataAdapter;
|
import com.xscm.modulemain.adapter.TaskDataAdapter;
|
||||||
import com.xscm.modulemain.adapter.TaskSectionAdapter;
|
import com.xscm.modulemain.adapter.TaskSectionAdapter;
|
||||||
@@ -18,13 +24,20 @@ import com.xscm.modulemain.activity.user.conacts.DailyTasksConacts;
|
|||||||
import com.xscm.modulemain.activity.user.presenter.DailyTasksPresenter;
|
import com.xscm.modulemain.activity.user.presenter.DailyTasksPresenter;
|
||||||
import com.xscm.modulemain.BaseMvpActivity;
|
import com.xscm.modulemain.BaseMvpActivity;
|
||||||
import com.xscm.modulemain.activity.WebViewActivity;
|
import com.xscm.modulemain.activity.WebViewActivity;
|
||||||
|
import com.xscm.modulemain.dialog.SignInDialog;
|
||||||
import com.xscm.modulemain.manager.RoomManager;
|
import com.xscm.modulemain.manager.RoomManager;
|
||||||
|
import com.xscm.moduleutil.base.CommonAppContext;
|
||||||
|
import com.xscm.moduleutil.bean.RoomMessageEvent;
|
||||||
|
import com.xscm.moduleutil.utils.CustomMsgCode;
|
||||||
import com.xscm.moduleutil.base.WebUrlConstants;
|
import com.xscm.moduleutil.base.WebUrlConstants;
|
||||||
import com.xscm.moduleutil.bean.GiftBoxBean;
|
import com.xscm.moduleutil.bean.GiftBoxBean;
|
||||||
import com.xscm.moduleutil.bean.GiftName;
|
import com.xscm.moduleutil.bean.GiftName;
|
||||||
import com.xscm.moduleutil.bean.TaskItem;
|
import com.xscm.moduleutil.listener.MessageListenerSingleton;
|
||||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||||
import com.xscm.moduleutil.utils.ColorManager;
|
import com.xscm.moduleutil.utils.ColorManager;
|
||||||
|
import com.xscm.moduleutil.utils.SpUtil;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -32,6 +45,8 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qx
|
* @author qx
|
||||||
@@ -46,6 +61,10 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
|||||||
|
|
||||||
private TaskDataAdapter taskDataAdapter;
|
private TaskDataAdapter taskDataAdapter;
|
||||||
|
|
||||||
|
private List<GiftBoxBean.TaskDataBean> taskList = new ArrayList<>();
|
||||||
|
|
||||||
|
private boolean isJoinRoom = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected DailyTasksPresenter bindPresenter() {
|
protected DailyTasksPresenter bindPresenter() {
|
||||||
return new DailyTasksPresenter(this, this);
|
return new DailyTasksPresenter(this, this);
|
||||||
@@ -78,6 +97,31 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
|||||||
mBinding.rvTask.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
|
mBinding.rvTask.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
|
||||||
mBinding.rvTask.setAdapter(mTaskBoxAdapter);
|
mBinding.rvTask.setAdapter(mTaskBoxAdapter);
|
||||||
|
|
||||||
|
mBinding.rvTaskToday.setLayoutManager(new GridLayoutManager(this, 1));
|
||||||
|
mTaskDataAdapter = new TaskSectionAdapter(taskList);
|
||||||
|
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
|
||||||
|
|
||||||
|
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
|
||||||
|
@Override
|
||||||
|
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://未开始
|
||||||
|
taskStatus1(item);
|
||||||
|
break;
|
||||||
|
case 2://待领取
|
||||||
|
MvpPre.dailyTasksReceive(item.getTask_id() + "", item.getStudent_id());
|
||||||
|
break;
|
||||||
|
case 3://已完成
|
||||||
|
if (item.getTask_id() == 1) {
|
||||||
|
SignInDialog sginDialog = new SignInDialog(DailyTasksActivity.this);
|
||||||
|
sginDialog.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
mBinding.imGz.setOnClickListener(v -> {
|
mBinding.imGz.setOnClickListener(v -> {
|
||||||
Intent intent = new Intent(this, WebViewActivity.class);
|
Intent intent = new Intent(this, WebViewActivity.class);
|
||||||
@@ -93,6 +137,16 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void isShowLoading(boolean b) {
|
||||||
|
if (b) {
|
||||||
|
mBinding.coolWaitView.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
Observable.timer(5, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
|
||||||
|
mBinding.coolWaitView.setVisibility(View.GONE);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getLayoutId() {
|
protected int getLayoutId() {
|
||||||
return R.layout.activity_daily_tasks;
|
return R.layout.activity_daily_tasks;
|
||||||
@@ -103,59 +157,74 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
|||||||
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
|
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
|
||||||
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
|
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
|
||||||
|
|
||||||
mBinding.rvTaskToday.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
|
taskList.clear();
|
||||||
|
|
||||||
List<TaskItem> sections = new ArrayList<>();
|
|
||||||
// 每日任务
|
|
||||||
sections.add(new TaskItem("今日任务", giftBoxBean.getTasks().getDaily_tasks()));
|
|
||||||
// 特殊任务
|
|
||||||
sections.add(new TaskItem("特殊任务", giftBoxBean.getTasks().getDaily_tasks_special()));//
|
|
||||||
// 师徒任务
|
|
||||||
if (giftBoxBean.getTasks().getTeacher_tasks() != null && giftBoxBean.getTasks().getTeacher_tasks().size() > 0) {
|
|
||||||
sections.add(new TaskItem("师徒任务", giftBoxBean.getTasks().getTeacher_tasks()));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 平台任务
|
|
||||||
sections.add(new TaskItem("平台任务", giftBoxBean.getTasks().getUsual_tasks()));
|
|
||||||
mTaskDataAdapter = new TaskSectionAdapter(sections);
|
|
||||||
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
|
|
||||||
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
|
||||||
if (taskItem.getTitle().equals("今日任务") || taskItem.getTitle().equals("平台任务") || taskItem.getTitle().equals("师徒任务")) {
|
|
||||||
if (item.getTask_status() == 2) {
|
|
||||||
MvpPre.dailyTasksReceive(item.getTask_id() + "");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (item.getTask_status() == 2) {
|
|
||||||
MvpPre.dailyTasksReceive(item.getTask_id() + "");
|
|
||||||
} else if (item.getTask_status() == 1) {
|
|
||||||
mBinding.coolWaitView.setVisibility(View.VISIBLE);
|
|
||||||
// if (item.getTask_id() == 9) {
|
|
||||||
RoomManager.getInstance().fetchRoomDataAndEnter(DailyTasksActivity.this, item.getFrom_id(), "", item.getTask_id() + "");
|
|
||||||
finish();
|
|
||||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", item.getFrom_id()).withString("taskId", item.getTask_id() + "").navigation();
|
|
||||||
// } else {
|
|
||||||
// RoomManager.getInstance().fetchRoomDataAndEnter(DailyTasksActivity.this, item.getFrom_id(), "", item.getTask_id() + "");
|
|
||||||
|
|
||||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", item.getFrom_id()).withString("taskId", item.getTask_id() + "").navigation();
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
giftBoxBean.getTasks().stream()
|
||||||
|
.filter(task -> !task.getTask_list().isEmpty())
|
||||||
|
.forEach(taskList::add);
|
||||||
|
|
||||||
|
mTaskDataAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void taskStatus1(GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
||||||
|
switch (item.getTask_id()) {
|
||||||
|
case 1:
|
||||||
|
SignInDialog sginDialog = new SignInDialog(this);
|
||||||
|
sginDialog.setOnCloseListener(new Function0<Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke() {
|
||||||
|
MvpPre.tasksLihen();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sginDialog.show();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch (item.getJump_type()) {
|
||||||
|
case 1:
|
||||||
|
toActivity(RealNameActivity.class);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
toActivity(CreateAlbumActivity.class);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
toActivity(BindCardActivity.class);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
mBinding.coolWaitView.setVisibility(View.VISIBLE);
|
||||||
|
MvpPre.taskJumpRoom(item, item.getTask_id() + "");
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
//跳转加入公会
|
||||||
|
Intent intent = new Intent(DailyTasksActivity.this, WebViewActivity.class);
|
||||||
|
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_GUILD_URL(), SpUtil.getToken(), ""));
|
||||||
|
intent.putExtra("title", "公会");
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
toActivity(RechargeActivity.class);
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("CheckResult")
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
Observable.timer(5, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
|
Observable.timer(5, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
|
||||||
mBinding.coolWaitView.setVisibility(View.GONE);
|
mBinding.coolWaitView.setVisibility(View.GONE);
|
||||||
|
if (!isFinishing() && isJoinRoom) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dailyTasksOpenBox(GiftName giftName) {
|
public void dailyTasksOpenBox(GiftName giftName) {
|
||||||
ToastUtils.show(giftName.getGift_name());
|
ToastUtils.show(giftName.getGift_name());
|
||||||
@@ -167,4 +236,52 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
|||||||
ToastUtils.show("任务完成");
|
ToastUtils.show("任务完成");
|
||||||
MvpPre.tasksLihen();
|
MvpPre.tasksLihen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item, String roomId) {
|
||||||
|
if (TextUtils.isEmpty(roomId) || roomId.equals("0")) {
|
||||||
|
ToastUtils.show("暂无此类型房间。");
|
||||||
|
mBinding.coolWaitView.setVisibility(View.GONE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch (item.getTask_id()) {
|
||||||
|
case 21:
|
||||||
|
case 22:
|
||||||
|
case 23:
|
||||||
|
RoomMessageEvent.T text = new RoomMessageEvent.T();
|
||||||
|
try {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("status", "1");
|
||||||
|
jsonObject.put("room_id", roomId);
|
||||||
|
text.setText(jsonObject.toString());
|
||||||
|
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
|
||||||
|
CustomMsgCode.INSTANCE.getCODE_TASK_APPRENTICE_JOIN_ROOM(),
|
||||||
|
item.getStudent_id(), text);
|
||||||
|
Application.Companion.getInstance().inviteApprenticeTaskTimer();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (ActivityUtils.getActivityList().size() > 1) {
|
||||||
|
if (ActivityUtils.getActivityList().get(ActivityUtils.getActivityList().size() - 2) instanceof RoomActivity) {
|
||||||
|
if (!TextUtils.isEmpty(CommonAppContext.getInstance().playId) && CommonAppContext.getInstance().playId.equals(roomId)) {
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
((RoomActivity) ActivityUtils.getActivityList().get(ActivityUtils.getActivityList().size() - 2)).refreshRoomInfo(roomId);
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RoomManager.getInstance().fetchRoomDataAndEnter(DailyTasksActivity.this, roomId, "", null);
|
||||||
|
isJoinRoom = true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
LogUtils.e("taskJumpRoom error: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ public class GiftBoxRecordActivity extends BaseMvpActivity<GiftBoxRecordPresente
|
|||||||
@Override
|
@Override
|
||||||
protected void initData() {
|
protected void initData() {
|
||||||
MvpPre.dailyTasksBoxRecord();
|
MvpPre.dailyTasksBoxRecord();
|
||||||
mBinding.topBar.setTitle("每日任务");
|
mBinding.topBar.setTitle("礼盒记录");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.xscm.modulemain.activity.user.activity
|
package com.xscm.modulemain.activity.user.activity
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.alibaba.android.arouter.launcher.ARouter
|
import com.alibaba.android.arouter.launcher.ARouter
|
||||||
import com.scwang.smartrefresh.layout.api.RefreshLayout
|
import com.scwang.smartrefresh.layout.api.RefreshLayout
|
||||||
@@ -40,7 +41,7 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
private var leftUserId: Int = 0
|
private var leftUserId: Int = 0
|
||||||
private var rightUserId: Int = 0
|
private var rightUserId: Int = 0
|
||||||
|
|
||||||
private var page: Int=1
|
private var page: Int = 1
|
||||||
|
|
||||||
override fun doDone() {
|
override fun doDone() {
|
||||||
super.doDone()
|
super.doDone()
|
||||||
@@ -49,10 +50,10 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
|
|
||||||
|
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
if (userId == 0){
|
if (userId == 0) {
|
||||||
userId=intent.getStringExtra("userId")?.toInt()!!
|
userId = intent.getStringExtra("userId")?.toInt()!!
|
||||||
}
|
}
|
||||||
MvpPre.getHeartCpData(userId,page)
|
MvpPre.getHeartCpData(userId, page)
|
||||||
|
|
||||||
mBinding.ivBack.setOnClickListener {
|
mBinding.ivBack.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
@@ -85,7 +86,7 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
|
|
||||||
adapter?.setOnItemClickListener { adapter, view, position ->
|
adapter?.setOnItemClickListener { adapter, view, position ->
|
||||||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE)
|
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE)
|
||||||
.withString("userId", mHeartData?.gift_log!![position].from_user_id.toString())
|
.withString("userId", dataList?.get(position)?.from_user_id.toString())
|
||||||
.navigation();
|
.navigation();
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
@@ -94,12 +95,12 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
OnRefreshLoadMoreListener {
|
OnRefreshLoadMoreListener {
|
||||||
override fun onLoadMore(refreshLayout: RefreshLayout) {
|
override fun onLoadMore(refreshLayout: RefreshLayout) {
|
||||||
page++
|
page++
|
||||||
MvpPre.getHeartCpData(userId,page)
|
MvpPre.getHeartCpData(userId, page)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRefresh(refreshLayout: RefreshLayout) {
|
override fun onRefresh(refreshLayout: RefreshLayout) {
|
||||||
page = 1 // 重置页码
|
page = 1 // 重置页码
|
||||||
MvpPre.getHeartCpData(userId,page)
|
MvpPre.getHeartCpData(userId, page)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -112,13 +113,13 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
override fun getHeartCpData(heartCpBean: HeartCpBean?) {
|
override fun getHeartCpData(heartCpBean: HeartCpBean?) {
|
||||||
mBinding.smartRefreshLayout.finishRefresh()
|
mBinding.smartRefreshLayout.finishRefresh()
|
||||||
mBinding.smartRefreshLayout.finishLoadMore()
|
mBinding.smartRefreshLayout.finishLoadMore()
|
||||||
if (heartCpBean == null) {
|
if (heartCpBean == null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
mHeartData = heartCpBean
|
|
||||||
|
|
||||||
if (userId == heartCpBean.user_id1) {
|
if (userId == heartCpBean.user_id1) {
|
||||||
ImageUtils.loadHeadCC(heartCpBean.user_info1.avatar, mBinding.ivHeadLeft)
|
ImageUtils.loadHeadCC(heartCpBean.user_info1.avatar, mBinding.ivHeadLeft)
|
||||||
@@ -142,15 +143,14 @@ class HeartCpActivity : BaseMvpActivity<HeartCpPresenter, ActivityHeartCpBinding
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (page == 1) {
|
if (page == 1) {
|
||||||
adapter?.setNewData(heartCpBean.gift_log)
|
dataList?.clear()
|
||||||
}else{
|
|
||||||
adapter?.addData(heartCpBean.gift_log)
|
|
||||||
}
|
}
|
||||||
|
dataList?.addAll(heartCpBean.gift_log)
|
||||||
val day = TimeUtils.formatDurationDaysOnly(
|
adapter?.notifyDataSetChanged()
|
||||||
heartCpBean.createtime * 1000 - System.currentTimeMillis()
|
val day = TimeUtils.calculateDays(
|
||||||
|
System.currentTimeMillis(), heartCpBean.createtime * 1000
|
||||||
)
|
)
|
||||||
|
|
||||||
mBinding.tvHeartTime.text = "我们在一起${day}啦"
|
mBinding.tvHeartTime.text = "我们在一起${day}天啦"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -271,7 +271,9 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MvpPre.check_create_room();
|
// MvpPre.check_create_room();
|
||||||
|
startActivity(new Intent(MyRoomActivity.this, CreatedRoomActivity.class));
|
||||||
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ public class NoblePaymentActivity extends BaseMvpActivity<NobleTitlePresenter, A
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedItem.getType() == null) {
|
if (selectedItem==null || selectedItem.getType() == null) {
|
||||||
ToastUtils.show("请选择支付方式");
|
ToastUtils.show("请选择支付方式");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,8 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
|||||||
|
|
||||||
ViewGroup.LayoutParams layoutParams = mBinding.recyclerView.getLayoutParams();
|
ViewGroup.LayoutParams layoutParams = mBinding.recyclerView.getLayoutParams();
|
||||||
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; // 使用你定义的getWidth方法
|
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; // 使用你定义的getWidth方法
|
||||||
layoutParams.height = SystemUtils.getWidth(372); // 示例高度
|
// layoutParams.height = SystemUtils.getWidth(372); // 示例高度
|
||||||
|
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT; // 示例高度
|
||||||
mBinding.recyclerView.setLayoutParams(layoutParams);
|
mBinding.recyclerView.setLayoutParams(layoutParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -124,41 +124,6 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
|
|||||||
mBinding.progressArc.setProgress(0);
|
mBinding.progressArc.setProgress(0);
|
||||||
mBinding.progressArc.setMax(100); // 设置最大值
|
mBinding.progressArc.setMax(100); // 设置最大值
|
||||||
mBinding.progressArc.setIndeterminate(false);
|
mBinding.progressArc.setIndeterminate(false);
|
||||||
// 设置长按录音逻辑
|
|
||||||
// mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() {
|
|
||||||
// @Override
|
|
||||||
// public boolean onTouch(View v, MotionEvent event) {
|
|
||||||
// switch (event.getAction()) {
|
|
||||||
// case MotionEvent.ACTION_DOWN:
|
|
||||||
// if (!isRecording && !isPlaying) {
|
|
||||||
// // 长按时改变按钮图案为类似试听后的图案
|
|
||||||
// mBinding.recordButton.setImageResource(R.mipmap.but_tz);
|
|
||||||
//
|
|
||||||
// // 如果之前已经录制过内容,则继续录制
|
|
||||||
// if (hasRecordedBefore && recordingFile != null && recordingFile.exists()) {
|
|
||||||
// isAppendRecording = true;
|
|
||||||
// startRecording();
|
|
||||||
// } else {
|
|
||||||
// // 首次录音或重录后
|
|
||||||
// isAppendRecording = false;
|
|
||||||
// startRecording();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// case MotionEvent.ACTION_UP:
|
|
||||||
// if (isRecording) {
|
|
||||||
// stopRecording();
|
|
||||||
// // 手指离开后恢复默认图案
|
|
||||||
// mBinding.recordButton.setImageResource(R.mipmap.but_ly);
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// default:
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() {
|
mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() {
|
||||||
private Runnable longPressRunnable;
|
private Runnable longPressRunnable;
|
||||||
@@ -243,10 +208,10 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
|
|||||||
mBinding.playButton.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.but_st, 0, 0);
|
mBinding.playButton.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.but_st, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
// 检查录音文件是否存在
|
// 检查录音文件是否存在
|
||||||
if (recordingFile == null || !recordingFile.exists()) {
|
// if (recordingFile == null || !recordingFile.exists()) {
|
||||||
Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show();
|
// Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 检查录音时长
|
// 检查录音时长
|
||||||
if (recordingDuration <= 0) {
|
if (recordingDuration <= 0) {
|
||||||
@@ -353,10 +318,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
|
|||||||
mediaRecorder.prepare();
|
mediaRecorder.prepare();
|
||||||
mediaRecorder.start();
|
mediaRecorder.start();
|
||||||
|
|
||||||
// 如果是第一次录音,初始化录音文件
|
// 修复:不再根据是否追加录音来设置recordingFile
|
||||||
if (!isAppendRecording) {
|
// recordingFile将在停止录音时通过mergeAudioFiles()方法设置
|
||||||
recordingFile = segmentFile;
|
// 这样可以确保每次录音都能正确合并
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
LogUtils.e("SingerVerification", "录音失败: " + e.getMessage());
|
LogUtils.e("SingerVerification", "录音失败: " + e.getMessage());
|
||||||
// 从列表中移除失败的文件
|
// 从列表中移除失败的文件
|
||||||
@@ -442,16 +406,28 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
|
|||||||
timer.cancel();
|
timer.cancel();
|
||||||
timer = null;
|
timer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 计算当前录音片段的时长
|
||||||
|
long currentSegmentDuration = System.currentTimeMillis() - recordingStartTime;
|
||||||
|
|
||||||
|
// 检查当前录音片段是否太短(小于1秒)
|
||||||
|
if (currentSegmentDuration < 1000 && recordingSegments.size() > 1) {
|
||||||
|
// 如果当前录音片段太短且不是第一个片段,则移除它
|
||||||
|
File lastSegment = recordingSegments.get(recordingSegments.size() - 1);
|
||||||
|
if (lastSegment.exists()) {
|
||||||
|
lastSegment.delete();
|
||||||
|
}
|
||||||
|
recordingSegments.remove(recordingSegments.size() - 1);
|
||||||
|
LogUtils.d("SingerVerification", "移除过短的录音片段: " + lastSegment.getAbsolutePath());
|
||||||
|
}
|
||||||
|
|
||||||
// 处理录音片段
|
// 处理录音片段
|
||||||
if (recordingSegments.size() > 1) {
|
// 修复:每次停止录音时都合并所有片段,确保录音连续性
|
||||||
// 如果有多个录音片段,合并它们
|
if (recordingSegments.size() >= 1) {
|
||||||
|
// 始终合并所有录音片段,确保连续性
|
||||||
mergeAudioFiles();
|
mergeAudioFiles();
|
||||||
// 更新录音时长为所有片段的总时长
|
// 更新录音时长为所有片段的总时长
|
||||||
updateRecordingDuration();
|
updateRecordingDuration();
|
||||||
} else if (recordingSegments.size() == 1) {
|
|
||||||
// 只有一个录音片段,直接使用
|
|
||||||
recordingFile = recordingSegments.get(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新状态
|
// 更新状态
|
||||||
@@ -749,11 +725,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
|
|||||||
handleMergeError(e);
|
handleMergeError(e);
|
||||||
} finally {
|
} finally {
|
||||||
cleanupResources(muxer, buffer);
|
cleanupResources(muxer, buffer);
|
||||||
// 修复:延迟删除原始音频片段,确保合并文件已经完全写入且被使用
|
// 修复:不删除录音片段,以便后续继续追加录音
|
||||||
// 延迟删除,给用户足够时间试听
|
// 只在用户点击"重新录音"时才删除所有片段
|
||||||
new Handler().postDelayed(() -> {
|
// cleanupSegments(processedSegments);
|
||||||
cleanupSegments(processedSegments);
|
|
||||||
}, 30000); // 延迟30秒删除,确保用户有足够时间试听
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class TotalRevenueActivity : BaseMvpActivity<UserFamilyPresenter, ActivityTotalR
|
|||||||
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(object :
|
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(object :
|
||||||
OnRefreshLoadMoreListener {
|
OnRefreshLoadMoreListener {
|
||||||
override fun onRefresh(refreshLayout: RefreshLayout) {
|
override fun onRefresh(refreshLayout: RefreshLayout) {
|
||||||
page++
|
page = 1 // 重置页码
|
||||||
MvpPre?.familyEarnings(
|
MvpPre?.familyEarnings(
|
||||||
userId.toString(),
|
userId.toString(),
|
||||||
page,
|
page,
|
||||||
@@ -90,7 +90,9 @@ class TotalRevenueActivity : BaseMvpActivity<UserFamilyPresenter, ActivityTotalR
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onLoadMore(refreshLayout: RefreshLayout) {
|
override fun onLoadMore(refreshLayout: RefreshLayout) {
|
||||||
page = 1 // 重置页码
|
|
||||||
|
|
||||||
|
page++
|
||||||
MvpPre?.familyEarnings(
|
MvpPre?.familyEarnings(
|
||||||
userId.toString(),
|
userId.toString(),
|
||||||
page,
|
page,
|
||||||
@@ -133,7 +135,6 @@ class TotalRevenueActivity : BaseMvpActivity<UserFamilyPresenter, ActivityTotalR
|
|||||||
// 显示没有更多数据的提示
|
// 显示没有更多数据的提示
|
||||||
// 设置一个特殊的空视图,表示没有更多数据
|
// 设置一个特殊的空视图,表示没有更多数据
|
||||||
// 重要:page--,因为这次加载没有新数据
|
// 重要:page--,因为这次加载没有新数据
|
||||||
page--
|
|
||||||
}
|
}
|
||||||
// 非第一页有数据
|
// 非第一页有数据
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class UnderageActivity extends BaseMvpActivity<UnderagePresenter, Activit
|
|||||||
// 密码正确,关闭页面
|
// 密码正确,关闭页面
|
||||||
// ToastUtils.showShort("密码验证成功");
|
// ToastUtils.showShort("密码验证成功");
|
||||||
|
|
||||||
ARouter.getInstance().build(ARouteConstants.ME).navigation();
|
// ARouter.getInstance().build(ARouteConstants.ME).navigation();
|
||||||
ActivityUtils.finishActivity(WebViewActivity.class);
|
ActivityUtils.finishActivity(WebViewActivity.class);
|
||||||
finish();
|
finish();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.xscm.modulemain.activity.user.activity;
|
package com.xscm.modulemain.activity.user.activity;
|
||||||
|
|
||||||
|
import static android.view.View.GONE;
|
||||||
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
@@ -30,7 +32,7 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
|
|||||||
|
|
||||||
private int page = 0;
|
private int page = 0;
|
||||||
private UserPlaylistAdapter mAdapter;
|
private UserPlaylistAdapter mAdapter;
|
||||||
private List<SongPlaylist.SongPlaylistBean> mSongPlaylistBean;
|
private List<SongPlaylist.SongPlaylistBean> mSongPlaylistBean = new ArrayList<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initView() {
|
protected void initView() {
|
||||||
@@ -60,7 +62,7 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
|
|||||||
mBinding.recycleView.setLayoutManager(new LinearLayoutManager(this));
|
mBinding.recycleView.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
// 初始化适配器
|
// 初始化适配器
|
||||||
mAdapter = new UserPlaylistAdapter(this, new ArrayList<>());
|
mAdapter = new UserPlaylistAdapter(this, mSongPlaylistBean);
|
||||||
mBinding.recycleView.setAdapter(mAdapter);
|
mBinding.recycleView.setAdapter(mAdapter);
|
||||||
// 设置滑动操作
|
// 设置滑动操作
|
||||||
// ItemTouchHelper itemTouchHelper = UserPlaylistAdapter.getItemTouchHelper(mAdapter);
|
// ItemTouchHelper itemTouchHelper = UserPlaylistAdapter.getItemTouchHelper(mAdapter);
|
||||||
@@ -146,31 +148,24 @@ public class UserPlaylistActivity extends BaseMvpActivity<SingerVerificationPres
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getSong(SongPlaylist s) {
|
public void getSong(SongPlaylist s) {
|
||||||
if (mAdapter != null) {
|
if (s != null) {
|
||||||
if (page == 1) {
|
if (!s.getLists().isEmpty()) {
|
||||||
// 第一页,直接设置数据
|
if (page == 1) {
|
||||||
if (s == null || s.getLists() == null || s.getLists().size() == 0) {
|
mSongPlaylistBean.clear();
|
||||||
return;
|
|
||||||
}
|
|
||||||
mSongPlaylistBean = s.getLists();
|
|
||||||
mAdapter.setNewData(s.getLists());
|
|
||||||
} else {
|
|
||||||
if (s == null || s.getLists() == null || s.getLists().size() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
mSongPlaylistBean.addAll(s.getLists());
|
mSongPlaylistBean.addAll(s.getLists());
|
||||||
// 更多页面,添加数据
|
mAdapter.notifyDataSetChanged();
|
||||||
mAdapter.addData(s.getLists());
|
// 更新歌单数量
|
||||||
|
mBinding.tvNum.setText("共" + s.getCount() + "首歌");
|
||||||
|
}else {
|
||||||
|
if (page == 1) {
|
||||||
|
mSongPlaylistBean.clear();
|
||||||
|
}
|
||||||
|
mAdapter.notifyDataSetChanged();
|
||||||
|
if(mSongPlaylistBean.size()==0){
|
||||||
|
mBinding.tvNum.setText("共" + mSongPlaylistBean.size() + "首歌");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新歌单数量
|
|
||||||
mBinding.tvNum.setText("共" + s.getCount() + "首歌");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 结束刷新或加载更多
|
|
||||||
if (mBinding.smartRefreshLayout != null) {
|
|
||||||
mBinding.smartRefreshLayout.finishRefresh();
|
|
||||||
mBinding.smartRefreshLayout.finishLoadMore();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ public class DailyTasksConacts {
|
|||||||
void dailyTasksOpenBox(GiftName giftName);
|
void dailyTasksOpenBox(GiftName giftName);
|
||||||
|
|
||||||
void dailyTasksComplete();
|
void dailyTasksComplete();
|
||||||
|
void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String taskId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface IMePre extends IPresenter {
|
public interface IMePre extends IPresenter {
|
||||||
@@ -23,7 +25,9 @@ public class DailyTasksConacts {
|
|||||||
|
|
||||||
void dailyTasksOpenBox(String gift_box_id);
|
void dailyTasksOpenBox(String gift_box_id);
|
||||||
|
|
||||||
void dailyTasksReceive(String task_id);
|
void dailyTasksReceive(String task_id,String student_id);
|
||||||
|
|
||||||
|
void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String roomId);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
|
|||||||
if (!userInfo.getIcon().isEmpty()) {
|
if (!userInfo.getIcon().isEmpty()) {
|
||||||
mBinding.headerInfo.flexEntry.setVisibility(VISIBLE);
|
mBinding.headerInfo.flexEntry.setVisibility(VISIBLE);
|
||||||
for (String url : userInfo.getIcon()) {
|
for (String url : userInfo.getIcon()) {
|
||||||
if (url.contains("http")) {
|
if (url != null && url.contains("http")) {
|
||||||
ImageView imageView1 = new ImageView(Application.getInstance());
|
ImageView imageView1 = new ImageView(Application.getInstance());
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
|||||||
if (images != null && !images.isEmpty()) {
|
if (images != null && !images.isEmpty()) {
|
||||||
|
|
||||||
for (String url : images) {
|
for (String url : images) {
|
||||||
if (url.contains("http")) {
|
if (url!=null && url.contains("http")) {
|
||||||
ImageView imageView = new ImageView(getContext());
|
ImageView imageView = new ImageView(getContext());
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
||||||
|
|||||||
@@ -6,19 +6,25 @@ import com.xscm.modulemain.activity.user.conacts.DailyTasksConacts;
|
|||||||
import com.xscm.moduleutil.bean.GiftBoxBean;
|
import com.xscm.moduleutil.bean.GiftBoxBean;
|
||||||
import com.xscm.moduleutil.bean.GiftName;
|
import com.xscm.moduleutil.bean.GiftName;
|
||||||
import com.xscm.moduleutil.http.BaseObserver;
|
import com.xscm.moduleutil.http.BaseObserver;
|
||||||
|
import com.xscm.moduleutil.http.RetrofitClient;
|
||||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
|
|
||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.disposables.Disposable;
|
||||||
|
|
||||||
public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> implements DailyTasksConacts.IMePre{
|
public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> implements DailyTasksConacts.IMePre{
|
||||||
|
|
||||||
|
DailyTasksConacts.View mView;
|
||||||
public DailyTasksPresenter(DailyTasksConacts.View view, Context context) {
|
public DailyTasksPresenter(DailyTasksConacts.View view, Context context) {
|
||||||
super(view, context);
|
super(view, context);
|
||||||
|
mView = view;
|
||||||
}
|
}
|
||||||
//获取礼盒列表
|
//获取礼盒列表
|
||||||
@Override
|
@Override
|
||||||
public void tasksLihen() {
|
public void tasksLihen() {
|
||||||
|
|
||||||
api.tasksLihen(new BaseObserver<GiftBoxBean>() {
|
RetrofitClient.getInstance().tasksLihen(new BaseObserver<GiftBoxBean>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
addDisposable(d);
|
addDisposable(d);
|
||||||
@@ -26,6 +32,9 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(GiftBoxBean giftBoxBean) {
|
public void onNext(GiftBoxBean giftBoxBean) {
|
||||||
|
if (MvpRef == null){
|
||||||
|
MvpRef = new WeakReference<>(mView);
|
||||||
|
}
|
||||||
MvpRef.get().setGiftBox(giftBoxBean);
|
MvpRef.get().setGiftBox(giftBoxBean);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -33,7 +42,7 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dailyTasksOpenBox(String gift_box_id) {
|
public void dailyTasksOpenBox(String gift_box_id) {
|
||||||
api.dailyTasksOpenBox(gift_box_id, new BaseObserver<GiftName>() {
|
RetrofitClient.getInstance().dailyTasksOpenBox(gift_box_id, new BaseObserver<GiftName>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
addDisposable(d);
|
addDisposable(d);
|
||||||
@@ -41,14 +50,17 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(GiftName giftName) {
|
public void onNext(GiftName giftName) {
|
||||||
|
if (MvpRef == null){
|
||||||
|
MvpRef = new WeakReference<>(mView);
|
||||||
|
}
|
||||||
MvpRef.get().dailyTasksOpenBox(giftName);
|
MvpRef.get().dailyTasksOpenBox(giftName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dailyTasksReceive(String task_id) {
|
public void dailyTasksReceive(String task_id,String student_id) {
|
||||||
api.dailyTasksReceive(task_id, new BaseObserver<String>() {
|
RetrofitClient.getInstance().dailyTasksReceive(task_id,student_id, new BaseObserver<String>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
@@ -57,11 +69,33 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(String s) {
|
public void onNext(String s) {
|
||||||
|
if (MvpRef == null){
|
||||||
|
MvpRef = new WeakReference<>(mView);
|
||||||
|
}
|
||||||
MvpRef.get().dailyTasksComplete();
|
MvpRef.get().dailyTasksComplete();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String taskId) {
|
||||||
|
RetrofitClient.getInstance().taskJumpRoomId(taskId, new BaseObserver<String>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(String s) {
|
||||||
|
if (MvpRef == null){
|
||||||
|
MvpRef = new WeakReference<>(mView);
|
||||||
|
}
|
||||||
|
MvpRef.get().taskJumpRoom(item,s);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements
|
|||||||
MvpRef=new WeakReference<>(mView);
|
MvpRef=new WeakReference<>(mView);
|
||||||
}
|
}
|
||||||
MvpRef.get().packOutcome(myBagDataBeans);
|
MvpRef.get().packOutcome(myBagDataBeans);
|
||||||
|
MvpRef.get().finishRefreshLoadMore();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,36 +78,57 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_heartbeat, noCpBean.relation_name)
|
holder.setText(R.id.tv_heartbeat, noCpBean.relation_name)
|
||||||
|
|
||||||
// 显示关系名称
|
// 显示关系名称
|
||||||
holder.setText(R.id.tv_cp_lv, noCpBean.relation_name)
|
// holder.setText(R.id.tv_cp_lv, noCpBean.relation_name)
|
||||||
var meHeadView: MeHeadView
|
var meHeadView: MeHeadView
|
||||||
var meHeadView2: MeHeadView
|
var meHeadView2: MeHeadView
|
||||||
meHeadView = holder.getView(R.id.user_nav1)
|
meHeadView = holder.getView(R.id.user_nav1)
|
||||||
meHeadView2 = holder.getView(R.id.user_nav2)
|
meHeadView2 = holder.getView(R.id.user_nav2)
|
||||||
meHeadView.setSex(noCpBean.relation_list[0].sex1,noCpBean.relation_list[0].avatar1,noCpBean.relation_list[0].dress1)
|
if (noCpBean.relation_list[0].user_id1 == userId.toInt()){
|
||||||
meHeadView2.setSex(noCpBean.relation_list[0].sex2,noCpBean.relation_list[0].avatar2,noCpBean.relation_list[0].dress2)
|
meHeadView.setSex(noCpBean.relation_list[0].sex1,noCpBean.relation_list[0].avatar1,noCpBean.relation_list[0].dress1)
|
||||||
|
holder.setText(R.id.tv_nickname1, noCpBean.relation_list[0].nickname1)
|
||||||
|
holder.setText(R.id.tv_nickname2, noCpBean.relation_list[0].nickname2)
|
||||||
|
meHeadView2.setSex(noCpBean.relation_list[0].sex2,noCpBean.relation_list[0].avatar2,noCpBean.relation_list[0].dress2)
|
||||||
|
|
||||||
|
}else{
|
||||||
|
meHeadView.setSex(noCpBean.relation_list[0].sex2,noCpBean.relation_list[0].avatar2,noCpBean.relation_list[0].dress2)
|
||||||
|
holder.setText(R.id.tv_nickname1, noCpBean.relation_list[0].nickname2)
|
||||||
|
holder.setText(R.id.tv_nickname2, noCpBean.relation_list[0].nickname1)
|
||||||
|
meHeadView2.setSex(noCpBean.relation_list[0].sex1,noCpBean.relation_list[0].avatar1,noCpBean.relation_list[0].dress1)
|
||||||
|
|
||||||
|
}
|
||||||
|
// 设置点击事件
|
||||||
|
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
||||||
|
if(noCpBean.relation_list[0].user_id1 == userId.toInt()){
|
||||||
|
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id1.toString())
|
||||||
|
}else{
|
||||||
|
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id2.toString())
|
||||||
|
}
|
||||||
|
// 点击第一个用户头像
|
||||||
|
}
|
||||||
|
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
||||||
|
// 点击第二个用户头像
|
||||||
|
// onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id2.toString())
|
||||||
|
if(noCpBean.relation_list[0].user_id2 == userId.toInt()){
|
||||||
|
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id2.toString())
|
||||||
|
|
||||||
|
}else{
|
||||||
|
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id1.toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 显示relation_list内容
|
// 显示relation_list内容
|
||||||
// ImageUtils.loadHead(noCpBean.relation_list[0].avatar1, holder.getView(R.id.user_nav1))
|
// ImageUtils.loadHead(noCpBean.relation_list[0].avatar1, holder.getView(R.id.user_nav1))
|
||||||
holder.setText(R.id.tv_nickname1, noCpBean.relation_list[0].nickname1)
|
|
||||||
// ImageUtils.loadHead(noCpBean.relation_list[0].avatar2, holder.getView(R.id.user_nav2))
|
// ImageUtils.loadHead(noCpBean.relation_list[0].avatar2, holder.getView(R.id.user_nav2))
|
||||||
holder.setText(R.id.tv_nickname2, noCpBean.relation_list[0].nickname2)
|
|
||||||
if (noCpBean.relation_list[0].user_id1 == SpUtil.getUserId() || noCpBean.relation_list[0].user_id2 == SpUtil.getUserId()) {
|
if (noCpBean.relation_list[0].user_id1== SpUtil.getUserId()||noCpBean.relation_list[0].user_id2== SpUtil.getUserId()) {
|
||||||
holder.setVisible(R.id.icon_cp_zd, true)
|
holder.setVisible(R.id.icon_cp_zd, true)
|
||||||
holder.setVisible(R.id.icon_cp_dele, true)
|
holder.setVisible(R.id.icon_cp_dele, true)
|
||||||
} else {
|
} else {
|
||||||
holder.setVisible(R.id.icon_cp_zd, false)
|
holder.setVisible(R.id.icon_cp_zd, false)
|
||||||
holder.setVisible(R.id.icon_cp_dele, false)
|
holder.setVisible(R.id.icon_cp_dele, false)
|
||||||
}
|
}
|
||||||
// 设置点击事件
|
|
||||||
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
|
||||||
// 点击第一个用户头像
|
|
||||||
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id1.toString())
|
|
||||||
}
|
|
||||||
|
|
||||||
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
|
||||||
// 点击第二个用户头像
|
|
||||||
onItemClickListener?.onUserClick(noCpBean.relation_list[0].user_id2.toString())
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置删除按钮点击事件
|
// 设置删除按钮点击事件
|
||||||
holder.getView<View>(R.id.icon_cp_dele).setOnClickListener {
|
holder.getView<View>(R.id.icon_cp_dele).setOnClickListener {
|
||||||
@@ -188,7 +209,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
meHeadView=holder.getView(R.id.user_nav1)
|
meHeadView=holder.getView(R.id.user_nav1)
|
||||||
meHeadView2=holder.getView(R.id.user_nav2)
|
meHeadView2=holder.getView(R.id.user_nav2)
|
||||||
|
|
||||||
if (relation1.user_id1== SpUtil.getUserId()){
|
if (relation1.user_id1== userId.toInt()){
|
||||||
meHeadView.setSex(relation1.sex2,relation1.avatar2,relation1.dress2)
|
meHeadView.setSex(relation1.sex2,relation1.avatar2,relation1.dress2)
|
||||||
holder.setText(R.id.tv_nickname1, relation1.nickname2)
|
holder.setText(R.id.tv_nickname1, relation1.nickname2)
|
||||||
|
|
||||||
@@ -197,7 +218,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_nickname1, relation1.nickname1)
|
holder.setText(R.id.tv_nickname1, relation1.nickname1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (relation2.user_id1== SpUtil.getUserId()){
|
if (relation2.user_id1==userId.toInt()){
|
||||||
meHeadView2.setSex(relation2.sex2,relation2.avatar2,relation2.dress2)
|
meHeadView2.setSex(relation2.sex2,relation2.avatar2,relation2.dress2)
|
||||||
holder.setText(R.id.tv_nickname2, relation2.nickname2)
|
holder.setText(R.id.tv_nickname2, relation2.nickname2)
|
||||||
}else{
|
}else{
|
||||||
@@ -215,7 +236,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_gx_time2, TimeUtils.formatDurationDaysOnly(noCpBean.relation_list[1].end_time.toLong()* 1000 - System.currentTimeMillis()))
|
holder.setText(R.id.tv_gx_time2, TimeUtils.formatDurationDaysOnly(noCpBean.relation_list[1].end_time.toLong()* 1000 - System.currentTimeMillis()))
|
||||||
|
|
||||||
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
||||||
if (relation1.user_id1== SpUtil.getUserId()){
|
if (relation1.user_id1== userId.toInt()){
|
||||||
// 点击第一个用户头像
|
// 点击第一个用户头像
|
||||||
onItemClickListener?.onUserClick(relation1.user_id2.toString())
|
onItemClickListener?.onUserClick(relation1.user_id2.toString())
|
||||||
}else {
|
}else {
|
||||||
@@ -225,7 +246,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
}
|
}
|
||||||
|
|
||||||
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
||||||
if (relation2.user_id1== SpUtil.getUserId()) {
|
if (relation2.user_id1== userId.toInt()) {
|
||||||
// 点击第二个用户头像
|
// 点击第二个用户头像
|
||||||
onItemClickListener?.onUserClick(relation2.user_id2.toString())
|
onItemClickListener?.onUserClick(relation2.user_id2.toString())
|
||||||
}else{
|
}else{
|
||||||
@@ -251,7 +272,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
meHeadView2=holder.getView(R.id.user_nav2)
|
meHeadView2=holder.getView(R.id.user_nav2)
|
||||||
meHeadView3=holder.getView(R.id.user_nav3)
|
meHeadView3=holder.getView(R.id.user_nav3)
|
||||||
|
|
||||||
if (relation1.user_id1== SpUtil.getUserId()){
|
if (relation1.user_id1== userId.toInt()){
|
||||||
meHeadView.setSex(relation1.sex2,relation1.avatar2,relation1.dress2)
|
meHeadView.setSex(relation1.sex2,relation1.avatar2,relation1.dress2)
|
||||||
holder.setText(R.id.tv_nickname1, relation1.nickname2)
|
holder.setText(R.id.tv_nickname1, relation1.nickname2)
|
||||||
}else{
|
}else{
|
||||||
@@ -259,7 +280,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_nickname1, relation1.nickname1)
|
holder.setText(R.id.tv_nickname1, relation1.nickname1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (relation2.user_id1== SpUtil.getUserId()){
|
if (relation2.user_id1== userId.toInt()){
|
||||||
meHeadView2.setSex(relation2.sex2,relation2.avatar2,relation2.dress2)
|
meHeadView2.setSex(relation2.sex2,relation2.avatar2,relation2.dress2)
|
||||||
holder.setText(R.id.tv_nickname2, relation2.nickname2)
|
holder.setText(R.id.tv_nickname2, relation2.nickname2)
|
||||||
}else{
|
}else{
|
||||||
@@ -267,7 +288,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_nickname2, relation2.nickname1)
|
holder.setText(R.id.tv_nickname2, relation2.nickname1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (relation3.user_id1== SpUtil.getUserId()){
|
if (relation3.user_id1==userId.toInt()){
|
||||||
meHeadView3.setSex(relation3.sex2,relation3.avatar2,relation3.dress2)
|
meHeadView3.setSex(relation3.sex2,relation3.avatar2,relation3.dress2)
|
||||||
holder.setText(R.id.tv_nickname3, relation3.nickname2)
|
holder.setText(R.id.tv_nickname3, relation3.nickname2)
|
||||||
}else{
|
}else{
|
||||||
@@ -292,7 +313,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
holder.setText(R.id.tv_gx_time3, TimeUtils.formatDurationDaysOnly(noCpBean.relation_list[2].end_time.toLong()* 1000 - System.currentTimeMillis()))
|
holder.setText(R.id.tv_gx_time3, TimeUtils.formatDurationDaysOnly(noCpBean.relation_list[2].end_time.toLong()* 1000 - System.currentTimeMillis()))
|
||||||
|
|
||||||
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
holder.getView<View>(R.id.user_nav1).setOnClickListener {
|
||||||
if (relation1.user_id1== SpUtil.getUserId()){
|
if (relation1.user_id1== userId.toInt()){
|
||||||
// 点击第一个用户头像
|
// 点击第一个用户头像
|
||||||
onItemClickListener?.onUserClick(relation1.user_id2.toString())
|
onItemClickListener?.onUserClick(relation1.user_id2.toString())
|
||||||
}else {
|
}else {
|
||||||
@@ -302,7 +323,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
}
|
}
|
||||||
|
|
||||||
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
holder.getView<View>(R.id.user_nav2).setOnClickListener {
|
||||||
if (relation2.user_id1== SpUtil.getUserId()) {
|
if (relation2.user_id1== userId.toInt()) {
|
||||||
// 点击第二个用户头像
|
// 点击第二个用户头像
|
||||||
onItemClickListener?.onUserClick(relation2.user_id2.toString())
|
onItemClickListener?.onUserClick(relation2.user_id2.toString())
|
||||||
}else{
|
}else{
|
||||||
@@ -310,7 +331,7 @@ class BosomFriendAdapter(data: MutableList<MultiItemEntity>) : BaseMultiItemQuic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
holder.getView<View>(R.id.user_nav3).setOnClickListener {
|
holder.getView<View>(R.id.user_nav3).setOnClickListener {
|
||||||
if (relation3.user_id1== SpUtil.getUserId()) {
|
if (relation3.user_id1==userId.toInt()) {
|
||||||
// 点击第三个用户头像
|
// 点击第三个用户头像
|
||||||
onItemClickListener?.onUserClick(relation3.user_id2.toString())
|
onItemClickListener?.onUserClick(relation3.user_id2.toString())
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
|||||||
tvName.setEndColor(Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color()));
|
tvName.setEndColor(Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color()));
|
||||||
tvName.setShine(true);
|
tvName.setShine(true);
|
||||||
tvName.setShineType(0);
|
tvName.setShineType(0);
|
||||||
}else {
|
} else {
|
||||||
tvName.setStartColor(Color.parseColor("#FFFFFFFF"));
|
tvName.setStartColor(Color.parseColor("#FFFFFFFF"));
|
||||||
tvName.setShineColor(Color.parseColor("#FFFFFFFF"));
|
tvName.setShineColor(Color.parseColor("#FFFFFFFF"));
|
||||||
tvName.setEndColor(Color.parseColor("#FFFFFFFF"));
|
tvName.setEndColor(Color.parseColor("#FFFFFFFF"));
|
||||||
@@ -245,7 +245,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
|||||||
LinearLayout ll_images = helper.getView(com.xscm.moduleutil.R.id.line);
|
LinearLayout ll_images = helper.getView(com.xscm.moduleutil.R.id.line);
|
||||||
ll_images.removeAllViews();
|
ll_images.removeAllViews();
|
||||||
for (String url : images) {
|
for (String url : images) {
|
||||||
if (url.contains("http")) {
|
if (url != null && url.contains("http")) {
|
||||||
ImageView imageView = new ImageView(helper.itemView.getContext());
|
ImageView imageView = new ImageView(helper.itemView.getContext());
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
helper.itemView.getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
helper.itemView.getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
||||||
@@ -264,7 +264,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
|||||||
String bubbleId = emMessage.getRoomId() + "_" + helper.getLayoutPosition() + "_bubble";
|
String bubbleId = emMessage.getRoomId() + "_" + helper.getLayoutPosition() + "_bubble";
|
||||||
View bubbleView = helper.getView(com.xscm.moduleutil.R.id.bubble);
|
View bubbleView = helper.getView(com.xscm.moduleutil.R.id.bubble);
|
||||||
bubbleView.setTag(bubbleId);
|
bubbleView.setTag(bubbleId);
|
||||||
|
|
||||||
if (emMessage.getText().getFromUserInfo().getChat_bubble() != null && !emMessage.getText().getFromUserInfo().getChat_bubble().isEmpty()) {
|
if (emMessage.getText().getFromUserInfo().getChat_bubble() != null && !emMessage.getText().getFromUserInfo().getChat_bubble().isEmpty()) {
|
||||||
// 使用 Glide 加载图片并设置名称
|
// 使用 Glide 加载图片并设置名称
|
||||||
String imageUrl = emMessage.getText().getFromUserInfo().getChat_bubble();
|
String imageUrl = emMessage.getText().getFromUserInfo().getChat_bubble();
|
||||||
|
|||||||
@@ -51,10 +51,10 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
|||||||
@Override
|
@Override
|
||||||
protected void convert(BaseViewHolder helper, ExpandColumnBean item) {
|
protected void convert(BaseViewHolder helper, ExpandColumnBean item) {
|
||||||
helper.addOnClickListener(R.id.dy_head_image);
|
helper.addOnClickListener(R.id.dy_head_image);
|
||||||
ImageView iv_sex=helper.getView(R.id.iv_user_sex);
|
ImageView iv_sex = helper.getView(R.id.iv_user_sex);
|
||||||
//先让单图,多图,音频的布局显示
|
//先让单图,多图,音频的布局显示
|
||||||
helper.getView(R.id.dy_image_recyc).setVisibility(View.VISIBLE);
|
helper.getView(R.id.dy_image_recyc).setVisibility(View.VISIBLE);
|
||||||
helper.setText(R.id.tv_agree,TimeUtils.getAgeByBirthDay(item.getBirthday())+"岁");
|
helper.setText(R.id.tv_agree, TimeUtils.getAgeByBirthDay(item.getBirthday()) + "岁");
|
||||||
//昵称
|
//昵称
|
||||||
helper.setText(com.xscm.moduleutil.R.id.dy_name_text, item.getNickname());
|
helper.setText(com.xscm.moduleutil.R.id.dy_name_text, item.getNickname());
|
||||||
ShineTextView tvName = helper.getView(com.xscm.moduleutil.R.id.dy_name_text);
|
ShineTextView tvName = helper.getView(com.xscm.moduleutil.R.id.dy_name_text);
|
||||||
@@ -64,7 +64,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
|||||||
tvName.setEndColor(Color.parseColor(item.getNickname_color()));
|
tvName.setEndColor(Color.parseColor(item.getNickname_color()));
|
||||||
tvName.setShine(true);
|
tvName.setShine(true);
|
||||||
tvName.setShineType(0);
|
tvName.setShineType(0);
|
||||||
}else {
|
} else {
|
||||||
tvName.setStartColor(Color.BLACK);
|
tvName.setStartColor(Color.BLACK);
|
||||||
tvName.setShineColor(Color.BLACK);
|
tvName.setShineColor(Color.BLACK);
|
||||||
tvName.setEndColor(Color.BLACK);
|
tvName.setEndColor(Color.BLACK);
|
||||||
@@ -73,9 +73,9 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
|||||||
}
|
}
|
||||||
// helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333"));
|
// helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333"));
|
||||||
helper.setText(R.id.tv_address, item.getLoginip());
|
helper.setText(R.id.tv_address, item.getLoginip());
|
||||||
if (item.getUser_id().equals(SpUtil.getUserId()+"")){
|
if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||||
helper.setVisible(R.id.gensui, false);
|
helper.setVisible(R.id.gensui, false);
|
||||||
}else {
|
} else {
|
||||||
helper.setVisible(R.id.gensui, true);
|
helper.setVisible(R.id.gensui, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
|||||||
recyclerView.setOnItemClickListener((parent, view, position, id) -> {
|
recyclerView.setOnItemClickListener((parent, view, position, id) -> {
|
||||||
FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter());
|
FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter());
|
||||||
});
|
});
|
||||||
}else {
|
} else {
|
||||||
helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE);
|
helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
|||||||
List<String> images = item.getIcon(); // 获取图片列表
|
List<String> images = item.getIcon(); // 获取图片列表
|
||||||
|
|
||||||
for (String url : images) {
|
for (String url : images) {
|
||||||
if (url.contains("http")) {
|
if (url != null && url.contains("http")) {
|
||||||
|
|
||||||
ImageView imageView = new ImageView(mContext);
|
ImageView imageView = new ImageView(mContext);
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
|
|||||||
@@ -224,12 +224,10 @@ public class PlaceholderFragment extends BaseMvpFragment<PlaceholderPresenter,
|
|||||||
ImageUtils.loadHeadCC(item.getUser_avatar(), helper.getView(R.id.iv_three_cp1_head));
|
ImageUtils.loadHeadCC(item.getUser_avatar(), helper.getView(R.id.iv_three_cp1_head));
|
||||||
ImageUtils.loadHeadCC(item.getUser_avatar1(), helper.getView(R.id.iv_three_cp2_head));
|
ImageUtils.loadHeadCC(item.getUser_avatar1(), helper.getView(R.id.iv_three_cp2_head));
|
||||||
|
|
||||||
// helper.setText(R.id.tv_charm, item.getNumber());
|
|
||||||
helper.setText(R.id.tv_name, item.getNickname());
|
helper.setText(R.id.tv_name, item.getNickname());
|
||||||
helper.setVisible( R.id.tv_cp_name,true).setText(R.id.tv_cp_name, item.getNickname1());
|
helper.setVisible( R.id.tv_cp_name,true).setText(R.id.tv_cp_name, item.getNickname1());
|
||||||
helper.setText(R.id.tv_no, String.valueOf(item.getRank()));
|
helper.setText(R.id.tv_no, String.valueOf(item.getRank()));
|
||||||
// ((BeautifulNameView) helper.getView(R.id.bnv_rank_list)).setTextColor(!TextUtils.isEmpty(item.getId_color()) ? Color.parseColor(item.getId_color()) : getResources().getColor(R.color.color_FF333333));
|
helper.setText(R.id.tv_charm, "Lv "+item.getTotal());
|
||||||
// ((BeautifulNameView) helper.getView(R.id.bnv_rank_list)).setText(item.getNickname2());
|
|
||||||
} else if (index == 1 || index == 2) {
|
} else if (index == 1 || index == 2) {
|
||||||
rl.setVisibility(View.GONE);
|
rl.setVisibility(View.GONE);
|
||||||
helper.getView(R.id.riv_avatar).setVisibility(View.VISIBLE);
|
helper.getView(R.id.riv_avatar).setVisibility(View.VISIBLE);
|
||||||
@@ -534,8 +532,8 @@ public class PlaceholderFragment extends BaseMvpFragment<PlaceholderPresenter,
|
|||||||
// ImageView imVip3 = mBinding.includeTopBar.ivVip3;
|
// ImageView imVip3 = mBinding.includeTopBar.ivVip3;
|
||||||
// ImageView imLevel3 = mBinding.includeTopBar.ivLevel3;
|
// ImageView imLevel3 = mBinding.includeTopBar.ivLevel3;
|
||||||
TextView tvId3 = mBinding.includeTopBar.tvId3;
|
TextView tvId3 = mBinding.includeTopBar.tvId3;
|
||||||
GifAvatarOvalView ivOneCp1Hhead = mBinding.includeTopBar.ivSecondCp1Head;
|
GifAvatarOvalView ivOneCp1Hhead = mBinding.includeTopBar.ivThreeCp1Head;
|
||||||
GifAvatarOvalView ivOneCp2Hhead = mBinding.includeTopBar.ivSecondCp2Head;
|
GifAvatarOvalView ivOneCp2Hhead = mBinding.includeTopBar.ivThreeCp2Head;
|
||||||
TextView tv_cp_xing1=mBinding.includeTopBar.tvCpXing3;
|
TextView tv_cp_xing1=mBinding.includeTopBar.tvCpXing3;
|
||||||
TextView tv_cp_name1=mBinding.includeTopBar.tvCpName3;
|
TextView tv_cp_name1=mBinding.includeTopBar.tvCpName3;
|
||||||
TextView tv_cp_name2=mBinding.includeTopBar.tvCpName32;
|
TextView tv_cp_name2=mBinding.includeTopBar.tvCpName32;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class RoomDetailsAdapter extends BaseMultiItemQuickAdapter<BaseMultiItemE
|
|||||||
TextView tv2 = helper.getView(R.id.tv_2);
|
TextView tv2 = helper.getView(R.id.tv_2);
|
||||||
TextView tv3 = helper.getView(R.id.tv_3);
|
TextView tv3 = helper.getView(R.id.tv_3);
|
||||||
TextView tv_go_to_room = helper.getView(R.id.tv_go_to_room);
|
TextView tv_go_to_room = helper.getView(R.id.tv_go_to_room);
|
||||||
ImageUtils.loadImageView(item1.getSender_avatar(), avatarView);
|
ImageUtils.loadCenterCrop(item1.getSender_avatar(), avatarView);
|
||||||
tvName.setText(item1.getSender_nickname());
|
tvName.setText(item1.getSender_nickname());
|
||||||
tv2.setText(item1.getReceive_nickname());
|
tv2.setText(item1.getReceive_nickname());
|
||||||
tv3.setText(item1.getGift_name() + "x" + item1.getNumber());
|
tv3.setText(item1.getGift_name() + "x" + item1.getNumber());
|
||||||
|
|||||||
@@ -102,9 +102,9 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
|
|||||||
// }else if (item.getType() == 1 && item.getType_pit() == 0){
|
// }else if (item.getType() == 1 && item.getType_pit() == 0){
|
||||||
// textView.setVisibility(GONE);
|
// textView.setVisibility(GONE);
|
||||||
// }
|
// }
|
||||||
if(item.getType() == 1) {
|
if (item.getType() == 1) {
|
||||||
textView.setText(item.getPit_number() != 0 ? (item.getPit_number() == 9 ? "主持" : (item.getPit_number() == 10 ? "嘉宾" : item.getPit_number() + "号麦")) : "");
|
textView.setText(item.getPit_number() != 0 ? (item.getPit_number() == 9 ? "主持" : (item.getPit_number() == 10 ? "嘉宾" : item.getPit_number() + "号麦")) : "");
|
||||||
}else {
|
} else {
|
||||||
textView.setText("抱麦");
|
textView.setText("抱麦");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
|
|||||||
List<String> images = item.getIcon(); // 获取图片列表
|
List<String> images = item.getIcon(); // 获取图片列表
|
||||||
|
|
||||||
for (String url : images) {
|
for (String url : images) {
|
||||||
if (url.contains("http")) {
|
if (url != null && url.contains("http")) {
|
||||||
ImageView imageView1 = new ImageView(helper.itemView.getContext());
|
ImageView imageView1 = new ImageView(helper.itemView.getContext());
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||||
@@ -128,7 +128,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
|
|||||||
imageView1.setScaleType(ImageView.ScaleType.FIT_START);
|
imageView1.setScaleType(ImageView.ScaleType.FIT_START);
|
||||||
|
|
||||||
// 使用 Glide 加载图片
|
// 使用 Glide 加载图片
|
||||||
ImageUtils.loadHeadCC(url, imageView1,params);
|
ImageUtils.loadHeadCC(url, imageView1, params);
|
||||||
llContainer.addView(imageView1);
|
llContainer.addView(imageView1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class RoomSettingAdapter extends BaseMultiItemQuickAdapter<RoomSettingBea
|
|||||||
boolean b = isSelected;
|
boolean b = isSelected;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeSing:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeSing:
|
||||||
return com.xscm.moduleutil.R.mipmap.ic_sing;
|
return com.xscm.moduleutil.R.mipmap.ic_jiaoy;
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeAuction:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeAuction:
|
||||||
return com.xscm.moduleutil.R.mipmap.ic_auction;
|
return com.xscm.moduleutil.R.mipmap.ic_auction;
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeBoy:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeBoy:
|
||||||
@@ -54,7 +54,7 @@ public class RoomSettingAdapter extends BaseMultiItemQuickAdapter<RoomSettingBea
|
|||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeGirl:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeGirl:
|
||||||
return com.xscm.moduleutil.R.mipmap.ic_girl;
|
return com.xscm.moduleutil.R.mipmap.ic_girl;
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy:
|
||||||
return com.xscm.moduleutil.R.mipmap.ic_jiaoy;
|
return com.xscm.moduleutil.R.mipmap.ic_sing;
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU:
|
||||||
return com.xscm.moduleutil.R.mipmap.huyu;
|
return com.xscm.moduleutil.R.mipmap.huyu;
|
||||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeLianG:
|
case RoomSettingBean.QXRoomSettingTypeRoomTypeLianG:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class SearchUserResultAdapter extends BaseQuickAdapter<UserResultResp, Ba
|
|||||||
helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord));
|
helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord));
|
||||||
helper.setText(R.id.tv_id, "ID:" + item.getUser_code());
|
helper.setText(R.id.tv_id, "ID:" + item.getUser_code());
|
||||||
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
||||||
headView.setData(item.getHead_picture(), "", "");
|
headView.setSex(item.getSex(),item.getAvatar(), "");
|
||||||
// if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
// if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||||
// helper.setVisible(R.id.gensui, false);
|
// helper.setVisible(R.id.gensui, false);
|
||||||
// } else {
|
// } else {
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.xscm.modulemain.adapter;
|
package com.xscm.modulemain.adapter;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.res.ColorStateList;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.ForegroundColorSpan;
|
||||||
@@ -39,13 +41,15 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
|
|||||||
giftName.setText(item.getName());
|
giftName.setText(item.getName());
|
||||||
giftTitle.setText(item.getTitle());
|
giftTitle.setText(item.getTitle());
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
itemView.setBackgroundColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_FCE4ED)); // 红色
|
itemView.setBackgroundResource(R.drawable.shape_8);
|
||||||
|
itemView.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#FFFCE4ED")));
|
||||||
giftName.setTextColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_E24171));
|
giftName.setTextColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_E24171));
|
||||||
setSpannableText(giftTitle, "最高可获得%d金币", Integer.parseInt(item.getHighest_gain()),com.xscm.moduleutil.R.color.color_E24171);
|
setSpannableText(giftTitle, "最高可获得%d金币", Integer.parseInt(item.getHighest_gain()),com.xscm.moduleutil.R.color.color_E24171);
|
||||||
ImageUtils.loadSetErrorImg(item.getIcon(), helper.getView(R.id.task_box), com.xscm.moduleutil.R.mipmap.task_cj);
|
ImageUtils.loadSetErrorImg(item.getIcon(), helper.getView(R.id.task_box), com.xscm.moduleutil.R.mipmap.task_cj);
|
||||||
} else if (position == 1) {
|
} else if (position == 1) {
|
||||||
|
itemView.setBackgroundResource(R.drawable.shape_8);
|
||||||
|
itemView.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#FFFDE8AE")));
|
||||||
ImageUtils.loadSetErrorImg(item.getIcon(), helper.getView(R.id.task_box), com.xscm.moduleutil.R.mipmap.task_gj);
|
ImageUtils.loadSetErrorImg(item.getIcon(), helper.getView(R.id.task_box), com.xscm.moduleutil.R.mipmap.task_gj);
|
||||||
itemView.setBackgroundColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_FDE8AE)); // 黄色
|
|
||||||
giftName.setTextColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_F35F07));
|
giftName.setTextColor(mContext.getResources().getColor(com.xscm.moduleutil.R.color.color_F35F07));
|
||||||
setSpannableText(giftTitle, "最高可获得%d金币", Integer.parseInt(item.getHighest_gain()),com.xscm.moduleutil.R.color.color_F35F07);
|
setSpannableText(giftTitle, "最高可获得%d金币", Integer.parseInt(item.getHighest_gain()),com.xscm.moduleutil.R.color.color_F35F07);
|
||||||
|
|
||||||
@@ -73,11 +77,10 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
|
|||||||
helper.setText(R.id.iv_unlock, item.getStatus_str());
|
helper.setText(R.id.iv_unlock, item.getStatus_str());
|
||||||
View unlockView = helper.getView(R.id.iv_unlock);
|
View unlockView = helper.getView(R.id.iv_unlock);
|
||||||
if (item.getStatus().equals("0")){
|
if (item.getStatus().equals("0")){
|
||||||
// helper.setImageDrawable(R.id.iv_unlock, mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.not_unlocked));
|
|
||||||
unlockView.setClickable(false);
|
unlockView.setClickable(false);
|
||||||
unlockView.setEnabled(false);
|
unlockView.setEnabled(false);
|
||||||
// 可选:改变颜色或透明度来视觉反馈
|
// 可选:改变颜色或透明度来视觉反馈
|
||||||
unlockView.setAlpha(0.9f); // 半透明表示不可点击
|
unlockView.setAlpha(0.2f); // 半透明表示不可点击
|
||||||
}else if (item.getStatus().equals("1")){
|
}else if (item.getStatus().equals("1")){
|
||||||
unlockView.setClickable(true);
|
unlockView.setClickable(true);
|
||||||
unlockView.setEnabled(true);
|
unlockView.setEnabled(true);
|
||||||
@@ -85,18 +88,10 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
|
|||||||
}else if (item.getStatus().equals("2")){
|
}else if (item.getStatus().equals("2")){
|
||||||
unlockView.setClickable(false);
|
unlockView.setClickable(false);
|
||||||
unlockView.setEnabled(false);
|
unlockView.setEnabled(false);
|
||||||
}
|
unlockView.setAlpha(1.0f); // 恢复正常显示
|
||||||
else {
|
|
||||||
// helper.setImageDrawable(R.id.iv_unlock, mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.unlocked));
|
|
||||||
|
|
||||||
unlockView.setClickable(false);
|
|
||||||
unlockView.setEnabled(false);
|
|
||||||
// 可选:改变颜色或透明度来视觉反馈
|
|
||||||
unlockView.setAlpha(0.8f); // 半透明表示不可点击
|
|
||||||
}
|
}
|
||||||
|
|
||||||
helper.getView(R.id.iv_unlock).setOnClickListener(new View.OnClickListener() {
|
helper.getView(R.id.iv_unlock).setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (onItemClickListener != null) {
|
if (onItemClickListener != null) {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
|
|||||||
TextView textView1= helper.getView(R.id.task_jb);
|
TextView textView1= helper.getView(R.id.task_jb);
|
||||||
|
|
||||||
if (item.getTask_status()==1){
|
if (item.getTask_status()==1){
|
||||||
textView.setText("未完成");
|
textView.setText(item.getTask_type_str());
|
||||||
}else if (item.getTask_status()==2){
|
}else if (item.getTask_status()==2){
|
||||||
textView.setText("");
|
textView.setText("");
|
||||||
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
|
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
|
||||||
@@ -52,17 +52,12 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
|
|||||||
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
|
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (item.getReward_type()==1){
|
|
||||||
textView1.setText("金币");
|
|
||||||
}else if (item.getReward_type()==2){
|
|
||||||
textView1.setText("钻石");
|
|
||||||
}
|
|
||||||
|
|
||||||
ImageUtils.loadHeadCC(item.getIcon(), helper.getView(R.id.task_pic));
|
|
||||||
helper.setText(R.id.task_name, item.getTask_name())
|
ImageUtils.loadCenterCrop(item.getIcon(), helper.getView(R.id.task_pic));
|
||||||
.setText(R.id.task_jb_number, "+"+item.getGold_reward());
|
helper.setText(R.id.task_name, item.getTask_name());
|
||||||
|
helper.setText(R.id.task_jb_number, item.getReward_str());
|
||||||
helper.getView(R.id.task_type).setOnClickListener(new View.OnClickListener() {
|
helper.getView(R.id.task_type).setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if (mItemClickLitener!= null){
|
if (mItemClickLitener!= null){
|
||||||
|
|||||||
@@ -17,14 +17,15 @@ import java.util.List;
|
|||||||
|
|
||||||
public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.SectionViewHolder> {
|
public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.SectionViewHolder> {
|
||||||
|
|
||||||
private List<TaskItem> sections;
|
private List<GiftBoxBean.TaskDataBean> sections;
|
||||||
|
|
||||||
public TaskSectionAdapter(List<TaskItem> sections) {
|
public TaskSectionAdapter(List<GiftBoxBean.TaskDataBean> sections) {
|
||||||
this.sections = sections;
|
this.sections = sections;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 定义点击事件接口
|
// 定义点击事件接口
|
||||||
public interface OnItemClickListener {
|
public interface OnItemClickListener {
|
||||||
void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
|
void onItemClick(GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
|
||||||
}
|
}
|
||||||
|
|
||||||
private OnItemClickListener listener;
|
private OnItemClickListener listener;
|
||||||
@@ -32,6 +33,7 @@ public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.
|
|||||||
public void setOnItemClickListener(OnItemClickListener listener) {
|
public void setOnItemClickListener(OnItemClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public SectionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public SectionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
@@ -41,25 +43,18 @@ public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull SectionViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull SectionViewHolder holder, int position) {
|
||||||
TaskItem section = sections.get(position);
|
GiftBoxBean.TaskDataBean section = sections.get(position);
|
||||||
holder.title.setText(section.title);
|
|
||||||
|
holder.title.setText(section.getTask_type_name());
|
||||||
|
|
||||||
TaskDataAdapter adapter = new TaskDataAdapter();
|
TaskDataAdapter adapter = new TaskDataAdapter();
|
||||||
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
|
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
|
||||||
holder.recyclerView.setAdapter(adapter);
|
holder.recyclerView.setAdapter(adapter);
|
||||||
adapter.setNewData(section.tasks);
|
adapter.setNewData(section.getTask_list());
|
||||||
// if (position==2){
|
|
||||||
// holder.view.setVisibility(View.VISIBLE);
|
|
||||||
// }else {
|
|
||||||
// holder.view.setVisibility(View.GONE);
|
|
||||||
// }
|
|
||||||
|
|
||||||
adapter.setItemClickLitener(new TaskDataAdapter.ItemClickLitener() {
|
adapter.setItemClickLitener((view, position1, item) -> {
|
||||||
@Override
|
if (listener != null) {
|
||||||
public void onItemClick(View view, int position, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
listener.onItemClick(section, item);
|
||||||
if (listener!= null) {
|
|
||||||
listener.onItemClick(section,item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.xscm.modulemain.dialog
|
package com.xscm.modulemain.dialog
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.CountDownTimer
|
import android.os.CountDownTimer
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
@@ -72,6 +73,7 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun setData(data: IndexRecommendRoom?) {
|
fun setData(data: IndexRecommendRoom?) {
|
||||||
|
|
||||||
this.data = data
|
this.data = data
|
||||||
// 设置房间数据
|
// 设置房间数据
|
||||||
data?.let { roomData ->
|
data?.let { roomData ->
|
||||||
@@ -85,6 +87,12 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) :
|
|||||||
// 仍然启动倒计时,让用户可以关闭对话框
|
// 仍然启动倒计时,让用户可以关闭对话框
|
||||||
startCountDown()
|
startCountDown()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isShowing){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
super.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -95,11 +103,11 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) :
|
|||||||
countDownTimer = object : CountDownTimer(9 * 1000L, 1000) {
|
countDownTimer = object : CountDownTimer(9 * 1000L, 1000) {
|
||||||
override fun onTick(millisUntilFinished: Long) {
|
override fun onTick(millisUntilFinished: Long) {
|
||||||
val secondsLeft = (millisUntilFinished / 1000).toInt()
|
val secondsLeft = (millisUntilFinished / 1000).toInt()
|
||||||
mBinding.btnNegative.setText("拒接" + " (" + secondsLeft + "s)")
|
mBinding.btnNegative.setText("拒绝" + " (" + secondsLeft + "s)")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFinish() {
|
override fun onFinish() {
|
||||||
// 检查是否被主动取消
|
// 检查是否被主动取消,安全地关闭对话框
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
}.start()
|
}.start()
|
||||||
@@ -118,6 +126,4 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) :
|
|||||||
}
|
}
|
||||||
super.dismiss()
|
super.dismiss()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -622,7 +622,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
|
|||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// } else {
|
// } else {
|
||||||
if (roonGiftModel == null|| roonGiftModel.getGift_id() == null) {
|
if (roonGiftModel == null|| roonGiftModel.getGift_id() == null || !roonGiftModel.isChecked() ) {
|
||||||
ToastUtils.show("请选择礼物");
|
ToastUtils.show("请选择礼物");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,13 +33,14 @@ import com.xscm.moduleutil.utils.ImageUtils;
|
|||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*@author qx
|
* @author qx
|
||||||
*@data 2025/6/21
|
* @data 2025/6/21
|
||||||
*@description: 设置主持人
|
* @description: 设置主持人
|
||||||
*/
|
*/
|
||||||
public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter, RoomHostAddFragmentBinding> implements RoomHostContacts.View {
|
public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter, RoomHostAddFragmentBinding> implements RoomHostContacts.View {
|
||||||
private String mRoomId ;
|
private String mRoomId;
|
||||||
private BaseQuickAdapter<RoomSearchResp, BaseViewHolder> mAdapter;
|
private BaseQuickAdapter<RoomSearchResp, BaseViewHolder> mAdapter;
|
||||||
|
|
||||||
// TODO: Customize parameter initialization
|
// TODO: Customize parameter initialization
|
||||||
@@ -51,11 +52,13 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
fragment.setArguments(args);
|
fragment.setArguments(args);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initArgs(Bundle arguments) {
|
public void initArgs(Bundle arguments) {
|
||||||
super.initArgs(arguments);
|
super.initArgs(arguments);
|
||||||
mRoomId = arguments.getString("roomId");
|
mRoomId = arguments.getString("roomId");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: 2025/3/7 固定dialog显示的位置和大小
|
// TODO: 2025/3/7 固定dialog显示的位置和大小
|
||||||
@Override
|
@Override
|
||||||
protected void initDialogStyle(Window window) {
|
protected void initDialogStyle(Window window) {
|
||||||
@@ -101,7 +104,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
public void run() {
|
public void run() {
|
||||||
String keyWord = editable.toString();
|
String keyWord = editable.toString();
|
||||||
if (!StringUtils.isEmpty(keyWord)) {
|
if (!StringUtils.isEmpty(keyWord)) {
|
||||||
MvpPre.setUserHostList(keyWord,"1");
|
MvpPre.setUserHostList(keyWord, "1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
@@ -116,7 +119,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
@Override
|
@Override
|
||||||
protected void convert(BaseViewHolder helper, RoomSearchResp item) {
|
protected void convert(BaseViewHolder helper, RoomSearchResp item) {
|
||||||
helper.setText(R.id.tv_name, item.getName());
|
helper.setText(R.id.tv_name, item.getName());
|
||||||
ImageUtils.loadHeadCC(item.getPicture(), helper.getView(R.id.image));
|
ImageUtils.loadHeadCC(item.getPicture(), helper.getView(R.id.image));
|
||||||
helper.setText(R.id.tv_id, item.getCode());
|
helper.setText(R.id.tv_id, item.getCode());
|
||||||
// if (item.getSex().equals("1")){
|
// if (item.getSex().equals("1")){
|
||||||
// helper.setBackgroundRes(R.id.tv_gender, com.qxcm.moduleutil.R.mipmap.boyb);
|
// helper.setBackgroundRes(R.id.tv_gender, com.qxcm.moduleutil.R.mipmap.boyb);
|
||||||
@@ -127,9 +130,9 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
// ImageUtils.loadImageView(item.getLevel_icon(), helper.getView(R.id.iv_rd));
|
// ImageUtils.loadImageView(item.getLevel_icon(), helper.getView(R.id.iv_rd));
|
||||||
LinearLayout llContainer = helper.getView(R.id.ll);
|
LinearLayout llContainer = helper.getView(R.id.ll);
|
||||||
llContainer.removeAllViews(); // 清空旧的 ImageView
|
llContainer.removeAllViews(); // 清空旧的 ImageView
|
||||||
if (!item.getIcon().isEmpty()||item.getIcon().size()>0){
|
if (!item.getIcon().isEmpty() || item.getIcon().size() > 0) {
|
||||||
for (String url : item.getIcon()) {
|
for (String url : item.getIcon()) {
|
||||||
if (url.contains("http")) {
|
if (url != null && url.contains("http")) {
|
||||||
ImageView imageView = new ImageView(getContext());
|
ImageView imageView = new ImageView(getContext());
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
|
||||||
@@ -154,7 +157,6 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
layout.setShadowOffsetX(1);
|
layout.setShadowOffsetX(1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
helper.getView(R.id.iv_add).setOnClickListener(new View.OnClickListener() {
|
helper.getView(R.id.iv_add).setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
@@ -185,7 +187,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getUserHostList(List<RoomSearchResp> list) {
|
public void getUserHostList(List<RoomSearchResp> list) {
|
||||||
mAdapter.setNewData(list);
|
mAdapter.setNewData(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -232,7 +234,4 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -29,6 +29,7 @@ import com.xscm.moduleutil.bean.room.RoomUserBean;
|
|||||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||||
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -47,18 +48,23 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
private RoomUserBean hostUser;
|
private RoomUserBean hostUser;
|
||||||
protected RoomInfoResp roomInfoResp;
|
protected RoomInfoResp roomInfoResp;
|
||||||
|
|
||||||
|
private List<RoomOnlineBean> onlineBeanList = new ArrayList<>();
|
||||||
|
|
||||||
|
private RoomOnline mOnlineBean;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected RoomPresenter bindPresenter() {
|
protected RoomPresenter bindPresenter() {
|
||||||
return new RoomPresenter(this, getActivity());
|
return new RoomPresenter(this, getActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RoomOnlineDialogFragment show(String id, String pit_number, RoomUserBean hostUser, RoomInfoResp roomInfoResp, FragmentManager fragmentManager) {
|
public static RoomOnlineDialogFragment show(String id, String pit_number, RoomOnline mOnlineBean, RoomUserBean hostUser, RoomInfoResp roomInfoResp, FragmentManager fragmentManager) {
|
||||||
RoomOnlineDialogFragment dialogFragment = new RoomOnlineDialogFragment();
|
RoomOnlineDialogFragment dialogFragment = new RoomOnlineDialogFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
args.putString("roomId", id); // 可选:传递参数
|
args.putString("roomId", id); // 可选:传递参数
|
||||||
args.putString("pit_number", pit_number);
|
args.putString("pit_number", pit_number);
|
||||||
args.putSerializable("hostUser", hostUser); // 可选:传递参数
|
args.putSerializable("hostUser", hostUser); // 可选:传递参数
|
||||||
args.putSerializable("roomInfoResp", roomInfoResp);
|
args.putSerializable("roomInfoResp", roomInfoResp);
|
||||||
|
args.putSerializable("mOnlineBean", mOnlineBean);
|
||||||
dialogFragment.setArguments(args);
|
dialogFragment.setArguments(args);
|
||||||
dialogFragment.show(fragmentManager, "RoomOnlineDialogFragment");
|
dialogFragment.show(fragmentManager, "RoomOnlineDialogFragment");
|
||||||
return dialogFragment;
|
return dialogFragment;
|
||||||
@@ -66,7 +72,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initData() {
|
protected void initData() {
|
||||||
MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
// MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -88,6 +94,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
roomId = getArguments().getString("roomId");
|
roomId = getArguments().getString("roomId");
|
||||||
pit_number = getArguments().getString("pit_number");
|
pit_number = getArguments().getString("pit_number");
|
||||||
|
mOnlineBean = (RoomOnline) getArguments().getSerializable("mOnlineBean");
|
||||||
hostUser = (RoomUserBean) getArguments().getSerializable("hostUser");
|
hostUser = (RoomUserBean) getArguments().getSerializable("hostUser");
|
||||||
roomInfoResp = (RoomInfoResp) getArguments().getSerializable("roomInfoResp");
|
roomInfoResp = (RoomInfoResp) getArguments().getSerializable("roomInfoResp");
|
||||||
}
|
}
|
||||||
@@ -99,28 +106,30 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
@Override
|
@Override
|
||||||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||||
// 添加延迟以避免过于频繁的请求
|
// 添加延迟以避免过于频繁的请求
|
||||||
page++;
|
page++;
|
||||||
if (MvpPre != null && getArguments() != null) {
|
if (MvpPre != null && getArguments() != null) {
|
||||||
MvpPre.getRoomOnline(getArguments().getString("roomId"), page + "", "10");
|
MvpPre.getRoomOnline(getArguments().getString("roomId"), page + "", "10");
|
||||||
} else {
|
} else {
|
||||||
refreshLayout.finishLoadMore(false);
|
refreshLayout.finishLoadMore(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||||
page = 1;
|
page = 1;
|
||||||
if (MvpPre != null && getArguments() != null) {
|
if (MvpPre != null && getArguments() != null) {
|
||||||
MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
||||||
} else {
|
} else {
|
||||||
refreshLayout.finishRefresh(false);
|
refreshLayout.finishRefresh(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
List<RoomOnlineBean> roomOnlineBeanList = processOnlineData(mOnlineBean);
|
||||||
|
onlineBeanList.addAll(roomOnlineBeanList);
|
||||||
|
updateUserCount(mOnlineBean.getCount());
|
||||||
mBinding.rvComment.setLayoutManager(new LinearLayoutManager(getActivity()));
|
mBinding.rvComment.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
roomOnlineAdapter = new RoomOnlineAdapter(new ArrayList<RoomOnlineBean>());
|
roomOnlineAdapter = new RoomOnlineAdapter(onlineBeanList);
|
||||||
mBinding.rvComment.setAdapter(roomOnlineAdapter);
|
mBinding.rvComment.setAdapter(roomOnlineAdapter);
|
||||||
|
|
||||||
roomOnlineAdapter.setListener(new RoomOnlineAdapter.OnJoinButtonClickListener() {
|
roomOnlineAdapter.setListener(new RoomOnlineAdapter.OnJoinButtonClickListener() {
|
||||||
@@ -216,41 +225,15 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
getActivity().runOnUiThread(() -> {
|
List<RoomOnlineBean> roomOnlineBeanList = processOnlineData(onlineBean);
|
||||||
finishRefreshOrLoad();
|
updateAdapterData(roomOnlineBeanList);
|
||||||
|
updateUserCount(onlineBean.getCount());
|
||||||
if (onlineBean == null) {
|
|
||||||
handleEmptyData();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<RoomOnlineBean> roomOnlineBeanList = processOnlineData(onlineBean);
|
|
||||||
updateAdapterData(roomOnlineBeanList);
|
|
||||||
updateUserCount(onlineBean.getCount());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isValidContext() {
|
private boolean isValidContext() {
|
||||||
return getActivity() != null && mBinding != null;
|
return getActivity() != null && mBinding != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void finishRefreshOrLoad() {
|
|
||||||
if (mBinding.srl == null) return;
|
|
||||||
|
|
||||||
if (page <= 1) {
|
|
||||||
mBinding.srl.finishRefresh();
|
|
||||||
} else {
|
|
||||||
mBinding.srl.finishLoadMore();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleEmptyData() {
|
|
||||||
if (page <= 1) {
|
|
||||||
roomOnlineAdapter.setNewData(new ArrayList<>());
|
|
||||||
} else if (mBinding.srl != null) {
|
|
||||||
mBinding.srl.finishLoadMoreWithNoMoreData();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<RoomOnlineBean> processOnlineData(RoomOnline onlineBean) {
|
private List<RoomOnlineBean> processOnlineData(RoomOnline onlineBean) {
|
||||||
List<RoomOnlineBean> result = new ArrayList<>();
|
List<RoomOnlineBean> result = new ArrayList<>();
|
||||||
@@ -296,13 +279,11 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateAdapterData(List<RoomOnlineBean> newData) {
|
private void updateAdapterData(List<RoomOnlineBean> newData) {
|
||||||
if (page <= 1) {
|
if (page == 1) {
|
||||||
roomOnlineAdapter.setNewData(newData);
|
onlineBeanList.clear();
|
||||||
} else if (!newData.isEmpty()) {
|
|
||||||
roomOnlineAdapter.addData(newData);
|
|
||||||
} else if (mBinding.srl != null) {
|
|
||||||
mBinding.srl.finishLoadMoreWithNoMoreData();
|
|
||||||
}
|
}
|
||||||
|
onlineBeanList.addAll(newData);
|
||||||
|
roomOnlineAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateUserCount(int count) {
|
private void updateUserCount(int count) {
|
||||||
@@ -315,11 +296,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void getRoomOnline(List<RoomOnlineBean> onlineBean) {
|
|
||||||
// roomOnlineAdapter.setNewData(onlineBean);
|
|
||||||
// mBinding.tvNum.setText("在线用户("+onlineBean.size()+")人");
|
|
||||||
// }
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
|
|||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
LogUtils.e("roomId:" + room_id+",userId:"+user_id);
|
||||||
MvpPre.getRoomUserInfo(room_id, user_id);
|
MvpPre.getRoomUserInfo(room_id, user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,247 @@
|
|||||||
|
package com.xscm.modulemain.dialog
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.view.Gravity
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.blankj.utilcode.util.ScreenUtils
|
||||||
|
import com.xscm.modulemain.R
|
||||||
|
import com.xscm.modulemain.databinding.DialogSignBinding
|
||||||
|
import com.xscm.moduleutil.bean.SignInData
|
||||||
|
import com.xscm.moduleutil.http.BaseObserver
|
||||||
|
import com.xscm.moduleutil.http.RetrofitClient
|
||||||
|
import com.xscm.moduleutil.utils.ImageLoader
|
||||||
|
import com.xscm.moduleutil.widget.dialog.BaseDialog
|
||||||
|
import io.reactivex.disposables.Disposable
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目名称:羽声语音
|
||||||
|
* 时间:2025/12/9 18:21
|
||||||
|
* 用途:签到
|
||||||
|
*/
|
||||||
|
class SignInDialog(context: Context) : BaseDialog<DialogSignBinding>(context) {
|
||||||
|
var signInDataLists: List<SignInData>? = ArrayList<SignInData>()
|
||||||
|
private var onCloseCallback: (() -> Unit)? = null
|
||||||
|
|
||||||
|
fun setOnCloseListener(callback: () -> Unit) = apply {
|
||||||
|
onCloseCallback = callback
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
init {
|
||||||
|
// 设置对话框从底部弹出
|
||||||
|
window?.setGravity(Gravity.CENTER)
|
||||||
|
// 设置对话框的宽度为屏幕宽度
|
||||||
|
// 2025年12月12日15:56:12 实验这里去掉,然后给布局中设置paddingHorizontal,效果和这里设置固定宽度是一样的
|
||||||
|
// window?.setLayout(
|
||||||
|
// (ScreenUtils.getScreenWidth() * 331f / 375).toInt(),
|
||||||
|
// ViewGroup.LayoutParams.WRAP_CONTENT
|
||||||
|
// )
|
||||||
|
// 添加动画效果
|
||||||
|
window?.setWindowAnimations(com.xscm.moduleutil.R.style.DialogAnimationt)
|
||||||
|
setCancelable(false)
|
||||||
|
setCanceledOnTouchOutside(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getLayoutId(): Int {
|
||||||
|
return R.layout.dialog_sign
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
mBinding.ivClose.setOnClickListener {
|
||||||
|
onCloseCallback?.invoke()
|
||||||
|
dismiss()
|
||||||
|
}
|
||||||
|
mBinding.btnSign.setOnClickListener {
|
||||||
|
|
||||||
|
RetrofitClient.getInstance().dailyTasksSign(object : BaseObserver<String>() {
|
||||||
|
override fun onSubscribe(d: Disposable) {
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onNext(t: String) {
|
||||||
|
var signInSuccessDialog=SignInSuccessDialog(context)
|
||||||
|
signInSuccessDialog.viewData(signInData)
|
||||||
|
signInSuccessDialog.setOnCloseListener {
|
||||||
|
onCloseCallback?.invoke()
|
||||||
|
}
|
||||||
|
signInSuccessDialog.show()
|
||||||
|
dismiss()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initData() {
|
||||||
|
RetrofitClient.getInstance().signIn(object : BaseObserver<List<SignInData>>() {
|
||||||
|
override fun onSubscribe(d: Disposable) {
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onNext(t: List<SignInData>) {
|
||||||
|
if (t.isNotEmpty()) {
|
||||||
|
signInDataLists = t
|
||||||
|
for (i in signInDataLists!!) {
|
||||||
|
setUpView(i)
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
onCloseCallback?.invoke()
|
||||||
|
dismiss()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var signInData = SignInData()
|
||||||
|
|
||||||
|
fun setUpView(signInData: SignInData) {
|
||||||
|
if (signInData.is_today == 1) {
|
||||||
|
this.signInData = signInData
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.btnSign.text = "已签到"
|
||||||
|
mBinding.btnSign.isEnabled = false
|
||||||
|
mBinding.btnSign.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_r53_f3f3f3)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (signInData.day == 1) {
|
||||||
|
mBinding.day1.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day1.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day1.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day1.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day1.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day1.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day1.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 2) {
|
||||||
|
mBinding.day2.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day2.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day2.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day2.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day2.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day2.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day2.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 3) {
|
||||||
|
mBinding.day3.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day3.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day3.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day3.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day3.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day3.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day3.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 4) {
|
||||||
|
mBinding.day4.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day4.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day4.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day4.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day4.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day4.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day4.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 5) {
|
||||||
|
mBinding.day5.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day5.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day5.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day5.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day5.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day5.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day5.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 6) {
|
||||||
|
mBinding.day6.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day6.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day6.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day6.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day6.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day6.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day6.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (signInData.day == 7) {
|
||||||
|
mBinding.day7.tvDay.text = signInData.day.toString()
|
||||||
|
|
||||||
|
mBinding.day7.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||||
|
if (signInData.sign_in_status == 1) {
|
||||||
|
mBinding.day7.ivCollected.visibility = View.VISIBLE
|
||||||
|
mBinding.day7.root.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_sigin_status)
|
||||||
|
ImageLoader.loadImage(
|
||||||
|
context,
|
||||||
|
mBinding.day7.ivSign,
|
||||||
|
signInData.base_image,
|
||||||
|
0.4f
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mBinding.day7.ivCollected.visibility = View.GONE
|
||||||
|
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||||
|
signInData.base_image,
|
||||||
|
mBinding.day7.ivSign
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||