camera_with_gps 2.5.1
camera_with_gps: ^2.5.1 copied to clipboard
Flutter plugin that captures photos with GPS coordinates embedded in EXIF. Includes pinch zoom, flash, aspect ratio toggle and gallery picker.
2.5.1 - 2026-05-18 #
- Dependencies
- Removed unused
permission_handlerandexifdependencies frompubspec.yaml. Consumer apps are no longer constrained to specific versions of these packages.
- Removed unused
2.5.0 - 2026-05-12 #
- Zoom support
- Pinch-to-zoom over the camera preview (clamped to the device's
getMinZoomLevel/getMaxZoomLevel). - Preset buttons (
0.5x/1x/2x) above the shutter row, shown only when reachable by the active camera. - Zoom resets to
1xon camera switch and lifecycle resume.
- Pinch-to-zoom over the camera preview (clamped to the device's
- GPS performance
- Pre-warmed location via
Geolocator.getLastKnownPosition()+getPositionStream()while the camera is open. _handleGpsnow uses a bounded fallback chain (warmed → last-known →getCurrentPosition(timeLimit: 2s)) so a single shutter press no longer blocks for tens of seconds in airplane mode / cold-start scenarios.
- Pre-warmed location via
- Shutter latency: camera controller is now disposed after
Navigator.pop, saving ~300-500 ms of perceived delay. - Fixes
- Samsung SAF gallery picker no longer dead-locks when the user cancels the system file picker (Android
RESULT_CANCELEDnow resolvespendingResultwithnull). - Added the public library entry point
lib/camera_with_gps.dart—import 'package:camera_with_gps/camera_with_gps.dart';now works as documented. - Bundle identifier typo in the example app's Debug build configuration corrected.
- Samsung SAF gallery picker no longer dead-locks when the user cancels the system file picker (Android
- Polish
print(...)calls replaced withdebugPrint(...)so logs no longer leak to release builds of host apps.BottomBaraccepts an optionalabovewidget rendered inside the sameSafeAreaas the shutter row — used byZoomPresets, structurally cannot be covered by the controls panel.- iOS
camera_with_gps.podspecfilled with real metadata (was an autogenerated stub).
- Dependencies: SDK constraint tightened to
>=3.0.0 <4.0.0; direct dependencies switched to caret constraints on currently-resolved versions for pana scoring.
2.4.0 - 2026-02-04 #
- **Update to version 2.4.0 - Adjust dependency constraints, update SDK requirements,
- and prepare for compatibility with Flutter 3.10.0 and Dart 2.19.
2.3.1 - 2025-11-13 #
- ** "Introduce platform-specific gallery picker for Android and Samsung devices,
- improve GPS handling for picked images,
- and refactor photo processing code"
2.3.0 - 2025-11-13 #
- Platform-specific photo processing and preview handling:
- Split
PhotoProcessorinto platform-specific implementations (PhotoProcessorAndroidandPhotoProcessorIOS) - Split
PreviewBoxinto platform-specific implementations (PreviewBoxAndroidandPreviewBoxIOS) - Each platform now has independent rotation logic and preview behavior
- Split
- iOS improvements:
- Added adaptive preview that rotates to landscape when device is rotated
- Fixed photo rotation for both landscape orientations (left and right)
- Implemented correct aspect ratio calculation after rotation using actual dimensions
- Added 90° correction for landscape photos to ensure proper orientation
- Android improvements:
- Maintained portrait-only preview (UI locked to portrait)
- Integrated
OrientationServicefor accurate device orientation detection via sensors - Fixed horizontal photo rotation issues
- Preserved original working rotation logic
- Unified orientation detection:
- Both platforms now use
OrientationServicefor sensor-based orientation detection - iOS: Preview adapts with
setState()for dynamic UI updates - Android: Orientation tracked without
setState()to maintain fixed portrait preview
- Both platforms now use
- Code organization:
- Created platform-agnostic facade classes that delegate to platform-specific implementations
- Improved maintainability by separating iOS and Android behavior
- Added comprehensive debug logging for orientation changes and photo processing
2.2.0 - 2025-11-12 #
- **Refactor and enhance camera functionality: consolidate photo processing logic,
- introduce animated rotation for UI,
- refactor lifecycle handling,
- optimize orientation services,
- and update iOS configurations for EXIF and GPS metadata improvements."
2.0.0 - 2025-06-23 #
- Major refactoring of camera app structure:
- Split monolithic file into small, testable components
- Created dedicated services, widgets, and utility classes
- Improved code organization with clear separation of concerns
- Enhanced maintainability and testability
- Fixed iOS photo rotation issue:
- Corrected rotation angle for photos taken in landscape right orientation on iOS devices
- Updated code for better compatibility:
- Replaced pattern matching switch expressions with traditional switch statements
1.1.7 - 2025-06-22 #
- "Fix Android orientation detection issue where devices were always detecting landscapeLeft"
- "Improve image rotation logic for Android devices in landscape mode"
1.1.6 - 2025-06-22 #
- "Fix Android photo orientation issue when taking photos in landscape-right orientation"
1.1.5 2025-06-221 #
- "Add
removeGpsmethod to handle GPS metadata removal and enable corresponding iOS build warning for quoted includes"
1.1.4 2025-06-221 #
- "Refactor GPS metadata handling: remove confirmation dialog for invalid coordinates, streamline EXIF parsing,
- add
removeGpsmethod, and enhance gallery feature with detailed metadata display."
1.1.3 - 2025-06-20 #
- "Fix crash on launch in release APK by adding ProGuard rules to prevent obfuscation of critical classes"
1.1.2 - 2025-06-19 #
- "Update Android build configs: adjust minSdkVersion for example app and plugin to maintain compatibility"
1.1.1 - 2025-06-18 #
- Refactor CameraPreviewPage:
- Add orientation-aware UI, optimize GPS handling, and improve photo cropping/rotation logic"
- "Add device detection using
device_info_plusfor Samsung-specific gallery handling, - refine GPS checks, and update orientation-aware UI with enhanced margin adjustments"
0.2.0 - 2025-06-13 #
- Integrate permission_handler package and update configurations
- Added
permission_handlerdependency inpubspec.yamland example project - Updated iOS project configuration to include
permission_handler_apple - Removed unused permissions and microphone description in
Info.plist - Updated AndroidManifest.xml for clean-up of blank lines
- Added
0.1.1+1 - 2025-03-31 #
- Update
openCamerato requireBuildContextfor navigation - Replaced
navigatorKeywith aBuildContextparameter inopenCamerafor improved navigation handling
0.1.0+2 - 2025-03-24 #
- "Allow camera usage without GPS permission and enhance GPS status warnings"
0.1.0+3 - 2025-06-18 #
-
"Allow camera usage without GPS permission and enhance GPS status warnings"