diff options
| author | 2013-02-07 12:57:10 -0800 | |
|---|---|---|
| committer | 2013-02-07 12:57:10 -0800 | |
| commit | ae4f3204ec2c9251e0e408816e74502079cd1a6c (patch) | |
| tree | e1f090ce1f3e084dad706e48a505e52b16aa97bc | |
| parent | 154be52ae785a00ed091175e3eeed36d8ad14999 (diff) | |
Correctly resume profileRendering
Ensure profileRendering reschedules a previously created profiler callback if
disabled and reenabled
Change-Id: I181ac5043966b99bb8d21e69ce4fdd7494102acb
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index c3321eadd5b0..65a075788ebc 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -2103,20 +2103,25 @@ public final class ViewRootImpl implements ViewParent, private void profileRendering(boolean enabled) { if (mProfileRendering) { mRenderProfilingEnabled = enabled; - if (mRenderProfiler == null) { - mRenderProfiler = new Choreographer.FrameCallback() { - @Override - public void doFrame(long frameTimeNanos) { - mDirty.set(0, 0, mWidth, mHeight); - scheduleTraversals(); - if (mRenderProfilingEnabled) { - mChoreographer.postFrameCallback(mRenderProfiler); + + if (mRenderProfiler != null) { + mChoreographer.removeFrameCallback(mRenderProfiler); + } + if (mRenderProfilingEnabled) { + if (mRenderProfiler == null) { + mRenderProfiler = new Choreographer.FrameCallback() { + @Override + public void doFrame(long frameTimeNanos) { + mDirty.set(0, 0, mWidth, mHeight); + scheduleTraversals(); + if (mRenderProfilingEnabled) { + mChoreographer.postFrameCallback(mRenderProfiler); + } } - } - }; + }; + } mChoreographer.postFrameCallback(mRenderProfiler); } else { - mChoreographer.removeFrameCallback(mRenderProfiler); mRenderProfiler = null; } } |