Jonatas

update route dispose

... ... @@ -315,13 +315,13 @@ class GetInstance {
/// - [key] For internal usage, is the processed key used to register
/// the Instance. **don't use** it unless you know what you are doing.
/// - [force] Will delete an Instance even if marked as [permanent].
Future<bool> delete<S>({String tag, String key, bool force = false}) {
bool delete<S>({String tag, String key, bool force = false}) {
// return _queue.secure<bool>(() {
return _delete<S>(tag: tag, key: key, force: force);
// });
}
Future<bool> _delete<S>({String tag, String key, bool force = false}) async {
bool _delete<S>({String tag, String key, bool force = false}) {
final newKey = key ?? _getKey(S, tag);
if (!_singl.containsKey(newKey)) {
... ... @@ -343,7 +343,7 @@ class GetInstance {
if (i is GetxServiceMixin && !force) {
return false;
}
await Get.asap(() {
if (i is GetLifeCycle) {
i.onDelete();
Get.log('"$newKey" onClose() called');
... ... @@ -356,7 +356,7 @@ class GetInstance {
} else {
Get.log('"$newKey" deleted from memory');
}
});
return true;
}
... ...
... ... @@ -384,16 +384,16 @@ class GetPageRoute<T> extends PageRoute<T> {
@override
void dispose() {
// if (Get.smartManagement != SmartManagement.onlyBuilder) {
// WidgetsBinding.instance.addPostFrameCallback((_) => GetInstance()
// .removeDependencyByRoute("${settings?.name ?? routeName}"));
// }
super.dispose();
if (Get.smartManagement != SmartManagement.onlyBuilder) {
GetInstance().removeDependencyByRoute("$reference");
WidgetsBinding.instance.addPostFrameCallback(
(_) => GetInstance().removeDependencyByRoute("$reference"));
}
// if (Get.smartManagement != SmartManagement.onlyBuilder) {
// GetInstance().removeDependencyByRoute("$reference");
// }
final middlewareRunner = MiddlewareRunner(middlewares);
middlewareRunner.runOnPageDispose();
}
... ...