From aae94d15e0fdbe4fb4e4706fd2cc1b9cad64b66f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com>
Date: Wed, 1 Oct 2025 00:35:49 +0800
Subject: [PATCH] =?UTF-8?q?1=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=89=80=E6=9C=89?=
=?UTF-8?q?=E7=9A=84=E5=85=85=E5=80=BC=E8=87=AA=E5=AE=9A=E4=B9=89=E9=87=91?=
=?UTF-8?q?=E9=A2=9D=202=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=B0=8F=E6=97=B6?=
=?UTF-8?q?=E6=A6=9C=E6=BB=91=E5=8A=A8=E5=87=BA=E7=8E=B0=E7=9A=84=E5=9B=BE?=
=?UTF-8?q?=E7=89=87=E5=A4=8D=E7=94=A8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.run/app.run.xml | 2 +-
app/src/main/AndroidManifest.xml | 2 +-
gradle.properties | 4 +-
.../moduleutil/base/CommonAppContext.java | 2 +-
.../dialog/RechargeDialogFragment.java | 12 +-
.../utils/config/EnvironmentPrefs.java | 4 +-
.../xscm/moduleutil/widget/DropHourlView.java | 50 ++-
.../res/layout/fragment_recharge_dialog.xml | 422 +++++++++---------
.../main/res/layout/item_hourly_floating.xml | 5 +-
.../moduleroom/activity/RoomActivity.kt | 7 +
.../moduleroom/adapter/RoomHourlyAdapter.java | 6 +-
.../moduleroom/contacts/RoomUserContacts.java | 4 +
.../dialog/RoomUserInfoFragment.java | 46 +-
.../fragment/RelationshipFragment.java | 5 +
.../presenter/RoomUserPresenter.java | 18 +
.../src/main/res/layout/activity_room.xml | 57 +--
.../res/layout/fragment_room_user_info.xml | 2 +-
.../activity/RechargeActivity.java | 12 +-
.../src/main/res/layout/activity_recharge.xml | 3 +-
19 files changed, 391 insertions(+), 272 deletions(-)
diff --git a/.run/app.run.xml b/.run/app.run.xml
index e243daf..e7fa799 100644
--- a/.run/app.run.xml
+++ b/.run/app.run.xml
@@ -14,7 +14,7 @@
-
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f42b471..de7696e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -149,7 +149,7 @@
-
+
diff --git a/gradle.properties b/gradle.properties
index 1902428..f35b423 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.1.7
-APP_VERSION_CODE=169
+APP_VERSION_NAME=1.2.0
+APP_VERSION_CODE=172
org.gradle.jvm.toolchain.useLegacyAdapters=false
#org.gradle.java.home=C\:\\Users\\qx\\.jdks\\ms-17.0.15
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 54132d8..4478328 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java
@@ -761,7 +761,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
// 发送广播通知所有Activity刷新状态
Intent refreshIntent = new Intent("com.xscm.moduleutil.ACTION_USER_LOGOUT");
sendBroadcast(refreshIntent);
- Intent intent = new Intent("com.xscm.action.LAUNCH_PAGE");
+ Intent intent = new Intent("com.xscm.midi.LAUNCH_PAGE");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
}
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java
index ef85f3e..f2fbf0b 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java
@@ -126,7 +126,7 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment rechargeData) {
- RechargeBean customItem = new RechargeBean();
- customItem.setCoins("自定义");
- customItem.setMoney("");
- customItem.setItemViewType(1);
- rechargeData.add(customItem);
+// RechargeBean customItem = new RechargeBean();
+// customItem.setCoins("自定义");
+// customItem.setMoney("");
+// customItem.setItemViewType(1);
+// rechargeData.add(customItem);
rechargeAdapter = new BalanceRechargeAdapter(rechargeData);
rechargeAdapter.setNewData(rechargeData);
rechargeAdapter.setListener(new BalanceRechargeAdapter.OnRechargeItemClickListener() {
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/widget/DropHourlView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/DropHourlView.java
index d4590d8..55a2e7c 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/DropHourlView.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/DropHourlView.java
@@ -24,6 +24,7 @@ public class DropHourlView extends LinearLayout {
private int rightMargin = 0;
private float lastX, lastY;
private int screenWidth;
+ private int screenHeight; // 添加屏幕高度变量
public DropHourlView(Context context) {
super(context);
@@ -42,6 +43,9 @@ public class DropHourlView extends LinearLayout {
void init() {
+ // 初始化屏幕尺寸
+ screenWidth = ScreenUtils.getScreenWidth();
+ screenHeight = ScreenUtils.getScreenHeight();
post(new Runnable() {
@Override
@@ -51,6 +55,8 @@ public class DropHourlView extends LinearLayout {
int sw = ScreenUtils.getScreenWidth()-200;
// setBackgroundResource(R.drawable.bg_home_drop_view);
int y = (int) (0.5f * sh) - getHeight();
+ // 确保Y坐标不会超出屏幕范围
+ y = Math.max(0, Math.min(y, sh - getHeight()));
int x = sw - getWidth();
setTranslationX(x);
setTranslationY(y);
@@ -64,19 +70,25 @@ public class DropHourlView extends LinearLayout {
float X2;
float Y1;
float Y2;
+ // 记录视图初始位置
+ private float originalX;
+ private float originalY;
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (starDrap) return true;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
- X1 = event.getX();
- Y1 = event.getY();
+ X1 = event.getRawX();
+ Y1 = event.getRawY();
+ // 记录视图当前位置
+ originalX = getTranslationX();
+ originalY = getTranslationY();
break;
case MotionEvent.ACTION_MOVE:
- X2 = event.getX();//当手指抬起时,再次获取屏幕位置的X值
- Y2 = event.getY();//同理
+ X2 = event.getRawX();
+ Y2 = event.getRawY();
Action(X1, X2, Y1, Y2);
break;
@@ -111,17 +123,35 @@ public class DropHourlView extends LinearLayout {
case MotionEvent.ACTION_MOVE:
// setBackgroundResource(R.drawable.bg_home_drop_view);
- setTranslationX(getX() + (event.getX() - X1));
- setTranslationY(getY() + (event.getY() - Y1));
- X2 = event.getX();
+ // 使用屏幕绝对坐标计算新位置
+ float newX = originalX + (event.getRawX() - X1);
+ float newY = originalY + (event.getRawY() - Y1);
+
+ // 限制X和Y坐标在屏幕范围内
+ newX = Math.max(0, Math.min(newX, screenWidth - getWidth()));
+ newY = Math.max(0, Math.min(newY, screenHeight - getHeight()));
+
+ setTranslationX(newX);
+ setTranslationY(newY);
+ X2 = event.getRawX();
break;
case MotionEvent.ACTION_UP:
starDrap = false;
int sw = ScreenUtils.getScreenWidth();
Log.i(TAG, "onTouchEvent: " + sw + "," + X2);
boolean isR = getTranslationX() + getWidth() / 2 >= sw / 2;//贴边方向
- ObjectAnimator anim = ObjectAnimator.ofFloat(this, "translationX", isR ? sw - getWidth()+10 : 0f).setDuration(200);
- anim.start();
+
+ // 获取当前Y坐标
+ float currentY = getTranslationY();
+
+ // 创建X轴和Y轴的动画
+ ObjectAnimator animX = ObjectAnimator.ofFloat(this, "translationX", isR ? sw - getWidth() : 0f).setDuration(200);
+ // Y轴保持当前位置,但确保在屏幕范围内
+ currentY = Math.max(0, Math.min(currentY, screenHeight - getHeight()));
+ ObjectAnimator animY = ObjectAnimator.ofFloat(this, "translationY", currentY).setDuration(200);
+
+ animX.start();
+ animY.start();
break;
@@ -186,4 +216,4 @@ public class DropHourlView extends LinearLayout {
}
-}
+}
\ No newline at end of file
diff --git a/moduleUtil/src/main/res/layout/fragment_recharge_dialog.xml b/moduleUtil/src/main/res/layout/fragment_recharge_dialog.xml
index 704ac8f..48a22c0 100644
--- a/moduleUtil/src/main/res/layout/fragment_recharge_dialog.xml
+++ b/moduleUtil/src/main/res/layout/fragment_recharge_dialog.xml
@@ -1,221 +1,223 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context=".dialog.RechargeDialogFragment">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/bg_r16_fff">
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- android:layout_marginStart="@dimen/dp_16"
- android:layout_marginTop="@dimen/dp_12"
- android:layout_marginEnd="@dimen/dp_16"
- app:layout_constraintTop_toBottomOf="@+id/t_2" />
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/moduleUtil/src/main/res/layout/item_hourly_floating.xml b/moduleUtil/src/main/res/layout/item_hourly_floating.xml
index 7bc63b4..fbeb852 100644
--- a/moduleUtil/src/main/res/layout/item_hourly_floating.xml
+++ b/moduleUtil/src/main/res/layout/item_hourly_floating.xml
@@ -2,7 +2,8 @@
+ android:layout_height="@dimen/dp_90"
+ xmlns:tools="http://schemas.android.com/tools">
(),
override fun onResume() {
super.onResume()
+
+
+
+
LogUtils.e("RoomActivity", "onResume")
CommonAppContext.getInstance().isShow = true
CommonAppContext.getInstance().isPlaying = true
@@ -3784,9 +3788,12 @@ class RoomActivity : BaseMvpActivity(),
if (isMinimized) {
isMinimized = false
clearMinimizeState()
+
+
// 恢复房间状态
resumeRoomState()
setupEffectView()
+ MvpPre!!.postRoomInfo(CommonAppContext.getInstance().playId)
// resetFragment()
}
diff --git a/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java b/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java
index 3550afc..523c7ec 100644
--- a/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java
+++ b/moduleroom/src/main/java/com/example/moduleroom/adapter/RoomHourlyAdapter.java
@@ -27,14 +27,18 @@ public class RoomHourlyAdapter extends BaseQuickAdapter {
@@ -54,5 +56,7 @@ public class RoomUserContacts {
void deleteRelationCard(String id);
void clearUserCharm(String roomId,String userId);
+
+ void applyPit(String roomId,String pitNumber);
}
}
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 1df514c..447c943 100644
--- a/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java
+++ b/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomUserInfoFragment.java
@@ -161,7 +161,11 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment impl
}
});
}
+
+ @Override
+ public void applyPit(String roomId, String pitNumber) {
+ RetrofitClient.getInstance().applyPit(roomId, pitNumber, new BaseObserver() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addDisposable(d);
+ }
+
+ @Override
+ public void onNext(String s) {
+ if (MvpRef==null){
+ MvpRef=new WeakReference<>(mView);
+ }
+ MvpRef.get().applyPit();
+ }
+ });
+ }
}
diff --git a/moduleroom/src/main/res/layout/activity_room.xml b/moduleroom/src/main/res/layout/activity_room.xml
index 70b7941..69dba63 100644
--- a/moduleroom/src/main/res/layout/activity_room.xml
+++ b/moduleroom/src/main/res/layout/activity_room.xml
@@ -17,6 +17,36 @@
android:clipToPadding="false"
android:keepScreenOn="true">
+
+
+
+
+
+
+
+
-
-
-
-
-
-
rechargeData) {
// 在数据源最后添加一个自定义项
- RechargeBean customItem = new RechargeBean();
- customItem.setCoins("自定义");
- customItem.setMoney("");
- customItem.setItemViewType(1);
- rechargeData.add(customItem);
+// RechargeBean customItem = new RechargeBean();
+// customItem.setCoins("自定义");
+// customItem.setMoney("");
+// customItem.setItemViewType(1);
+// rechargeData.add(customItem);
rechargeAdapter = new BalanceRechargeAdapter(rechargeData);
rechargeAdapter.setNewData(rechargeData);
@@ -160,7 +160,7 @@ public class RechargeActivity extends BaseMvpActivity
+ android:layout_marginEnd="@dimen/dp_16"
+ android:visibility="gone">