So my data is not saved, it already exists in the file system. I am trying to work with files, and the android scoped storage would not allow me to browse through files just having the File("sdcard/") handle, it shows me the directories but the content is empty. Now a way to do that is to start activity with Intent.ACTION_OPEN_DOCUMENT_TREE, that returns an Uri which allows me to run queries on this uri and extract the files info, and then map them to a tree structure, or any other domain object I want. So the challenge is to get that uri, which depends on a ephemeral activity, which can die while the repository is still alive, and if I will hold a reference to it, this is BAD 😄 . So the challenge is to get that data without holding the reference long term, that means not exposing it from the abstraction.