diff options
| author | 2025-02-07 17:12:26 -0800 | |
|---|---|---|
| committer | 2025-02-07 17:12:26 -0800 | |
| commit | 177be536819bc3167b82c8f73e469ea9b9b8b71f (patch) | |
| tree | 8947de45933c2c8669a7b767df95fa73a5b2d707 | |
| parent | d01f5610fc47625fe3f0c2c1d1bbb904f174a1e3 (diff) | |
| parent | ab77bd971df98bd46332a0e9b69899ecbc643003 (diff) | |
Merge "Don't call 'getShortDescription' when tracing is not enabled" into main
| -rw-r--r-- | core/java/android/view/InputEventReceiver.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java index 1c36eaf99afa..9c1f134bff3e 100644 --- a/core/java/android/view/InputEventReceiver.java +++ b/core/java/android/view/InputEventReceiver.java @@ -290,9 +290,15 @@ public abstract class InputEventReceiver { @SuppressWarnings("unused") @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) private void dispatchInputEvent(int seq, InputEvent event) { - Trace.traceBegin(Trace.TRACE_TAG_INPUT, "dispatchInputEvent " + getShortDescription(event)); + if (Trace.isTagEnabled(Trace.TRACE_TAG_INPUT)) { + // This 'if' block is an optimization - without it, 'getShortDescription' will be + // called unconditionally, which is expensive. + Trace.traceBegin(Trace.TRACE_TAG_INPUT, + "dispatchInputEvent " + getShortDescription(event)); + } mSeqMap.put(event.getSequenceNumber(), seq); onInputEvent(event); + // If tracing is not enabled, `traceEnd` is a no-op (so we don't need to guard it with 'if') Trace.traceEnd(Trace.TRACE_TAG_INPUT); } |