wechat_assets_picker 9.3.3
wechat_assets_picker: ^9.3.3 copied to clipboard
An image picker (also with videos and audio) for Flutter projects based on WeChat's UI, with full support for customization.
Changelog #
Important
See the Migration Guide for the details of breaking changes between versions.
Unreleased #
None.
9.3.2 #
Improvements #
- Adapt the file type getter from the image provider to get a precise file type in grid.
- Adds the identifier for grid item's semantics.
- Improves preview page back button.
9.3.1 #
9.3.0 #
New features #
- Add explicit Live Photos indicator for assets.
Improvements #
- Make Live Photos gesture consistent when scaling and panning.
- Integrate
LocallyAvailableBuilderwith thumbnail options to improve the thumbnail loading speed. - Use
visibility_detectorand scroll observer to improve media playing experiences.
Fixes #
- Fix the bottom actions bar display conditions.
9.2.2 #
- Uses correct
isOriginalfor theLocallyAvailableBuilder.
9.2.1 #
- Improve changes when limited on iOS.
- Use
LocallyAvailableBuilderin the grid to provide better user awareness.
9.2.0 #
New features #
- Introduce
AssetsChangeCallbackandAssetsChangeRefreshPredicateto help users act according to asset changes. - Add
shouldAutoplayPreviewto the picker config.
Fixes #
- Raise detailed negative range error.
- Fix viewer confirm button predication.
- Enlarge GIF gradients.
- Fix potential paths assets count unexpected merging behaviors.
9.1.0 #
Improvements #
- Support limited permission displays on Android.
- Improves the limited overlay padding on Android.
- Adds permission request lock for the picker state.
- Speeding up by splitting asset loading into separate steps.
- Speeding up using
AdvancedCustomFilterrather thanFilterOptionGroupby default.
Fixes #
- Fix reverted index when previewing assets on Android.
- Requests with the correct options with the picker.
9.0.4 #
Fixes #
- Fix the app bar of the viewer that is not animating.
- Fix loading when no assets are in the path.
- Reset the has more to load flag between path switching.
9.0.0 #
Breaking changes #
- Migrate to Flutter 3.16, and drop supports for previous Flutter versions.
- Bump
photo_managerto v3.x. - Export
photo_manager_image_provider. - Integrate
PermissionRequestOptionfor callers.
Improvements #
- Adapt
ThemeDatausages. - Use
wechat_picker_library. - Make the first asset count not blocking loads.
Fixes #
- Fix unhandled child semantics with the app bar title.
- Fix styles around the app bar and other widgets.
- Fix previewing selected assets' behavior.
- Use
PermissionRequestOptionas much as possible. - Raise more errors for non-synced paths.
- Fix the experience with
shouldRevertGrid.
8.8.0 #
8.7.0 #
Breaking changes #
- Migrate to Flutter 3.13, and drop supports for previous Flutter versions.
8.6.2 #
Improvements #
- Add
appBarPreferredSizein the picker delegate to help with padding calculations. - Improve the performance with
MediaQuerycallers.
8.6.1 #
8.6.0 #
Breaking changes #
- Use
TargetPlatformfor theisAppleOSmethod in delegates, which relies on aBuildContext.
New features #
- Sync all UI details from WeChat 8.3.x. (#458)
- Add Turkish language text delegate. (#331).
- Allow to confirm 0 assets if there are selected assets previously. (#461)
Improvements #
- Silent part of thumbnail request exceptions.
Fixes #
- Fix semantics interactions for video preview. (#458)
- Be able to update the items builder page. (#417)
8.5.0 #
Breaking changes #
- Migrate to Flutter 3.10, and drop supports for previous Flutter versions.
8.4.3 #
8.3.2 #
Fixes #
- Use
Completerand more accurate conditions to avoid duplicate load assets whenAssetPickerConfig.pageSizeis smaller than a complete page. (#407)
8.3.1 #
New features #
- Add
didUpdateViewerandinitAnimationsin theAssetPickerViewerBuilderDelegate. (#403) - Add insta_assets_picker as a custom delegate example. (#403)
8.3.0 #
8.2.0 #
8.1.3 #
Improvements #
- Bump
photo_managerto explicitly remove the requirements ofrequiredLegacyExternalStorage.
8.1.0 #
New features #
- Upgrade
photo_managerfor Android 13. (#365)
Improvements #
- Improve
BuildContextusages to obtain the correct directionality for the assets grid. (#359) - Provide a better condition to the confirm button to make sure it displays correctly in all cases on iOS/macOS. (#359)
- Improve
bottomActionBarinDefaultAssetPickerBuilderDelegate. (#359)
Fixes #
- Fix invalid path sort. (#364)
8.0.0 #
To know more about breaking changes, see Migration Guide.
New Features #
- Introduce
PathWrapperin delegates to improve the overall loading speed. (#338) - Allow using
Keyduring picking. (#339) - Add
initializeDelayDurationforDefaultAssetPickerProvider. (#341) - Prevent race conditions with paths. (#342)
- Expose
sortPathsByModifiedDate. (#343)
Fixes #
- Unify indicator usage to avoid accidental indicator switching. (#344)
7.3.2 #
7.2.0 #
7.1.2 #
7.0.1 #
7.0.0 #
To know more about breaking changes, see Migration Guide.
New features #
- Support predictable special item display. (#264)
- Support Live-Photos display. (#251)
- Expose
AssetPickerPageRoutefor customization. (#248) - Add full semantics support. (#232, #235, #240, #242, #243, #245, #254)
Improvements #
- Improve scaling with select indicators and numbers.
- Implement the default light theme. (#234)
Fixes #
- Fix
LocallyAvailableBuilderwith more edge conditions. (#263) - Fix potential "No elements" error with thumbnails.
6.3.1 #
- Improve image type determined when resolving image data. This mostly resolved the occasional HEIC loading issue when apps are running under the release mode.
6.3.0 #
- Support for Flutter 2.8.0, also drop supports for Flutter below 2.8.0.
6.2.4 #
- Improve audio item layout.
- Improve workflows.
- Indicate the path getter more precisely.
- Improve Arabic text delegate.
6.2.3 #
- Pass through
selectPredicatetoAssetPickerViewer. (#211) - Bump the
sdkconstraints (since 6.2.1).
6.2.2 #
- Use
.contentUrifor video preview only on Android.
6.2.1 #
- Migrate to
extended_image5.x. - Use
.contentUriconstructor forVideoPlayerController.
6.2.0 #
- Introduce
shouldRevertGridto determine whether the assets grid should be reverted. - Upgrade
photo_managerto resolve issues againstAssetEntitys comparison.
6.1.2 #
- Fix the limited resources refresh issue.
- Update callers to avoid deprecated usage.
6.1.1 #
- Handle iCloud video more gracefully.
6.1.0 #
- Introduce
selectPredicateto predicate asset when picking.
6.0.6 #
- Use the correct index reference with
selectedBackdrop. (#195)
6.0.5 #
- Upgrade dependencies.
6.0.4 #
- Add French language text delegate. (Thanks to @didiosn)
- Export "Nothing here." as a field to text delegate. (#190)
- Fix selected backdrop not synced all the time.
- Improve the instructions for the example.
6.0.3 #
- Fix path entity nullable issues with the asset grid.
- Fix assets displaying conditions missing with the iOS layout.
6.0.2 #
- Expose
shouldReversePreviewforAssetPickerViewerBuilderDelegate.
6.0.1 #
- Improve total count calculation with
AssetPathEntity. (#187) - Obtain
AssetPathEntity.isAllfix fromphoto_manager. - Documents update.
6.0.0 #
New features #
- Sync all UI details from WeChat 8.0.x.
- Integrate iCloud progress overview in previews.
- Change the permission from the app settings when it's limited.
- Request more assets on iOS when the permission is limited.
- Fit the assets' grid's layout as the iOS
Photosapp (reverted and started from the bottom). - Add Arabic language text delegate.
- Allow using
AssetPickerandAssetPickerViewerdirectly with delegates. - Add
keepScrollOffsetfeature for theAssetPickerBuilderDelegate.
Improvements #
- Items that are being banned from select (reached max assets or type conflict) will have a stronger color cover to indicate.
- The video preview in the [SpecialPickerType.wechatMoment] is completely different from other previews.
- Grid items have removed the fade builder for more straight feedback after it gets loaded.
- Better interaction when jumping between previewing assets.
- Path entities list layout structure performance & structure improved.
- More precise thumbnail option for iOS.
- Improve text scale handling. (#177)
- Reduce font size for a couple of texts.
To know more about breaking changes, see Migration Guide.
5.5.8 #
- Fix the viewer's select button issue with WeChat Moment on Android.
5.5.7 #
- Make
switchPathmethod inAssetPickerProviderasync.
5.5.6 #
- Add Japanese language text delegate. (Thanks to @KosukeSaigusa)
- Fix video judge condition with WeChat Moment mode.
- Fix the wrong position for the confirm button on iOS with WeChat Moment mode.
5.5.5 #
- Migrate permissions check to the new API in
photo_manager.
5.5.4 #
- Fix assets reduced under the WeChat Moment mode when previewing.
5.5.3+1 #
- Fix static analysis issue.
5.5.3 #
- Use
SystemUiOverlayStylefrom the provided theme first.
5.5.2 #
- Add German language text delegate. (Thanks to @Letalus)
- Add Russian language text delegate. (Thanks to @greymag)
5.5.1 #
- Implement
RenderToggleableto support other channels of flutter (2.1.x - 2.3.x). (Thanks to @Letalus)
5.5.0 #
- Add
findChildIndexBuilderto indicate grid find reusableRenderObject. - Fix the padding issue for the assets' grid.
5.4.3 #
- Fix the missing
ScrollControllerin the scroll view.
5.4.2 #
- Split
AssetGridItemBuidlerto solve the rebuild issue. - Fix the GIF indicator stretched issue.
5.4.1 #
- Export
AssetPickerPageRoute.
5.4.0+1 #
- Fix the format that pub.flutter-io.cn suggests.
5.4.0 #
- Fully support RTL languages.
- Add control for root navigator.
- Improve
AssetEntityImageProvider's constructor and decode. - Grab the iOS/macOS thumbnail's size fix from
photo_manager.
5.3.0 #
- Add
gridThumbSizeto control thumbnails in the select grid. - Applies a further fix to the WeChat Moment video preview.
- Fix unlimited assets choose in preview mode.
5.2.1 #
- Fix the WeChat Moment preview issue.
5.2.0 #
- Add
SpecialPickerType.noPreviewto disable the preview when picking. (Thanks to @yanivshaked)
5.1.4 #
- Add Hebrew language text delegate. (Thanks to @yanivshaked)
- Fix the slide page route issue when integrated with the
getpackage.
5.1.3 #
- Fix not synced issue when the picker is under single pick mode.
5.1.2 #
- Fix selected assets not syncing between thumbnail preview mode and grid view.
- Fix the wrong index displays in thumbnail preview mode.
- Dependencies upgrade roll.
5.1.1 #
- Integrate
lastModifiedto sort path entities by default.
5.1.0 #
- Reset to the top for the asset grid view after switching paths.
- Add the ability to select assets in any position of the picker.
- Implement mime type for image type judgment.
- Fix the disappeared GIFs indicator.
5.0.5 #
- Fix force cast null type issue with WeChat moment special pick type.
- Improve the app bar's type definition.
5.0.4 #
- Fix path thumb data's display issue.
- Fix the default preview thumb size issue with the image preview builder.
5.0.3 #
- Remove required annotation for selected assets.
5.0.2 #
- Fix the wrong viewer provider state.
- Enhance page stream controller sink close.
- Fix
dartdocgenerate issue for pub.
5.0.1 #
- Fix the video indicator layout issue.
- Prevent video selection in WeChat moment mode for edge cases.
- Pickup fixes from
photo_manager.
5.0.0 #
- Add the ability to show the special item when the device has no assets.
- Allow users to build their own picker with custom asset types. (See example for custom delegate.)
- Slightly reduce performance consumption with layout.
Breaking changes #
- Migrate to non-nullable by default.
CustomItemBuilder->SpecialItemBuilder,CustomItemPosition->SpecialItemPosition.- Abstract
AssetPickerBuilderDelegate<A, P>,AssetPickerViewerBuilderDelegate<A, P>,AssetPickerProvider<A, P>, and minify theAssetPickerViewerProvider<A>. Support custom types by generic type. - The
assetsparam inAssetPickerViewer.pushToVieweris nowpreviewAssets.
4.2.2 #
- Suppress deprecated usage for example.
- Improve code format with dart format.
- Raise the dependencies version.
4.2.1 #
- Fix arguments judging condition with preview thumb size.
- Remove common exports and split out constants.
4.2.0 #
- Add
previewThumbSizefor the viewer.
4.1.0+4 #
- Upgrade
extended_image.
4.1.0+3 #
- Make widgets constant.
- Remove system UI overlays update.
- Migrate files to compatible with Flutter
1.20.0. - Sync analysis options.
4.1.0+2 #
- Ignore size constraints for image assets.
- Format code using
dartfmt. - Upgrade
photo_manager.
4.1.0+1 #
- Adjust AppleOS layout.
4.1.0 #
- Add a backdrop widget in the picker, which makes the picker more like the one in WeChat.
4.0.0 #
- Drop
asset_audio_player. - Experimenting status bar hidden on iOS.
- Remove the video player listener before pausing.
Breaking changes #
TextDelegate->AssetsPickerTextDelegate.
3.0.0+1 #
- Constraint dependencies version.
3.0.0 #
- Add
FilterOptionGroup. (#41) - Add
SpecialPickerType. (#37) - Add custom item build mode. (#39)
2.2.1 #
- Introduce
ColorSchemefor theme details. (#32) - Enhance RTL compatibility.
- Enlarge select indicator's size. (#33)
2.2.0+2 #
- Remove path entity properties refresh.
2.2.0+1 #
- Fix the preview widget for audio assets in the picker viewer.
2.2.0 #
- A brand-new example.
- Add
SortPathDelegate. - Using
ZoomPageTransitionfor viewers. - Slightly add padding to the viewer's assets list view.
- Migrate elevation and color to material rendering.
- Request thumb only when the request type is not audio.
- Force request title for audio type asset.
- Expose
AssetTypeenum. - Fix the issue with the request type.
2.1.0 #
- Add present English text delegate.
- Refactored theme constructor and getter with theme capability. (#22)
- Update color scheme usage for the assets grid. (#23)
- Update picker viewer style for Apple OS.
- Fix the bottom bar disappearing on Apple OS when it's single asset mode.
2.0.2 #
- Fix audio paused accidentally when the app is launching on Android. (#18)
2.0.1 #
- Expose observe register methods.
2.0.0 #
- Support audio assets.
- Support single asset mode.
- Enlarge the preview button's detector area size.
- Fix wrong properties' usage causing infinite build when the page reaches the end.
Breaking changes #
videoIndicatorBuilder->durationIndicatorBuilder.
1.7.0 #
- Hide detail display when the video starts to play.
- Switch to
ExtendedImageGesturePageView. (#16) - Add full theme support.
- Add macOS support.
- Add delay for the first init method to prevent stuck in page routing. (#13)
- Update widgets style on iOS. (#14)
- Fix the state of the example not updated after the result was returned without the input method activated.
1.6.0 #
- Support HEIC/HEIF image type.
1.5.0+1 #
- Upgrade
photo_managerto0.5.1. - Replace deprecate
TextTheme.titleAPI usage. - Document (
dartdoc) update.
1.5.0 #
- Bumping flutter SDK minimum version to
1.17.0. - Declare API stability and compatibility with 1.0.0 ( more details at: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0 ).
1.4.1 #
- Remove the loading indicator for the image widget.
- Refactor the video page's initialization for ratio update.
- Using constants to store text delegate.
- Add error catching for main methods.
- Update text delegate management.
1.4.0+1 #
- Fix call on null with
currentlySelectedAssets.
1.4.0 #
- Support paging assets load.
- Fix selected assets not synced with the picker provider.
- Bump
photo_managerto0.5.1-dev.5
1.3.2 #
- Expose page transition curve and duration to a static method.
- Fix theme color not passed to a static method.
1.3.1+1 #
- Fix the
pageBuildernull issue.
1.3.1 #
- Add upwards slide page transition.
- Add padding to the bottom action bar in the picker.
1.3.0 #
- Add iOS style.
- Add cancel field to text delegate.
Set->List.
1.2.1 #
- Fix the missing aspect ratio for the video player.
- Using common request type in example.
1.2.0 #
- Add text delegate support. (Also with i18n support using delegate).
1.1.0 #
- Support video assets. You can use
requestTypeto select video or video+image. - Hide system ui overlays according to flag and system.
- Update the GIF indicator and add a video indicator.
1.0.0 #
- Initial release.