[ermine] Fix quick settings top offset
This change fixes the layout of quick settings (status) panel which
was offsetting taps on entries.
Test: All unittests pass.
Bug: 52883
Change-Id: Ie24b51f93a268bb64239b1056a3254c3f752bc10
Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/403307
Reviewed-by: Yeonhee Lee <yhlee@google.com>
Testability-Review: Sanjay Chouksey <sanjayc@google.com>
Commit-Queue: Sanjay Chouksey <sanjayc@google.com>
diff --git a/session_shells/ermine/shell/lib/src/widgets/status/status_container.dart b/session_shells/ermine/shell/lib/src/widgets/status/status_container.dart
index 6f41c19..2c4d148 100644
--- a/session_shells/ermine/shell/lib/src/widgets/status/status_container.dart
+++ b/session_shells/ermine/shell/lib/src/widgets/status/status_container.dart
@@ -25,42 +25,39 @@
: MediaQuery.of(context).size.height -
ErmineStyle.kTopBarHeight -
ErmineStyle.kStoryTitleHeight;
- final status = Material(
- key: model.statusModel.key,
- color: ErmineStyle.kBackgroundColor,
- elevation: Elevations.systemOverlayElevation,
- child: Container(
- width: 450,
- height: 300,
- padding: EdgeInsets.all(12),
- decoration: BoxDecoration(
- border: Border.all(color: ErmineStyle.kOverlayBorderColor),
- ),
- child: Status(model: model.statusModel),
- ),
- );
- return RepaintBoundary(
- child: Stack(
- children: <Widget>[
- AnimatedBuilder(
- animation: model.statusVisibility,
- builder: (context, child) => model.statusVisibility.value
- ? Positioned(
- bottom: bottom(),
- right: model.topbarModel.statusButtonRect.right,
- child: AnimationDriver(
- tween:
- Tween<Offset>(begin: Offset(0, 0), end: Offset(0, 1)),
- builder: (context, animation) => FractionalTranslation(
- translation: animation.value,
- child: status,
- ),
- ),
- )
- : Offstage(),
+ return AnimatedBuilder(
+ animation: model.statusVisibility,
+ child: Material(
+ key: model.statusModel.key,
+ color: ErmineStyle.kBackgroundColor,
+ elevation: Elevations.systemOverlayElevation,
+ child: Container(
+ width: 450,
+ height: 300,
+ padding: EdgeInsets.all(12),
+ decoration: BoxDecoration(
+ border: Border.all(color: ErmineStyle.kOverlayBorderColor),
),
- ],
+ child: Status(model: model.statusModel),
+ ),
),
+ builder: (context, child) {
+ return model.statusVisibility.value
+ ? Positioned(
+ bottom: bottom(),
+ right: model.topbarModel.statusButtonRect.right,
+ child: AnimationDriver(
+ tween: Tween<Offset>(begin: Offset.zero, end: Offset(0, 1)),
+ curve: ErmineStyle.kScreenAnimationCurve,
+ duration: ErmineStyle.kScreenAnimationDuration,
+ builder: (context, animation) => FractionalTranslation(
+ translation: animation.value,
+ child: child,
+ ),
+ ),
+ )
+ : Offstage();
+ },
);
}
}