void () { if (!EDT.isCurrentThreadEdt()) return; long now = System.nanoTime(); if (now == myLastInteraction) return; myLastInteraction = now; long millisSinceLastUpdate = TimeoutUtil.getDurationMillis(myLastUiUpdate); if (!myShowing && millisSinceLastUpdate > myDelayInMillis) { myShowing = true; } if (myShowing) { myEventStealer.dispatchEvents(0); } if (myShowing && millisSinceLastUpdate > ProgressDialog.UPDATE_INTERVAL) { myLastUiUpdate = System.nanoTime(); paintProgress(); } }