bool _addClient(KeepAliveNotification notification) { Listenable handle = notification.handle; this._handles = this._handles ?? new Dictionary <Listenable, VoidCallback>(); D.assert(!this._handles.ContainsKey(handle)); this._handles[handle] = this._createCallback(handle); handle.addListener(this._handles[handle]); if (!this._keepingAlive) { this._keepingAlive = true; ParentDataElement childElement = this._getChildElement(); if (childElement != null) { this._updateParentDataOfChild(childElement); } else { SchedulerBinding.instance.addPostFrameCallback(timeStamp => { ParentDataElement childElement1 = this._getChildElement(); D.assert(childElement1 != null); this._updateParentDataOfChild(childElement1); }); } } return(false); }
void _updateParentDataOfChild(ParentDataElement childElement) { childElement.applyWidgetOutOfTurn((ParentDataWidget)this.build(this.context)); }