getData method
Implementation
Future<HttpData> getData(LoadType loadType) async{
HttpData httpData = await requestList<List<T>, T>((httpData, requestInfo) {
if(currentPageNum == firstPage() && refreshClearData){
list.clear();
}
setList(loadType, httpData);
onCompleted(list);
}, isSetError: currentPageNum == firstPage());
_dataList.clear();
if(httpData.data != null){
_dataList.addAll(httpData.data);
}else{
_dataList.clear();
}
if(ObjectUtil.isEmpty(httpData.httpError)){
setIdle();
}
bool success = true;
if(ObjectUtil.isNotEmpty(httpData.httpError)){
if(loadType == LoadType.LoadMore){
_currentPageNum = --_currentPageNum;
}
if(httpData.httpError != null){
if(httpData.httpError!.httpErrorType != HttpErrorType.EmptyDataError){
success = false;
}
}
}
refreshController.finishRefresh(success: success);
refreshController.finishLoad(success: success, noMore: !hasMore);
return httpData;
}