Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
arjundevlucid
2022-05-14 18:16:51 +0530
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6eb294b95a5ef16e5cf1a00483ff11cb19571d04
6eb294b9
1 parent
b5ef10a6
added backward compability (Flutter 3)
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17 additions
and
10 deletions
lib/get_core/src/typedefs.dart
lib/get_instance/src/lifecycle.dart
lib/get_navigation/src/extension_navigation.dart
lib/get_navigation/src/router_report.dart
lib/get_navigation/src/snackbar/snackbar.dart
lib/get_state_manager/src/simple/get_controllers.dart
lib/get_state_manager/src/simple/simple_builder.dart
lib/get_core/src/typedefs.dart
View file @
6eb294b
typedef
ValueUpdater
<
T
>
=
T
Function
();
T
?
ambiguate
<
T
>(
T
?
value
)
=>
value
;
...
...
lib/get_instance/src/lifecycle.dart
View file @
6eb294b
import
'package:flutter/foundation.dart'
;
import
'package:flutter/scheduler.dart'
;
import
'../../get.dart'
;
/// The [GetLifeCycle]
///
/// ```dart
...
...
@@ -16,7 +18,8 @@ mixin GetLifeCycleMixin {
@protected
@mustCallSuper
void
onInit
()
{
SchedulerBinding
.
instance
?.
addPostFrameCallback
((
_
)
=>
onReady
());
ambiguate
(
SchedulerBinding
.
instance
)
?.
addPostFrameCallback
((
_
)
=>
onReady
());
}
/// Called 1 frame after onInit(). It is the perfect place to enter
...
...
lib/get_navigation/src/extension_navigation.dart
View file @
6eb294b
...
...
@@ -358,7 +358,7 @@ extension ExtensionSnackbar on GetInterface {
if
(
instantInit
)
{
controller
.
show
();
}
else
{
SchedulerBinding
.
instance
!.
addPostFrameCallback
((
_
)
{
ambiguate
(
SchedulerBinding
.
instance
)
!.
addPostFrameCallback
((
_
)
{
controller
.
show
();
});
}
...
...
@@ -469,7 +469,7 @@ extension ExtensionSnackbar on GetInterface {
controller
.
show
();
}
else
{
//routing.isSnackbar = true;
SchedulerBinding
.
instance
!.
addPostFrameCallback
((
_
)
{
ambiguate
(
SchedulerBinding
.
instance
)
!.
addPostFrameCallback
((
_
)
{
controller
.
show
();
});
}
...
...
lib/get_navigation/src/router_report.dart
View file @
6eb294b
...
...
@@ -52,7 +52,7 @@ class RouterReportManager<T> {
void
reportRouteDispose
(
T
disposed
)
{
if
(
Get
.
smartManagement
!=
SmartManagement
.
onlyBuilder
)
{
WidgetsBinding
.
instance
!.
addPostFrameCallback
((
_
)
{
ambiguate
(
WidgetsBinding
.
instance
)
!.
addPostFrameCallback
((
_
)
{
_removeDependencyByRoute
(
disposed
);
});
}
...
...
lib/get_navigation/src/snackbar/snackbar.dart
View file @
6eb294b
...
...
@@ -449,7 +449,7 @@ You need to either use message[String], or messageText[Widget] or define a userI
}
void
_configureLeftBarFuture
()
{
SchedulerBinding
.
instance
!.
addPostFrameCallback
(
ambiguate
(
SchedulerBinding
.
instance
)
!.
addPostFrameCallback
(
(
_
)
{
final
keyContext
=
_backgroundBoxKey
.
currentContext
;
if
(
keyContext
!=
null
)
{
...
...
lib/get_state_manager/src/simple/get_controllers.dart
View file @
6eb294b
...
...
@@ -96,13 +96,13 @@ mixin FullLifeCycleMixin on FullLifeCycleController {
@override
void
onInit
()
{
super
.
onInit
();
WidgetsBinding
.
instance
!.
addObserver
(
this
);
ambiguate
(
WidgetsBinding
.
instance
)
!.
addObserver
(
this
);
}
@mustCallSuper
@override
void
onClose
()
{
WidgetsBinding
.
instance
!.
removeObserver
(
this
);
ambiguate
(
WidgetsBinding
.
instance
)
!.
removeObserver
(
this
);
super
.
onClose
();
}
...
...
lib/get_state_manager/src/simple/simple_builder.dart
View file @
6eb294b
...
...
@@ -3,6 +3,7 @@ import 'dart:async';
import
'package:flutter/scheduler.dart'
;
import
'package:flutter/widgets.dart'
;
import
'../../../get_core/src/typedefs.dart'
;
import
'list_notifier.dart'
;
typedef
ValueBuilderUpdateCallback
<
T
>
=
void
Function
(
T
snapshot
);
...
...
@@ -102,13 +103,14 @@ mixin ObserverComponent on ComponentElement {
Future
<
bool
>
_safeRebuild
()
async
{
if
(
dirty
)
return
false
;
if
(
SchedulerBinding
.
instance
==
null
)
{
if
(
ambiguate
(
SchedulerBinding
.
instance
)
==
null
)
{
markNeedsBuild
();
}
else
{
// refresh was called during the building
if
(
SchedulerBinding
.
instance
!.
schedulerPhase
!=
SchedulerPhase
.
idle
)
{
if
(
ambiguate
(
SchedulerBinding
.
instance
)!.
schedulerPhase
!=
SchedulerPhase
.
idle
)
{
// Await for the end of build
await
SchedulerBinding
.
instance
!.
endOfFrame
;
await
ambiguate
(
SchedulerBinding
.
instance
)
!.
endOfFrame
;
if
(
dirty
)
return
false
;
}
...
...
Please
register
or
login
to post a comment