Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb82b942 authored by Chris Craik's avatar Chris Craik
Browse files

Fix attachFunctor path to ignore delay

Don't defer functor invocation when calling attach functor directly.

bug:6653638

Change-Id: Ifffc027df16612f380f39b82b7d0a4411d53b4ea
parent 1b159f66
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1211,15 +1211,16 @@ public abstract class HardwareRenderer {
            }

            if ((status & DisplayList.STATUS_INVOKE) != 0) {
                scheduleFunctors(attachInfo);
                scheduleFunctors(attachInfo, true);
            }
        }

        private void scheduleFunctors(View.AttachInfo attachInfo) {
        private void scheduleFunctors(View.AttachInfo attachInfo, boolean delayed) {
            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, FUNCTOR_PROCESS_DELAY);
                attachInfo.mHandler.postDelayed(mFunctorsRunnable,
                                                delayed ? FUNCTOR_PROCESS_DELAY : 0);
            }
        }

@@ -1234,7 +1235,7 @@ public abstract class HardwareRenderer {
        boolean attachFunctor(View.AttachInfo attachInfo, int functor) {
            if (mCanvas != null) {
                mCanvas.attachFunctor(functor);
                scheduleFunctors(attachInfo);
                scheduleFunctors(attachInfo, false);
                return true;
            }
            return false;