Jonny Borges
Committed by GitHub

Merge pull request #2740 from jonataslaw/fix-theme-and-rxlist

Release candidate 4
  1 +## [5.0.0-release-candidate-4]
  2 +-Fix changeThemeMode and RxList
  3 +
  4 +## [5.0.0-release-candidate-3]
  5 +-Fix changeTheme
  6 +
1 ## [5.0.0-release-candidate-2] 7 ## [5.0.0-release-candidate-2]
2 This version adds built-in support for animation in Flutter in an easy, clear way, and without having to create a StatefulWidget with controllers and animations. All you need to do is call the name of the animation. 8 This version adds built-in support for animation in Flutter in an easy, clear way, and without having to create a StatefulWidget with controllers and animations. All you need to do is call the name of the animation.
3 9
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 # This file should be version controlled. 4 # This file should be version controlled.
5 5
6 version: 6 version:
7 - revision: 9944297138845a94256f1cf37beb88ff9a8e811a 7 + revision: c07f7888888435fd9df505aa2efc38d3cf65681b
8 channel: stable 8 channel: stable
9 9
10 project_type: app 10 project_type: app
@@ -13,26 +13,26 @@ project_type: app @@ -13,26 +13,26 @@ project_type: app
13 migration: 13 migration:
14 platforms: 14 platforms:
15 - platform: root 15 - platform: root
16 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
17 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 16 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  17 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
18 - platform: android 18 - platform: android
19 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
20 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 19 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  20 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
21 - platform: ios 21 - platform: ios
22 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
23 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 22 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  23 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
24 - platform: linux 24 - platform: linux
25 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
26 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 25 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  26 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
27 - platform: macos 27 - platform: macos
28 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
29 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 28 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  29 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
30 - platform: web 30 - platform: web
31 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
32 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 31 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  32 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
33 - platform: windows 33 - platform: windows
34 - create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a  
35 - base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a 34 + create_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
  35 + base_revision: c07f7888888435fd9df505aa2efc38d3cf65681b
