diff options
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 24 | 
1 files changed, 18 insertions, 6 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index fa579611a3a1..41ca448d9cc2 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -5300,10 +5300,12 @@ public final class ViewRootImpl implements ViewParent,          if (DEBUG_CONTENT_CAPTURE) {              Log.v(mTag, "performContentCaptureInitialReport() on " + rootView);          } +        boolean traceDispatchCapture = false;          try {              if (!isContentCaptureEnabled()) return; -            if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { +            traceDispatchCapture = Trace.isTagEnabled(Trace.TRACE_TAG_VIEW); +            if (traceDispatchCapture) {                  Trace.traceBegin(Trace.TRACE_TAG_VIEW, "dispatchContentCapture() for "                          + getClass().getSimpleName());              } @@ -5319,7 +5321,9 @@ public final class ViewRootImpl implements ViewParent,              // Content capture is a go!              rootView.dispatchInitialProvideContentCaptureStructure();          } finally { -            Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            if (traceDispatchCapture) { +                Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            }          }      } @@ -5327,10 +5331,12 @@ public final class ViewRootImpl implements ViewParent,          if (DEBUG_CONTENT_CAPTURE) {              Log.v(mTag, "handleContentCaptureFlush()");          } +        boolean traceFlushContentCapture = false;          try {              if (!isContentCaptureEnabled()) return; -            if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { +            traceFlushContentCapture = Trace.isTagEnabled(Trace.TRACE_TAG_VIEW); +            if (traceFlushContentCapture) {                  Trace.traceBegin(Trace.TRACE_TAG_VIEW, "flushContentCapture for "                          + getClass().getSimpleName());              } @@ -5342,7 +5348,9 @@ public final class ViewRootImpl implements ViewParent,              }              ccm.flush(ContentCaptureSession.FLUSH_REASON_VIEW_ROOT_ENTERED);          } finally { -            Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            if (traceFlushContentCapture) { +                Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            }          }      } @@ -12656,10 +12664,12 @@ public final class ViewRootImpl implements ViewParent,              view = mFrameRateCategoryView;          } +        boolean traceFrameRateCategory = false;          try {              if (frameRateCategory != FRAME_RATE_CATEGORY_DEFAULT                      && mLastPreferredFrameRateCategory != frameRateCategory) { -                if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { +                traceFrameRateCategory = Trace.isTagEnabled(Trace.TRACE_TAG_VIEW); +                if (traceFrameRateCategory) {                      String reason = reasonToString(frameRateReason);                      String sourceView = view == null ? "-" : view;                      String category = categoryToString(frameRateCategory); @@ -12677,7 +12687,9 @@ public final class ViewRootImpl implements ViewParent,          } catch (Exception e) {              Log.e(mTag, "Unable to set frame rate category", e);          } finally { -            Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            if (traceFrameRateCategory) { +                Trace.traceEnd(Trace.TRACE_TAG_VIEW); +            }          }      }  |