From e8bde7b8acd4c866c2586936596c3406d1560eb2 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Thu, 11 Sep 2025 18:35:31 +0800 Subject: [PATCH] Fix bug --- .../com/fongmi/android/tv/ui/activity/HomeActivity.java | 5 ++++- app/src/main/java/com/fongmi/android/tv/Setting.java | 6 ++++++ .../com/fongmi/android/tv/ui/activity/HomeActivity.java | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index f658e707b..579246d39 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -23,6 +23,7 @@ import com.bumptech.glide.request.target.Target; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Product; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.Updater; import com.fongmi.android.tv.api.config.LiveConfig; import com.fongmi.android.tv.api.config.VodConfig; @@ -135,7 +136,9 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen } private void requestPermission() { - PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).request((allGranted, grantedList, deniedList) -> PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).requestManageExternalStoragePermissionNow(new ChainTask())); + PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).request((allGranted, grantedList, deniedList) -> { + if (Setting.hasFileManager()) PermissionX.init(this).permissions().requestManageExternalStoragePermissionNow(new ChainTask()); + }); } private void setRecyclerView() { diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java index 4ed1243ad..0d5a063f4 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -2,6 +2,8 @@ package com.fongmi.android.tv; import android.content.Intent; +import android.net.Uri; +import android.os.Build; import android.provider.Settings; import com.fongmi.android.tv.player.Players; @@ -288,4 +290,8 @@ public class Setting { public static boolean hasCaption() { return new Intent(Settings.ACTION_CAPTIONING_SETTINGS).resolveActivity(App.get().getPackageManager()) != null; } + + public static boolean hasFileManager() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && (new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Uri.parse("package:" + App.get().getPackageName())).resolveActivity(App.get().getPackageManager()) != null || new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION).resolveActivity(App.get().getPackageManager()) != null); + } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index f2cf2ae61..44b18fbe8 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -16,6 +16,7 @@ import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.Updater; import com.fongmi.android.tv.api.config.LiveConfig; import com.fongmi.android.tv.api.config.VodConfig; @@ -105,7 +106,9 @@ public class HomeActivity extends BaseActivity implements NavigationBarView.OnIt } private void requestPermission() { - PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).request((allGranted, grantedList, deniedList) -> PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).requestManageExternalStoragePermissionNow(new ChainTask())); + PermissionX.init(this).permissions(PermissionX.permission.POST_NOTIFICATIONS).request((allGranted, grantedList, deniedList) -> { + if (Setting.hasFileManager()) PermissionX.init(this).permissions().requestManageExternalStoragePermissionNow(new ChainTask()); + }); } private void initConfig() {