fixed flashing app bar during hero in some cases
This commit is contained in:
parent
0425d8146b
commit
60fccd9827
2 changed files with 23 additions and 25 deletions
|
@ -203,8 +203,9 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
|
|||
final l10n = context.l10n;
|
||||
|
||||
if (isSelecting) {
|
||||
return Selector<Selection<AvesEntry>, int>(
|
||||
selector: (context, selection) => selection.selectedItems.length,
|
||||
// `Selection` may not be available during hero
|
||||
return Selector<Selection<AvesEntry>?, int>(
|
||||
selector: (context, selection) => selection?.selectedItems.length ?? 0,
|
||||
builder: (context, count, child) => Text(
|
||||
count == 0 ? l10n.collectionSelectPageTitle : l10n.itemCount(count),
|
||||
softWrap: false,
|
||||
|
@ -322,8 +323,9 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
|
|||
final onPressed = enabled ? () => _onActionSelected(action) : null;
|
||||
switch (action) {
|
||||
case EntrySetAction.toggleTitleSearch:
|
||||
return Selector<Query, bool>(
|
||||
selector: (context, query) => query.enabled,
|
||||
// `Query` may not be available during hero
|
||||
return Selector<Query?, bool>(
|
||||
selector: (context, query) => query?.enabled ?? false,
|
||||
builder: (context, queryEnabled, child) {
|
||||
return _TitleSearchToggler(
|
||||
queryEnabled: queryEnabled,
|
||||
|
|
|
@ -2,7 +2,6 @@ import 'package:aves/model/settings/settings.dart';
|
|||
import 'package:aves/theme/durations.dart';
|
||||
import 'package:aves/widgets/aves_app.dart';
|
||||
import 'package:aves/widgets/common/fx/blurred.dart';
|
||||
import 'package:aves/widgets/common/providers/query_provider.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
|
@ -101,9 +100,7 @@ class AvesAppBar extends StatelessWidget {
|
|||
final pushing = direction == HeroFlightDirection.push;
|
||||
Widget popBuilder(context, child) => Opacity(opacity: 1 - animation.value, child: child);
|
||||
Widget pushBuilder(context, child) => Opacity(opacity: animation.value, child: child);
|
||||
return QueryProvider(
|
||||
initialQuery: null,
|
||||
child: Material(
|
||||
return Material(
|
||||
type: MaterialType.transparency,
|
||||
child: DefaultTextStyle(
|
||||
style: DefaultTextStyle.of(toHero).style,
|
||||
|
@ -122,7 +119,6 @@ class AvesAppBar extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue