Extracting an archive opened via content:// URI (Open with…) silently does nothing — cached temp file is deleted by TrashBin before ExtractService runs
I maintainer di solito rispondono entro 7 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start by tracing how MainActivity handles the incoming VIEW intent and how the archive viewer retains or cleans up the cached workspace file; then follow the source path passed to ExtractService. The report includes no source file or test names, so first locate those entry points and inspect the relevant lifecycle and cleanup code. Done when opening an archive from Amaze and extracting it from the viewer both work reliably, with a clear error if the source is missing.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Tapping an archive in Amaze's file list does not open it in Amaze's built-in archive viewer. Instead, the system "Open with" dialog appears. If I choose Amaze there, the archive opens in Amaze through a content://com.amaze.filemanager/... URI. Pressing Extract from that view does nothing: no progress, no extracted files, and only a toast that disappears quickly.
Extracting the same archive with long-press → Extract from the file list works.
The log shows that Amaze deletes its own cached copy of the archive (cache/workspace-<uuid>.zip) about 100 ms after the VIEW intent arrives. When Extract is pressed, ExtractService starts and stops within about 130 ms because the source file no longer exists.
Steps to reproduce
- Open Amaze and browse to a
.zipfile in internal storage (e.g./storage/emulated/0/Download/test.zip). - Tap the zip file. The system "Open with" chooser appears.
- Choose Amaze File Manager.
- The archive contents are shown.
- Tap Extract.
Expected behavior
- Tapping an archive inside Amaze opens it directly in Amaze's archive viewer, without the "Open with" dialog.
- Extract from the archive viewer extracts the files, as long-press → Extract does.
Actual behavior
- The "Open with" dialog appears for an archive that is already inside Amaze.
- After choosing Amaze, Extract does nothing.
ExtractServicestops almost immediately, the progress notification is posted and removed right away, and nothing is extracted.
Workaround
⋮ the archive in the file list → Extract works.
Relevant logcat
# Amaze (uid 10602) sends VIEW intent to itself with a content:// URI; delivered to existing singleInstance MainActivity
10-27 09:54:56.836 I/ActivityTaskManager(1681): START u0 {act=android.intent.action.VIEW dat=content://com.amaze.filemanager/... typ=application/zip flg=0x1 cmp=com.amaze.filemanager/.ui.activities.MainActivity} with LAUNCH_SINGLE_INSTANCE from uid 10602 (sr=233552640) (BAL_ALLOW_VISIBLE_WINDOW) result code=3
# ~110 ms later the cached workspace copy is deleted (going through TrashBin)
10-27 09:54:56.948 W/TrashBin(20472): Failed to move to bin /data/user/0/com.amaze.filemanager/cache/workspace-01a17a88-62de-7639-8a11-dfe3ad88bda8.zip
10-27 09:54:56.956 W/ModernMediaScanner(3522): Failed to visit /data/data/com.amaze.filemanager/cache/workspace-01a17a88-62de-7639-8a11-dfe3ad88bda8.zip: java.nio.file.NoSuchFileException: /data/data/com.amaze.filemanager/cache/workspace-01a17a88-62de-7639-8a11-dfe3ad88bda8.zip
10-27 09:54:56.958 D/MediaScannerConnection(20472): Scanned /data/user/0/com.amaze.filemanager/cache/workspace-01a17a88-62de-7639-8a11-dfe3ad88bda8.zip to null
# User presses Extract; service starts and stops after ~130 ms
10-27 09:55:01.249 I/ActivityManager(1681): Background started FGS: Allowed [callingPackage: com.amaze.filemanager; callingUid: 10602; uidState: TOP ; ... intent: Intent { cmp=com.amaze.filemanager/.asynchronous.services.ExtractService }; ... targetSdkVersion:36 ...]
10-27 09:55:01.379 D/ActivityManager(1681): Stop FGS timeout: ServiceRecord{739f83c u0 com.amaze.filemanager/.asynchronous.services.ExtractService c:com.amaze.filemanager}
10-27 09:55:01.466 I/NotificationService(1681): Cannot find enqueued record for key: 0|com.amaze.filemanager|1|null|10602
10-27 09:55:01.467 I/NotificationService(1681): Cannot find enqueued record for key: 0|com.amaze.filemanager|1|null|10602
10-27 09:55:01.470 I/NotificationService(1681): Cannot find enqueued record for key: 0|com.amaze.filemanager|1|null|10602
10-27 09:55:03.559 W/NotificationService(1681): Toast already killed. pkg=com.amaze.filemanager token=android.os.BinderProxy@8eb93c9
Analysis / possible cause
- The VIEW intent goes to the already-running
singleInstanceMainActivity (result code=3= START_DELIVERED_TO_TOP, soonNewIntent). Right after that, theworkspace-<uuid>.zipcache file is deleted. Possibly the cleanup of the previous archive viewer or fragment deletes the workspace file that the new viewer is using. Another possibility is that cleanup runs at the wrong point in the lifecycle when a new intent arrives. - The temporary cache file is deleted through the TrashBin code path. That seems unintended for internal cache files: they should be deleted outright, not moved to the recycle bin.
ExtractServicegets a source path that no longer exists and quits silently. It should show a clear error, such as "archive not found", in the notification as well as in a toast that is easy to miss.- Separately, tapping an archive in Amaze's own file list should open the internal viewer directly instead of showing the system "Open with" chooser.
Environment
- Amaze version: 3.11.4 F-Droid build
- Android version: Android 15
- Device: Note 8T
- Storage location of archive: Download
- "All files access" granted: yes
- Lingua principale
- Kotlin
- Stelle
- 6.5k
- Fork
- 1.7k
- Merge medio
- 9g 21h
- PR unite (30g)
- 7
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TeamAmaze/AmazeFileManager
-
Folders with no files are missing the parent directory item in grid layoutForse già presa @amandeep25100-a11y l’ha presa oggi. ApertaArea-UIUX Issue-Bug Issue-Easy (good first issue)
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
TeamAmaze/AmazeFileManager#4769 · 3 commenti ·
I maintainer di solito rispondono entro 7 giorni
-
Area-UIUX Issue-Bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
TeamAmaze/AmazeFileManager#4723 · 4 commenti · 1 reazione ·
I maintainer di solito rispondono entro 7 giorni
-
Area-FileOperations Issue-Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
TeamAmaze/AmazeFileManager#4131 · 1 reazione ·
I maintainer di solito rispondono entro 7 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 50/100
TeamAmaze/AmazeFileManager#4771 ·
I maintainer di solito rispondono entro 7 giorni
-
Thumbnail for animated images are brokenForse già presa @muhamadsyafii l’ha presa 1 giorno fa. ApertaArea-UIUX Issue-Bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
TeamAmaze/AmazeFileManager#4767 · 5 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 7 giorni
Tutte le issue di TeamAmaze/AmazeFileManager
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
confluentinc/intellij#674 ·
I maintainer di solito rispondono entro 9 giorni
-
[Submission] 湘办通Apertasubmit-adaption submit-adaption-pre
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
BetterAndroid/android-notification-icon-project#856 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
jules
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-learning-exchange/myplanet#18568 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Login shows only "Log-in failed" when Commons answers the login request with an API errorAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
commons-app/apps-android-commons#7295 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
mitchib1440/SpeakThat#163 · 1 commento ·