Schaban

Fix build return null

@@ -26,23 +26,24 @@ class GetResponsiveView<T> extends GetResponsive<T> { @@ -26,23 +26,24 @@ class GetResponsiveView<T> extends GetResponsive<T> {
26 @override 26 @override
27 Widget build(BuildContext context) { 27 Widget build(BuildContext context) {
28 screen.context = context; 28 screen.context = context;
  29 + Widget widget;
29 if (alwaysUseBuilder) { 30 if (alwaysUseBuilder) {
30 - return builder(); 31 + widget = builder();
  32 + if (widget != null) return widget;
31 } 33 }
32 - Widget widget;  
33 if (screen.isDesktop) { 34 if (screen.isDesktop) {
34 - widget = desktop(); 35 + widget = desktop() ?? widget;
35 if (widget != null) return widget; 36 if (widget != null) return widget;
36 } 37 }
37 if (screen.isTablet) { 38 if (screen.isTablet) {
38 - widget = tablet(); 39 + widget = tablet() ?? desktop();
39 if (widget != null) return widget; 40 if (widget != null) return widget;
40 } 41 }
41 - if (screen.isMobile) {  
42 - widget = mobile(); 42 + if (screen.isPhone) {
  43 + widget = mobile() ?? tablet() ?? desktop();
43 if (widget != null) return widget; 44 if (widget != null) return widget;
44 } 45 }
45 - return watch(); 46 + return watch() ?? mobile() ?? tablet() ?? desktop() ?? builder();
46 } 47 }
47 48
48 @override 49 @override
@@ -103,7 +104,7 @@ class ResponsiveScreen { @@ -103,7 +104,7 @@ class ResponsiveScreen {
103 bool get isTablet => (screenType == ScreenType.Tablet); 104 bool get isTablet => (screenType == ScreenType.Tablet);
104 105
105 /// Is [screenType] [ScreenType.Mobile] 106 /// Is [screenType] [ScreenType.Mobile]
106 - bool get isMobile => (screenType == ScreenType.Mobile); 107 + bool get isPhone => (screenType == ScreenType.Phone);
107 108
108 /// Is [screenType] [ScreenType.Watch] 109 /// Is [screenType] [ScreenType.Watch]
109 bool get isWatch => (screenType == ScreenType.Watch); 110 bool get isWatch => (screenType == ScreenType.Watch);
@@ -120,7 +121,7 @@ class ResponsiveScreen { @@ -120,7 +121,7 @@ class ResponsiveScreen {
120 if (deviceWidth >= settings.desktopChangePoint) return ScreenType.Desktop; 121 if (deviceWidth >= settings.desktopChangePoint) return ScreenType.Desktop;
121 if (deviceWidth >= settings.tabletChangePoint) return ScreenType.Tablet; 122 if (deviceWidth >= settings.tabletChangePoint) return ScreenType.Tablet;
122 if (deviceWidth < settings.watchChangePoint) return ScreenType.Watch; 123 if (deviceWidth < settings.watchChangePoint) return ScreenType.Watch;
123 - return ScreenType.Mobile; 124 + return ScreenType.Phone;
124 } 125 }
125 126
126 /// Return widget according to screen type 127 /// Return widget according to screen type
@@ -137,14 +138,14 @@ class ResponsiveScreen { @@ -137,14 +138,14 @@ class ResponsiveScreen {
137 }) { 138 }) {
138 if (isDesktop && desktop != null) return desktop; 139 if (isDesktop && desktop != null) return desktop;
139 if (isTablet && tablet != null) return tablet; 140 if (isTablet && tablet != null) return tablet;
140 - if (isMobile && mobile != null) return mobile; 141 + if (isPhone && mobile != null) return mobile;
141 return watch; 142 return watch;
142 } 143 }
143 } 144 }
144 145
145 enum ScreenType { 146 enum ScreenType {
146 Watch, 147 Watch,
147 - Mobile, 148 + Phone,
148 Tablet, 149 Tablet,
149 Desktop, 150 Desktop,
150 } 151 }