TracingControllerImpl.smali
.class public Landroidx/webkit/internal/TracingControllerImpl;
.super Landroidx/webkit/TracingController;
.source "TracingControllerImpl.java"
# instance fields
.field private mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
.field private mFrameworksImpl:Landroid/webkit/TracingController;
# direct methods
.method public constructor <init>()V
.registers 4
.line 41
invoke-direct {p0}, Landroidx/webkit/TracingController;-><init>()V
.line 42
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->TRACING_CONTROLLER_BASIC_USAGE:Landroidx/webkit/internal/WebViewFeatureInternal;
.line 44
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByFramework()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_15
.line 45
invoke-static {}, Landroid/webkit/TracingController;->getInstance()Landroid/webkit/TracingController;
move-result-object v0
iput-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mFrameworksImpl:Landroid/webkit/TracingController;
.line 46
iput-object v2, p0, Landroidx/webkit/internal/TracingControllerImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
goto :goto_27
.line 47
:cond_15
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_28
.line 48
iput-object v2, p0, Landroidx/webkit/internal/TracingControllerImpl;->mFrameworksImpl:Landroid/webkit/TracingController;
.line 49
invoke-static {}, Landroidx/webkit/internal/WebViewGlueCommunicator;->getFactory()Landroidx/webkit/internal/WebViewProviderFactory;
move-result-object v0
invoke-interface {v0}, Landroidx/webkit/internal/WebViewProviderFactory;->getTracingController()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
move-result-object v0
iput-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
:goto_27
return-void
.line 51
:cond_28
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object v0
throw v0
.end method
.method private getBoundaryInterface()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
.registers 2
.line 64
iget-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
if-nez v0, :cond_e
.line 65
invoke-static {}, Landroidx/webkit/internal/WebViewGlueCommunicator;->getFactory()Landroidx/webkit/internal/WebViewProviderFactory;
move-result-object v0
invoke-interface {v0}, Landroidx/webkit/internal/WebViewProviderFactory;->getTracingController()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
move-result-object v0
iput-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
.line 67
:cond_e
iget-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
return-object v0
.end method
.method private getFrameworksImpl()Landroid/webkit/TracingController;
.registers 2
.line 57
iget-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mFrameworksImpl:Landroid/webkit/TracingController;
if-nez v0, :cond_a
.line 58
invoke-static {}, Landroid/webkit/TracingController;->getInstance()Landroid/webkit/TracingController;
move-result-object v0
iput-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mFrameworksImpl:Landroid/webkit/TracingController;
.line 60
:cond_a
iget-object v0, p0, Landroidx/webkit/internal/TracingControllerImpl;->mFrameworksImpl:Landroid/webkit/TracingController;
return-object v0
.end method
# virtual methods
.method public isTracing()Z
.registers 3
.line 73
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->TRACING_CONTROLLER_BASIC_USAGE:Landroidx/webkit/internal/WebViewFeatureInternal;
.line 75
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByFramework()Z
move-result v1
if-eqz v1, :cond_11
.line 76
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getFrameworksImpl()Landroid/webkit/TracingController;
move-result-object v0
invoke-virtual {v0}, Landroid/webkit/TracingController;->isTracing()Z
move-result v0
return v0
.line 77
:cond_11
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_20
.line 78
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
move-result-object v0
invoke-interface {v0}, Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;->isTracing()Z
move-result v0
return v0
.line 80
:cond_20
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object v0
throw v0
.end method
.method public start(Landroidx/webkit/TracingConfig;)V
.registers 6
if-eqz p1, :cond_58
.line 91
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->TRACING_CONTROLLER_BASIC_USAGE:Landroidx/webkit/internal/WebViewFeatureInternal;
.line 93
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByFramework()Z
move-result v1
if-eqz v1, :cond_39
.line 94
new-instance v0, Landroid/webkit/TracingConfig$Builder;
invoke-direct {v0}, Landroid/webkit/TracingConfig$Builder;-><init>()V
const/4 v1, 0x1
new-array v1, v1, [I
const/4 v2, 0x0
.line 95
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getPredefinedCategories()I
move-result v3
aput v3, v1, v2
invoke-virtual {v0, v1}, Landroid/webkit/TracingConfig$Builder;->addCategories([I)Landroid/webkit/TracingConfig$Builder;
move-result-object v0
.line 96
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getCustomIncludedCategories()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/webkit/TracingConfig$Builder;->addCategories(Ljava/util/Collection;)Landroid/webkit/TracingConfig$Builder;
move-result-object v0
.line 97
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getTracingMode()I
move-result p1
invoke-virtual {v0, p1}, Landroid/webkit/TracingConfig$Builder;->setTracingMode(I)Landroid/webkit/TracingConfig$Builder;
move-result-object p1
.line 98
invoke-virtual {p1}, Landroid/webkit/TracingConfig$Builder;->build()Landroid/webkit/TracingConfig;
move-result-object p1
.line 99
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getFrameworksImpl()Landroid/webkit/TracingController;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/webkit/TracingController;->start(Landroid/webkit/TracingConfig;)V
goto :goto_52
.line 100
:cond_39
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_53
.line 101
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
move-result-object v0
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getPredefinedCategories()I
move-result v1
.line 102
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getCustomIncludedCategories()Ljava/util/List;
move-result-object v2
invoke-virtual {p1}, Landroidx/webkit/TracingConfig;->getTracingMode()I
move-result p1
.line 101
invoke-interface {v0, v1, v2, p1}, Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;->start(ILjava/util/Collection;I)V
:goto_52
return-void
.line 104
:cond_53
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object p1
throw p1
.line 88
:cond_58
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Tracing config must be non null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public stop(Ljava/io/OutputStream;Ljava/util/concurrent/Executor;)Z
.registers 5
.line 111
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->TRACING_CONTROLLER_BASIC_USAGE:Landroidx/webkit/internal/WebViewFeatureInternal;
.line 113
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByFramework()Z
move-result v1
if-eqz v1, :cond_11
.line 114
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getFrameworksImpl()Landroid/webkit/TracingController;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroid/webkit/TracingController;->stop(Ljava/io/OutputStream;Ljava/util/concurrent/Executor;)Z
move-result p1
return p1
.line 115
:cond_11
invoke-virtual {v0}, Landroidx/webkit/internal/WebViewFeatureInternal;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_20
.line 116
invoke-direct {p0}, Landroidx/webkit/internal/TracingControllerImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;
move-result-object v0
invoke-interface {v0, p1, p2}, Lorg/chromium/support_lib_boundary/TracingControllerBoundaryInterface;->stop(Ljava/io/OutputStream;Ljava/util/concurrent/Executor;)Z
move-result p1
return p1
.line 118
:cond_20
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object p1
throw p1
.end method