-
-
Notifications
You must be signed in to change notification settings - Fork 134
Adds 'orientation' field to Result #236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
zedtux
wants to merge
1
commit into
NitrogenZLab:main
Choose a base branch
from
Pharmony:features/add-result-orientation-field
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Adds 'orientation' field to Result #236
zedtux
wants to merge
1
commit into
NitrogenZLab:main
from
Pharmony:features/add-result-orientation-field
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zedtux
added a commit
to Pharmony/react-native-multiple-image-picker
that referenced
this pull request
Jul 15, 2025
…ency & auto-linking fix This commit introduces comprehensive improvements to the React Native Multiple Image Picker library: 🔧 Auto-linking Fix for Android: - Fixed broken prefab dependency resolution for react-native-nitro-modules - Implemented manual NitroModules linking to bypass prefab issues - Added dynamic library path discovery with multiple fallback locations - Enhanced CMake configuration with comprehensive error handling and logging 🖼️ Orientation Handling for Android: - Automatic EXIF orientation processing to ensure images display correctly - Dimension adjustment based on orientation (width/height swapping for 90°/270° rotations) - Comprehensive error handling for corrupted EXIF data and memory issues - Performance-optimized one-at-a-time processing to prevent memory exhaustion 📱 Cross-Platform realPath Consistency: - iOS now populates realPath with the actual file path (without "file://" prefix) - Android maintains existing behavior with real file system paths - Consistent API allowing developers to reliably use realPath on both platforms 📝 Documentation & Testing: - Comprehensive documentation in docs/ORIENTATION.md - Unit tests for orientation handling (OrientationTest.kt) - Updated TypeScript interfaces with proper platform annotations 🚨 Breaking Changes: None - All changes are backward compatible Closes NitrogenZLab#236
edf2554
to
a7d1e28
Compare
All looks good to me, the lib is working on Android and iOS in my React-Native 0.76 application. Could you please @baronha review this PR and add your comments? |
…ency & auto-linking fix This commit introduces comprehensive improvements to the React Native Multiple Image Picker library: 🔧 Auto-linking Fix for Android: - Fixed broken prefab dependency resolution for react-native-nitro-modules - Implemented manual NitroModules linking to bypass prefab issues - Added dynamic library path discovery with multiple fallback locations - Enhanced CMake configuration with comprehensive error handling and logging 🖼️ Orientation Handling for Android: - Automatic EXIF orientation processing to ensure images display correctly - Dimension adjustment based on orientation (width/height swapping for 90°/270° rotations) - Comprehensive error handling for corrupted EXIF data and memory issues - Performance-optimized one-at-a-time processing to prevent memory exhaustion 📱 Cross-Platform realPath Consistency: - iOS now populates realPath with the actual file path (without "file://" prefix) - Android maintains existing behavior with real file system paths - Consistent API allowing developers to reliably use realPath on both platforms 📝 Documentation & Testing: - Comprehensive documentation in docs/ORIENTATION.md - Unit tests for orientation handling (OrientationTest.kt) - Updated TypeScript interfaces with proper platform annotations 🚨 Breaking Changes: None - All changes are backward compatible Closes NitrogenZLab#236
bf0b921
to
1c3c5b9
Compare
I did a fix on the autolinking code so that it works for Debug and Release build artifacts. |
Thank you for your effort, I will take a look, man @zedtux |
baronha
approved these changes
Aug 3, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 Implement Orientation Handling, Cross-Platform Real Path Consistency & Auto-linking Fix
📋 Overview
This pull request introduces enhanced orientation handling to the React Native Multiple Image Picker library, ensures cross-platform consistency by implementing
realPath
on iOS, and fixes critical auto-linking issues that were preventing proper library compilation.✨ Key Changes
🔧 Auto-linking Fix for Android
react-native-nitro-modules
Technical Details:
file(GLOB)
to dynamically find NitroModules library across build variants🖼️ Orientation Handling for Android
Supported EXIF Orientations:
📱 Cross-Platform
realPath
ConsistencyrealPath
with the actual file path (without "file://" prefix)realPath
on both platforms📝 Documentation & Testing
docs/ORIENTATION.md
OrientationTest.kt
)🔨 Code Changes
iOS (
HybridMultipleImagePicker+Result.swift
)Android (
MultipleImagePickerImp.kt
)CMake Auto-linking (
MultipleImagePicker+autolinking.cmake
)💡 Usage Examples
Accessing Orientation Data
Cross-Platform File Access
🎯 Benefits
For Developers
For Users
📊 Platform Support
realPath
Support🔍 Testing
🚨 Breaking Changes
None - All changes are backward compatible. Existing code will continue to work while new features are available as optional enhancements.
🎉 Conclusion
This pull request significantly improves the reliability and cross-platform consistency of the React Native Multiple Image Picker library. The auto-linking fix ensures smooth integration, while the orientation handling and
realPath
consistency provide developers with robust tools for handling media assets across platforms.Closes #235.