1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- part of ct_assets_picker;
-
- class ExtendedAssetPickerViewer<A, P> extends AssetPickerViewer<A, P> {
- const ExtendedAssetPickerViewer({
- Key key,
- @required AssetPickerViewerBuilderDelegate<A, P> builder,
- }) : super(key: key, builder: builder);
-
- static Future<List<AssetEntity>> pushToViewer(
- BuildContext context, {
- int currentIndex = 0,
- @required List<AssetEntity> previewAssets,
- @required ThemeData themeData,
- List<int> previewThumbSize,
- List<AssetEntity> selectedAssets,
- DefaultAssetPickerProvider selectorProvider,
- SpecialPickerType specialPickerType,
- }) async {
- try {
- final Widget viewer =
- ChangeNotifierProvider<DefaultAssetPickerProvider>.value(
- value: selectorProvider,
- child: AssetPickerViewer<AssetEntity, AssetPathEntity>(
- builder: ExtendedAssetPickerViewerBuilderDelegate(
- currentIndex: currentIndex,
- previewAssets: previewAssets,
- provider: selectedAssets != null
- ? AssetPickerViewerProvider<AssetEntity>(selectedAssets)
- : null,
- themeData: themeData,
- previewThumbSize: previewThumbSize,
- specialPickerType: specialPickerType,
- selectedAssets: selectedAssets,
- selectorProvider: selectorProvider,
- ),
- ),
- );
- final PageRouteBuilder<List<AssetEntity>> pageRoute =
- PageRouteBuilder<List<AssetEntity>>(
- pageBuilder: (
- BuildContext context,
- Animation<double> animation,
- Animation<double> secondaryAnimation,
- ) {
- return viewer;
- },
- transitionsBuilder: (
- BuildContext context,
- Animation<double> animation,
- Animation<double> secondaryAnimation,
- Widget child,
- ) {
- return FadeTransition(opacity: animation, child: child);
- },
- );
- final List<AssetEntity> result =
- await Navigator.of(context).push<List<AssetEntity>>(pageRoute);
- return result;
- } catch (e) {
- realDebugPrint('Error when calling assets picker viewer: $e');
- return null;
- }
- }
- }
|