picker static method
void
picker(
- BuildContext context, {
- RequestType type = RequestType.common,
- int limit = 10,
- MulCallback? mulCallback,
- SingleCallback? singleCallback,
- Duration routeDuration = const Duration(milliseconds: 300),
- bool isMulti = false,
- bool isReview = true,
- WidgetBuilder? leadingBuilder,
- FilterOptionGroup? filterOptions,
Implementation
static void picker(
BuildContext context, {
RequestType type = RequestType.common,
int limit = 10,
MulCallback? mulCallback,
SingleCallback? singleCallback,
Duration routeDuration = const Duration(milliseconds: 300),
bool isMulti = false,
bool isReview = true,
WidgetBuilder? leadingBuilder,
FilterOptionGroup? filterOptions,
}) async {
final bool isPermission = await PhotoManager.requestPermission();
if (isPermission) {
Navigator.of(context)
.push(
MaterialPageRoute(
builder: (_) => AssetPickerBuilder(
routeDuration: routeDuration,
type: type,
isMulti: isMulti,
limit: limit,
leadingBuilder: leadingBuilder,
filterOptions: filterOptions,
isReview: isReview,
),
),
)
.then(
(data) {
if (data != null) {
if (mulCallback != null && isMulti) {
mulCallback(data as List<AssetEntity>);
} else if (singleCallback != null && !isMulti) {
singleCallback.call(data.first as AssetEntity);
}
}
},
);
} else {
PhotoManager.openSetting();
}
}