Fix NPE pressing edit before album initialized

This commit is contained in:
Ming Ming 2021-07-26 04:25:16 +08:00
parent 1c476be689
commit 7321c04dc1
3 changed files with 34 additions and 23 deletions

View file

@ -97,6 +97,9 @@ class _AlbumViewerState extends State<AlbumViewer>
); );
} }
@protected
get canEdit => _album != null;
@override @override
enterEditMode() { enterEditMode() {
super.enterEditMode(); super.enterEditMode();

View file

@ -56,9 +56,11 @@ mixin AlbumViewerMixin<T extends StatefulWidget>
}, },
), ),
...(actions ?? []), ...(actions ?? []),
if (menuItemBuilder != null || canEdit)
PopupMenuButton<int>( PopupMenuButton<int>(
tooltip: MaterialLocalizations.of(context).moreButtonTooltip, tooltip: MaterialLocalizations.of(context).moreButtonTooltip,
itemBuilder: (context) => [ itemBuilder: (context) => [
if (canEdit)
PopupMenuItem( PopupMenuItem(
value: -1, value: -1,
child: Text(L10n.of(context).editAlbumMenuLabel), child: Text(L10n.of(context).editAlbumMenuLabel),
@ -127,6 +129,9 @@ mixin AlbumViewerMixin<T extends StatefulWidget>
@protected @protected
bool get isEditMode => _isEditMode; bool get isEditMode => _isEditMode;
@protected
bool get canEdit => true;
@protected @protected
@mustCallSuper @mustCallSuper
void enterEditMode() {} void enterEditMode() {}

View file

@ -98,6 +98,9 @@ class _DynamicAlbumViewerState extends State<DynamicAlbumViewer>
); );
} }
@protected
get canEdit => _album != null;
@override @override
enterEditMode() { enterEditMode() {
super.enterEditMode(); super.enterEditMode();