Showing
3 changed files
with
14 additions
and
40 deletions
| @@ -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(); |
-
Please register or login to post a comment