Skip to content

riyaz-raz/LegoziaFiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Legozia File Manager

A modern, feature-rich file manager application for Android built with Kotlin and Jetpack Compose.

Features

  • πŸ“ Comprehensive File Browsing: Navigate through your device's storage with ease.
  • πŸ“Š Storage Analysis: Visualize storage usage with category breakdowns and identify large files.
  • ⚑ Quick Access:
    • Recent Files: Quickly access your most recently modified files.
    • Favorites: Bookmark important files and folders for instant access.
  • πŸ› οΈ File Operations:
    • Copy, Move, Delete, and Rename files and folders.
    • Create new folders.
    • Zip/Unzip: Compress files into archives and extract them.
    • Share: Share files with other apps.
  • πŸ” Smart Sorting & Viewing:
    • Sort by Name, Size, Date, or Type.
    • Switch between List and Grid view modes.
  • 🎨 Modern UI:
    • Material Design 3 implementation.
    • Dynamic Dark/Light theme support.
    • File type icons and previews.
  • ℹ️ File Details: View detailed properties of files (path, size, modified date, type).

Technical Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: MVVM (Model-View-ViewModel)
  • Dependency Injection: Manual / ViewModelFactory
  • Asynchronous Processing: Coroutines & Flow
  • Image Loading: Coil
  • Navigation: Navigation Compose
  • Permissions: Accompanist Permissions
  • Local Storage: DataStore Preferences (for settings)

Project Structure

com.legozia.files/
β”œβ”€β”€ data/               # Data sources and preferences
β”‚   β”œβ”€β”€ FilePreferences.kt
β”‚   └── ThemePreferences.kt
β”œβ”€β”€ model/              # Data models
β”‚   β”œβ”€β”€ FileItem.kt
β”‚   β”œβ”€β”€ FileOperation.kt
β”‚   └── ...
β”œβ”€β”€ repo/               # Repositories and business logic
β”‚   β”œβ”€β”€ FileRepository.kt
β”‚   └── FileOperations.kt
β”œβ”€β”€ ui/                 # UI Components (Screens & Widgets)
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ theme/
β”‚   β”œβ”€β”€ FileManagerScreen.kt
β”‚   β”œβ”€β”€ AnalyzeStorageScreen.kt
β”‚   └── ...
β”œβ”€β”€ util/               # Utility classes
β”‚   β”œβ”€β”€ FileIconProvider.kt
β”‚   └── FileSizeCalculator.kt
β”œβ”€β”€ viewmodel/          # ViewModels
β”‚   β”œβ”€β”€ FileManagerViewModel.kt
β”‚   β”œβ”€β”€ StorageViewModel.kt
β”‚   └── ...
└── MainActivity.kt

Permissions

The app requires the following permissions to function correctly:

  • READ_EXTERNAL_STORAGE (Android 10 and below)
  • MANAGE_EXTERNAL_STORAGE (Android 11+) - Required for full file access.

Building the Project

  1. Open the project in Android Studio.
  2. Sync Gradle files.
  3. Build and run on an emulator or physical device (Android 8.0+ recommended).
./gradlew build

License

MIT License

About

πŸ“ A modern, feature-rich file manager application for Android built with Kotlin and Jetpack Compose.

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages