Jonatas

remove queue from instance manager

@@ -4,7 +4,6 @@ import 'dart:collection'; @@ -4,7 +4,6 @@ import 'dart:collection';
4 import 'package:get_core/get_core.dart'; 4 import 'package:get_core/get_core.dart';
5 5
6 import 'lifecycle.dart'; 6 import 'lifecycle.dart';
7 -import 'utils/secure_operations.dart';  
8 7
9 class GetInstance { 8 class GetInstance {
10 factory GetInstance() => _getInstance ??= GetInstance._(); 9 factory GetInstance() => _getInstance ??= GetInstance._();
@@ -141,7 +140,7 @@ class GetInstance { @@ -141,7 +140,7 @@ class GetInstance {
141 /// using [Get.smartManagement] as [SmartManagement.full] or 140 /// using [Get.smartManagement] as [SmartManagement.full] or
142 /// [SmartManagement.keepFactory] 141 /// [SmartManagement.keepFactory]
143 /// Meant for internal usage of [GetPageRoute] and [GetDialogRoute] 142 /// Meant for internal usage of [GetPageRoute] and [GetDialogRoute]
144 - Future<void> removeDependencyByRoute(String routeName) async { 143 + void removeDependencyByRoute(String routeName) {
145 final keysToRemove = <String>[]; 144 final keysToRemove = <String>[];
146 _routesKey.forEach((key, value) { 145 _routesKey.forEach((key, value) {
147 if (value == routeName) { 146 if (value == routeName) {
@@ -155,7 +154,7 @@ class GetInstance { @@ -155,7 +154,7 @@ class GetInstance {
155 // assure the [DisposableInterface] instance holding a reference 154 // assure the [DisposableInterface] instance holding a reference
156 // to [onClose()] wasn't disposed. 155 // to [onClose()] wasn't disposed.
157 if (onClose != null) { 156 if (onClose != null) {
158 - await onClose(); 157 + onClose();
159 } 158 }
160 } 159 }
161 _routesByCreate[routeName].clear(); 160 _routesByCreate[routeName].clear();
@@ -163,7 +162,7 @@ class GetInstance { @@ -163,7 +162,7 @@ class GetInstance {
163 } 162 }
164 163
165 for (final element in keysToRemove) { 164 for (final element in keysToRemove) {
166 - await delete(key: element); 165 + delete(key: element);
167 } 166 }
168 167
169 for (final element in keysToRemove) { 168 for (final element in keysToRemove) {
@@ -306,8 +305,6 @@ class GetInstance { @@ -306,8 +305,6 @@ class GetInstance {
306 return true; 305 return true;
307 } 306 }
308 307
309 - static final GetQueue _queue = GetQueue();  
310 -  
311 /// Delete registered Class Instance [S] (or [tag]) and, closes any open 308 /// Delete registered Class Instance [S] (or [tag]) and, closes any open
312 /// controllers [DisposableInterface], cleans up the memory 309 /// controllers [DisposableInterface], cleans up the memory
313 /// 310 ///
1 -import 'dart:async';  
2 -  
3 -class GetQueue {  
4 - final List<_Item> _queue = [];  
5 - bool _active = false;  
6 -  
7 - void _check() async {  
8 - if (!_active && _queue.isNotEmpty) {  
9 - _active = true;  
10 - var item = _queue.removeAt(0);  
11 - try {  
12 - item.completer.complete(await item.job());  
13 - } on Exception catch (e) {  
14 - item.completer.completeError(e);  
15 - }  
16 - _active = false;  
17 - _check();  
18 - }  
19 - }  
20 -  
21 - Future<T> secure<T>(Function job) {  
22 - var completer = Completer<T>();  
23 - _queue.add(_Item<T>(completer, job));  
24 - _check();  
25 - return completer.future;  
26 - }  
27 -}  
28 -  
29 -class _Item<T> {  
30 - final Completer<T> completer;  
31 - final Function job;  
32 -  
33 - _Item(this.completer, this.job);  
34 -}  
@@ -50,6 +50,10 @@ abstract class GetWidget<T extends GetLifeCycle> extends GetStatelessWidget { @@ -50,6 +50,10 @@ abstract class GetWidget<T extends GetLifeCycle> extends GetStatelessWidget {
50 return _value.first; 50 return _value.first;
51 } 51 }
52 52
  53 + // void restartChilds(){
  54 +
  55 + // }
  56 +
53 @override 57 @override
54 Widget build(BuildContext context); 58 Widget build(BuildContext context);
55 } 59 }
@@ -89,6 +93,13 @@ class GetStatelessElement extends ComponentElement { @@ -89,6 +93,13 @@ class GetStatelessElement extends ComponentElement {
89 rebuild(); 93 rebuild();
90 } 94 }
91 95
  96 + void forceAppUpdate() {
  97 + markNeedsBuild();
  98 + visitChildren((child) {
  99 + (child as GetStatelessElement).forceAppUpdate();
  100 + });
  101 + }
  102 +
92 @override 103 @override
93 void mount(Element parent, dynamic newSlot) { 104 void mount(Element parent, dynamic newSlot) {
94 widget.controller?.onStart(); 105 widget.controller?.onStart();