Merge "Save ProtoLog viewer configuration in WMShell" into tm-qpr-dev
This commit is contained in:
@@ -100,6 +100,21 @@ genrule {
|
||||
out: ["wm_shell_protolog.json"],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "protolog.json.gz",
|
||||
srcs: [":generate-wm_shell_protolog.json"],
|
||||
out: ["wmshell.protolog.json.gz"],
|
||||
cmd: "$(location minigzip) -c < $(in) > $(out)",
|
||||
tools: ["minigzip"],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "wmshell.protolog.json.gz",
|
||||
system_ext_specific: true,
|
||||
src: ":protolog.json.gz",
|
||||
filename_from_src: true,
|
||||
}
|
||||
|
||||
// End ProtoLog
|
||||
|
||||
java_library {
|
||||
@@ -123,9 +138,6 @@ android_library {
|
||||
resource_dirs: [
|
||||
"res",
|
||||
],
|
||||
java_resources: [
|
||||
":generate-wm_shell_protolog.json",
|
||||
],
|
||||
static_libs: [
|
||||
"androidx.appcompat_appcompat",
|
||||
"androidx.arch.core_core-runtime",
|
||||
|
||||
@@ -17,22 +17,14 @@
|
||||
package com.android.wm.shell.protolog;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.protolog.BaseProtoLogImpl;
|
||||
import com.android.internal.protolog.ProtoLogViewerConfigReader;
|
||||
import com.android.internal.protolog.common.IProtoLogGroup;
|
||||
import com.android.wm.shell.R;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import org.json.JSONException;
|
||||
|
||||
|
||||
/**
|
||||
* A service for the ProtoLog logging system.
|
||||
@@ -40,8 +32,9 @@ import org.json.JSONException;
|
||||
public class ShellProtoLogImpl extends BaseProtoLogImpl {
|
||||
private static final String TAG = "ProtoLogImpl";
|
||||
private static final int BUFFER_CAPACITY = 1024 * 1024;
|
||||
// TODO: Get the right path for the proto log file when we initialize the shell components
|
||||
private static final String LOG_FILENAME = new File("wm_shell_log.pb").getAbsolutePath();
|
||||
// TODO: find a proper location to save the protolog message file
|
||||
private static final String LOG_FILENAME = "/data/misc/wmtrace/shell_log.winscope";
|
||||
private static final String VIEWER_CONFIG_FILENAME = "/system_ext/etc/wmshell.protolog.json.gz";
|
||||
|
||||
private static ShellProtoLogImpl sServiceInstance = null;
|
||||
|
||||
@@ -111,18 +104,8 @@ public class ShellProtoLogImpl extends BaseProtoLogImpl {
|
||||
}
|
||||
|
||||
public int startTextLogging(String[] groups, PrintWriter pw) {
|
||||
try (InputStream is =
|
||||
getClass().getClassLoader().getResourceAsStream("wm_shell_protolog.json")){
|
||||
mViewerConfig.loadViewerConfig(is);
|
||||
return setLogging(true /* setTextLogging */, true, pw, groups);
|
||||
} catch (IOException e) {
|
||||
Log.i(TAG, "Unable to load log definitions: IOException while reading "
|
||||
+ "wm_shell_protolog. " + e);
|
||||
} catch (JSONException e) {
|
||||
Log.i(TAG, "Unable to load log definitions: JSON parsing exception while reading "
|
||||
+ "wm_shell_protolog. " + e);
|
||||
}
|
||||
return -1;
|
||||
mViewerConfig.loadViewerConfig(pw, VIEWER_CONFIG_FILENAME);
|
||||
return setLogging(true /* setTextLogging */, true, pw, groups);
|
||||
}
|
||||
|
||||
public int stopTextLogging(String[] groups, PrintWriter pw) {
|
||||
@@ -130,7 +113,8 @@ public class ShellProtoLogImpl extends BaseProtoLogImpl {
|
||||
}
|
||||
|
||||
private ShellProtoLogImpl() {
|
||||
super(new File(LOG_FILENAME), null, BUFFER_CAPACITY, new ProtoLogViewerConfigReader());
|
||||
super(new File(LOG_FILENAME), VIEWER_CONFIG_FILENAME, BUFFER_CAPACITY,
|
||||
new ProtoLogViewerConfigReader());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -294,5 +294,6 @@ android_app {
|
||||
dxflags: ["--multi-dex"],
|
||||
required: [
|
||||
"privapp_whitelist_com.android.systemui",
|
||||
"wmshell.protolog.json.gz",
|
||||
],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user