README.md

June 13, 2026 · View on GitHub

File Navigator app icon

File Navigator

The missing link between Android and a sorted file system.

Google Play version F-Droid version IzzyOnDroid version GitHub release
Google Play downloads GitHub downloads
License Code size Build status

File Navigator watches Android's shared storage for new files and helps move them to the folders where they belong. Rules can distinguish not only between file types, but also between sources such as the camera, screenshots, downloads, recordings, and other apps.

The app supports Android 11 and newer.

Features

  • File discovery notifications - get notified when a new matching file appears and move, open, or delete it directly from the notification.
  • Quick Move - assign frequently used destination folders to a file source and move files with a single action.
  • Auto Move - automatically route new files to configured folders without further interaction.
  • Source-specific rules - configure different behavior for camera photos, screenshots, recordings, downloads, and files created by other apps.
  • Built-in file types - organize pictures, videos, audio, PDFs, text files, archives, APKs, and eBooks.
  • Custom file types - create your own categories with a name, color, and set of file extensions.
  • Configurable extensions - include or exclude extensions from supported non-media file types.
  • Batch moving - collect multiple active navigation notifications and move their files to one destination.
  • Move history - review previously moved files and their destinations.
  • Quick Settings tile - start or stop the navigator from Android's Quick Settings panel.
  • Background controls - optionally start on boot and stop navigation when the battery is low.
  • Material 3 appearance - follow the system theme, use light or dark mode, enable dynamic colors, and opt into an AMOLED black theme.

How It Works

  1. Select the file types and sources that File Navigator should observe.
  2. Start the navigator.
  3. When a matching file appears, either choose a new destination or a configured Quick Move destination from the notification, or let an Auto Move rule handle it.
  4. Review completed operations in the move history.

Android restricts access to app-private storage. File Navigator therefore works with files exposed through shared storage and Android's media and document APIs.

Download

Get it on Google Play Download from F-Droid Get it on IzzyOnDroid Get it on GitHub

Screenshots

File Navigator home screen File Navigator notification File Navigator file type settings File Navigator app settings

Tech Stack

  • Kotlin and Kotlin Coroutines
  • Jetpack Compose with Material 3
  • Navigation 3
  • Hilt for dependency injection
  • Room for move history
  • Protocol Buffers and DataStore-backed preferences for persistent configuration
  • Android MediaStore, Storage Access Framework, foreground services, notifications, and Quick Settings APIs
  • Gradle convention plugins and a version catalog for shared build configuration
  • JUnit, Robolectric, MockK, Turbine, and Compose UI tests
  • Baseline Profiles for startup and runtime performance

Architecture

File Navigator module dependency graph

ModuleResponsibility
:appCompose UI, app navigation, and top-level dependency wiring
:benchmarkingBaseline Profile generation and macrobenchmarks
:modules:databaseRoom database and move-history persistence
:modules:datastorePersisted navigator and app configuration
:modules:datastore-protoGenerated Protocol Buffer configuration models
:modules:designsystemShared Compose theme and UI components
:modules:domainCore models, repository contracts, and use-case contracts
:modules:navigatorFile observation, moving, and foreground service behavior
:modules:navigator-domainNavigator-specific models and contracts
:modules:navigator-notificationsNavigation and move notifications
:modules:navigator-quicktileQuick Settings tile integration
:modules:resourcesShared strings, icons, colors, and images
:modules:sharedShared Android infrastructure and utility extensions
:modules:storageDocument and media URI types and storage helpers
:modules:testShared test dependencies and utilities
:modules:usecaseDomain use-case implementations

Permissions

File Navigator requests only the platform capabilities required for its core workflow:

  • Manage all files to observe and move files in shared storage.
  • Notifications to present newly discovered files and move actions.
  • Foreground service access to keep the navigator active in the background.
  • Selected-folder access through Android's system picker for Quick Move and Auto Move destinations.

Folder access granted through the system picker is persisted so the same destination does not need to be approved for every move.

Contributing

Bug reports and feature requests are welcome in GitHub Issues. For code changes, keep commits focused and ensure ./gradlew check assembleDebug passes before opening a pull request.

Donations

Buy Me A Coffee

License

File Navigator is distributed under the GNU General Public License v3.0.

Copyright © w2sv, 2023-present.