From 7a084b6b2b092a04e1d11de8c1fead1a8efda9de Mon Sep 17 00:00:00 2001
From: yujiankang <15535958281@163.com>
Date: Fri, 26 Sep 2025 14:22:48 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=AE=9A=E4=BD=8D=E7=9A=84=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
gradle/libs.versions.toml | 2 +
moduleUtil/build.gradle | 2 +
.../res/layout/fragment_tour_club_dialog.xml | 156 +----------
modulemain/build.gradle | 2 +
modulemain/src/main/AndroidManifest.xml | 5 +-
.../modulemain/activity/MainActivity.java | 70 ++++-
.../moduleroom/view/QXMeetGiftView.java | 258 ++++++++++++++++++
.../src/main/res/layout/activity_room.xml | 27 --
8 files changed, 326 insertions(+), 196 deletions(-)
create mode 100644 moduleroom/src/main/java/com/example/moduleroom/view/QXMeetGiftView.java
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 1ffcc9d..787fe86 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -47,6 +47,7 @@ logger = "2.2.0"
loggingInterceptorVersion = "3.10.0"
multidex = "2.0.1"
ossAndroidSdkVersion = "2.9.21"
+permissionx = "1.7.1"
persistentcookiejar = "v1.0.1"
picture_libraryVersion = "v2.6.0"
reactivexRxjava = "2.2.21"
@@ -125,6 +126,7 @@ logger = { module = "com.orhanobut:logger", version.ref = "logger" }
multidex = { module = "androidx.multidex:multidex", version.ref = "multidex" }
#numberprogressbar-library = { module = "com.daimajia.numberprogressbar:library", version.ref = "libraryVersion" }
okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "loggingInterceptorVersion" }
+permissionx = { module = "com.guolindev.permissionx:permissionx", version.ref = "permissionx" }
persistentcookiejar = { module = "com.github.franmontiel:PersistentCookieJar", version.ref = "persistentcookiejar" }
#pictureselector-picture_library = { module = "com.github.LuckSiege.PictureSelector:picture_library", version.ref = "picture_libraryVersion" }
reactivex-rxjava = { module = "io.reactivex.rxjava2:rxjava", version.ref = "reactivexRxjava" }
diff --git a/moduleUtil/build.gradle b/moduleUtil/build.gradle
index 5a7e832..f91a807 100644
--- a/moduleUtil/build.gradle
+++ b/moduleUtil/build.gradle
@@ -207,6 +207,8 @@ dependencies {
api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
api 'io.github.mayzs:paho.mqtt.android:1.2.1'
+
+
// room数据库
// def room_version = "2.5.0"
// implementation "androidx.room:room-runtime:$room_version"
diff --git a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
index 687dbf4..cd0c57b 100644
--- a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
+++ b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
@@ -62,7 +62,6 @@
app:layout_constraintTop_toBottomOf="@+id/tv_gz" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -432,7 +281,7 @@
android:layout_marginBottom="@dimen/dp_15"
android:orientation="horizontal"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
- app:layout_constraintTop_toBottomOf="@+id/gift_l5"
+ app:layout_constraintTop_toBottomOf="@+id/cl_gift"
app:layout_constraintBottom_toTopOf="@+id/exchange_layout"
/>
@@ -464,6 +313,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/exchange_layout"
app:layout_constraintBottom_toBottomOf="@+id/exchange_layout"
+ android:visibility="gone"
/>
-
+
+
+
+
diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
index ee07798..cd659eb 100644
--- a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
+++ b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
@@ -18,6 +18,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -36,6 +37,12 @@ import com.example.modulenews.fragment.NewsFragment;
import com.example.moduleroom.activity.RoomActivity;
import com.example.modulevocal.fragment.VocalRangeFragment;
import com.example.modulevoice.fragment.VoiceFragment;
+import com.permissionx.guolindev.PermissionX;
+import com.permissionx.guolindev.callback.ExplainReasonCallback;
+import com.permissionx.guolindev.callback.ForwardToSettingsCallback;
+import com.permissionx.guolindev.callback.RequestCallback;
+import com.permissionx.guolindev.request.ExplainScope;
+import com.permissionx.guolindev.request.ForwardScope;
import com.xscm.modulemain.R;
import com.xscm.modulemain.contacts.HomeContacts;
import com.xscm.modulemain.databinding.ActivityMainBinding;
@@ -553,8 +560,49 @@ public class MainActivity extends BaseMvpActivity deniedList) {
+ String message = "需要GPS权限以获取您的精确位置,用于导航/定位功能";
+ // 若包含后台权限,补充说明
+
+ scope.showRequestReasonDialog(deniedList, message, "确定", "取消");
+ }
+ })
+ // 权限被永久拒绝时,引导至设置页面
+ .onForwardToSettings(new ForwardToSettingsCallback() {
+ @Override
+ public void onForwardToSettings(ForwardScope scope, List deniedList) {
+ scope.showForwardToSettingsDialog(deniedList, "GPS权限被拒绝,无法使用定位功能,请去设置开启", "去设置", "取消");
+ }
+ })
+ // 权限请求结果回调
+ .request(new RequestCallback() {
+ @Override
+ public void onResult(boolean allGranted, List grantedList, List deniedList) {
+ if (allGranted) {
+// Toast.makeText(MainActivity.this, "GPS权限已授予,可开始定位", Toast.LENGTH_SHORT).show();
+ initLocation(); // 启动GPS定位逻辑
+ } else {
+ Toast.makeText(MainActivity.this, "GPS权限被拒绝,无法使用定位功能", Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -629,18 +677,19 @@ public class MainActivity extends BaseMvpActivity
-