won

Merge remote-tracking branch 'origin/master' into translate_korean

@@ -114,9 +114,9 @@ class GetObserver extends NavigatorObserver { @@ -114,9 +114,9 @@ class GetObserver extends NavigatorObserver {
114 value.isBack = false; 114 value.isBack = false;
115 value.removed = ''; 115 value.removed = '';
116 value.previous = _extractRouteName(previousRoute) ?? ''; 116 value.previous = _extractRouteName(previousRoute) ?? '';
117 - value.isSnackbar = newRoute.isSnackbar;  
118 - value.isBottomSheet = newRoute.isBottomSheet;  
119 - value.isDialog = newRoute.isDialog; 117 + value.isSnackbar = newRoute.isSnackbar ? true : value.isSnackbar ?? false;
  118 + value.isBottomSheet = newRoute.isBottomSheet ? true : value.isBottomSheet ?? false;
  119 + value.isDialog = newRoute.isDialog ? true : value.isDialog ?? false;
120 }); 120 });
121 121
122 if (routing != null) { 122 if (routing != null) {
@@ -153,9 +153,9 @@ class GetObserver extends NavigatorObserver { @@ -153,9 +153,9 @@ class GetObserver extends NavigatorObserver {
153 value.isBack = true; 153 value.isBack = true;
154 value.removed = ''; 154 value.removed = '';
155 value.previous = newRoute.name ?? ''; 155 value.previous = newRoute.name ?? '';
156 - value.isSnackbar = false;  
157 - value.isBottomSheet = false;  
158 - value.isDialog = false; 156 + value.isSnackbar = currentRoute.isSnackbar ? false : value.isSnackbar;
  157 + value.isBottomSheet = currentRoute.isBottomSheet ? false : value.isBottomSheet;
  158 + value.isDialog = currentRoute.isDialog ? false : value.isDialog;
159 }); 159 });
160 160
161 routing?.call(_routeSend); 161 routing?.call(_routeSend);
@@ -166,6 +166,7 @@ class GetObserver extends NavigatorObserver { @@ -166,6 +166,7 @@ class GetObserver extends NavigatorObserver {
166 super.didReplace(newRoute: newRoute, oldRoute: oldRoute); 166 super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
167 final newName = _extractRouteName(newRoute); 167 final newName = _extractRouteName(newRoute);
168 final oldName = _extractRouteName(oldRoute); 168 final oldName = _extractRouteName(oldRoute);
  169 + final currentRoute = _RouteData.ofRoute(oldRoute);
169 170
170 Get.log("REPLACE ROUTE $oldName"); 171 Get.log("REPLACE ROUTE $oldName");
171 Get.log("NEW ROUTE $newName"); 172 Get.log("NEW ROUTE $newName");
@@ -182,9 +183,9 @@ class GetObserver extends NavigatorObserver { @@ -182,9 +183,9 @@ class GetObserver extends NavigatorObserver {
182 value.isBack = false; 183 value.isBack = false;
183 value.removed = ''; 184 value.removed = '';
184 value.previous = '$oldName'; 185 value.previous = '$oldName';
185 - value.isSnackbar = false;  
186 - value.isBottomSheet = false;  
187 - value.isDialog = false; 186 + value.isSnackbar = currentRoute.isSnackbar ? false : value.isSnackbar;
  187 + value.isBottomSheet = currentRoute.isBottomSheet ? false : value.isBottomSheet;
  188 + value.isDialog = currentRoute.isDialog ? false : value.isDialog;
188 }); 189 });
189 190
190 routing?.call(_routeSend); 191 routing?.call(_routeSend);
@@ -194,13 +195,18 @@ class GetObserver extends NavigatorObserver { @@ -194,13 +195,18 @@ class GetObserver extends NavigatorObserver {
194 void didRemove(Route route, Route previousRoute) { 195 void didRemove(Route route, Route previousRoute) {
195 super.didRemove(route, previousRoute); 196 super.didRemove(route, previousRoute);
196 final routeName = _extractRouteName(route); 197 final routeName = _extractRouteName(route);
  198 + final currentRoute = _RouteData.ofRoute(route);
197 199
198 Get.log("REMOVING ROUTE $routeName"); 200 Get.log("REMOVING ROUTE $routeName");
  201 +
199 _routeSend?.update((value) { 202 _routeSend?.update((value) {
200 value.route = previousRoute; 203 value.route = previousRoute;
201 value.isBack = false; 204 value.isBack = false;
202 value.removed = routeName ?? ''; 205 value.removed = routeName ?? '';
203 value.previous = routeName ?? ''; 206 value.previous = routeName ?? '';
  207 + value.isSnackbar = currentRoute.isSnackbar ? false : value.isSnackbar;
  208 + value.isBottomSheet = currentRoute.isBottomSheet ? false : value.isBottomSheet;
  209 + value.isDialog = currentRoute.isDialog ? false : value.isDialog;
204 }); 210 });
205 211
206 routing?.call(_routeSend); 212 routing?.call(_routeSend);