Commit 38412781 authored by justin's avatar justin

Merge branch 'v1.17.1-hotfixes'

parents e2251dec 64f35f92
......@@ -9,7 +9,7 @@ addons:
- libstdc++6
# - fonts-droid
before_script:
- git clone https://github.com/flutter/flutter.git -b v1.12.13-hotfixes --depth 1
- git clone https://github.com/flutter/flutter.git -b flutter-1.17-candidate.3 --depth 1
- ./flutter/bin/flutter doctor
script:
- ./flutter/bin/flutter test --coverage --coverage-path=lcov.info
......
......@@ -41,7 +41,7 @@ enum ContainerLifeCycle {
typedef BoostContainerLifeCycleObserver = void Function(
ContainerLifeCycle state,
BoostContainerSettings settings,
);
);
class BoostContainer extends Navigator {
const BoostContainer({
......@@ -122,6 +122,8 @@ class BoostContainer extends Navigator {
}
String desc() => '{uniqueId=${settings.uniqueId},name=${settings.name}}';
RouteListFactory get initialRoutes => super.onGenerateInitialRoutes;
}
class BoostContainerState extends NavigatorState {
......@@ -161,6 +163,15 @@ class BoostContainerState extends NavigatorState {
void initState() {
super.initState();
backPressedHandler = () => maybePop();
final String initRoute = widget.initialRoute ?? Navigator.defaultRouteName;
if (initRoute != null && routerHistory.isEmpty) {
routerHistory.addAll(
widget.initialRoutes(
this,
widget.initialRoute ?? Navigator.defaultRouteName
)
);
}
}
@override
......@@ -177,7 +188,13 @@ class BoostContainerState extends NavigatorState {
@override
Future<bool> maybePop<T extends Object>([T result]) async {
if(routerHistory.isEmpty) {
pop(result);
return true;
}
final Route<T> route = routerHistory.last as Route<T>;
final RoutePopDisposition disposition = await route.willPop();
if (mounted) {
switch (disposition) {
......
......@@ -62,4 +62,9 @@ class BoostPageRoute<T> extends MaterialPageRoute<T> {
return null;
}
}
@override
Future<RoutePopDisposition> willPop() {
return Future<RoutePopDisposition>.value(RoutePopDisposition.pop);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment