Commit a02c9808 authored by 李增强's avatar 李增强

m

parent 322db076
......@@ -187,12 +187,17 @@ class BoostContainerState extends NavigatorState {
@override
Future<bool> maybePop<T extends Object>([T result]) async {
if(routerHistory.isEmpty){
if (routerHistory.isEmpty) {
var c = FlutterBoost.containerManager.onstageSettings;
pop(result);
if(c != null && c.name == '/'){
FlutterBoost.singleton.channel.sendEvent("go_moble_home",null);
return false;
}
return true;
}
final Route<T> route = routerHistory.last;
final RoutePopDisposition disposition = await route.willPop();
if (mounted) {
......@@ -235,7 +240,9 @@ class BoostContainerState extends NavigatorState {
FlutterBoost.singleton
.closeInternal(uniqueId, result: result as Map<String, dynamic>);
} else {
FlutterBoost.singleton.closeInternal(uniqueId,);
FlutterBoost.singleton.closeInternal(
uniqueId,
);
}
}
return true;
......@@ -250,7 +257,8 @@ class BoostContainerState extends NavigatorState {
}
if (multipleRouteMode && routerHistory.isNotEmpty) {
ContainerNavigatorObserver.bindContainerManager().willPush(route, routerHistory.last);
ContainerNavigatorObserver.bindContainerManager()
.willPush(route, routerHistory.last);
}
Future<T> future = super.push<T>(newRoute ?? route);
......@@ -317,13 +325,15 @@ class ContainerNavigatorObserver extends NavigatorObserver {
void willPush(Route<dynamic> route, Route<dynamic> previousRoute) {
for (NavigatorObserver observer in boostObservers) {
if(observer is ContainerNavigatorObserver){
if (observer is ContainerNavigatorObserver) {
if (observer == this) continue;
ContainerNavigatorObserver containerNavigatorObserver = observer as ContainerNavigatorObserver;
ContainerNavigatorObserver containerNavigatorObserver =
observer as ContainerNavigatorObserver;
containerNavigatorObserver.willPush(route, previousRoute);
}
}
}
@override
void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
for (NavigatorObserver observer in boostObservers) {
......@@ -358,14 +368,14 @@ class ContainerNavigatorObserver extends NavigatorObserver {
}
class GlobalRouteSettingsManager {
GlobalRouteSettingsManager._();
static GlobalRouteSettingsManager instance = GlobalRouteSettingsManager._();
final Map<Route,BoostRouteSettings> _routeSettingsMap = <Route,BoostRouteSettings>{};
final Map<Route, BoostRouteSettings> _routeSettingsMap =
<Route, BoostRouteSettings>{};
void addSettings(Route route,BoostRouteSettings settings) {
void addSettings(Route route, BoostRouteSettings settings) {
_routeSettingsMap[route] = settings;
}
......
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