handleContexts method
Handle all buildContext
Implementation
@override
SliverObserverHandleContextsResultModel<ObserveModel>? handleContexts({
bool isForceObserve = false,
bool isFromObserveNotification = false,
bool isDependObserveCallback = true,
bool isIgnoreInnerCanHandleObserve = true,
}) {
if (!isIgnoreInnerCanHandleObserve) {
if (!innerCanHandleObserve) return null;
updateInnerCanHandleObserve();
}
// Viewport
final observeViewportResult = handleObserveViewport(
isForceObserve: isForceObserve,
isDependObserveCallback: isDependObserveCallback,
);
// Slivers(SliverList, GridView etc.)
final handleContextsResult = super.handleContexts(
isForceObserve: isForceObserve,
isFromObserveNotification: isFromObserveNotification,
isDependObserveCallback: isDependObserveCallback,
// It has been processed by the currently rewritten handleContexts method
isIgnoreInnerCanHandleObserve: true,
);
if (observeViewportResult == null && handleContextsResult == null) {
return null;
}
return SliverObserverHandleContextsResultModel(
changeResultModel: handleContextsResult?.changeResultModel,
changeResultMap: handleContextsResult?.changeResultMap ?? {},
observeViewportResultModel: observeViewportResult,
);
}