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 -