Fix attachFunctor path to ignore delay

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

bug:6653638

Change-Id: Ifffc027df16612f380f39b82b7d0a4411d53b4ea
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 0ae6b56..cb5a5e7 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -1211,15 +1211,16 @@
             }
 
             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 @@
         boolean attachFunctor(View.AttachInfo attachInfo, int functor) {
             if (mCanvas != null) {
                 mCanvas.attachFunctor(functor);
-                scheduleFunctors(attachInfo);
+                scheduleFunctors(attachInfo, false);
                 return true;
             }
             return false;