summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/protolog/LogcatOnlyProtoLogImpl.java7
-rw-r--r--core/java/com/android/internal/protolog/ProtoLog.java8
2 files changed, 10 insertions, 5 deletions
diff --git a/core/java/com/android/internal/protolog/LogcatOnlyProtoLogImpl.java b/core/java/com/android/internal/protolog/LogcatOnlyProtoLogImpl.java
index 37d09c264c9b..ebdad6d52933 100644
--- a/core/java/com/android/internal/protolog/LogcatOnlyProtoLogImpl.java
+++ b/core/java/com/android/internal/protolog/LogcatOnlyProtoLogImpl.java
@@ -16,6 +16,8 @@
package com.android.internal.protolog;
+import static com.android.internal.protolog.ProtoLog.REQUIRE_PROTOLOGTOOL;
+
import android.text.TextUtils;
import android.util.Log;
@@ -42,6 +44,11 @@ public class LogcatOnlyProtoLogImpl implements IProtoLog {
@Override
public void log(LogLevel logLevel, IProtoLogGroup group, String messageString, Object[] args) {
+ if (REQUIRE_PROTOLOGTOOL) {
+ throw new RuntimeException(
+ "REQUIRE_PROTOLOGTOOL not set to false before the first log call.");
+ }
+
String formattedString = TextUtils.formatSimple(messageString, args);
switch (logLevel) {
case VERBOSE -> Log.v(group.getTag(), formattedString);
diff --git a/core/java/com/android/internal/protolog/ProtoLog.java b/core/java/com/android/internal/protolog/ProtoLog.java
index 99d441812fa8..87678e5922f9 100644
--- a/core/java/com/android/internal/protolog/ProtoLog.java
+++ b/core/java/com/android/internal/protolog/ProtoLog.java
@@ -174,11 +174,9 @@ public class ProtoLog {
if (android.tracing.Flags.perfettoProtologTracing()) {
sProtoLogInstance = new PerfettoProtoLogImpl();
} else {
- if (REQUIRE_PROTOLOGTOOL) {
- throw new RuntimeException("REQUIRE_PROTOLOGTOOL not set to false.");
- } else {
- sProtoLogInstance = new LogcatOnlyProtoLogImpl();
- }
+ // The first call to ProtoLog is likely to flip REQUIRE_PROTOLOGTOOL, which is when this
+ // static block will be executed before REQUIRE_PROTOLOGTOOL is actually set.
+ sProtoLogInstance = new LogcatOnlyProtoLogImpl();
}
}
}