* feat(android): Rename modified node field to more explicit name
* feat(ios): Return modificationDate in ios
* docs: Add modification date in ts, docs and examples
Fixes
fix(ci): fixed android release build as a CI test step
fix(android): Fix MediaStore issues and support scopped storage #322#244
fix(android): Fix saveImageToCameraRoll #248#254
fix(android): remove JCenter #340#401
fix(ios): Fix performance issues #276
fix(ios): add method to get file Path from internal PH ID #135
fix(react-native): Bump used dependencies #393 ...
Fixes#322Fixes#244Fixes#248Fixes#254Fixes#340Fixes#401Fixes#276Fixes#135Fixes#393
new Features
feat(ios): now it's possible to listen to library selection changes
`useEffect(() => {
let subscription: EmitterSubscription;
if (isAboveIOS14) {
subscription = cameraRollEventEmitter.addListener('onLibrarySelectionChange', (_event) => {
getUnloadedPictures();
});
}
return () => {
if (isAboveIOS14 && subscription) {
subscription.remove();
}
};`
feat(ios): possibility to open native modal to update selection when authorization is limited
iosRefreshGallerySelection()
feat(ios): Convert HEIC images on demand to upload to server
BREAKING CHANGE: root import changed!
```
import { CameraRoll } from @react-native-community/cameraroll
instead of
import CameraRoll from @react-native-community/cameraroll
```
Co-authored-by: idrissakhi <85105624+idrissakhi@users.noreply.github.com>
When fetching with afterCursor != nil and include filename or fileSize or mime, performance will reduce heavily because we have to loop through all previous assets and call [PHAssetResource assetResourcesForAsset], which is slow and redundant
* feat `limited` in the response of CameraRoll.getPhotos(...) if the permission is `PHAuthorizationStatusLimited`
* update Flow types
* add example usage of the limited info
BREAKING CHANGE: meta data is no longer added as default. This applies to `fileName`, `fileSize` and `location`. If you need this metadata use the new `include` parameter. Adding this metadata will slow down the `getPhotos` function, so consider only retrieving this meta data for smaller sets of images as needed, instead of for all images.
* Created getPhotosFast function, fixed inconsistent getPhotos toDate logic
* Fixed wrong param name, added better typechecking
* Added example, renamed allowEmptyFilenames to skipGettingFilenames
* Removed `after` from getPhotosFast docs
* Redid implementation based on a new `include` param
* Updated API to use include parameter
* Fixed flow checking by converting index.ts to Typescript
* Unformatted README.md
* Unformatted README.md
* Unformatted README.md
* Added .prettierignore and ignored README.md for now
* Made example/index.js not checked by Flow
* Updated README.md to include notes in the outputs too
* Made inclusion of fields consistent, addressed other feedback
* Renamed GetPhotosFastParams back to GetPhotosParams
* Updated documentation to reflect nullable types
* Updated typings and documentation for fromTime, toTime
* Updated to fix `hasNextPage` being incorrectly false in some cases
Co-authored-by: Harry Yu <hy.harry.yu@gmail.com>
* Created getPhotosFast function, fixed inconsistent getPhotos toDate logic
* Fixed wrong param name, added better typechecking
* Added example, renamed allowEmptyFilenames to skipGettingFilenames
* Removed `after` from getPhotosFast docs
* Redid implementation based on a new `include` param
* Updated API to use include parameter
* Fixed flow checking by converting index.ts to Typescript
* Unformatted README.md
* Unformatted README.md
* Unformatted README.md
* Added .prettierignore and ignored README.md for now
* Made example/index.js not checked by Flow
* Updated README.md to include notes in the outputs too
* Made inclusion of fields consistent, addressed other feedback
* Renamed GetPhotosFastParams back to GetPhotosParams
* Updated documentation to reflect nullable types
* Updated typings and documentation for fromTime, toTime
* Updated to fix `hasNextPage` being incorrectly false in some cases
* Fixed reference to git repository in Podspec file
* Fixed build issue because of unused variable
* Fixed issue with build. Unused variable inputImage
* deletePhotos works in iOS
* Deletion works on Android.
* Removing unnecessary commented out code.
* Updated typescript typings.
* Made readme more accurate based on being able to retrieve failure from the iOS API.
* Let formatter run, also now rejecting the promise when there's any error on deletion on Android.
* add option to specify album in saveToCameraRoll and move the optional type param to options
* check platform before setting default value for group types to prevent exception
* adjust typings
* update invariant message
* format code
* extract new implementation to function to avoid breaking change
* format code
* add missing spaces
* fix(lib): add accidentally removed savedphotos back to the enum to prevent crash
* chore(lib): formatting
* chore(lib): add doc for the new save method
Summary: Currently, trying to fetch "all" photos will loop and never complete. Now it appears to produce the expected results (acting like the "All Photos" smart library in Photos) and doesn't loop. Confirmed console log results, showing no loops: P60994983
Reviewed By: PeteTheHeat
Differential Revision: D14221545
fbshipit-source-id: 31381b1ba2c673fd210cb95f3b7d0f8ffc23ec3f