diff options
| author | Romain Guy <romainguy@google.com> | 2013-06-12 15:31:28 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2013-06-12 15:31:28 -0700 |
| commit | 405436021da156fbe3c5d4de48bdefa564cf7fc0 (patch) | |
| tree | 339d70e2c2e90f87a5c303e7167fe9db0508ed64 /core/java/android/view/ViewRootImpl.java | |
| parent | 97f41383eb2bb098767ca153e470009fea810540 (diff) | |
Restore buildLayer()'s old behavior; it's synchronous again
Bug #9193833
Change-Id: I4ee07e65c0a8967f0b55da030ecaad6dfc46136f
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 60d8a75c749c..c28eb98776dd 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -640,6 +640,18 @@ public final class ViewRootImpl implements ViewParent, } } + void flushHardwareLayerUpdates() { + if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled() && + mAttachInfo.mHardwareRenderer.validate()) { + mAttachInfo.mHardwareRenderer.flushLayerUpdates(); + } + } + + void dispatchFlushHardwareLayerUpdates() { + mHandler.removeMessages(MSG_FLUSH_LAYER_UPDATES); + mHandler.sendMessageAtFrontOfQueue(mHandler.obtainMessage(MSG_FLUSH_LAYER_UPDATES)); + } + public boolean attachFunctor(int functor) { //noinspection SimplifiableIfStatement if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled()) { @@ -2900,6 +2912,7 @@ public final class ViewRootImpl implements ViewParent, private final static int MSG_DISPATCH_DONE_ANIMATING = 22; private final static int MSG_INVALIDATE_WORLD = 23; private final static int MSG_WINDOW_MOVED = 24; + private final static int MSG_FLUSH_LAYER_UPDATES = 25; final class ViewRootHandler extends Handler { @Override @@ -2949,6 +2962,8 @@ public final class ViewRootImpl implements ViewParent, return "MSG_DISPATCH_DONE_ANIMATING"; case MSG_WINDOW_MOVED: return "MSG_WINDOW_MOVED"; + case MSG_FLUSH_LAYER_UPDATES: + return "MSG_FLUSH_LAYER_UPDATES"; } return super.getMessageName(message); } @@ -3171,6 +3186,9 @@ public final class ViewRootImpl implements ViewParent, invalidateWorld(mView); } } break; + case MSG_FLUSH_LAYER_UPDATES: { + flushHardwareLayerUpdates(); + } break; } } } |
