TeamAmaze / TeamAmaze/AmazeFileManager

Can't see files from other users, or modify files outside of storage, even with root

Open
#1,575 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-FileOperations Issue-Bug
Dominant language
Kotlin
Stars
6.4k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
1

Description

I'm sorry if this is explanation is too confusing, I'm having problems to keep it clear and concise. Please ask me if you need clarification.

Thank you very much.

Setup

I'm using a Wiko Lenny3 with its stock ROM (Android Marshmallow), rooted with Magisk Manager v18.0.

I'm currently using Island to create a work profile in my phone. This basically creates a second user in my phone, so that apps in a user profile can't access data or settings from the other profile.

Normally, if you log in as several users in an Android, you can only use one session at a time and any other session is frozen. You can't receive notifications from any user other than the current, either. A work profile overcomes these two limitations.

In my specific phone, my owner storage is located at /storage/emulated/0/, and my work profile storage at /storage/emulated/10/.

Warning

Island has internet permissions and has attempted to connect to internet in the past. You might want to take precautions (I'm using a firewall), or use an alternative like Shelter, if it works for you. (At January 2019, Shelter only works for Nougat or higher.)

Issue

This isolation works too well. I can clone Amaze into my work profile, and when I run Amaze I can choose between running as owner, or running from my work profile.

Amaze can't get permission to show the contents of /storage/emulated/, or from any user than the one I pick. This happens even if I grant Amaze root access.

I can't create a folder or rename a file at /, either. The view for / refreshes, and any modification I do is silently discarded. Again, root access doesn't help.

If I try to Share a file with the Amaze app in the other profile, Amaze creates a 0-bytes file and crashes.

Alternative

Island provides an alternative way to connect the work profile storage space and the owner storage, called File Shuttle. If File Shuttle is enabled, and an application from the work profile opens a dialog for the Android Storage Access Framework, the user can click an entry reading “Shuttled by Island” to access the owner storage.

The Android Nougat stock file browser and FX FIle Explorer (a closed-source file browser) can open this dialog, but Amaze is not compatible with this Android SAF.

I can successfully Share files from FX FIle Explorer (in my work profile) to Amaze (in my owner profile).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the work-profile behavior across /storage/emulated/0/, /storage/emulated/10/, and /, including root access and sharing between profiles. Compare Amaze's behavior with Android Storage Access Framework and the File Shuttle flow; done means the affected storage and sharing operations behave correctly or the unsupported limitation is clearly identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.