@@ -89,9 +89,9 @@ class ParseLiveList<T extends ParseObject> {
8989 final ParseResponse parseResponse = await _runQuery ();
9090 if (parseResponse.success) {
9191 _list = parseResponse.results
92- .map <ParseLiveListElement <T >>(
92+ ? .map <ParseLiveListElement <T >>(
9393 (dynamic element) => ParseLiveListElement <T >(element))
94- .toList ();
94+ ? .toList () ?? List < ParseLiveListElement < T >> ();
9595 }
9696
9797 LiveQuery ()
@@ -112,9 +112,9 @@ class ParseLiveList<T extends ParseObject> {
112112 .getClientEventStream
113113 .listen ((LiveQueryClientEvent event) async {
114114 if (event == LiveQueryClientEvent .CONNECTED ) {
115- ParseResponse parseResponse = await _runQuery ();
115+ final ParseResponse parseResponse = await _runQuery ();
116116 if (parseResponse.success) {
117- List <T > newlist = parseResponse.results;
117+ final List <T > newList = parseResponse.results ?? List < T >() ;
118118
119119 //update List
120120 for (int i = 0 ; i < _list.length; i++ ) {
@@ -124,21 +124,21 @@ class ParseLiveList<T extends ParseObject> {
124124
125125 bool stillInList = false ;
126126
127- for (int j = 0 ; j < newlist .length; j++ ) {
128- if (newlist [j].get <String >(keyVarObjectId) == currentObjectId) {
127+ for (int j = 0 ; j < newList .length; j++ ) {
128+ if (newList [j].get <String >(keyVarObjectId) == currentObjectId) {
129129 stillInList = true ;
130- if (newlist [j]
130+ if (newList [j]
131131 .get <DateTime >(keyVarUpdatedAt)
132132 .isAfter (currentObject.get <DateTime >(keyVarUpdatedAt))) {
133- QueryBuilder <T > queryBuilder = QueryBuilder <T >.copy (_query)
133+ final QueryBuilder <T > queryBuilder = QueryBuilder <T >.copy (_query)
134134 ..whereEqualTo (keyVarObjectId, currentObjectId);
135135 queryBuilder.query <T >().then ((ParseResponse result) {
136- if (result.success) {
136+ if (result.success && result.results != null ) {
137137 _objectUpdated (result.results.first);
138138 }
139139 });
140140 }
141- newlist .removeAt (j);
141+ newList .removeAt (j);
142142 j-- ;
143143 break ;
144144 }
@@ -149,8 +149,8 @@ class ParseLiveList<T extends ParseObject> {
149149 }
150150 }
151151
152- for (int i = 0 ; i < newlist .length; i++ ) {
153- _objectAdded (newlist [i], loaded: false );
152+ for (int i = 0 ; i < newList .length; i++ ) {
153+ _objectAdded (newList [i], loaded: false );
154154 }
155155 }
156156 }
@@ -208,8 +208,8 @@ class ParseLiveList<T extends ParseObject> {
208208 keyVarObjectId, _list[index].object.get <String >(keyVarObjectId))
209209 ..setLimit (1 );
210210 final ParseResponse response = await queryBuilder.query <T >();
211- if (response.success && response.results != null ) {
212- _list[index].object = response.results.first;
211+ if (response.success) {
212+ _list[index].object = response.results? .first;
213213 } else {
214214 _list[index].object = null ;
215215 throw response.error;
0 commit comments