36 36
37 # User provided section 37 # User provided section
38 38
@@ -29,27 +29,27 @@ class MyApp extends StatelessWidget { @@ -29,27 +29,27 @@ class MyApp extends StatelessWidget {
29 29
30 /// Nav 2 snippet 30 /// Nav 2 snippet
31 // void main() { 31 // void main() {
32 -// runApp(MyApp()); 32 +// runApp(const MyApp());
33 // } 33 // }
34 34
35 // class MyApp extends StatelessWidget { 35 // class MyApp extends StatelessWidget {
36 -// MyApp({Key? key}) : super(key: key); 36 +// const MyApp({Key? key}) : super(key: key);
37 37
38 // @override 38 // @override
39 // Widget build(BuildContext context) { 39 // Widget build(BuildContext context) {
40 -// return GetMaterialApp.router( 40 +// return GetMaterialApp(
41 // getPages: [ 41 // getPages: [
42 // GetPage( 42 // GetPage(
43 // participatesInRootNavigator: true, 43 // participatesInRootNavigator: true,
44 // name: '/first', 44 // name: '/first',
45 -// page: () => First()), 45 +// page: () => const First()),
46 // GetPage( 46 // GetPage(
47 // name: '/second', 47 // name: '/second',
48 -// page: () => Second(), 48 +// page: () => const Second(),
49 // ), 49 // ),
50 // GetPage( 50 // GetPage(
51 // name: '/third', 51 // name: '/third',
52 -// page: () => Third(), 52 +// page: () => const Third(),
53 // ), 53 // ),
54 // ], 54 // ],
55 // debugShowCheckedModeBanner: false, 55 // debugShowCheckedModeBanner: false,
@@ -58,26 +58,32 @@ class MyApp extends StatelessWidget { @@ -58,26 +58,32 @@ class MyApp extends StatelessWidget {
58 // } 58 // }
59 59
60 // class First extends StatelessWidget { 60 // class First extends StatelessWidget {
  61 +// const First({Key? key}) : super(key: key);
  62 +
61 // @override 63 // @override
62 // Widget build(BuildContext context) { 64 // Widget build(BuildContext context) {
  65 +// print('First rebuild');
63 // return Scaffold( 66 // return Scaffold(
64 // appBar: AppBar( 67 // appBar: AppBar(
65 -// title: Text('page one'), 68 +// title: const Text('page one'),
66 // leading: IconButton( 69 // leading: IconButton(
67 -// icon: Icon(Icons.more), 70 +// icon: const Icon(Icons.more),
68 // onPressed: () { 71 // onPressed: () {
  72 +// print('THEME CHANGED');
69 // Get.changeTheme( 73 // Get.changeTheme(
70 -// context.isDarkMode ? ThemeData.light() : ThemeData.dark()); 74 +// Get.isDarkMode ? ThemeData.light() : ThemeData.dark());
71 // }, 75 // },
72 // ), 76 // ),
73 // ), 77 // ),
74 // body: Center( 78 // body: Center(
75 -// child: Container( 79 +// child: SizedBox(
76 // height: 300, 80 // height: 300,
77 // width: 300, 81 // width: 300,
78 // child: ElevatedButton( 82 // child: ElevatedButton(
79 -// onPressed: () {},  
80 -// child: Text('next screen'), 83 +// onPressed: () {
  84 +// Get.toNamed('/second?id=123');
  85 +// },
  86 +// child: const Text('next screen'),
81 // ), 87 // ),
82 // ), 88 // ),
83 // ), 89 // ),
@@ -86,19 +92,22 @@ class MyApp extends StatelessWidget { @@ -86,19 +92,22 @@ class MyApp extends StatelessWidget {
86 // } 92 // }
87 93
88 // class Second extends StatelessWidget { 94 // class Second extends StatelessWidget {
  95 +// const Second({Key? key}) : super(key: key);
  96 +
89 // @override 97 // @override
90 // Widget build(BuildContext context) { 98 // Widget build(BuildContext context) {
  99 +// print('second rebuild');
91 // return Scaffold( 100 // return Scaffold(
92 // appBar: AppBar( 101 // appBar: AppBar(
93 // title: Text('page two ${Get.parameters["id"]}'), 102 // title: Text('page two ${Get.parameters["id"]}'),
94 // ), 103 // ),
95 // body: Center( 104 // body: Center(
96 -// child: Container( 105 +// child: SizedBox(
97 // height: 300, 106 // height: 300,
98 // width: 300, 107 // width: 300,
99 // child: ElevatedButton( 108 // child: ElevatedButton(
100 // onPressed: () {}, 109 // onPressed: () {},
101 -// child: Text('next screen'), 110 +// child: const Text('next screen'),
102 // ), 111 // ),
103 // ), 112 // ),
104 // ), 113 // ),
@@ -107,20 +116,22 @@ class MyApp extends StatelessWidget { @@ -107,20 +116,22 @@ class MyApp extends StatelessWidget {
107 // } 116 // }
108 117
109 // class Third extends StatelessWidget { 118 // class Third extends StatelessWidget {
  119 +// const Third({Key? key}) : super(key: key);
  120 +
110 // @override 121 // @override
111 // Widget build(BuildContext context) { 122 // Widget build(BuildContext context) {
112 // return Scaffold( 123 // return Scaffold(
113 // backgroundColor: Colors.red, 124 // backgroundColor: Colors.red,
114 // appBar: AppBar( 125 // appBar: AppBar(
115 -// title: Text('page three'), 126 +// title: const Text('page three'),
116 // ), 127 // ),
117 // body: Center( 128 // body: Center(
118 -// child: Container( 129 +// child: SizedBox(
119 // height: 300, 130 // height: 300,
120 // width: 300, 131 // width: 300,
121 // child: ElevatedButton( 132 // child: ElevatedButton(
122 // onPressed: () {}, 133 // onPressed: () {},
123 -// child: Text('go to first screen'), 134 +// child: const Text('go to first screen'),
124 // ), 135 // ),
125 // ), 136 // ),
126 // ), 137 // ),
@@ -438,7 +438,7 @@ class GetRootState extends State<GetRoot> with WidgetsBindingObserver { @@ -438,7 +438,7 @@ class GetRootState extends State<GetRoot> with WidgetsBindingObserver {
438 } 438 }
439 439
440 Transition? getThemeTransition() { 440 Transition? getThemeTransition() {
441 - final platform = Get.theme.platform; 441 + final platform = context.theme.platform;
442 final matchingTransition = 442 final matchingTransition =
443 Get.theme.pageTransitionsTheme.builders[platform]; 443 Get.theme.pageTransitionsTheme.builders[platform];
444 switch (matchingTransition) { 444 switch (matchingTransition) {
@@ -489,7 +489,10 @@ class GetRootState extends State<GetRoot> with WidgetsBindingObserver { @@ -489,7 +489,10 @@ class GetRootState extends State<GetRoot> with WidgetsBindingObserver {
489 } 489 }
490 490
491 void update() { 491 void update() {
492 - setState(() {}); 492 + context.visitAncestorElements((element) {
  493 + element.markNeedsBuild();
  494 + return false;
  495 + });
493 } 496 }
494 497
495 GlobalKey<NavigatorState> get key => rootDelegate.navigatorKey; 498 GlobalKey<NavigatorState> get key => rootDelegate.navigatorKey;
@@ -48,7 +48,7 @@ class RxList<E> extends GetListenable<List<E>> @@ -48,7 +48,7 @@ class RxList<E> extends GetListenable<List<E>>
48 @override 48 @override
49 RxList<E> operator +(Iterable<E> val) { 49 RxList<E> operator +(Iterable<E> val) {
50 addAll(val); 50 addAll(val);
51 - refresh(); 51 + // refresh();
52 return this; 52 return this;
53 } 53 }
54 54
@@ -113,11 +113,11 @@ class RxList<E> extends GetListenable<List<E>> @@ -113,11 +113,11 @@ class RxList<E> extends GetListenable<List<E>>
113 @override 113 @override
114 Iterable<E> get reversed => value.reversed; 114 Iterable<E> get reversed => value.reversed;
115 115
116 - @override  
117 - set value(List<E> val) {  
118 - value = val;  
119 - refresh();  
120 - } 116 + // @override
  117 + // set value(List<E> val) {
  118 + // value = val;
  119 + // refresh();
  120 + // }
121 121
122 @override 122 @override
123 Iterable<E> where(bool Function(E) test) { 123 Iterable<E> where(bool Function(E) test) {
@@ -8,7 +8,7 @@ class RxSet<E> extends GetListenable<Set<E>> @@ -8,7 +8,7 @@ class RxSet<E> extends GetListenable<Set<E>>
8 /// inside the List, 8 /// inside the List,
9 RxSet<E> operator +(Set<E> val) { 9 RxSet<E> operator +(Set<E> val) {
10 addAll(val); 10 addAll(val);
11 - refresh(); 11 + //refresh();
12 return this; 12 return this;
13 } 13 }
14 14
@@ -25,13 +25,13 @@ class RxSet<E> extends GetListenable<Set<E>> @@ -25,13 +25,13 @@ class RxSet<E> extends GetListenable<Set<E>>
25 // // return _value; 25 // // return _value;
26 // } 26 // }
27 27
28 - @override  
29 - @protected  
30 - set value(Set<E> val) {  
31 - if (value == val) return;  
32 - value = val;  
33 - refresh();  
34 - } 28 + // @override
  29 + // @protected
  30 + // set value(Set<E> val) {
  31 + // if (value == val) return;
  32 + // value = val;
  33 + // refresh();
  34 + // }
35 35
36 @override 36 @override
37 bool add(E value) { 37 bool add(E value) {
1 name: get 1 name: get
2 description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX. 2 description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.
3 -version: 5.0.0-release-candidate-2 3 +version: 5.0.0-release-candidate-4
4 homepage: https://github.com/jonataslaw/getx 4 homepage: https://github.com/jonataslaw/getx
5 5
6 environment: 6 environment: