am 07efb030: Merge "Defer process mode upon draw" into jb-mr1.1-dev

* commit '07efb0303ff031512b7c38c6e7e9c2fcdb5849c0':
  Defer process mode upon draw
This commit is contained in:
Chris Craik
2012-12-05 12:25:13 -08:00
committed by Android Git Automerger

View File

@ -1304,17 +1304,11 @@ public abstract class HardwareRenderer {
}
}
if ((status & DisplayList.STATUS_INVOKE) != 0) {
scheduleFunctors(attachInfo, true);
}
}
private void scheduleFunctors(View.AttachInfo attachInfo, boolean delayed) {
if ((status & DisplayList.STATUS_INVOKE) != 0 ||
attachInfo.mHandler.hasCallbacks(mFunctorsRunnable)) {
attachInfo.mHandler.removeCallbacks(mFunctorsRunnable);
mFunctorsRunnable.attachInfo = attachInfo;
if (!attachInfo.mHandler.hasCallbacks(mFunctorsRunnable)) {
// delay the functor callback by a few ms so it isn't polled constantly
attachInfo.mHandler.postDelayed(mFunctorsRunnable,
delayed ? FUNCTOR_PROCESS_DELAY : 0);
attachInfo.mHandler.postDelayed(mFunctorsRunnable, FUNCTOR_PROCESS_DELAY);
}
}
@ -1329,7 +1323,9 @@ public abstract class HardwareRenderer {
boolean attachFunctor(View.AttachInfo attachInfo, int functor) {
if (mCanvas != null) {
mCanvas.attachFunctor(functor);
scheduleFunctors(attachInfo, false);
mFunctorsRunnable.attachInfo = attachInfo;
attachInfo.mHandler.removeCallbacks(mFunctorsRunnable);
attachInfo.mHandler.postDelayed(mFunctorsRunnable, 0);
return true;
}
return false;