Merge "Support nullable ViewerConfigReader in PerfettoProtoLogImpl" into main
diff --git a/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java b/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java
index 50fb8d5..32c4830 100644
--- a/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java
+++ b/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java
@@ -98,6 +98,7 @@
this::onTracingFlush,
this::onTracingInstanceStop
);
+ @Nullable
private final ProtoLogViewerConfigReader mViewerConfigReader;
private final ViewerConfigInputStreamProvider mViewerConfigInputStreamProvider;
private final TreeMap<String, IProtoLogGroup> mLogGroups = new TreeMap<>();
@@ -126,7 +127,7 @@
}
public PerfettoProtoLogImpl(
- ViewerConfigInputStreamProvider viewerConfigInputStreamProvider,
+ @Nullable ViewerConfigInputStreamProvider viewerConfigInputStreamProvider,
Runnable cacheUpdater
) {
this(viewerConfigInputStreamProvider,
@@ -136,8 +137,8 @@
@VisibleForTesting
public PerfettoProtoLogImpl(
- ViewerConfigInputStreamProvider viewerConfigInputStreamProvider,
- ProtoLogViewerConfigReader viewerConfigReader,
+ @Nullable ViewerConfigInputStreamProvider viewerConfigInputStreamProvider,
+ @Nullable ProtoLogViewerConfigReader viewerConfigReader,
Runnable cacheUpdater
) {
Producer.init(InitArguments.DEFAULTS);
@@ -209,7 +210,9 @@
* @return status code
*/
public int startLoggingToLogcat(String[] groups, ILogger logger) {
- mViewerConfigReader.loadViewerConfig(logger);
+ if (mViewerConfigReader != null) {
+ mViewerConfigReader.loadViewerConfig(logger);
+ }
return setTextLogging(true, logger, groups);
}
@@ -220,7 +223,9 @@
* @return status code
*/
public int stopLoggingToLogcat(String[] groups, ILogger logger) {
- mViewerConfigReader.unloadViewerConfig();
+ if (mViewerConfigReader != null) {
+ mViewerConfigReader.unloadViewerConfig();
+ }
return setTextLogging(false, logger, groups);
}
@@ -262,7 +267,9 @@
return -1;
}
case "enable-text" -> {
- mViewerConfigReader.loadViewerConfig(logger);
+ if (mViewerConfigReader != null) {
+ mViewerConfigReader.loadViewerConfig(logger);
+ }
return setTextLogging(true, logger, groups);
}
case "disable-text" -> {
@@ -420,7 +427,12 @@
private void logToLogcat(String tag, LogLevel level, Message message,
@Nullable Object[] args) {
- String messageString = message.getMessage(mViewerConfigReader);
+ String messageString;
+ if (mViewerConfigReader == null) {
+ messageString = message.getMessage();
+ } else {
+ messageString = message.getMessage(mViewerConfigReader);
+ }
if (messageString == null) {
StringBuilder builder = new StringBuilder("UNKNOWN MESSAGE");
@@ -827,7 +839,11 @@
return mMessageMask;
}
- private String getMessage(ProtoLogViewerConfigReader viewerConfigReader) {
+ private String getMessage() {
+ return mMessageString;
+ }
+
+ private String getMessage(@NonNull ProtoLogViewerConfigReader viewerConfigReader) {
if (mMessageString != null) {
return mMessageString;
}