diff --git a/app/src/main/java/io/lbry/browser/MainActivity.java b/app/src/main/java/io/lbry/browser/MainActivity.java index 755236bd..95bf8181 100644 --- a/app/src/main/java/io/lbry/browser/MainActivity.java +++ b/app/src/main/java/io/lbry/browser/MainActivity.java @@ -2915,11 +2915,17 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener public static void requestPermission(String permission, int requestCode, String rationale, Context context, boolean forceRequest) { if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { - if (!forceRequest && ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, permission)) { - Toast.makeText(context, rationale, Toast.LENGTH_LONG).show(); - } else { + if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, permission)) { + if (context instanceof MainActivity) { + ((MainActivity) context).showMessage(rationale); + } + } else if (forceRequest) { startingPermissionRequest = true; ActivityCompat.requestPermissions((Activity) context, new String[] { permission }, requestCode); + } else { + if (context instanceof MainActivity) { + ((MainActivity) context).showError(rationale); + } } } } diff --git a/app/src/main/java/io/lbry/browser/ui/publish/PublishFragment.java b/app/src/main/java/io/lbry/browser/ui/publish/PublishFragment.java index 8ec12b4e..d0603176 100644 --- a/app/src/main/java/io/lbry/browser/ui/publish/PublishFragment.java +++ b/app/src/main/java/io/lbry/browser/ui/publish/PublishFragment.java @@ -255,7 +255,9 @@ public class PublishFragment extends BaseFragment implements } } - checkStoragePermissionAndLoadVideos(); + if (!storageRefusedOnce) { + checkStoragePermissionAndLoadVideos(); + } } @SuppressLint("RestrictedApi") @@ -394,22 +396,21 @@ public class PublishFragment extends BaseFragment implements } if (launchFilePickerPending) { launchFilePickerPending = false; - launchFilePicker(); + launchFilePicker();e } } @Override public void onStoragePermissionRefused() { - if (!storageRefusedOnce) { - View root = getView(); - if (root != null) { - Snackbar.make(root, R.string.storage_permission_rationale_videos, Snackbar.LENGTH_LONG). - setBackgroundTint(Color.RED).setTextColor(Color.WHITE).show(); - Helper.setViewText(noVideosLoaded, R.string.storage_permission_rationale_videos); - checkNoVideosLoaded(); - } - storageRefusedOnce = true; + storageRefusedOnce = true; + View root = getView(); + if (root != null) { + Snackbar.make(root, R.string.storage_permission_rationale_videos, Snackbar.LENGTH_LONG). + setBackgroundTint(Color.RED).setTextColor(Color.WHITE).show(); + Helper.setViewText(noVideosLoaded, R.string.storage_permission_rationale_videos); } + + checkNoVideosLoaded(); } public String getSuggestedPublishUrl() {