Async BLAST Sync[4/N]: Replace draw handlers with seqId
Our current model for draw handlers use relayoutWindow to correlate calls to finishDrawing with specific states. Namely all states that were changed by the time relayoutWindow returned, will be included in the next finishDrawing. This is the meaning of the mPending and mCurrent draw handlers. Any draw handlers (and assosciate state change) added after a call to relayout wont be observed by the client, and so we dont want to execute the draw handler when we receive finish drawing. See BLASTSync.md for a detailed discussion. Understanding that the previous code simply only executes draw handlers which were added after relayout we can see that the new code does the same thing. Draw handlers which are executed must have a seqId less than the one returned from the relayout immediately proceeding finishDrawing, and so it must be the same set of draw handlers which were added before relayout. Again see BLASTSync.md for a detailed discussion of why this is expected to work even without relayoutWindow Bug: 161810301 Bug: 175861051 Bug: 175861127 Bug: 200285149 Change-Id: Icd36129927da32fb175ea9071319b06d4d1475a7
Loading
Please register or sign in to comment