Professional Photo & Video Gallery with Advanced Video Player and Subtitle Support
Features β’ Installation β’ Usage β’ Screenshots β’ Developer
You can download the latest version of M O S A Gallery below π
Or visit the Releases page to see all available versions.
- Download the
.apkfile from the link above. - Open the file on your Android device.
- Allow installation from unknown sources (if prompted).
- Launch M O S A Gallery and enjoy!
M O S A Gallery is a professional photo and video gallery app built with Flutter, offering a smooth and modern user experience with numerous advanced features.
- 5 different navigation bar designs (Pill Shape, Floating Pills, Holographic, iOS Style, Futuristic)
- Smooth and professional animations
- Dark mode support
- Responsive design that adapts to all screen sizes
- Full Subtitle Support (SRT/VTT) with complete customization:
- Change text and background colors
- Control font size and position
- Adjust transparency and width
- Picture-in-Picture (PIP) mode for multitasking
- Gesture Controls:
- Vertical swipe for brightness and volume
- Double tap for forward/rewind
- Multiple playback speeds (0.25x - 2.0x)
- Blur effect for privacy
- Auto-save playback position
- Auto-rotate to landscape
- Visual indicators for brightness and volume
- App Lock with custom passcode
- Biometric Authentication (Fingerprint / Face ID)
- Hide Files from main gallery
- Password-protected folder for sensitive content
- Display photos and videos by date
- Advanced Search functionality
- Multi-selection mode for batch operations:
- Share
- Delete
- Hide
- Albums and Collections
- Recently Deleted folder
- Filter by type (photos/videos)
- Fast thumbnail loading
- Shimmer effect while loading
- Lazy loading for long lists
- Smart image caching
- Optimized memory usage
- Arabic support
- English support
- Extensible interface for adding new languages
- Flutter 3.0+ - Main framework
- Dart 3.0+ - Programming language
photo_manager: ^3.5.3 # Photo & video management
video_player: ^2.9.2 # Video playback
subtitle: ^1.0.2 # Subtitle file processing
open_file: ^3.5.8 # File operationslocal_auth: ^2.3.0 # Biometric authentication
flutter_secure_storage: ^9.2.2 # Secure storage
shared_preferences: ^2.3.3 # Settings storageflutter_colorpicker: ^1.1.0 # Color picker
device_info_plus: ^10.1.2 # Device informationshare_plus: ^10.1.2 # File sharing
permission_handler: ^11.3.1 # Permission managementintl: ^0.19.0 # Internationalization
path: ^1.9.0 # Path manipulation
file_picker: ^8.1.4 # File selection- Android: 7.0 (API 24) or higher
- For auto-rotate and advanced animations: Android 10+ (API 29)
- For file hiding: Android 11+ (API 30) recommended
- iOS: 12.0 or higher (not fully tested)
- Flutter SDK 3.0 or higher
- Dart SDK 3.0 or higher
- Android Studio / VS Code
- Xcode (for iOS development)
git clone https://github.com/M0SAD67/mosa-gallery.git
cd mosa-galleryflutter pub getAdd permissions in android/app/src/main/AndroidManifest.xml:
<!-- Basic permissions -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Android 11+ -->
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<!-- Android 13+ -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<!-- Biometric -->
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<!-- PIP Mode -->
<activity android:supportsPictureInPicture="true" />Add to ios/Runner/Info.plist:
<key>NSPhotoLibraryUsageDescription</key>
<string>We need access to your photos to display them</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>We need permission to save photos</string>
<key>NSFaceIDUsageDescription</key>
<string>We use Face ID to protect your app</string># For development
flutter run
# Build APK
flutter build apk --release
# Build App Bundle
flutter build appbundle --release- Single tap: View photo/video
- Long press: Enable multi-selection mode
- Pull down: Refresh list
- 3 taps on Library: Open hidden folder
- Single tap: Show/hide controls
- Double tap left: Rewind 10 seconds
- Double tap right: Forward 10 seconds
- Vertical swipe left: Adjust brightness
- Vertical swipe right: Adjust volume
- Open video
- Tap subtitle icon
- Select SRT/VTT file
- Customize appearance (color, size, position)
- Go to Settings
- Enable "App Lock"
- Enter passcode (minimum 4 digits)
- Enable biometric (optional)
mosa-gallery/
βββ lib/
β βββ main.dart # Entry point
β βββ home.dart # Main page and navigation
β βββ all_media_page.dart # All media page
β βββ collections_page.dart # Albums page
β βββ pages/
β βββ media_viewer_page.dart # Photo/video viewer
β βββ video_player_screen.dart # Advanced player
β βββ sub_setting.dart # Subtitle settings
β βββ setting.dart # App settings
β βββ app_lock_service.dart # App lock service
β βββ hidden_page.dart # Hidden files page
β βββ deleted_page.dart # Recently deleted
β βββ welcome_screen.dart # Welcome screen
βββ android/
β βββ app/
β βββ src/main/
β βββ AndroidManifest.xml # Permissions
β βββ kotlin/ # Native code for PIP
βββ assets/
β βββ icon3.png # App icon
β βββ test.jpg # Test image
βββ pubspec.yaml # Dependencies
βββ README.md # This file
- Photo and video gallery sorted by date
- 5 different navigation bar designs
- Advanced filters and search
- Modern interface with Glassmorphism effects
- Full subtitle support
- Smooth controls
- PIP mode
- App lock and biometric authentication
- Navigation bar customization
- Player settings (speed, rotation, audio)
- Language support
Contributions are welcome! If you'd like to contribute:
- Fork the project
- Create a new branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Full iOS support
- Built-in photo editor
- Video trimming and editing
- Automatic subtitle download
- Cloud synchronization
- Album sharing
- Face recognition
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Mohamed (MOSAD)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
Mohamed (MOSAD)
- GitHub: @M0SAD67
- Email: mhmdaldhshwry280@gmail.com
- Flutter Team - Amazing framework
- Dart Team - Powerful language
- Open Source Community - For the libraries used
- PIP Mode: May not work on some custom Android devices
- Biometric: Not available on older devices
- Hide Files: Requires special permissions on Android 11+
If you encounter an issue or have a suggestion:
- Open an Issue on GitHub
- Email me at mhmdaldhshwry280@gmail.com
If you like the project:
- β Star the project on GitHub
- π Share the project with friends
- π Report bugs
- π‘ Suggest new features