.class public abstract Landroidx/webkit/internal/StartupApiFeature; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/webkit/internal/StartupApiFeature$NoFramework;, Landroidx/webkit/internal/StartupApiFeature$P; } .end annotation # static fields .field static final synthetic $assertionsDisabled:Z = false .field public static final METADATA_HOLDER_SERVICE_NAME:Ljava/lang/String; = "org.chromium.android_webview.services.StartupFeatureMetadataHolder" .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field private static final sValues:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Landroidx/webkit/internal/StartupApiFeature;", ">;" } .end annotation .end field # instance fields .field private final mInternalFeatureValue:Ljava/lang/String; .field private final mPublicFeatureValue:Ljava/lang/String; # direct methods .method static constructor ()V .locals 1 .line 60 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V sput-object v0, Landroidx/webkit/internal/StartupApiFeature;->sValues:Ljava/util/Set; return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;)V .locals 0 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 69 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Landroidx/webkit/internal/StartupApiFeature;->mPublicFeatureValue:Ljava/lang/String; iput-object p2, p0, Landroidx/webkit/internal/StartupApiFeature;->mInternalFeatureValue:Ljava/lang/String; sget-object p1, Landroidx/webkit/internal/StartupApiFeature;->sValues:Ljava/util/Set; .line 72 invoke-interface {p1, p0}, Ljava/util/Set;->add(Ljava/lang/Object;)Z return-void .end method .method private static getMetaDataFromWebViewManifestOrNull(Landroid/content/Context;)Landroid/os/Bundle; .locals 5 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation .line 127 invoke-static {p0}, Landroidx/webkit/WebViewCompat;->getCurrentWebViewPackage(Landroid/content/Context;)Landroid/content/pm/PackageInfo; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 131 :cond_0 new-instance v2, Landroid/content/ComponentName; iget-object v0, v0, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String; const-string v3, "org.chromium.android_webview.services.StartupFeatureMetadataHolder" invoke-direct {v2, v0, v3}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x21 if-lt v0, v3, :cond_1 const-wide/16 v3, 0x280 .line 135 invoke-static {v3, v4}, Landroidx/webkit/internal/ApiHelperForTiramisu;->of(J)Landroid/content/pm/PackageManager$ComponentInfoFlags; move-result-object v0 .line 138 :try_start_0 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object p0 invoke-static {p0, v2, v0}, Landroidx/webkit/internal/ApiHelperForTiramisu;->getServiceInfo(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ServiceInfo; move-result-object p0 iget-object p0, p0, Landroid/content/pm/ServiceInfo;->metaData:Landroid/os/Bundle; :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 return-object p0 :catch_0 return-object v1 :cond_1 const/16 v0, 0x280 .line 151 :try_start_1 invoke-static {p0, v2, v0}, Landroidx/webkit/internal/StartupApiFeature;->getServiceInfo(Landroid/content/Context;Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo; move-result-object p0 iget-object p0, p0, Landroid/content/pm/ServiceInfo;->metaData:Landroid/os/Bundle; :try_end_1 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_1} :catch_1 return-object p0 :catch_1 return-object v1 .end method .method private static getServiceInfo(Landroid/content/Context;Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo; .locals 0 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Landroid/content/pm/PackageManager$NameNotFoundException; } .end annotation .line 165 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object p0 .line 166 invoke-virtual {p0, p1, p2}, Landroid/content/pm/PackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo; move-result-object p0 return-object p0 .end method .method public static values()Ljava/util/Set; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Landroidx/webkit/internal/StartupApiFeature;", ">;" } .end annotation sget-object v0, Landroidx/webkit/internal/StartupApiFeature;->sValues:Ljava/util/Set; .line 123 invoke-static {v0}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set; move-result-object v0 return-object v0 .end method # virtual methods .method public getPublicFeatureName()Ljava/lang/String; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/webkit/internal/StartupApiFeature;->mPublicFeatureValue:Ljava/lang/String; return-object v0 .end method .method public isSupported(Landroid/content/Context;)Z .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 84 invoke-virtual {p0}, Landroidx/webkit/internal/StartupApiFeature;->isSupportedByFramework()Z move-result v0 if-nez v0, :cond_1 invoke-virtual {p0, p1}, Landroidx/webkit/internal/StartupApiFeature;->isSupportedByWebView(Landroid/content/Context;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method .method public abstract isSupportedByFramework()Z .end method .method public isSupportedByWebView(Landroid/content/Context;)Z .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/ChecksSdkIntAtLeast; api = 0x15 .end annotation .line 111 invoke-static {p1}, Landroidx/webkit/internal/StartupApiFeature;->getMetaDataFromWebViewManifestOrNull(Landroid/content/Context;)Landroid/os/Bundle; move-result-object p1 if-nez p1, :cond_0 const/4 p1, 0x0 return p1 :cond_0 iget-object v0, p0, Landroidx/webkit/internal/StartupApiFeature;->mInternalFeatureValue:Ljava/lang/String; .line 115 invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z move-result p1 return p1 .end method