Skip to content

Conversation

@alperozturk96
Copy link
Collaborator

@alperozturk96 alperozturk96 commented Nov 17, 2025

  • Tests written, or not not needed

Changes

This PR simplifies and consolidates the app’s storage-permission handling to improve clarity, reduce duplicated logic.

StoragePermissionDialog

  • Removed the dependency on an external listener.
  • Ask media permission as well after full file access. (e.g. MEDIA_LOCATION)

UploadListActivity

  • Removed the repeated permission-request flow.
  • Added a non-intrusive Storage Permission Banner that appears when required permissions are missing.

PermissionUtil

Remove the external override flag.
Consolidated storage-permission checks.
Reduced code duplication and improved readability.

Storage Permission Banner Behavior

@kra-mo

When the user denies storage permissions, including full file access, media access, or limited access, the app can no longer trigger the native permission dialog. Because these permissions are essential for both auto and manual uploads, the banner provides clear user guidance.

The banner offers the following options:

Media Access → Opens the system settings page for granting media access.
Full File Access → Redirects the user to the app-specific full-file access settings page.
Don’t Ask Again → Allows the user to permanently dismiss the banner if they do not wish to see it again.

Screenshot_20251119_130958

@alperozturk96 alperozturk96 force-pushed the improve-storage-permission-ui-ux branch 2 times, most recently from 56330e0 to 4b23583 Compare November 19, 2025 10:15
@alperozturk96 alperozturk96 requested a review from kra-mo November 19, 2025 12:33
kra-mo

This comment was marked as resolved.

@alperozturk96 alperozturk96 force-pushed the improve-storage-permission-ui-ux branch from b169219 to f9eb762 Compare November 20, 2025 11:57
@alperozturk96 alperozturk96 requested a review from kra-mo November 20, 2025 11:59
@alperozturk96
Copy link
Collaborator Author

alperozturk96 commented Nov 20, 2025

The apostrophe (') is a special character. To show it in the UI \ is needed, but backslash not visible for user, FYI. @kra-mo

@alperozturk96 alperozturk96 force-pushed the improve-storage-permission-ui-ux branch from 53ab2b3 to ae85691 Compare November 24, 2025 07:32
@github-actions
Copy link

@github-actions
Copy link

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/15977.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud app.

@github-actions
Copy link

Codacy

SpotBugs

CategoryBaseNew
Bad practice4242
Correctness7373
Dodgy code272274
Experimental11
Internationalization77
Malicious code vulnerability22
Multithreaded correctness3535
Performance4848
Security1818
Total498500

SpotBugs increased!

@github-actions
Copy link

blue-Light-Screenshot test failed, but no output was generated. Maybe a preliminary stage failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants