From f7a88da164e7238f3da01a4fa310d0bcd9a5f33a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com> Date: Fri, 17 Oct 2025 09:57:43 +0800 Subject: [PATCH] =?UTF-8?q?1:=E6=96=B0=E7=89=88=E5=AE=9A=E5=8C=85=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 28 ++-- gradle.properties | 6 +- .../activity/BaseAppCompatActivity.java | 49 +----- .../moduleutil/base/CommonAppContext.java | 20 ++- .../com/xscm/moduleutil/bean/MqttXlhEnd.java | 5 +- .../moduleutil/bean/RoomMessageEvent.java | 1 + .../com/xscm/moduleutil/bean/UserInfo.java | 1 + .../com/xscm/moduleutil/bean/XLHBean.java | 9 +- .../moduleutil/bean/room/EMMessageInfo.java | 1 + .../moduleutil/bean/room/RoomHourBean.java | 1 + .../dialog/giftLottery/GiftItemAdapter.java | 1 + .../dialog/giftLottery/GiftLotteryDialog.java | 11 +- .../giftLottery/TourClubDialogFragment.java | 21 ++- .../moduleutil/service/MqttInitCallback.java | 58 ++++--- .../moduleutil/utils/QXRedPacketManager.java | 20 ++- .../java/com/xscm/moduleutil/utils/WanUtil.kt | 126 --------------- .../utils/config/EnvironmentPrefs.java | 4 +- .../xscm/moduleutil/view/QXMeetGiftView.java | 6 +- .../xscm/moduleutil/view/QXTimeDownView.java | 1 + .../moduleutil/widget/ChannelSplitRenderer.kt | 122 --------------- .../moduleutil/widget/room/BaseViewModel.kt | 38 ----- .../src/main/res/drawable/bg_xlh_huod_bj.xml | 6 + .../src/main/res/layout/dialog_xlh_obtain.xml | 4 +- .../res/layout/fragment_tour_club_dialog.xml | 7 +- .../src/main/res/layout/item_xlh_gift.xml | 85 ++++++---- .../src/main/res/mipmap-xxxhdpi/red_bj_h.png | Bin 50416 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/red_bj_h.webp | Bin 0 -> 3768 bytes .../src/main/res/mipmap-xxxhdpi/xr_ykj.png | Bin 0 -> 21606 bytes .../src/main/res/mipmap-xxxhdpi/xr_ykj.webp | Bin 4344 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/xr_ykj_xz.png | Bin 0 -> 41795 bytes .../main/res/mipmap-xxxhdpi/xr_ykj_xz.webp | Bin 4168 -> 0 bytes .../modulemain/activity/MainActivity.java | 2 +- .../activity/RedResultActivity.java | 6 +- .../moduleroom/activity/RoomActivity.kt | 146 +++++++++++------- .../moduleroom/adapter/RedBagAdapter.java | 3 +- .../moduleroom/adapter/RoomHourlyAdapter.java | 14 +- .../moduleroom/dialog/RedBagSendDialog.java | 29 +++- .../moduleroom/dialog/RedListDialog.java | 5 +- .../dialog/RoomUserInfoFragment.java | 1 + .../PublicScreenEaseChatFragment.java | 1 + .../src/main/res/layout/activity_room.xml | 8 +- .../main/res/layout/dialog_red_bag_send.xml | 44 ++++-- .../src/main/res/layout/fragment_red.xml | 2 +- .../src/main/res/layout/item_hourly.xml | 18 ++- .../activity/UserHomepageActivity.java | 21 +++ .../modulevoice/contacts/VoiceContacts.java | 5 + .../modulevoice/fragment/VoiceFragment.java | 54 ++++++- .../modulevoice/presenter/VoicePresenter.java | 27 +++- 48 files changed, 498 insertions(+), 519 deletions(-) delete mode 100644 moduleUtil/src/main/java/com/xscm/moduleutil/utils/WanUtil.kt delete mode 100644 moduleUtil/src/main/java/com/xscm/moduleutil/widget/ChannelSplitRenderer.kt delete mode 100644 moduleUtil/src/main/java/com/xscm/moduleutil/widget/room/BaseViewModel.kt create mode 100644 moduleUtil/src/main/res/drawable/bg_xlh_huod_bj.xml delete mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/red_bj_h.png create mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/red_bj_h.webp create mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj.png delete mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj.webp create mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj_xz.png delete mode 100644 moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj_xz.webp diff --git a/app/build.gradle b/app/build.gradle index bd569f5..4ff456c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -62,19 +62,19 @@ android { // // 测试版配置 beta { -// dimension "environment" -// // 测试版包名:基础包名 + .beta(com.example.myapp.beta) -// applicationIdSuffix ".beta" -// // 测试版版本名:1.0-beta -// versionNameSuffix "-beta" -// -// // 【测试版应用名称】动态生成带标识的名称 -// resValue "string", "app_name", "秘地-测试版" -// -// // 【测试版图标】替换为测试专用图标 -// manifestPlaceholders = [ -// appIcon: "@mipmap/ic_launcher_app_bat" // 需在main/res/mipmap放置该图标 -// ] + dimension "environment" + // 测试版包名:基础包名 + .beta(com.example.myapp.beta) + applicationIdSuffix ".beta" + // 测试版版本名:1.0-beta + versionNameSuffix "-beta" + + // 【测试版应用名称】动态生成带标识的名称 + resValue "string", "app_name", "秘地-测试版" + + // 【测试版图标】替换为测试专用图标 + manifestPlaceholders = [ + appIcon: "@mipmap/ic_launcher_app_bat" // 需在main/res/mipmap放置该图标 + ] } } @@ -97,7 +97,7 @@ android { } buildTypes { release { - minifyEnabled true + minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release diff --git a/gradle.properties b/gradle.properties index e8e6776..6f8d487 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,8 +28,8 @@ isBuildModule=false #org.gradle.deamon=false android.injected.testOnly=false -APP_VERSION_NAME=1.2.8 -APP_VERSION_CODE=183 +APP_VERSION_NAME=1.2.9.1 +APP_VERSION_CODE=187 org.gradle.jvm.toolchain.useLegacyAdapters=false #org.gradle.java.home=C\:\\Users\\qx\\.jdks\\ms-17.0.15 @@ -47,7 +47,7 @@ beta=false org.gradle.caching=false # ??APT???? -kapt.incremental.apt=false +kapt.incremental.apt=true # 或者禁用特定模块的增量编译 #org.gradle.configureondemand=false diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java index 692a510..ac94e26 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java @@ -704,6 +704,7 @@ public abstract class BaseAppCompatActivity extends public void onEvent(XLHBean event) { LogUtils.e("收到XLH", event); if (event == null) return; + if (event.getText()==null || event.getText().isEmpty()) return; if (SpUtil.getFloatingScreen() == 1) { synchronized (xlhQueueLock) { xlhMessageQueue.add(event); @@ -830,6 +831,7 @@ public abstract class BaseAppCompatActivity extends } } catch (Exception e) { LogUtils.e("播放红包音效失败", e); + isRedPacketMediaPrepared=false; } } @@ -1017,6 +1019,7 @@ public abstract class BaseAppCompatActivity extends Animation.ABSOLUTE, 0 ); enterAnim.setDuration(1500); + enterAnim.setInterpolator(new DecelerateInterpolator(2.0f)); enterAnim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { @@ -1032,7 +1035,8 @@ public abstract class BaseAppCompatActivity extends Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0 ); - exitAnim.setDuration(2000); + exitAnim.setDuration(3000); + exitAnim.setInterpolator(new DecelerateInterpolator(2f)); exitAnim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { @@ -1041,19 +1045,6 @@ public abstract class BaseAppCompatActivity extends @Override public void onAnimationEnd(Animation animation) { // 移除视图并处理下一个 -// ViewGroup rootView = (ViewGroup) getParent(); -// if (rootView != null) { -// rootView.removeView(QXGiftDriftView.this); -// } -// -// if (!dataArray.isEmpty()) { -// dataArray.remove(0); -// } -// isPlaying = false; -// -// if (!dataArray.isEmpty()) { -// giftAction(); -// } onAnimationEnd.run(); } @@ -1062,7 +1053,7 @@ public abstract class BaseAppCompatActivity extends } }); view.startAnimation(exitAnim); - }, 3000); // 停留1秒 + }, 5000); // 停留1秒 } @Override @@ -1071,34 +1062,6 @@ public abstract class BaseAppCompatActivity extends }); view.startAnimation(enterAnim); - -// ObjectAnimator animator1 = ObjectAnimator.ofFloat(view, "translationX", view.getWidth(), 0f); -// animator1.setDuration(1500); -// animator1.setInterpolator(new DecelerateInterpolator(1f)); -// animator1.start(); - -// view.postDelayed(() -> { -// try { -// ObjectAnimator animator2 = ObjectAnimator.ofFloat(view, "translationX", 0f, -view.getWidth()); -// animator2.setDuration(3000); -// animator2.setInterpolator(new DecelerateInterpolator(2.0f)); -// animator2.addListener(new AnimatorListenerAdapter() { -// @Override -// public void onAnimationEnd(Animator animation) { -// onAnimationEnd.run(); -// } -// -// @Override -// public void onAnimationCancel(Animator animation) { -// onAnimationEnd.run(); -// } -// }); -// animator2.start(); -// } catch (Exception e) { -// LogUtils.e("MQTT动画执行失败", e); -// onAnimationEnd.run(); -// } -// }, 3000); } catch (Exception e) { LogUtils.e("MQTT动画启动失败", e); onAnimationEnd.run(); diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java index c22039e..1b80887 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java @@ -345,7 +345,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio case TRIM_MEMORY_RUNNING_CRITICAL: // 应用仍在运行,但系统已开始杀死后台进程 LogUtils.d("Memory trim: critical"); - releaseAllNonEssentialResources(); +// releaseAllNonEssentialResources(); break; case TRIM_MEMORY_UI_HIDDEN: // 应用UI已隐藏,可以释放UI相关资源 @@ -377,9 +377,9 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio // Glide.get(this).clearMemory(); // 释放MQTT资源 - if (mqttConnect != null) { - mqttConnect.close(); - } +// if (mqttConnect != null) { +// mqttConnect.close(); +// } // 通知各个组件释放资源 // EventBus.getDefault().post(new MemoryTrimEvent()); @@ -450,8 +450,8 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio // startService(mqttServiceIntent); // } - mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId()); -// mqttConnect=MqttConnect.getInstance(this,"tcp://62.234.12.147","android-"+ MqttClient.generateClientId()); +// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId()); + mqttConnect=MqttConnect.getInstance(this,"tcp://62.234.12.147","android-"+ MqttClient.generateClientId()); mqttConnect.mqttClient(); // 每次启动应用时重置状态 @@ -526,6 +526,14 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio return null; } + public void upMqtt(){ + if (mqttConnect==null){ + mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId()); +// mqttConnect=MqttConnect.getInstance(this,"tcp://62.234.12.147","android-"+ MqttClient.generateClientId()); + mqttConnect.mqttClient(); + } + } + @Override protected void attachBaseContext(Context base) { MultiDex.install(this); diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MqttXlhEnd.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MqttXlhEnd.java index 964bcf6..0d32949 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MqttXlhEnd.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MqttXlhEnd.java @@ -2,7 +2,10 @@ package com.xscm.moduleutil.bean; import lombok.Data; +import java.io.Serializable; + @Data -public class MqttXlhEnd { +public class MqttXlhEnd implements Serializable { + private static final long serialVersionUID = 1L; private String message; } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoomMessageEvent.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoomMessageEvent.java index 69423ba..228ec01 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoomMessageEvent.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoomMessageEvent.java @@ -97,6 +97,7 @@ public class RoomMessageEvent { private String gift_num; private RedPacketInfo redpacketInfo; + private String redpacket_id; } @Data diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/UserInfo.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/UserInfo.java index faad91f..38e2f36 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/UserInfo.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/UserInfo.java @@ -65,6 +65,7 @@ public class UserInfo implements Serializable { private int heartId; // "heartId": 4, private int heartNum; // private String red_num; + private String ta; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/XLHBean.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/XLHBean.java index bd5e04a..896c9af 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/XLHBean.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/XLHBean.java @@ -1,5 +1,6 @@ package com.xscm.moduleutil.bean; +import com.xscm.moduleutil.bean.blindboxwheel.BlindBoxBean; import lombok.Data; import java.io.Serializable; @@ -15,5 +16,11 @@ public class XLHBean implements Serializable { private String text; private String room_id; - private int from_type ; + private int from_type ;//100:巡乐会进度更新 101:巡乐会即将开始 102:巡乐会已经开始 103:巡乐会有人锁定了礼物 104:巡乐会结束落包 + private BlindBoxBean.XlhData xlh_data; + private UserInfo FromUserInfo; + private String end_time; + private BlindBoxBean.xlhUser room_user; + private String gift_num; + } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java index 6b20e42..9ad0f7a 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/EMMessageInfo.java @@ -106,6 +106,7 @@ public class EMMessageInfo implements MultiItemEntity { public static final int QXRoomMessageTypeQingGRMl = 1059; //有红包列表 public static final int QXRoomMessageTypeQXRoomMessageRed = 1060; + public static final int QXRoomMessageTypeQXRoomMessageRedRemove = 1061; ///房间内换麦 public static final int QXRoomMessageTypehm = 1039; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/RoomHourBean.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/RoomHourBean.java index 6221d4d..9c7b0a2 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/RoomHourBean.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/room/RoomHourBean.java @@ -22,6 +22,7 @@ public class RoomHourBean { private int total_price; private String label_icon; private int xlh_status; + private int redpacket_status;// >0 有红包,=0 没有红包 } } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftItemAdapter.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftItemAdapter.java index b8a4db7..c46b15d 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftItemAdapter.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftItemAdapter.java @@ -16,6 +16,7 @@ public class GiftItemAdapter extends BaseQuickAdapter { - processDataRed(dataList); - }); + // 在主线程处理集合数据 + new Handler(Looper.getMainLooper()).post(() -> { + processDataRed(dataList); + }); } catch (Exception e) { Log.e("MQTT", "解析MQTT消息异常", e); } @@ -123,7 +126,7 @@ public class MqttInitCallback implements MqttCallback { } } - private void processMessage(String topic, String data){ + private void processMessage(String topic, String data) { try { // 如果 data 是集合字符串 if (isJsonArray(data)) { @@ -139,6 +142,7 @@ public class MqttInitCallback implements MqttCallback { Log.e("MQTT", "解析MQTT消息异常", e); } } + // 处理集合数据 private void processDataList(List dataList) { // 遍历集合并发送每个元素 @@ -147,8 +151,9 @@ public class MqttInitCallback implements MqttCallback { // } // 或者发送整个集合 - EventBus.getDefault().post(dataList); + EventBus.getDefault().post(dataList); } + // 判断是否为 JSON 数组 private boolean isJsonArray(String jsonString) { try { @@ -157,6 +162,7 @@ public class MqttInitCallback implements MqttCallback { return false; } } + private void receiveMessage(String topic, String data) { try { JSONObject jsonObject = JSON.parseObject(data); @@ -179,16 +185,19 @@ public class MqttInitCallback implements MqttCallback { new RoomGiftRunable(message).run(); break; case 8000: - XLHBean xlhBean= GsonUtils.fromJson(message, XLHBean.class); - if (xlhBean!=null && xlhBean.getRoom_id()!=null && SpUtil.getMyRoomId()!=null) { - if (xlhBean.getRoom_id().equals(SpUtil.getMyRoomId())) { - if (xlhBean.getFrom_type()==3) { - MqttXlhEnd mqttXlhEnd = new MqttXlhEnd(); - mqttXlhEnd.setMessage(message); - EventBus.getDefault().post(mqttXlhEnd); - } - } - } +// XLHBean xlhBean= GsonUtils.fromJson(message, XLHBean.class); +// if (xlhBean!=null && xlhBean.getRoom_id()!=null && SpUtil.getMyRoomId()!=null) { +// if (xlhBean.getRoom_id().equals(SpUtil.getMyRoomId())) { +// if (xlhBean.getFrom_type()==3) { + LogUtils.e("MQTT", "收到消息" + message); + + MqttXlhEnd mqttXlhEnd = new MqttXlhEnd(); + mqttXlhEnd.setMessage(message); + EventBus.getDefault().post(mqttXlhEnd); + +// } +// } +// } break; default: break; @@ -200,7 +209,7 @@ public class MqttInitCallback implements MqttCallback { JSONObject jsonObject = JSON.parseObject(messageStr); int type = jsonObject.getIntValue("type"); String message = jsonObject.getString("msg"); - XLHBean xlhBean=JSON.parseObject(message, XLHBean.class); + XLHBean xlhBean = JSON.parseObject(message, XLHBean.class); // 将事件处理放到主线程执行 new Handler(Looper.getMainLooper()).post(() -> { processMessageType(type, message); @@ -211,6 +220,7 @@ public class MqttInitCallback implements MqttCallback { // ToastUtils.show("收到轮盘飘屏,解析异常"); } } + /** * publish发布成功后会执行到这里 */ diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/QXRedPacketManager.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/QXRedPacketManager.java index 21b84a8..2e57a88 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/QXRedPacketManager.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/QXRedPacketManager.java @@ -7,10 +7,7 @@ import com.xscm.moduleutil.bean.RedPacketInfo; import lombok.Getter; import lombok.Setter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** @@ -42,6 +39,11 @@ public class QXRedPacketManager { } return instance; } + public List getSortedUserListLambda(Map userMap) { + List redPacketInfoList = new ArrayList<>(userMap.values()); + redPacketInfoList.sort((user1, user2) -> Long.compare(user1.getStart_time(), user2.getStart_time())); + return redPacketInfoList; + } /** * 添加红包列表 @@ -102,7 +104,7 @@ public class QXRedPacketManager { * @return 红包列表 */ public List getAllRedPackets() { - return new ArrayList<>(this.redPackets.values()); + return getSortedUserListLambda(redPackets); } /** @@ -144,7 +146,7 @@ public class QXRedPacketManager { if (this.redPackets == null || this.redPackets.isEmpty()) { return; } - List packets = new ArrayList<>(this.redPackets.values()); + List packets = getAllRedPackets(); for (RedPacketInfo packet : packets) { long packetTime = packet.remainingTime(); @@ -181,7 +183,11 @@ public class QXRedPacketManager { } // 继续执行定时任务 - checkTimerHandler.postDelayed(checkTimerRunnable, 1000); + // 修复:增加空值检查避免 NullPointerException + if (checkTimerHandler != null && checkTimerRunnable != null) { + // 继续执行定时任务 + checkTimerHandler.postDelayed(checkTimerRunnable, 1000); + } } /** diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/WanUtil.kt b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/WanUtil.kt deleted file mode 100644 index d8e3d4d..0000000 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/WanUtil.kt +++ /dev/null @@ -1,126 +0,0 @@ -package com.xscm.moduleutil.utils - -import android.app.ActivityManager -import android.content.Context -import android.graphics.Color -import android.graphics.LinearGradient -import android.graphics.Shader -import android.text.TextUtils -import android.util.Base64 -import android.widget.TextView -import com.blankj.utilcode.util.LogUtils -import com.tencent.qcloud.tuikit.timcommon.BuildConfig -import java.io.ByteArrayOutputStream -import java.io.FileInputStream -import java.io.FileNotFoundException -import java.io.IOException -import java.lang.reflect.ParameterizedType - - -fun setGradient(textView: TextView) { - val endX = textView.paint.textSize * textView.text.length - val colors = intArrayOf( - Color.parseColor("#4E67F1"), - Color.parseColor("#AA88F8") - ) //颜色的数组 - val position = floatArrayOf(0f, 1.0f) //颜色渐变位置的数组 - val linearGradient = - LinearGradient(0f, 0f, endX, 0f, colors, position, Shader.TileMode.CLAMP) - textView.paint.shader = linearGradient - textView.invalidate() -} - -/** - * service是否正在运行 - * @param context - * @param className - * @return - */ -fun isServiceExisted(context: Context, className: String): Boolean { - val activityManager = context - .getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager - val serviceList = activityManager - .getRunningServices(Int.MAX_VALUE) - if (serviceList.size <= 0) { - return false - } - for (i in serviceList.indices) { - val serviceInfo = serviceList[i] - val serviceName = serviceInfo.service - val name = serviceName.className - if (name == className) { - return true - } - } - return false -} - -fun String.showToast() { - if (!TextUtils.isEmpty(this)) { -// ToastUtils.showShort(this) - - } -} - -fun String.log() { - if (!TextUtils.isEmpty(this)) { - if (BuildConfig.DEBUG) - LogUtils.dTag("midinLog", this) - } -} - - -fun String.log2() { - if (!TextUtils.isEmpty(this)) { - if (BuildConfig.DEBUG) - LogUtils.dTag("midi2", this) - } -} - -/** - * 根据手机分辨率从DP转成PX - * - * @param context - * @param dpValue - * @return - */ -fun dip2px(context: Context, dpValue: Float): Int { - val scale = context.resources.displayMetrics.density - return (dpValue * scale + 0.5f).toInt() -} - -fun getClass(t: Any): Class { - // 通过反射 获取父类泛型 (T) 对应 Class类 - return (t.javaClass.genericSuperclass as ParameterizedType) - .actualTypeArguments[0] - as Class -} - - -/** - * 文件转Base64. - * - * @param filePath - * @return - */ -fun file2Base64(filePath: String): String { - var objFileIS: FileInputStream? = null - try { - objFileIS = FileInputStream(filePath) - } catch (e: FileNotFoundException) { - e.printStackTrace() - } - val objByteArrayOS = ByteArrayOutputStream() - val byteBufferString = ByteArray(1024) - try { - var readNum: Int - while (objFileIS!!.read(byteBufferString).also { readNum = it } != -1) { - objByteArrayOS.write(byteBufferString, 0, readNum) - } - } catch (e: IOException) { - e.printStackTrace() - } - return Base64.encodeToString(objByteArrayOS.toByteArray(), Base64.DEFAULT) -} - - diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java index 6fac379..a1d591a 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java @@ -51,11 +51,11 @@ public class EnvironmentPrefs { // } // 默认使用生产环境 - String envName = sharedPreferences.getString(KEY_ENV, EnvironmentEnum.TEST.name()); + String envName = sharedPreferences.getString(KEY_ENV, EnvironmentEnum.PRODUCTION.name()); try { return EnvironmentEnum.valueOf(envName); } catch (IllegalArgumentException e) { - return EnvironmentEnum.TEST; // 出错时默认返回生产环境 + return EnvironmentEnum.PRODUCTION; // 出错时默认返回生产环境 } } } \ No newline at end of file diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java index e1b61f2..74df3d2 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java @@ -61,7 +61,7 @@ public class QXMeetGiftView extends RelativeLayout { giftImageView = new ImageView(context); giftImageView.setScaleType(ImageView.ScaleType.CENTER_CROP); LayoutParams giftImageParams = new LayoutParams( - dpToPx(62), // 固定宽度 + dpToPx(48), // 固定宽度 dpToPx(62) // 固定高度 ); giftImageParams.addRule(CENTER_IN_PARENT); @@ -146,8 +146,8 @@ public class QXMeetGiftView extends RelativeLayout { if (isLockGift) { // 重新设置礼物图片的约束 LayoutParams params = (LayoutParams) giftImageView.getLayoutParams(); - params.width = dpToPx(62); - params.height = dpToPx(62); + params.width = dpToPx(36); + params.height = dpToPx(36); params.addRule(CENTER_IN_PARENT); params.setMargins(0, 0, 0, 0); giftImageView.setLayoutParams(params); diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXTimeDownView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXTimeDownView.java index 2fc7676..5743c9d 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXTimeDownView.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXTimeDownView.java @@ -100,6 +100,7 @@ public class QXTimeDownView extends FrameLayout { bigTimeLabel.setTextColor(0xFFFFECA7); bigTimeLabel.setGravity(Gravity.CENTER); bigTimeLabel.setVisibility(View.GONE); + bigTimeLabel.setTypeface(Typeface.create("semibold", Typeface.NORMAL)); LayoutParams bigTimeParams = new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/ChannelSplitRenderer.kt b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/ChannelSplitRenderer.kt deleted file mode 100644 index 5c59ed6..0000000 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/ChannelSplitRenderer.kt +++ /dev/null @@ -1,122 +0,0 @@ -package com.xscm.moduleutil.widget - - -import android.graphics.SurfaceTexture -import android.opengl.GLES20 -import android.opengl.Matrix - -class ChannelSplitRenderer { - - private val vertexShaderCode = """ - attribute vec4 aPosition; - attribute vec2 aTexCoord; - varying vec2 vTexCoord; - void main() { - gl_Position = aPosition; - vTexCoord = aTexCoord; - } - """ - - private val fragmentShaderCode = """ - precision mediump float; - uniform sampler2D uTexture; - varying vec2 vTexCoord; - void main() { - // 只使用左半部分作为最终颜色 - vec2 leftCoord = vec2(vTexCoord.x * 0.5, vTexCoord.y); - vec4 color = texture2D(uTexture, leftCoord); - - // 设置 alpha 为 1.0 表示完全不透明,或根据需求设为 0.0 表示全透明 - gl_FragColor = vec4(color.rgb, 0.0); // 左通道颜色 + 不透明 - }""" - - private var program = 0 - private var positionHandle = 0 - private var texCoordHandle = 0 - private var textureHandle = 0 - private val projectionMatrix = FloatArray(16) - private val modelMatrix = FloatArray(16) - - fun onSurfaceCreated(surface: SurfaceTexture, width: Int, height: Int) { - // 初始化着色器 - val vertexShader = ShaderUtils.loadShader(GLES20.GL_VERTEX_SHADER, vertexShaderCode) - val fragmentShader = ShaderUtils.loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentShaderCode) - - program = GLES20.glCreateProgram().also { - GLES20.glAttachShader(it, vertexShader) - GLES20.glAttachShader(it, fragmentShader) - GLES20.glLinkProgram(it) - } - - positionHandle = GLES20.glGetAttribLocation(program, "aPosition") - texCoordHandle = GLES20.glGetAttribLocation(program, "aTexCoord") - textureHandle = GLES20.glGetUniformLocation(program, "uTexture") - - // 初始化矩阵 - Matrix.setIdentityM(projectionMatrix, 0) - Matrix.setIdentityM(modelMatrix, 0) - - GLES20.glClearColor(0.0f, 0.0f, 0.0f, 0.0f) - GLES20.glEnable(GLES20.GL_BLEND) - GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA) - } - - fun onSurfaceChanged(width: Int, height: Int) { - GLES20.glViewport(0, 0, width, height) - } - - fun onDrawFrame(textureId: Int) { - GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT) - GLES20.glUseProgram(program) - - // 定义顶点坐标(全屏) - val vertices = floatArrayOf( - -1.0f, -1.0f, 0.0f, - 1.0f, -1.0f, 0.0f, - -1.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 0.0f - ) - - // 修改纹理坐标,只映射左半部分视频内容到左侧屏幕 - val texCoords = floatArrayOf( - 0.0f, 1.0f, // 左下角 - 0.5f, 1.0f, // 右下角(对应视频中间) - 0.0f, 0.0f, // 左上角 - 0.5f, 0.0f // 右上角 - ) - - val vertexBuffer = ShaderUtils.createFloatBuffer(vertices) - val texBuffer = ShaderUtils.createFloatBuffer(texCoords) - - GLES20.glEnableVertexAttribArray(positionHandle) - GLES20.glVertexAttribPointer( - positionHandle, 3, - GLES20.GL_FLOAT, false, - 0, vertexBuffer - ) - - GLES20.glEnableVertexAttribArray(texCoordHandle) - GLES20.glVertexAttribPointer( - texCoordHandle, 2, - GLES20.GL_FLOAT, false, - 0, texBuffer - ) - - // 绑定纹理 - GLES20.glActiveTexture(GLES20.GL_TEXTURE0) - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureId) - GLES20.glUniform1i(textureHandle, 0) - - // 绘制 - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4) - - // 清理 - GLES20.glDisableVertexAttribArray(positionHandle) - GLES20.glDisableVertexAttribArray(texCoordHandle) - } - - - fun release() { - GLES20.glDeleteProgram(program) - } -} \ No newline at end of file diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/room/BaseViewModel.kt b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/room/BaseViewModel.kt deleted file mode 100644 index ac28857..0000000 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/room/BaseViewModel.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.xscm.moduleutil.widget.room - -import androidx.lifecycle.LifecycleObserver -import androidx.lifecycle.LiveData -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.Observer -import androidx.lifecycle.ViewModel -import com.xscm.moduleutil.bean.room.RoomInfoResp -import com.xscm.moduleutil.http.RetrofitClient -import kotlinx.coroutines.CoroutineScope - -open class BaseViewModel : ViewModel(),LifecycleObserver { - - val roomInfoData=MutableLiveData() - private val passRoom by lazy { MutableLiveData() } - - private val error by lazy { MutableLiveData() } - - private val finally by lazy { MutableLiveData() } - //加入房间 - fun jiaoRoom(roomId:String, password:String){ - - } - - /** - * 请求失败,出现异常 - */ - fun getError(): LiveData { - return error - } - - /** - * 请求完成,在此处做一些关闭操作 - */ - fun getFinally(): LiveData { - return finally - } -} diff --git a/moduleUtil/src/main/res/drawable/bg_xlh_huod_bj.xml b/moduleUtil/src/main/res/drawable/bg_xlh_huod_bj.xml new file mode 100644 index 0000000..f94de2f --- /dev/null +++ b/moduleUtil/src/main/res/drawable/bg_xlh_huod_bj.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_xlh_obtain.xml b/moduleUtil/src/main/res/layout/dialog_xlh_obtain.xml index fb1edea..1fd778d 100644 --- a/moduleUtil/src/main/res/layout/dialog_xlh_obtain.xml +++ b/moduleUtil/src/main/res/layout/dialog_xlh_obtain.xml @@ -10,7 +10,7 @@ + android:background="#40000000"> diff --git a/moduleUtil/src/main/res/layout/item_xlh_gift.xml b/moduleUtil/src/main/res/layout/item_xlh_gift.xml index ecc72f0..04a8415 100644 --- a/moduleUtil/src/main/res/layout/item_xlh_gift.xml +++ b/moduleUtil/src/main/res/layout/item_xlh_gift.xml @@ -1,42 +1,67 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:id="@+id/gift_l" + android:layout_width="@dimen/dp_80" + android:layout_height="@dimen/dp_80" + android:background="@mipmap/xlh_hd" + android:gravity="center" + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:id="@+id/gift_img" + android:layout_width="@dimen/dp_50" + android:layout_height="@dimen/dp_50" + android:scaleType="fitCenter" + android:src="@mipmap/ic_launcher"/> + + + + + android:id="@+id/tv_gift_name" + android:layout_width="wrap_content" + android:layout_height="@dimen/dp_14" + android:layout_gravity="center" + android:gravity="center" + android:textColor="#FFFFFF" + android:textSize="@dimen/sp_12" + app:layout_constraintTop_toBottomOf="@+id/gift_l" + app:layout_constraintStart_toStartOf="@+id/gift_l" + app:layout_constraintEnd_toEndOf="@+id/gift_l" + tools:text="请选择礼物"/> + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/red_bj_h.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/red_bj_h.png deleted file mode 100644 index 92a41e6d3b92a1d132ed27ade46fb9120412843f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50416 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 literal 0 HcmV?d00001 diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/xr_ykj.png new file mode 100644 index 0000000000000000000000000000000000000000..e7cc646db449f43f831470b7b2c0d60127423f8a GIT binary patch literal 21606 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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, mBinding!!.drvRed.visibility = View.GONE mBinding!!.redBj.setOnClickListener { + if(qxRedPacketManager!!.getAllRedPackets().size==1){ + redPacketInfo = qxRedPacketManager!!.getAllRedPackets().get(0) + if (qxRedPacketManager!!.getAllRedPackets().get(0)!=null && qxRedPacketManager!!.getAllRedPackets().get(0).is_qiang==1){ + ARouter.getInstance().build(ARouteConstants.ROOM_RED_RESULT).withString("redpacketId", qxRedPacketManager!!.getAllRedPackets().get(0).getRedpacket_id()).navigation(); + }else { + redEnvelopesFragment = RedEnvelopesFragment(this@RoomActivity) + redEnvelopesFragment!!.setIsCollectedRoom(mRoomUserBean!!.is_collect == 1) + redEnvelopesFragment!!.setFromToComment(false) + redEnvelopesFragment!!.setRedPacket(qxRedPacketManager!!.getAllRedPackets().get(0)) + redEnvelopesFragment!!.show() + } + return@setOnClickListener + } + redListDialog = RedListDialog(this) redListDialog!!.setOnRedPacketClickListener(object : RedListDialog.OnRedPacketClickListener { @@ -1541,9 +1554,38 @@ class RoomActivity : BaseMvpActivity(), } else if (msgType == 1060) { qxRedPacketManager!!.addRedPacket(messageEvent.text.redpacketInfo) + }else if (msgType == 1061){ + qxRedPacketManager!!.removeRedPacket(messageEvent.text.redpacket_id) } } + @Subscribe(threadMode = ThreadMode.MAIN) + fun onMessageEvent(messageEvent: MqttXlhEnd) { + val xlhBean: XLHBean = GsonUtils.fromJson(messageEvent.message, XLHBean::class.java) + if(xlhBean.from_type==100){ + if (xlhBean.xlh_data != null) { + if (xlhBean.xlh_data.status == 1) { + mBinding!!.xlhRk.visibility = View.VISIBLE + xlhDjs(xlhBean.xlh_data.end_time) + } else { + mBinding!!.xlhRk.visibility = View.INVISIBLE + releaseCountDownTimer1() + } + } + }else if(xlhBean.from_type==103){ + val existingFragment = + supportFragmentManager.findFragmentByTag("TourClubDialogFragment") as TourClubDialogFragment? + if (existingFragment != null && existingFragment.isVisible) { + existingFragment.onMessageReceived(messageEvent) + } else { + LogUtils.e("TourClubDialogFragment", "巡乐会界面未打开") +// EventBus.getDefault().post(messageEvent) + } + xlhDjs(xlhBean.end_time) + }else if(xlhBean.from_type==104){ + + } + } private var endTime: Long = 0 @@ -2609,7 +2651,7 @@ class RoomActivity : BaseMvpActivity(), // mBinding.inputMenu1.bringToFront(); // 强制将该 View 置于最上层 // mBinding.inputMenu1.show(); - dialogDismiss() + dialogDismiss(1) } } else if (id == R.id.rl_mic) { if (mRoomInfoResp!!.user_info.is_mute_pit != null && mRoomInfoResp!!.user_info.is_mute_pit == "1") { @@ -3100,7 +3142,7 @@ class RoomActivity : BaseMvpActivity(), } @SuppressLint("MissingInflatedId") - fun dialogDismiss() { + fun dialogDismiss(type:Int) { // // 使用 AlertDialog.Builder val builder = AlertDialog.Builder(this) @@ -3152,13 +3194,25 @@ class RoomActivity : BaseMvpActivity(), } etContent.setText("") countDownTimer() - if (redEnvelopesFragment != null) { - redEnvelopesFragment = RedEnvelopesFragment(this@RoomActivity) - redEnvelopesFragment!!.setIsCollectedRoom(mRoomUserBean!!.is_collect == 1) - redEnvelopesFragment!!.setFromToComment(true) - redEnvelopesFragment!!.setRedPacket(redPacketInfo) - redEnvelopesFragment!!.show() + if(type==2) { + if (redPacketInfo != null){ + LogUtils.e("输入口令红包",redPacketInfo) + LogUtils.e("输入口令红包","# 口令红包 "+redPacketInfo!!.password,"inputSting",inputSting) + if (intRed_num==null || intRed_num!!.isEmpty()){ + return@OnClickListener + } + if (inputSting!!.toString() == intRed_num.toString()){ + if (redEnvelopesFragment != null) { + redEnvelopesFragment = RedEnvelopesFragment(this@RoomActivity) + redEnvelopesFragment!!.setIsCollectedRoom(mRoomUserBean!!.is_collect == 1) + redEnvelopesFragment!!.setFromToComment(true) + redEnvelopesFragment!!.setRedPacket(redPacketInfo) + redEnvelopesFragment!!.show() + } + } + } } + inputSting = "" dialog.dismiss() }) @@ -3171,9 +3225,15 @@ class RoomActivity : BaseMvpActivity(), if (inputSting != null) { etContent.setText(inputSting) } + // 监听对话框关闭事件 + dialog.setOnDismissListener { + // 对话框关闭时执行的代码 + inputSting="" + LogUtils.e("AlertDialog已关闭") + } dialog.show() addActiveDialog(dialog) // 添加到管理列表 - inputSting = "" + } private fun countDownTimer() { @@ -3198,15 +3258,20 @@ class RoomActivity : BaseMvpActivity(), } var inputSting: String? = null + var intRed_num: String? = null @Subscribe(threadMode = ThreadMode.MAIN) fun roomInfoEvent(messageEvent: UserInfo) { if (messageEvent != null && messageEvent.red_num != null) { - inputSting = messageEvent.red_num - } else { + inputSting ="# 口令红包 "+ messageEvent.red_num + intRed_num=inputSting + dialogDismiss(2) + } else if (messageEvent!=null && messageEvent.ta != null){ + intRed_num="" inputSting = "@" + messageEvent.nickname + dialogDismiss(1) } - dialogDismiss() + } override fun getLayoutId(): Int { @@ -3683,44 +3748,10 @@ class RoomActivity : BaseMvpActivity(), MvpPre!!.postRoomInfo(CommonAppContext.getInstance().playId) } - // // 正常启动或从后台恢复 -// if (isInBackground) { -// isInBackground = false; -// // 从后台回到前台时调用 -// if (MvpPre != null && roomId != null) { -// if (mRoomInfoResp != null && mRoomInfoResp.getRoom_info() != null) { -// if (mRoomInfoResp.getRoom_info().getType_id().equals("1") -// || mRoomInfoResp.getRoom_info().getType_id().equals("3") || -// mRoomInfoResp.getRoom_info().getType_id().equals("4")|| -// mRoomInfoResp.getRoom_info().getType_id().equals("8")) { -// if (mRoomInfoResp.getRoom_info().getLabel_id().equals("2")) { -// -// } else { -// MvpPre.postRoomInfo(roomId); -// } -// } -// } else { -// MvpPre.postRoomInfo(roomId); -// } -// } else { -// ToastUtils.showLong("您已经掉线,需要重新进入房间!"); -// ARouter.getInstance().build(ARouteConstants.ME) -// .navigation(); -// cleanupResources(); -// finish(); -// } -// } -// if (appStateListener != null && appStateListener.isAppInBackground()) { -// MvpPre.postRoomInfo(roomId); -// } - - // 检查是否从最小化状态恢复 if (isMinimized) { isMinimized = false clearMinimizeState() - - // 恢复房间状态 resumeRoomState() setupEffectView() @@ -4207,7 +4238,7 @@ class RoomActivity : BaseMvpActivity(), cleanupResources() } if (qxRedPacketManager != null) { - qxRedPacketManager!!.endCheckTimer(); + qxRedPacketManager!!.destroyRedpacketInfo() } // 确保父类的 onDestroy 被调用 super.onDestroy() @@ -4554,6 +4585,7 @@ class RoomActivity : BaseMvpActivity(), // 处理移除红包的逻辑 if (remainingCount == 0) { mBinding!!.drvRed.visibility = View.GONE + qxRedPacketManager!!.removeAllRedPackets() } else { mBinding!!.drvRed.visibility = View.VISIBLE } @@ -4583,21 +4615,29 @@ class RoomActivity : BaseMvpActivity(), if (redEnvelopesFragment!!.mRedPacketInfo.conditions.contains("1")) { //有收藏房间条件 if (mRoomInfoResp!!.user_info.is_collect == 1) { - //需要满足收藏在倒计时 - redEnvelopesFragment!!.setNeedTime(packetTime) + if(packet!!.redpacket_id==redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { + //需要满足收藏在倒计时 + redEnvelopesFragment!!.setNeedTime(packetTime) + } } } else { - redEnvelopesFragment!!.setNeedTime(packetTime) + if(packet!!.redpacket_id==redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { + redEnvelopesFragment!!.setNeedTime(packetTime) + } } } else { if (redEnvelopesFragment!!.isFromToComment) { if (redEnvelopesFragment!!.mRedPacketInfo.conditions.contains("1")) { //有收藏房间条件 if (mRoomInfoResp!!.user_info.is_collect == 1) { - redEnvelopesFragment!!.setNeedTime(packetTime) + if(packet!!.redpacket_id==redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { + redEnvelopesFragment!!.setNeedTime(packetTime) + } } } else { - redEnvelopesFragment!!.setNeedTime(packetTime) + if(packet!!.redpacket_id==redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { + redEnvelopesFragment!!.setNeedTime(packetTime) + } } } } diff --git a/moduleroom/src/main/java/com/example/moduleroom/adapter/RedBagAdapter.java b/moduleroom/src/main/java/com/example/moduleroom/adapter/RedBagAdapter.java index 406079f..461e964 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/adapter/RedBagAdapter.java +++ b/moduleroom/src/main/java/com/example/moduleroom/adapter/RedBagAdapter.java @@ -29,8 +29,7 @@ public class RedBagAdapter extends BaseQuickAdapter { return R.layout.dialog_red_bag_send; } + private boolean diaj=false; + @Override public void initView() { @@ -56,7 +59,8 @@ public class RedBagSendDialog extends BaseDialog { setCanceledOnTouchOutside(false); Window window = getWindow(); // window.setLayout(345, 454); - window.setLayout((int) (ScreenUtils.getScreenWidth() * 345.f / 345), WindowManager.LayoutParams.WRAP_CONTENT); +// window.setLayout((int) (ScreenUtils.getScreenWidth() * 345.f / 345), WindowManager.LayoutParams.WRAP_CONTENT); + window.setLayout((int) (ScreenUtils.getScreenWidth() * 0.9), WindowManager.LayoutParams.WRAP_CONTENT); setView(1); mBinding.edText.setKeyListener(DigitsKeyListener.getInstance("0123456789")); @@ -67,7 +71,7 @@ public class RedBagSendDialog extends BaseDialog { public void onClick(View v) { if (type != 3) { setView(3); - setWebView("https://www.baidu.com"); + setWebView(CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl()+"api/Page/page_show?id=25"); } else { setView(stype); } @@ -85,25 +89,38 @@ public class RedBagSendDialog extends BaseDialog { @Override public void onClick(View v) { if (mBinding.butSub.getText().equals("下一步")) { + if (redType==2){ + if (TextUtils.isEmpty(mBinding.evKl.getText().toString().trim())){ + ToastUtils.show("请输入口令"); + return; + } + } setView(2); setFRed(); } else { + if (diaj){ + return; + } + diaj=true; // 验证输入 String numStr = mBinding.etNum.getText().toString().trim(); String textStr = mBinding.edText.getText().toString().trim(); // 检查是否为空 if (TextUtils.isEmpty(numStr)) { + diaj=false; ToastUtils.show("请输入数量"); return; } if (TextUtils.isEmpty(textStr)) { + diaj=false; ToastUtils.show("请输入金额"); return; } if (redType==2){ if (TextUtils.isEmpty(mBinding.evKl.getText().toString().trim())){ + diaj=false; ToastUtils.show("请输入口令"); return; } @@ -115,6 +132,7 @@ public class RedBagSendDialog extends BaseDialog { int text = Integer.parseInt(textStr); if (text <= num) { + diaj=false; ToastUtils.show("金额必须大于数量"); return; } @@ -123,6 +141,7 @@ public class RedBagSendDialog extends BaseDialog { sendRedPacket(); } catch (NumberFormatException e) { + diaj=false; ToastUtils.show("请输入有效的数字"); return; } @@ -233,16 +252,19 @@ public class RedBagSendDialog extends BaseDialog { // 验证输入 if (TextUtils.isEmpty(numStr)) { + diaj=false; ToastUtils.show("请输入数量"); return; } if (TextUtils.isEmpty(textStr)) { + diaj=false; ToastUtils.show("请输入金额"); return; } if (redType == 2 && TextUtils.isEmpty(kl)) { + diaj=false; ToastUtils.show("请输入口令"); return; } @@ -252,6 +274,7 @@ public class RedBagSendDialog extends BaseDialog { int text = Integer.parseInt(textStr); if (text <= num) { + diaj=false; ToastUtils.show("金额必须大于数量"); return; } @@ -274,12 +297,14 @@ public class RedBagSendDialog extends BaseDialog { @Override public void onNext(@NotNull String redPacketBean) { ToastUtils.show("发送成功"); + diaj=false; dismiss(); } } ); } catch (NumberFormatException e) { + diaj=false; ToastUtils.show("请输入有效的数字"); } } diff --git a/moduleroom/src/main/java/com/example/moduleroom/dialog/RedListDialog.java b/moduleroom/src/main/java/com/example/moduleroom/dialog/RedListDialog.java index 69d64bc..4cec1dc 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/dialog/RedListDialog.java +++ b/moduleroom/src/main/java/com/example/moduleroom/dialog/RedListDialog.java @@ -45,7 +45,8 @@ public class RedListDialog extends BaseDialog { Window window = getWindow(); qxRedPacketManager=QXRedPacketManager.getInstance(); - window.setLayout((int) (ScreenUtils.getScreenWidth() * 375.f / 375), WindowManager.LayoutParams.WRAP_CONTENT); + window.setLayout((int) (ScreenUtils.getScreenWidth() * 0.8), WindowManager.LayoutParams.WRAP_CONTENT); +// window.setLayout((int) (ScreenUtils.getScreenWidth() * 375.f / 375), WindowManager.LayoutParams.WRAP_CONTENT); mBinding.ivClose.setOnClickListener(v -> dismiss()); GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 3); // 每行显示3个 mBinding.recyclerView.setLayoutManager(layoutManager); @@ -88,7 +89,7 @@ public class RedListDialog extends BaseDialog { int maxRows = Math.min(rows, 2); // 计算总高度:2行 × item高度 + 间距 - int itemHeight = getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_60); + int itemHeight = getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_80); int spacing = getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_10); int totalHeight = maxRows * itemHeight + (maxRows + 1) * spacing; diff --git a/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java b/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java index 447c943..b33329b 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java +++ b/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java @@ -182,6 +182,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment @@ -620,9 +621,10 @@ android:layout_height="@dimen/dp_18" android:layout_marginStart="@dimen/dp_4" android:gravity="center" - android:text="内容" + tools:text="内容" android:textColor="@color/color_FFFFF0F0" android:textSize="@dimen/sp_12" + android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@+id/head_avate" app:layout_constraintTop_toBottomOf="@+id/headName"/> diff --git a/moduleroom/src/main/res/layout/dialog_red_bag_send.xml b/moduleroom/src/main/res/layout/dialog_red_bag_send.xml index 76a7f5c..84bf322 100644 --- a/moduleroom/src/main/res/layout/dialog_red_bag_send.xml +++ b/moduleroom/src/main/res/layout/dialog_red_bag_send.xml @@ -5,18 +5,20 @@ > + android:visibility="gone" + > @@ -238,7 +241,7 @@ android:layout_height="wrap_content" android:button="@null" android:gravity="center" - android:textSize="@dimen/sp_15" + android:textSize="@dimen/sp_13" android:textColor="#fff" android:layout_marginStart="@dimen/dp_5" android:layout_marginEnd="@dimen/dp_5" @@ -252,7 +255,7 @@ android:layout_height="wrap_content" android:button="@null" android:gravity="center" - android:textSize="@dimen/sp_15" + android:textSize="@dimen/sp_13" android:textColor="#fff" android:layout_marginStart="@dimen/dp_5" android:layout_marginEnd="@dimen/dp_5" @@ -266,7 +269,7 @@ android:layout_height="wrap_content" android:button="@null" android:gravity="center" - android:textSize="@dimen/sp_15" + android:textSize="@dimen/sp_13" android:textColor="#fff" android:layout_marginStart="@dimen/dp_5" android:background="@drawable/selector_red_bag_radio_button" @@ -364,6 +367,7 @@ app:layout_constraintTop_toBottomOf="@+id/im_red_close" app:layout_constraintEnd_toEndOf="@+id/im_red_close" android:visibility="gone" + tools:visibility="visible" /> @@ -378,6 +382,7 @@ android:layout_marginEnd="@dimen/dp_16" android:layout_marginTop="-15dp" android:visibility="gone" + tools:visibility="visible" > + android:visibility="gone" + tools:visibility="visible"> + android:layout_marginStart="@dimen/dp_15" + android:layout_marginEnd="@dimen/dp_10">