From ed0eccd0ee00ba425416f041754de083c89ad638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com> Date: Thu, 11 Dec 2025 21:04:25 +0800 Subject: [PATCH] =?UTF-8?q?1:=E4=BF=AE=E6=94=B9=E6=B3=A8=E5=86=8A=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E5=B9=B4=E9=BE=84=E5=BF=85=E9=80=89?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E4=B8=94=E6=9B=B4=E6=94=B9=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=B9=B4=E9=BE=84=E6=98=AF18=E5=B9=B4=E5=89=8D=202:=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=88=9B=E5=BB=BA=E6=88=BF=E9=97=B4=EF=BC=8C=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E8=BF=9B=E8=A1=8C=E5=88=A4=E6=96=AD=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E8=BF=9B=E8=A1=8C=E5=88=A4=E6=96=AD?= =?UTF-8?q?=203:=E4=BF=AE=E6=94=B9=E6=AD=8C=E6=89=8B=E8=AE=A4=E8=AF=81bug?= =?UTF-8?q?=204:=E4=BF=AE=E6=94=B9=E5=92=8C=E7=94=A8=E6=88=B7=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=9A=84=E5=87=BA=E7=8E=B0=E4=B8=BA=E7=A9=BA=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=205:=E4=BF=AE=E6=94=B9=E6=8C=9A=E5=8F=8B?= =?UTF-8?q?=E5=9C=A8=E7=94=A8=E6=88=B7=E4=B8=BB=E9=A1=B5=E7=9A=84=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E4=B8=8D=E4=B8=9D=E6=BB=91=E7=9A=84=E6=BB=91?= =?UTF-8?q?=E5=8A=A8=E9=97=AE=E9=A2=98=206:=E4=BF=AE=E6=94=B9=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E9=A1=B5=E9=9D=A2=E5=B1=95=E7=A4=BA=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E6=88=BF=E9=97=B4=EF=BC=8C=E7=94=A8=E6=88=B7=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E6=80=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xscm/moduleutil/bean/PlaceholderBean.java | 2 +- .../xscm/moduleutil/bean/UserResultResp.java | 7 +- .../dialog/RechargeDialogFragment.java | 5 + .../xscm/moduleutil/http/RetrofitClient.java | 4 +- .../moduleutil/utils/DateSelectDialog.java | 6 +- .../xscm/moduleutil/widget/CustomViewPager.kt | 31 +- .../java/com/xscm/modulemain/Application.kt | 1 + .../login/activity/ImproveInfoActivity.java | 6 + .../room/activity/SearchActivity.java | 8 +- .../room/fragment/HotListFragment.java | 1 + .../user/activity/MyRoomActivity.java | 4 +- .../activity/SingerVerificationActivity.java | 80 ++-- .../user/activity/UnderageActivity.java | 2 +- .../user/fragment/UserHomepageFragment.java | 2 +- .../user/fragment/VocalRangeFragment.java | 2 +- .../modulemain/adapter/EaseChatAdapter.java | 6 +- .../adapter/ExpandColumnAdapter.java | 14 +- .../adapter/PlaceholderFragment.java | 4 +- .../modulemain/adapter/RoomOnlineAdapter.java | 8 +- .../adapter/SearchUserResultAdapter.java | 2 +- .../dialog/RoomHostAddFragment.java | 25 +- .../src/main/res/layout/activity_search.xml | 3 +- .../main/res/layout/fragment_bosom_friend.xml | 445 +++++++++--------- .../main/res/layout/room_ranking_child.xml | 24 +- 24 files changed, 365 insertions(+), 327 deletions(-) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/PlaceholderBean.java b/BaseModule/src/main/java/com/xscm/moduleutil/bean/PlaceholderBean.java index 9d152ff6..8bb15839 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/bean/PlaceholderBean.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/PlaceholderBean.java @@ -58,7 +58,7 @@ public class PlaceholderBean { private String nickname1; private String avatar; private String total; - private String rank; + private String rank=""; private List icon; private String room_name; private String room_id; diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/UserResultResp.java b/BaseModule/src/main/java/com/xscm/moduleutil/bean/UserResultResp.java index 8de669c3..44918597 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/bean/UserResultResp.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/UserResultResp.java @@ -1,5 +1,7 @@ package com.xscm.moduleutil.bean; +import java.util.List; + import lombok.Data; @Data @@ -9,8 +11,9 @@ public class UserResultResp { private String user_id; private String user_code; private String nickname; - private String head_picture; - private String sex; + private String avatar; + private int sex; + private List icon; private String follow; private String fans_count; private String online_text; diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java b/BaseModule/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java index d1704e08..58303c26 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java @@ -25,9 +25,11 @@ import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.AppPay; import com.xscm.moduleutil.bean.BindType; import com.xscm.moduleutil.bean.RechargeBean; +import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding; import com.xscm.moduleutil.presenter.RechargeDialogContacts; import com.xscm.moduleutil.presenter.RechargeDialogPresenter; +import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.widget.PaymentUtil; import com.tencent.mm.opensdk.openapi.IWXAPI; @@ -142,6 +144,9 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment()).subscribe(observer); } else if (ranking_type.equals("1") || ranking_type.equals("2")) { sApiServer.wealthRanking(ranking_type, type).compose(new DefaultTransformer<>()).subscribe(observer); - } else if (ranking_type.equals("3")) { - sApiServer.loveRanking(type).compose(new DefaultTransformer<>()).subscribe(observer); + } else if (ranking_type.equals("3")) {//2025年12月11日14:57:44,原是传递的type,现在修改成0.只是将真爱榜变成心动榜 + sApiServer.loveRanking("0").compose(new DefaultTransformer<>()).subscribe(observer); } else if (ranking_type.equals("4")) { sApiServer.guildRanking().compose(new DefaultTransformer<>()).subscribe(observer); } diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/utils/DateSelectDialog.java b/BaseModule/src/main/java/com/xscm/moduleutil/utils/DateSelectDialog.java index 40431a5f..8fb3f577 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/utils/DateSelectDialog.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/utils/DateSelectDialog.java @@ -135,7 +135,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog getYear() { int currentYear = TimeUtils.getYear(); int minYear = currentYear - 100; // 最小年份设为100年前 - int maxYear = currentYear - 16; // 最大年份设为16年前 + int maxYear = currentYear - 18; // 最大年份设为16年前 List yearList = new ArrayList<>(); for (int i = minYear; i <= maxYear; i++) { diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/widget/CustomViewPager.kt b/BaseModule/src/main/java/com/xscm/moduleutil/widget/CustomViewPager.kt index 5062b21a..a7881582 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/widget/CustomViewPager.kt +++ b/BaseModule/src/main/java/com/xscm/moduleutil/widget/CustomViewPager.kt @@ -15,6 +15,8 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex private var initialX = 0f private var initialY = 0f + private var isBeingDragged = false + override fun onInterceptTouchEvent(ev: MotionEvent): Boolean { when (ev.action) { MotionEvent.ACTION_DOWN -> { @@ -31,11 +33,34 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex if (deltaX > deltaY && deltaX > 30) { // 30是阈值,可以根据需要调整 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) } + + 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) + } } diff --git a/MainModule/src/main/java/com/xscm/modulemain/Application.kt b/MainModule/src/main/java/com/xscm/modulemain/Application.kt index 3b40ebc6..f904b91f 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/Application.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/Application.kt @@ -80,6 +80,7 @@ open class Application : CommonAppContext() { } override fun onNext(t: IndexRecommendRoom) { + LogUtils.e(t) if (!t.room_id.isNullOrEmpty()) { showInviteDialog(activity, t) } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java index 0304b557..874bd2ca 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java @@ -17,6 +17,7 @@ import androidx.fragment.app.Fragment; import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; +import com.hjq.toast.ToastUtils; import com.luck.picture.lib.basic.PictureSelector; import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.engine.CropFileEngine; @@ -139,6 +140,11 @@ public class ImproveInfoActivity extends BaseMvpActivity 2) { - mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2)); - } else { +// if (data.getRooms().size() > 2) { +// mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2)); +// } else { mSearchRoomResultAdapter.setNewData(data.getRooms()); - } +// } mBinding.tvRoomCount.setText("全部 " + data.getRooms().size()); } if (data.getUsers() != null && data.getUsers().size() != 0) { diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java index 70f3378c..d47b8e04 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java @@ -72,6 +72,7 @@ public class HotListFragment extends BaseMvpFragment 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(); // 更新录音时长为所有片段的总时长 updateRecordingDuration(); - } else if (recordingSegments.size() == 1) { - // 只有一个录音片段,直接使用 - recordingFile = recordingSegments.get(0); } // 更新状态 @@ -749,11 +725,9 @@ public class SingerVerificationActivity extends BaseMvpActivity { - cleanupSegments(processedSegments); - }, 30000); // 延迟30秒删除,确保用户有足够时间试听 + // 修复:不删除录音片段,以便后续继续追加录音 + // 只在用户点击"重新录音"时才删除所有片段 + // cleanupSegments(processedSegments); } } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java index 9c3f09c6..ff0cab47 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java @@ -127,7 +127,7 @@ public class UnderageActivity extends BaseMvpActivity { FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter()); }); - }else { + } else { helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE); } @@ -129,7 +129,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter images = item.getIcon(); // 获取图片列表 for (String url : images) { - if (url.contains("http")) { + if (url != null && url.contains("http")) { ImageView imageView = new ImageView(mContext); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( diff --git a/MainModule/src/main/java/com/xscm/modulemain/adapter/PlaceholderFragment.java b/MainModule/src/main/java/com/xscm/modulemain/adapter/PlaceholderFragment.java index c4c22a1b..0466dbe5 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/adapter/PlaceholderFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/adapter/PlaceholderFragment.java @@ -224,12 +224,10 @@ public class PlaceholderFragment extends BaseMvpFragment images = item.getIcon(); // 获取图片列表 for (String url : images) { - if (url.contains("http")) { + if (url != null && url.contains("http")) { ImageView imageView1 = new ImageView(helper.itemView.getContext()); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, @@ -128,7 +128,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter implements RoomHostContacts.View { - private String mRoomId ; + private String mRoomId; private BaseQuickAdapter mAdapter; // TODO: Customize parameter initialization @@ -51,11 +52,13 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment0){ + if (!item.getIcon().isEmpty() || item.getIcon().size() > 0) { for (String url : item.getIcon()) { - if (url.contains("http")) { + if (url != null && url.contains("http")) { ImageView imageView = new ImageView(getContext()); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57), @@ -154,7 +157,6 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment list) { - mAdapter.setNewData(list); + mAdapter.setNewData(list); } @Override @@ -232,7 +234,4 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment + android:textSize="@dimen/sp_12" + android:visibility="gone"/> - - + android:orientation="vertical"> - + android:layout_height="match_parent"> - + + + + + + + + + + + + + + android:layout_marginHorizontal="@dimen/dp_10" + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/im_intimate"> - - - + android:layout_height="match_parent" + android:orientation="vertical"> - + - - - - - - - - + android:text="心动" + android:textColor="#fff" + android:textSize="@dimen/sp_16" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - + android:layout_marginHorizontal="@dimen/dp_10" + android:layout_marginTop="@dimen/dp_15" + android:background="@mipmap/icon_dialog_u_cp_bg" + android:visibility="gone" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat" + tools:visibility="visible"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + android:visibility="visible" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat" /> + - + - + android:clipToPadding="false" + android:nestedScrollingEnabled="false" + android:paddingBottom="@dimen/dp_200" + tools:listitem="@layout/item_relationship_list" /> + + + - - - - - - - - + - - - - \ No newline at end of file diff --git a/MainModule/src/main/res/layout/room_ranking_child.xml b/MainModule/src/main/res/layout/room_ranking_child.xml index 45cf8535..a9cad56f 100644 --- a/MainModule/src/main/res/layout/room_ranking_child.xml +++ b/MainModule/src/main/res/layout/room_ranking_child.xml @@ -24,8 +24,8 @@ + app:layout_constraintStart_toStartOf="@id/view_top2" + android:visibility="gone"/> + app:layout_constraintStart_toStartOf="@id/view_top1" + android:visibility="gone"/> + app:layout_constraintStart_toStartOf="@id/view_top3" + android:visibility="gone"/>