WebView Tracing API: address comments from the API council.

Address comments from the API council regarding the WebView Tracing API.

android.webkit.TracingController:
 * start() throws IllegalStateException if the system is already tracing
   (this is instead of returning false)
 * stop uses Executor instead of Handler
 * removed stop() (the method w/o arguments)
 * renamed stopAndFlush to stop
 * use OutputStream instead of a custom callback interface TracingOutputStream
 * dropped requirement for UI threading
 * updated documentation

android.webkit.TracingFileOutputStream:
 * removed the TracingFileOutputStream file completely (functionality
   replaced by the existing FileOutputStream)

android.webkit.TracingConfig:
 * removed example with CATEGORIES_NONE and “-input,-gpu”.
 * customCategories are List<String> instead of String
 * updated documentation
 * added two more predefined categories: CATEGORIES_ALL,
   CATEGORIES_ANDROID_WEBVIEW
 * some refactoring, added a Builder class
 * ensure that only include category patterns can be specified
 * uniform addCategories interface for construction
 * predefined category sets are a bitmask now

BUG: 71584598,71584599,63750258
Test: CTS
Change-Id: I615ef5f43d26968329182b09e7c26178f1f85ecc
This commit is contained in:
Tim Volodine
2018-01-18 20:14:08 +00:00
parent e6c2b50229
commit 88604f2f8a
4 changed files with 203 additions and 241 deletions

View File

@@ -49685,41 +49685,37 @@ package android.webkit {
}
public class TracingConfig {
ctor public TracingConfig(int);
ctor public TracingConfig(int, java.lang.String, int);
method public java.lang.String getCustomCategoryPattern();
method public int getPresetCategories();
method public java.util.List<java.lang.String> getCustomIncludedCategories();
method public int getPredefinedCategories();
method public int getTracingMode();
field public static final int CATEGORIES_FRAME_VIEWER = 4; // 0x4
field public static final int CATEGORIES_INPUT_LATENCY = 1; // 0x1
field public static final int CATEGORIES_JAVASCRIPT_AND_RENDERING = 3; // 0x3
field public static final int CATEGORIES_NONE = -1; // 0xffffffff
field public static final int CATEGORIES_RENDERING = 2; // 0x2
field public static final int CATEGORIES_WEB_DEVELOPER = 0; // 0x0
field public static final int CATEGORIES_ALL = 1; // 0x1
field public static final int CATEGORIES_ANDROID_WEBVIEW = 2; // 0x2
field public static final int CATEGORIES_FRAME_VIEWER = 64; // 0x40
field public static final int CATEGORIES_INPUT_LATENCY = 8; // 0x8
field public static final int CATEGORIES_JAVASCRIPT_AND_RENDERING = 32; // 0x20
field public static final int CATEGORIES_NONE = 0; // 0x0
field public static final int CATEGORIES_RENDERING = 16; // 0x10
field public static final int CATEGORIES_WEB_DEVELOPER = 4; // 0x4
field public static final int RECORD_CONTINUOUSLY = 1; // 0x1
field public static final int RECORD_TO_CONSOLE = 3; // 0x3
field public static final int RECORD_UNTIL_FULL = 0; // 0x0
field public static final int RECORD_UNTIL_FULL_LARGE_BUFFER = 2; // 0x2
}
public static class TracingConfig.Builder {
ctor public TracingConfig.Builder();
method public android.webkit.TracingConfig.Builder addCategories(int...);
method public android.webkit.TracingConfig.Builder addCategories(java.lang.String...);
method public android.webkit.TracingConfig.Builder addCategories(java.util.Collection<java.lang.String>);
method public android.webkit.TracingConfig build();
method public android.webkit.TracingConfig.Builder setTracingMode(int);
}
public abstract class TracingController {
ctor public TracingController();
method public static android.webkit.TracingController getInstance();
method public abstract boolean isTracing();
method public abstract boolean start(android.webkit.TracingConfig);
method public abstract boolean stop();
method public abstract boolean stopAndFlush(android.webkit.TracingController.TracingOutputStream, android.os.Handler);
}
public static abstract interface TracingController.TracingOutputStream {
method public abstract void complete();
method public abstract void write(byte[]);
}
public class TracingFileOutputStream implements android.webkit.TracingController.TracingOutputStream {
ctor public TracingFileOutputStream(java.lang.String) throws java.io.FileNotFoundException;
method public void complete();
method public void write(byte[]);
method public abstract void start(android.webkit.TracingConfig);
method public abstract boolean stop(java.io.OutputStream, java.util.concurrent.Executor);
}
public final class URLUtil {