Changes of com.discord v1325

This commit is contained in:
root 2020-11-12 02:11:44 +00:00
parent d9d9f382c9
commit 3cb9e1231d
28086 changed files with 4880345 additions and 0 deletions

View file

@ -0,0 +1,42 @@
.class public Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
.super Ljava/lang/Object;
.source "ConnectionHolder.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/ConnectionHolder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "WrapperFactory"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public create(Landroid/content/ComponentName;Landroid/os/IBinder;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
invoke-static {p2}, Lt/a/a/d/a$a;->asInterface(Landroid/os/IBinder;)Lt/a/a/d/a;
move-result-object p2
invoke-direct {v0, p2, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;-><init>(Lt/a/a/d/a;Landroid/content/ComponentName;)V
return-object v0
.end method

View file

@ -0,0 +1,351 @@
.class public Landroidx/browser/trusted/ConnectionHolder;
.super Ljava/lang/Object;
.source "ConnectionHolder.java"
# interfaces
.implements Landroid/content/ServiceConnection;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
}
.end annotation
# static fields
.field public static final STATE_AWAITING_CONNECTION:I = 0x0
.field public static final STATE_CANCELLED:I = 0x3
.field public static final STATE_CONNECTED:I = 0x1
.field public static final STATE_DISCONNECTED:I = 0x2
# instance fields
.field public mCancellationException:Ljava/lang/Exception;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mCloseRunnable:Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mCompleters:Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer<",
"Landroidx/browser/trusted/TrustedWebActivityServiceConnection;",
">;>;"
}
.end annotation
.end field
.field public mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mState:I
.field public final mWrapperFactory:Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Runnable;)V
.locals 1
.param p1 # Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
new-instance v0, Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
invoke-direct {v0}, Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;-><init>()V
invoke-direct {p0, p1, v0}, Landroidx/browser/trusted/ConnectionHolder;-><init>(Ljava/lang/Runnable;Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/Runnable;Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;)V
.locals 1
.param p1 # Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
iput-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCloseRunnable:Ljava/lang/Runnable;
iput-object p2, p0, Landroidx/browser/trusted/ConnectionHolder;->mWrapperFactory:Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
return-void
.end method
# virtual methods
.method public synthetic a(Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
iget v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
if-eqz v0, :cond_4
const/4 v1, 0x1
if-eq v0, v1, :cond_2
const/4 p1, 0x2
if-eq v0, p1, :cond_1
const/4 p1, 0x3
if-eq v0, p1, :cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Connection state is invalid"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_0
iget-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCancellationException:Ljava/lang/Exception;
throw p1
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Service has been disconnected."
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
if-eqz v0, :cond_3
invoke-virtual {p1, v0}, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;->set(Ljava/lang/Object;)Z
goto :goto_0
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "ConnectionHolder state is incorrect."
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_4
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:goto_0
const-string p1, "ConnectionHolder, state = "
invoke-static {p1}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
iget v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public cancel(Ljava/lang/Exception;)V
.locals 2
.param p1 # Ljava/lang/Exception;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;
invoke-virtual {v1, p1}, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;->setException(Ljava/lang/Throwable;)Z
goto :goto_0
:cond_0
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCloseRunnable:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
const/4 v0, 0x3
iput v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
iput-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCancellationException:Ljava/lang/Exception;
return-void
.end method
.method public getServiceWrapper()Lf/h/b/a/a/a;
.locals 1
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lf/h/b/a/a/a<",
"Landroidx/browser/trusted/TrustedWebActivityServiceConnection;",
">;"
}
.end annotation
new-instance v0, Lu/a/b/a;
invoke-direct {v0, p0}, Lu/a/b/a;-><init>(Landroidx/browser/trusted/ConnectionHolder;)V
invoke-static {v0}, Landroidx/concurrent/futures/CallbackToFutureAdapter;->getFuture(Landroidx/concurrent/futures/CallbackToFutureAdapter$Resolver;)Lf/h/b/a/a/a;
move-result-object v0
return-object v0
.end method
.method public onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
.locals 1
.annotation build Landroidx/annotation/MainThread;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mWrapperFactory:Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
invoke-virtual {v0, p1, p2}, Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;->create(Landroid/content/ComponentName;Landroid/os/IBinder;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
move-result-object p1
iput-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
iget-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
invoke-virtual {p2, v0}, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;->set(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
iget-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCompleters:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->clear()V
const/4 p1, 0x1
iput p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
return-void
.end method
.method public onServiceDisconnected(Landroid/content/ComponentName;)V
.locals 0
.annotation build Landroidx/annotation/MainThread;
.end annotation
const/4 p1, 0x0
iput-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
iget-object p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mCloseRunnable:Ljava/lang/Runnable;
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
const/4 p1, 0x2
iput p1, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
return-void
.end method

View file

@ -0,0 +1,43 @@
.class public Landroidx/browser/trusted/FutureUtils;
.super Ljava/lang/Object;
.source "FutureUtils.java"
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static immediateFailedFuture(Ljava/lang/Throwable;)Lf/h/b/a/a/a;
.locals 1
.param p0 # Ljava/lang/Throwable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Throwable;",
")",
"Lf/h/b/a/a/a<",
"TT;>;"
}
.end annotation
invoke-static {}, Landroidx/concurrent/futures/ResolvableFuture;->create()Landroidx/concurrent/futures/ResolvableFuture;
move-result-object v0
invoke-virtual {v0, p0}, Landroidx/concurrent/futures/ResolvableFuture;->setException(Ljava/lang/Throwable;)Z
return-object v0
.end method

View file

@ -0,0 +1,37 @@
.class public Landroidx/browser/trusted/NotificationApiHelperForM;
.super Ljava/lang/Object;
.source "NotificationApiHelperForM.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getActiveNotifications(Landroid/app/NotificationManager;)[Landroid/os/Parcelable;
.locals 0
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
invoke-virtual {p0}, Landroid/app/NotificationManager;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
move-result-object p0
return-object p0
.end method

View file

@ -0,0 +1,99 @@
.class public Landroidx/browser/trusted/NotificationApiHelperForO;
.super Ljava/lang/Object;
.source "NotificationApiHelperForO.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static copyNotificationOntoChannel(Landroid/content/Context;Landroid/app/NotificationManager;Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;)Landroid/app/Notification;
.locals 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1a
.end annotation
new-instance v0, Landroid/app/NotificationChannel;
const/4 v1, 0x3
invoke-direct {v0, p3, p4, v1}, Landroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
invoke-virtual {p1, v0}, Landroid/app/NotificationManager;->createNotificationChannel(Landroid/app/NotificationChannel;)V
invoke-virtual {p1, p3}, Landroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
move-result-object p1
invoke-virtual {p1}, Landroid/app/NotificationChannel;->getImportance()I
move-result p1
if-nez p1, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
invoke-static {p0, p2}, Landroid/app/Notification$Builder;->recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;
move-result-object p0
invoke-virtual {p0, p3}, Landroid/app/Notification$Builder;->setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;
invoke-virtual {p0}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;
move-result-object p0
return-object p0
.end method
.method public static isChannelEnabled(Landroid/app/NotificationManager;Ljava/lang/String;)Z
.locals 0
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1a
.end annotation
invoke-virtual {p0, p1}, Landroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
move-result-object p0
if-eqz p0, :cond_1
invoke-virtual {p0}, Landroid/app/NotificationChannel;->getImportance()I
move-result p0
if-eqz p0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method

View file

@ -0,0 +1,176 @@
.class public Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;
.super Ljava/lang/Object;
.source "PackageIdentityUtils.java"
# interfaces
.implements Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1c
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/PackageIdentityUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Api28Implementation"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
.locals 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Landroid/content/pm/PackageManager;",
")",
"Ljava/util/List<",
"[B>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/high16 v0, 0x8000000
invoke-virtual {p2, p1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
iget-object p1, p1, Landroid/content/pm/PackageInfo;->signingInfo:Landroid/content/pm/SigningInfo;
invoke-virtual {p1}, Landroid/content/pm/SigningInfo;->hasMultipleSigners()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
invoke-virtual {p1}, Landroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature;
move-result-object p1
array-length v0, p1
:goto_0
if-ge v1, v0, :cond_1
aget-object v2, p1, v1
invoke-static {v2}, Landroidx/browser/trusted/PackageIdentityUtils;->getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
move-result-object v2
invoke-virtual {p2, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
invoke-virtual {p1}, Landroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature;
move-result-object p1
aget-object p1, p1, v1
invoke-static {p1}, Landroidx/browser/trusted/PackageIdentityUtils;->getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
move-result-object p1
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_1
return-object p2
.end method
.method public packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;,
Ljava/io/IOException;
}
.end annotation
invoke-virtual {p0, p1, p2}, Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;->getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x1
if-ne v2, v3, :cond_2
invoke-virtual {p3}, Landroidx/browser/trusted/TokenContents;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
return v1
:cond_1
invoke-virtual {p3, v1}, Landroidx/browser/trusted/TokenContents;->getFingerprint(I)[B
move-result-object p3
invoke-virtual {p2, p1, p3, v3}, Landroid/content/pm/PackageManager;->hasSigningCertificate(Ljava/lang/String;[BI)Z
move-result p1
return p1
:cond_2
invoke-static {p1, v0}, Landroidx/browser/trusted/TokenContents;->create(Ljava/lang/String;Ljava/util/List;)Landroidx/browser/trusted/TokenContents;
move-result-object p1
invoke-virtual {p3, p1}, Landroidx/browser/trusted/TokenContents;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,134 @@
.class public Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;
.super Ljava/lang/Object;
.source "PackageIdentityUtils.java"
# interfaces
.implements Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/PackageIdentityUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Pre28Implementation"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
.locals 3
.annotation build Landroid/annotation/SuppressLint;
value = {
"PackageManagerGetSignatures"
}
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Landroid/content/pm/PackageManager;",
")",
"Ljava/util/List<",
"[B>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
const/16 v0, 0x40
invoke-virtual {p2, p1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
new-instance p2, Ljava/util/ArrayList;
iget-object v0, p1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
array-length v0, v0
invoke-direct {p2, v0}, Ljava/util/ArrayList;-><init>(I)V
iget-object p1, p1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
aget-object v2, p1, v1
invoke-static {v2}, Landroidx/browser/trusted/PackageIdentityUtils;->getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
move-result-object v2
if-nez v2, :cond_0
const/4 p1, 0x0
return-object p1
:cond_0
invoke-virtual {p2, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return-object p2
.end method
.method public packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
invoke-virtual {p0, p1, p2}, Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;->getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
move-result-object p2
if-nez p2, :cond_0
const/4 p1, 0x0
return p1
:cond_0
invoke-static {p1, p2}, Landroidx/browser/trusted/TokenContents;->create(Ljava/lang/String;Ljava/util/List;)Landroidx/browser/trusted/TokenContents;
move-result-object p1
invoke-virtual {p3, p1}, Landroidx/browser/trusted/TokenContents;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,47 @@
.class public interface abstract Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
.super Ljava/lang/Object;
.source "PackageIdentityUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/PackageIdentityUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "SignaturesCompat"
.end annotation
# virtual methods
.method public abstract getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Landroid/content/pm/PackageManager;",
")",
"Ljava/util/List<",
"[B>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
.end method
.method public abstract packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
.end method

View file

@ -0,0 +1,160 @@
.class public Landroidx/browser/trusted/PackageIdentityUtils;
.super Ljava/lang/Object;
.source "PackageIdentityUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;,
Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;,
Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "PackageIdentity"
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
:try_start_0
const-string v0, "SHA256"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
invoke-virtual {p0}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object p0
invoke-virtual {v0, p0}, Ljava/security/MessageDigest;->digest([B)[B
move-result-object p0
:try_end_0
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
const/4 p0, 0x0
return-object p0
.end method
.method public static getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Landroid/content/pm/PackageManager;",
")",
"Ljava/util/List<",
"[B>;"
}
.end annotation
:try_start_0
invoke-static {}, Landroidx/browser/trusted/PackageIdentityUtils;->getImpl()Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
move-result-object v0
invoke-interface {v0, p0, p1}, Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;->getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
move-result-object p0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
const-string p1, "PackageIdentity"
const-string v0, "Could not get fingerprint for package."
invoke-static {p1, v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 p0, 0x0
return-object p0
.end method
.method public static getImpl()Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
.locals 2
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-lt v0, v1, :cond_0
new-instance v0, Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;
invoke-direct {v0}, Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;-><init>()V
return-object v0
:cond_0
new-instance v0, Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;
invoke-direct {v0}, Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;-><init>()V
return-object v0
.end method
.method public static packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
.locals 1
:try_start_0
invoke-static {}, Landroidx/browser/trusted/PackageIdentityUtils;->getImpl()Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
move-result-object v0
invoke-interface {v0, p0, p1, p2}, Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;->packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
move-result p0
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return p0
:catch_0
move-exception p0
goto :goto_0
:catch_1
move-exception p0
:goto_0
const-string p1, "PackageIdentity"
const-string p2, "Could not check if package matches token."
invoke-static {p1, p2, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 p0, 0x0
return p0
.end method

View file

@ -0,0 +1,135 @@
.class public final Landroidx/browser/trusted/Token;
.super Ljava/lang/Object;
.source "Token.java"
# static fields
.field public static final TAG:Ljava/lang/String; = "Token"
# instance fields
.field public final mContents:Landroidx/browser/trusted/TokenContents;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroidx/browser/trusted/TokenContents;)V
.locals 0
.param p1 # Landroidx/browser/trusted/TokenContents;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/Token;->mContents:Landroidx/browser/trusted/TokenContents;
return-void
.end method
.method public static create(Ljava/lang/String;Landroid/content/pm/PackageManager;)Landroidx/browser/trusted/Token;
.locals 2
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-static {p0, p1}, Landroidx/browser/trusted/PackageIdentityUtils;->getFingerprintsForPackage(Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/util/List;
move-result-object p1
const/4 v0, 0x0
if-nez p1, :cond_0
return-object v0
:cond_0
:try_start_0
new-instance v1, Landroidx/browser/trusted/Token;
invoke-static {p0, p1}, Landroidx/browser/trusted/TokenContents;->create(Ljava/lang/String;Ljava/util/List;)Landroidx/browser/trusted/TokenContents;
move-result-object p0
invoke-direct {v1, p0}, Landroidx/browser/trusted/Token;-><init>(Landroidx/browser/trusted/TokenContents;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-object v1
:catch_0
move-exception p0
const-string p1, "Token"
const-string v1, "Exception when creating token."
invoke-static {p1, v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-object v0
.end method
.method public static deserialize([B)Landroidx/browser/trusted/Token;
.locals 1
.param p0 # [B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/Token;
invoke-static {p0}, Landroidx/browser/trusted/TokenContents;->deserialize([B)Landroidx/browser/trusted/TokenContents;
move-result-object p0
invoke-direct {v0, p0}, Landroidx/browser/trusted/Token;-><init>(Landroidx/browser/trusted/TokenContents;)V
return-object v0
.end method
# virtual methods
.method public matches(Ljava/lang/String;Landroid/content/pm/PackageManager;)Z
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/pm/PackageManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/browser/trusted/Token;->mContents:Landroidx/browser/trusted/TokenContents;
invoke-static {p1, p2, v0}, Landroidx/browser/trusted/PackageIdentityUtils;->packageMatchesToken(Ljava/lang/String;Landroid/content/pm/PackageManager;Landroidx/browser/trusted/TokenContents;)Z
move-result p1
return p1
.end method
.method public serialize()[B
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/Token;->mContents:Landroidx/browser/trusted/TokenContents;
invoke-virtual {v0}, Landroidx/browser/trusted/TokenContents;->serialize()[B
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,573 @@
.class public final Landroidx/browser/trusted/TokenContents;
.super Ljava/lang/Object;
.source "TokenContents.java"
# instance fields
.field public final mContents:[B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mFingerprints:Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"[B>;"
}
.end annotation
.end field
.field public mPackageName:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>([B)V
.locals 0
.param p1 # [B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
return-void
.end method
.method public constructor <init>([BLjava/lang/String;Ljava/util/List;)V
.locals 1
.param p1 # [B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"([B",
"Ljava/lang/String;",
"Ljava/util/List<",
"[B>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
iput-object p2, p0, Landroidx/browser/trusted/TokenContents;->mPackageName:Ljava/lang/String;
new-instance p1, Ljava/util/ArrayList;
invoke-interface {p3}, Ljava/util/List;->size()I
move-result p2
invoke-direct {p1, p2}, Ljava/util/ArrayList;-><init>(I)V
iput-object p1, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, [B
iget-object p3, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
array-length v0, p2
invoke-static {p2, v0}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p2
invoke-interface {p3, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-void
.end method
.method public static compareByteArrays([B[B)I
.locals 4
const/4 v0, 0x0
if-ne p0, p1, :cond_0
return v0
:cond_0
if-nez p0, :cond_1
const/4 p0, -0x1
return p0
:cond_1
if-nez p1, :cond_2
const/4 p0, 0x1
return p0
:cond_2
const/4 v1, 0x0
:goto_0
array-length v2, p0
array-length v3, p1
invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I
move-result v2
if-ge v1, v2, :cond_4
aget-byte v2, p0, v1
aget-byte v3, p1, v1
if-eq v2, v3, :cond_3
aget-byte p0, p0, v1
aget-byte p1, p1, v1
:goto_1
sub-int/2addr p0, p1
return p0
:cond_3
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_4
array-length v1, p0
array-length v2, p1
if-eq v1, v2, :cond_5
array-length p0, p0
array-length p1, p1
goto :goto_1
:cond_5
return v0
.end method
.method public static create(Ljava/lang/String;Ljava/util/List;)Landroidx/browser/trusted/TokenContents;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/List<",
"[B>;)",
"Landroidx/browser/trusted/TokenContents;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
new-instance v0, Landroidx/browser/trusted/TokenContents;
invoke-static {p0, p1}, Landroidx/browser/trusted/TokenContents;->createToken(Ljava/lang/String;Ljava/util/List;)[B
move-result-object v1
invoke-direct {v0, v1, p0, p1}, Landroidx/browser/trusted/TokenContents;-><init>([BLjava/lang/String;Ljava/util/List;)V
return-object v0
.end method
.method public static createToken(Ljava/lang/String;Ljava/util/List;)[B
.locals 3
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/List<",
"[B>;)[B"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-object v0, Lu/a/b/b;->d:Lu/a/b/b;
invoke-static {p1, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
new-instance v1, Ljava/io/DataOutputStream;
invoke-direct {v1, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
invoke-virtual {v1, p0}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p0
invoke-virtual {v1, p0}, Ljava/io/DataOutputStream;->writeInt(I)V
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-eqz p1, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
array-length v2, p1
invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;->writeInt(I)V
invoke-virtual {v1, p1}, Ljava/io/DataOutputStream;->write([B)V
goto :goto_0
:cond_0
invoke-virtual {v1}, Ljava/io/DataOutputStream;->flush()V
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
return-object p0
.end method
.method public static deserialize([B)Landroidx/browser/trusted/TokenContents;
.locals 1
.param p0 # [B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/TokenContents;
invoke-direct {v0, p0}, Landroidx/browser/trusted/TokenContents;-><init>([B)V
return-object v0
.end method
.method private parseIfNeeded()V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mPackageName:Ljava/lang/String;
if-eqz v0, :cond_0
return-void
:cond_0
new-instance v0, Ljava/io/DataInputStream;
new-instance v1, Ljava/io/ByteArrayInputStream;
iget-object v2, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
invoke-direct {v1, v2}, Ljava/io/ByteArrayInputStream;-><init>([B)V
invoke-direct {v0, v1}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Landroidx/browser/trusted/TokenContents;->mPackageName:Ljava/lang/String;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result v1
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2, v1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v2, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result v3
new-array v4, v3, [B
invoke-virtual {v0, v4}, Ljava/io/DataInputStream;->read([B)I
move-result v5
if-ne v5, v3, :cond_1
iget-object v3, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Could not read fingerprint"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 2
if-ne p0, p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
if-eqz p1, :cond_2
const-class v0, Landroidx/browser/trusted/TokenContents;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
if-eq v0, v1, :cond_1
goto :goto_0
:cond_1
check-cast p1, Landroidx/browser/trusted/TokenContents;
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
iget-object p1, p1, Landroidx/browser/trusted/TokenContents;->mContents:[B
invoke-static {v0, p1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
return p1
:cond_2
:goto_0
const/4 p1, 0x0
return p1
.end method
.method public getFingerprint(I)[B
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TokenContents;->parseIfNeeded()V
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
if-eqz v0, :cond_0
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [B
iget-object v1, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
array-length p1, p1
invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p1
return-object p1
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
.end method
.method public getFingerprintCount()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TokenContents;->parseIfNeeded()V
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mFingerprints:Ljava/util/List;
if-eqz v0, :cond_0
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
return v0
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
.end method
.method public getPackageName()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TokenContents;->parseIfNeeded()V
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mPackageName:Ljava/lang/String;
if-eqz v0, :cond_0
return-object v0
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
.end method
.method public hashCode()I
.locals 1
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
invoke-static {v0}, Ljava/util/Arrays;->hashCode([B)I
move-result v0
return v0
.end method
.method public serialize()[B
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
array-length v1, v0
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,22 @@
.class public interface abstract Landroidx/browser/trusted/TokenStore;
.super Ljava/lang/Object;
.source "TokenStore.java"
# virtual methods
.method public abstract load()Landroidx/browser/trusted/Token;
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end method
.method public abstract store(Landroidx/browser/trusted/Token;)V
.param p1 # Landroidx/browser/trusted/Token;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
.end method

View file

@ -0,0 +1,51 @@
.class public Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;
.super Ljava/lang/Object;
.source "TrustedWebActivityDisplayMode.java"
# interfaces
.implements Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DefaultMode"
.end annotation
# static fields
.field public static final ID:I
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.displaymode.KEY_ID"
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View file

@ -0,0 +1,121 @@
.class public Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;
.super Ljava/lang/Object;
.source "TrustedWebActivityDisplayMode.java"
# interfaces
.implements Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ImmersiveMode"
.end annotation
# static fields
.field public static final ID:I = 0x1
.field public static final KEY_CUTOUT_MODE:Ljava/lang/String; = "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
.field public static final KEY_STICKY:Ljava/lang/String; = "androidx.browser.trusted.displaymode.KEY_STICKY"
# instance fields
.field public final mIsSticky:Z
.field public final mLayoutInDisplayCutoutMode:I
# direct methods
.method public constructor <init>(ZI)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p1, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mIsSticky:Z
iput p2, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mLayoutInDisplayCutoutMode:I
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.locals 3
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;
const-string v1, "androidx.browser.trusted.displaymode.KEY_STICKY"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
move-result v1
const-string v2, "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result p0
invoke-direct {v0, v1, p0}, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;-><init>(ZI)V
return-object v0
.end method
# virtual methods
.method public isSticky()Z
.locals 1
iget-boolean v0, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mIsSticky:Z
return v0
.end method
.method public layoutInDisplayCutoutMode()I
.locals 1
iget v0, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mLayoutInDisplayCutoutMode:I
return v0
.end method
.method public toBundle()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.displaymode.KEY_ID"
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
iget-boolean v1, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mIsSticky:Z
const-string v2, "androidx.browser.trusted.displaymode.KEY_STICKY"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
iget v1, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mLayoutInDisplayCutoutMode:I
const-string v2, "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View file

@ -0,0 +1,23 @@
.class public interface abstract Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.super Ljava/lang/Object;
.source "TrustedWebActivityDisplayMode.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;,
Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;
}
.end annotation
# static fields
.field public static final KEY_ID:Ljava/lang/String; = "androidx.browser.trusted.displaymode.KEY_ID"
# virtual methods
.method public abstract toBundle()Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end method

View file

@ -0,0 +1,122 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityIntent;
.super Ljava/lang/Object;
.source "TrustedWebActivityIntent.java"
# instance fields
.field public final mIntent:Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public final mSharedFileUris:Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroid/net/Uri;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Intent;Ljava/util/List;)V
.locals 0
.param p1 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Intent;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mIntent:Landroid/content/Intent;
iput-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mSharedFileUris:Ljava/util/List;
return-void
.end method
.method private grantUriPermissionToProvider(Landroid/content/Context;)V
.locals 4
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mSharedFileUris:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/net/Uri;
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mIntent:Landroid/content/Intent;
invoke-virtual {v2}, Landroid/content/Intent;->getPackage()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x1
invoke-virtual {p1, v2, v1, v3}, Landroid/content/Context;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
goto :goto_0
:cond_0
return-void
.end method
# virtual methods
.method public getIntent()Landroid/content/Intent;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mIntent:Landroid/content/Intent;
return-object v0
.end method
.method public launchTrustedWebActivity(Landroid/content/Context;)V
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0, p1}, Landroidx/browser/trusted/TrustedWebActivityIntent;->grantUriPermissionToProvider(Landroid/content/Context;)V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntent;->mIntent:Landroid/content/Intent;
const/4 v1, 0x0
invoke-static {p1, v0, v1}, Landroidx/core/content/ContextCompat;->startActivity(Landroid/content/Context;Landroid/content/Intent;Landroid/os/Bundle;)V
return-void
.end method

View file

@ -0,0 +1,390 @@
.class public Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.super Ljava/lang/Object;
.source "TrustedWebActivityIntentBuilder.java"
# static fields
.field public static final EXTRA_ADDITIONAL_TRUSTED_ORIGINS:Ljava/lang/String; = "android.support.customtabs.extra.ADDITIONAL_TRUSTED_ORIGINS"
.annotation build Landroid/annotation/SuppressLint;
value = {
"ActionValue"
}
.end annotation
.end field
.field public static final EXTRA_DISPLAY_MODE:Ljava/lang/String; = "androidx.browser.trusted.extra.DISPLAY_MODE"
.field public static final EXTRA_SHARE_DATA:Ljava/lang/String; = "androidx.browser.trusted.extra.SHARE_DATA"
.field public static final EXTRA_SHARE_TARGET:Ljava/lang/String; = "androidx.browser.trusted.extra.SHARE_TARGET"
.field public static final EXTRA_SPLASH_SCREEN_PARAMS:Ljava/lang/String; = "androidx.browser.trusted.EXTRA_SPLASH_SCREEN_PARAMS"
.annotation build Landroid/annotation/SuppressLint;
value = {
"ActionValue"
}
.end annotation
.end field
# instance fields
.field public mAdditionalTrustedOrigins:Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public final mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mShareData:Landroidx/browser/trusted/sharing/ShareData;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mShareTarget:Landroidx/browser/trusted/sharing/ShareTarget;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mSplashScreenParams:Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mUri:Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/net/Uri;)V
.locals 1
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-direct {v0}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;-><init>()V
iput-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;
invoke-direct {v0}, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;-><init>()V
iput-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mUri:Landroid/net/Uri;
return-void
.end method
# virtual methods
.method public build(Landroidx/browser/customtabs/CustomTabsSession;)Landroidx/browser/trusted/TrustedWebActivityIntent;
.locals 3
.param p1 # Landroidx/browser/customtabs/CustomTabsSession;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
if-eqz p1, :cond_3
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setSession(Landroidx/browser/customtabs/CustomTabsSession;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
iget-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->build()Landroidx/browser/customtabs/CustomTabsIntent;
move-result-object p1
iget-object p1, p1, Landroidx/browser/customtabs/CustomTabsIntent;->intent:Landroid/content/Intent;
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mUri:Landroid/net/Uri;
invoke-virtual {p1, v0}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const/4 v0, 0x1
const-string v1, "android.support.customtabs.extra.LAUNCH_AS_TRUSTED_WEB_ACTIVITY"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mAdditionalTrustedOrigins:Ljava/util/List;
if-eqz v0, :cond_0
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mAdditionalTrustedOrigins:Ljava/util/List;
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
const-string v1, "android.support.customtabs.extra.ADDITIONAL_TRUSTED_ORIGINS"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
:cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mSplashScreenParams:Landroid/os/Bundle;
if-eqz v0, :cond_1
const-string v1, "androidx.browser.trusted.EXTRA_SPLASH_SCREEN_PARAMS"
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
:cond_1
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareTarget:Landroidx/browser/trusted/sharing/ShareTarget;
if-eqz v1, :cond_2
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareData:Landroidx/browser/trusted/sharing/ShareData;
if-eqz v2, :cond_2
invoke-virtual {v1}, Landroidx/browser/trusted/sharing/ShareTarget;->toBundle()Landroid/os/Bundle;
move-result-object v1
const-string v2, "androidx.browser.trusted.extra.SHARE_TARGET"
invoke-virtual {p1, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareData:Landroidx/browser/trusted/sharing/ShareData;
invoke-virtual {v1}, Landroidx/browser/trusted/sharing/ShareData;->toBundle()Landroid/os/Bundle;
move-result-object v1
const-string v2, "androidx.browser.trusted.extra.SHARE_DATA"
invoke-virtual {p1, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareData:Landroidx/browser/trusted/sharing/ShareData;
iget-object v1, v1, Landroidx/browser/trusted/sharing/ShareData;->uris:Ljava/util/List;
if-eqz v1, :cond_2
move-object v0, v1
:cond_2
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
invoke-interface {v1}, Landroidx/browser/trusted/TrustedWebActivityDisplayMode;->toBundle()Landroid/os/Bundle;
move-result-object v1
const-string v2, "androidx.browser.trusted.extra.DISPLAY_MODE"
invoke-virtual {p1, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityIntent;
invoke-direct {v1, p1, v0}, Landroidx/browser/trusted/TrustedWebActivityIntent;-><init>(Landroid/content/Intent;Ljava/util/List;)V
return-object v1
:cond_3
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "CustomTabsSession is required for launching a TWA"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public buildCustomTabsIntent()Landroidx/browser/customtabs/CustomTabsIntent;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->build()Landroidx/browser/customtabs/CustomTabsIntent;
move-result-object v0
return-object v0
.end method
.method public getDisplayMode()Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
return-object v0
.end method
.method public getUri()Landroid/net/Uri;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mUri:Landroid/net/Uri;
return-object v0
.end method
.method public setAdditionalTrustedOrigins(Ljava/util/List;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 0
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;"
}
.end annotation
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mAdditionalTrustedOrigins:Ljava/util/List;
return-object p0
.end method
.method public setColorScheme(I)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setColorScheme(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method
.method public setColorSchemeParams(ILandroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 1
.param p2 # Landroidx/browser/customtabs/CustomTabColorSchemeParams;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0, p1, p2}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setColorSchemeParams(ILandroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method
.method public setDisplayMode(Landroidx/browser/trusted/TrustedWebActivityDisplayMode;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 0
.param p1 # Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
return-object p0
.end method
.method public setNavigationBarColor(I)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/ColorInt;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setNavigationBarColor(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method
.method public setShareParams(Landroidx/browser/trusted/sharing/ShareTarget;Landroidx/browser/trusted/sharing/ShareData;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 0
.param p1 # Landroidx/browser/trusted/sharing/ShareTarget;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/browser/trusted/sharing/ShareData;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareTarget:Landroidx/browser/trusted/sharing/ShareTarget;
iput-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mShareData:Landroidx/browser/trusted/sharing/ShareData;
return-object p0
.end method
.method public setSplashScreenParams(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 0
.param p1 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mSplashScreenParams:Landroid/os/Bundle;
return-object p0
.end method
.method public setToolbarColor(I)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/ColorInt;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setToolbarColor(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method

View file

@ -0,0 +1,264 @@
.class public Landroidx/browser/trusted/TrustedWebActivityService$1;
.super Lt/a/a/d/a$a;
.source "TrustedWebActivityService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/browser/trusted/TrustedWebActivityService;
# direct methods
.method public constructor <init>(Landroidx/browser/trusted/TrustedWebActivityService;)V
.locals 0
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-direct {p0}, Lt/a/a/d/a$a;-><init>()V
return-void
.end method
.method private checkCaller()V
.locals 6
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
iget v1, v0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
const/4 v2, -0x1
if-ne v1, v2, :cond_2
invoke-virtual {v0}, Landroid/app/Service;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v1
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_0
new-array v0, v1, [Ljava/lang/String;
:cond_0
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-virtual {v2}, Landroidx/browser/trusted/TrustedWebActivityService;->getTokenStore()Landroidx/browser/trusted/TokenStore;
move-result-object v2
invoke-interface {v2}, Landroidx/browser/trusted/TokenStore;->load()Landroidx/browser/trusted/Token;
move-result-object v2
iget-object v3, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-virtual {v3}, Landroid/app/Service;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
if-eqz v2, :cond_2
array-length v4, v0
:goto_0
if-ge v1, v4, :cond_2
aget-object v5, v0, v1
invoke-virtual {v2, v5, v3}, Landroidx/browser/trusted/Token;->matches(Ljava/lang/String;Landroid/content/pm/PackageManager;)Z
move-result v5
if-eqz v5, :cond_1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v1
iput v1, v0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
goto :goto_1
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_2
:goto_1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
iget v0, v0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v1
if-ne v0, v1, :cond_3
return-void
:cond_3
new-instance v0, Ljava/lang/SecurityException;
const-string v1, "Caller is not verified as Trusted Web Activity provider."
invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public areNotificationsEnabled(Landroid/os/Bundle;)Landroid/os/Bundle;
.locals 1
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
move-result-object p1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
iget-object p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->channelName:Ljava/lang/String;
invoke-virtual {v0, p1}, Landroidx/browser/trusted/TrustedWebActivityService;->onAreNotificationsEnabled(Ljava/lang/String;)Z
move-result p1
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
invoke-direct {v0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;-><init>(Z)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->toBundle()Landroid/os/Bundle;
move-result-object p1
return-object p1
.end method
.method public cancelNotification(Landroid/os/Bundle;)V
.locals 2
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
move-result-object p1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
iget-object v1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformTag:Ljava/lang/String;
iget p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformId:I
invoke-virtual {v0, v1, p1}, Landroidx/browser/trusted/TrustedWebActivityService;->onCancelNotification(Ljava/lang/String;I)V
return-void
.end method
.method public getActiveNotifications()Landroid/os/Bundle;
.locals 2
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-virtual {v1}, Landroidx/browser/trusted/TrustedWebActivityService;->onGetActiveNotifications()[Landroid/os/Parcelable;
move-result-object v1
invoke-direct {v0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;-><init>([Landroid/os/Parcelable;)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->toBundle()Landroid/os/Bundle;
move-result-object v0
return-object v0
.end method
.method public getSmallIconBitmap()Landroid/os/Bundle;
.locals 1
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityService;->onGetSmallIconBitmap()Landroid/os/Bundle;
move-result-object v0
return-object v0
.end method
.method public getSmallIconId()I
.locals 1
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityService;->onGetSmallIconId()I
move-result v0
return v0
.end method
.method public notifyNotificationWithChannel(Landroid/os/Bundle;)Landroid/os/Bundle;
.locals 4
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
move-result-object p1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
iget-object v1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformTag:Ljava/lang/String;
iget v2, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformId:I
iget-object v3, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->notification:Landroid/app/Notification;
iget-object p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->channelName:Ljava/lang/String;
invoke-virtual {v0, v1, v2, v3, p1}, Landroidx/browser/trusted/TrustedWebActivityService;->onNotifyNotificationWithChannel(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)Z
move-result p1
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
invoke-direct {v0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;-><init>(Z)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->toBundle()Landroid/os/Bundle;
move-result-object p1
return-object p1
.end method

View file

@ -0,0 +1,434 @@
.class public abstract Landroidx/browser/trusted/TrustedWebActivityService;
.super Landroid/app/Service;
.source "TrustedWebActivityService.java"
# static fields
.field public static final ACTION_TRUSTED_WEB_ACTIVITY_SERVICE:Ljava/lang/String; = "android.support.customtabs.trusted.TRUSTED_WEB_ACTIVITY_SERVICE"
.annotation build Landroid/annotation/SuppressLint;
value = {
"ActionValue",
"ServiceName"
}
.end annotation
.end field
.field public static final KEY_SMALL_ICON_BITMAP:Ljava/lang/String; = "android.support.customtabs.trusted.SMALL_ICON_BITMAP"
.field public static final META_DATA_NAME_SMALL_ICON:Ljava/lang/String; = "android.support.customtabs.trusted.SMALL_ICON"
.field public static final SMALL_ICON_NOT_SET:I = -0x1
# instance fields
.field public final mBinder:Lt/a/a/d/a$a;
.field public mNotificationManager:Landroid/app/NotificationManager;
.field public mVerifiedUid:I
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Landroid/app/Service;-><init>()V
const/4 v0, -0x1
iput v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityService$1;
invoke-direct {v0, p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;-><init>(Landroidx/browser/trusted/TrustedWebActivityService;)V
iput-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mBinder:Lt/a/a/d/a$a;
return-void
.end method
.method public static channelNameToId(Ljava/lang/String;)Ljava/lang/String;
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
sget-object v1, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
invoke-virtual {p0, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p0
const/16 v1, 0x20
const/16 v2, 0x5f
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "_channel_id"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private ensureOnCreateCalled()V
.locals 2
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
if-eqz v0, :cond_0
return-void
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "TrustedWebActivityService has not been properly initialized. Did onCreate() call super.onCreate()?"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public abstract getTokenStore()Landroidx/browser/trusted/TokenStore;
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end method
.method public onAreNotificationsEnabled(Ljava/lang/String;)Z
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/BinderThread;
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
invoke-static {p0}, Landroidx/core/app/NotificationManagerCompat;->from(Landroid/content/Context;)Landroidx/core/app/NotificationManagerCompat;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/app/NotificationManagerCompat;->areNotificationsEnabled()Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1a
if-ge v0, v1, :cond_1
const/4 p1, 0x1
return p1
:cond_1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityService;->channelNameToId(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Landroidx/browser/trusted/NotificationApiHelperForO;->isChannelEnabled(Landroid/app/NotificationManager;Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method public final onBind(Landroid/content/Intent;)Landroid/os/IBinder;
.locals 0
.param p1 # Landroid/content/Intent;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mBinder:Lt/a/a/d/a$a;
return-object p1
.end method
.method public onCancelNotification(Ljava/lang/String;I)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/BinderThread;
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-virtual {v0, p1, p2}, Landroid/app/NotificationManager;->cancel(Ljava/lang/String;I)V
return-void
.end method
.method public onCreate()V
.locals 1
.annotation build Landroidx/annotation/CallSuper;
.end annotation
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-super {p0}, Landroid/app/Service;->onCreate()V
const-string v0, "notification"
invoke-virtual {p0, v0}, Landroid/app/Service;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/NotificationManager;
iput-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
return-void
.end method
.method public onGetActiveNotifications()[Landroid/os/Parcelable;
.locals 2
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-lt v0, v1, :cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-static {v0}, Landroidx/browser/trusted/NotificationApiHelperForM;->getActiveNotifications(Landroid/app/NotificationManager;)[Landroid/os/Parcelable;
move-result-object v0
return-object v0
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "onGetActiveNotifications cannot be called pre-M."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public onGetSmallIconBitmap()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
invoke-virtual {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->onGetSmallIconId()I
move-result v0
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const/4 v2, -0x1
if-ne v0, v2, :cond_0
return-object v1
:cond_0
invoke-virtual {p0}, Landroid/app/Service;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-static {v2, v0}, Landroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;
move-result-object v0
const-string v2, "android.support.customtabs.trusted.SMALL_ICON_BITMAP"
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
return-object v1
.end method
.method public onGetSmallIconId()I
.locals 4
.annotation build Landroidx/annotation/BinderThread;
.end annotation
const/4 v0, -0x1
:try_start_0
invoke-virtual {p0}, Landroid/app/Service;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
new-instance v2, Landroid/content/ComponentName;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-direct {v2, p0, v3}, Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
const/16 v3, 0x80
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
move-result-object v1
iget-object v2, v1, Landroid/content/pm/ServiceInfo;->metaData:Landroid/os/Bundle;
if-nez v2, :cond_0
return v0
:cond_0
iget-object v1, v1, Landroid/content/pm/ServiceInfo;->metaData:Landroid/os/Bundle;
const-string v2, "android.support.customtabs.trusted.SMALL_ICON"
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result v0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
return v0
.end method
.method public onNotifyNotificationWithChannel(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)Z
.locals 3
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroid/app/Notification;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/BinderThread;
.end annotation
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
invoke-static {p0}, Landroidx/core/app/NotificationManagerCompat;->from(Landroid/content/Context;)Landroidx/core/app/NotificationManagerCompat;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/app/NotificationManagerCompat;->areNotificationsEnabled()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1a
if-lt v0, v2, :cond_1
invoke-static {p4}, Landroidx/browser/trusted/TrustedWebActivityService;->channelNameToId(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-static {p0, v2, p3, v0, p4}, Landroidx/browser/trusted/NotificationApiHelperForO;->copyNotificationOntoChannel(Landroid/content/Context;Landroid/app/NotificationManager;Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;)Landroid/app/Notification;
move-result-object p3
iget-object p4, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-static {p4, v0}, Landroidx/browser/trusted/NotificationApiHelperForO;->isChannelEnabled(Landroid/app/NotificationManager;Ljava/lang/String;)Z
move-result p4
if-nez p4, :cond_1
return v1
:cond_1
iget-object p4, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
invoke-virtual {p4, p1, p2, p3}, Landroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V
const/4 p1, 0x1
return p1
.end method
.method public final onUnbind(Landroid/content/Intent;)Z
.locals 1
.param p1 # Landroid/content/Intent;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
const/4 v0, -0x1
iput v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
invoke-super {p0, p1}, Landroid/app/Service;->onUnbind(Landroid/content/Intent;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,66 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ActiveNotificationsArgs"
.end annotation
# instance fields
.field public final notifications:[Landroid/os/Parcelable;
# direct methods
.method public constructor <init>([Landroid/os/Parcelable;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->notifications:[Landroid/os/Parcelable;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
.locals 2
const-string v0, "android.support.customtabs.trusted.ACTIVE_NOTIFICATIONS"
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;
move-result-object p0
invoke-direct {v1, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;-><init>([Landroid/os/Parcelable;)V
return-object v1
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->notifications:[Landroid/os/Parcelable;
const-string v2, "android.support.customtabs.trusted.ACTIVE_NOTIFICATIONS"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
return-object v0
.end method

View file

@ -0,0 +1,84 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "CancelNotificationArgs"
.end annotation
# instance fields
.field public final platformId:I
.field public final platformTag:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;I)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformTag:Ljava/lang/String;
iput p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformId:I
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
.locals 3
const-string v0, "android.support.customtabs.trusted.PLATFORM_TAG"
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
const-string v1, "android.support.customtabs.trusted.PLATFORM_ID"
invoke-static {p0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
new-instance v2, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result p0
invoke-direct {v2, v0, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;-><init>(Ljava/lang/String;I)V
return-object v2
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformTag:Ljava/lang/String;
const-string v2, "android.support.customtabs.trusted.PLATFORM_TAG"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformId:I
const-string v2, "android.support.customtabs.trusted.PLATFORM_ID"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View file

@ -0,0 +1,66 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "NotificationsEnabledArgs"
.end annotation
# instance fields
.field public final channelName:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->channelName:Ljava/lang/String;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
.locals 2
const-string v0, "android.support.customtabs.trusted.CHANNEL_NAME"
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;-><init>(Ljava/lang/String;)V
return-object v1
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->channelName:Ljava/lang/String;
const-string v2, "android.support.customtabs.trusted.CHANNEL_NAME"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method

View file

@ -0,0 +1,122 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "NotifyNotificationArgs"
.end annotation
# instance fields
.field public final channelName:Ljava/lang/String;
.field public final notification:Landroid/app/Notification;
.field public final platformId:I
.field public final platformTag:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformTag:Ljava/lang/String;
iput p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformId:I
iput-object p3, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->notification:Landroid/app/Notification;
iput-object p4, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->channelName:Ljava/lang/String;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
.locals 5
const-string v0, "android.support.customtabs.trusted.PLATFORM_TAG"
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
const-string v1, "android.support.customtabs.trusted.PLATFORM_ID"
invoke-static {p0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
const-string v2, "android.support.customtabs.trusted.NOTIFICATION"
invoke-static {p0, v2}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
const-string v3, "android.support.customtabs.trusted.CHANNEL_NAME"
invoke-static {p0, v3}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
new-instance v4, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result v1
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v2
check-cast v2, Landroid/app/Notification;
invoke-virtual {p0, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v4, v0, v1, v2, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;-><init>(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)V
return-object v4
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformTag:Ljava/lang/String;
const-string v2, "android.support.customtabs.trusted.PLATFORM_TAG"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformId:I
const-string v2, "android.support.customtabs.trusted.PLATFORM_ID"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->notification:Landroid/app/Notification;
const-string v2, "android.support.customtabs.trusted.NOTIFICATION"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->channelName:Ljava/lang/String;
const-string v2, "android.support.customtabs.trusted.CHANNEL_NAME"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method

View file

@ -0,0 +1,66 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ResultArgs"
.end annotation
# instance fields
.field public final success:Z
# direct methods
.method public constructor <init>(Z)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->success:Z
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
.locals 2
const-string v0, "android.support.customtabs.trusted.NOTIFICATION_SUCCESS"
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
move-result p0
invoke-direct {v1, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;-><init>(Z)V
return-object v1
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-boolean v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->success:Z
const-string v2, "android.support.customtabs.trusted.NOTIFICATION_SUCCESS"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
return-object v0
.end method

View file

@ -0,0 +1,280 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnection.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
}
.end annotation
# static fields
.field public static final KEY_ACTIVE_NOTIFICATIONS:Ljava/lang/String; = "android.support.customtabs.trusted.ACTIVE_NOTIFICATIONS"
.field public static final KEY_CHANNEL_NAME:Ljava/lang/String; = "android.support.customtabs.trusted.CHANNEL_NAME"
.field public static final KEY_NOTIFICATION:Ljava/lang/String; = "android.support.customtabs.trusted.NOTIFICATION"
.field public static final KEY_NOTIFICATION_SUCCESS:Ljava/lang/String; = "android.support.customtabs.trusted.NOTIFICATION_SUCCESS"
.field public static final KEY_PLATFORM_ID:Ljava/lang/String; = "android.support.customtabs.trusted.PLATFORM_ID"
.field public static final KEY_PLATFORM_TAG:Ljava/lang/String; = "android.support.customtabs.trusted.PLATFORM_TAG"
# instance fields
.field public final mComponentName:Landroid/content/ComponentName;
.field public final mService:Lt/a/a/d/a;
# direct methods
.method public constructor <init>(Lt/a/a/d/a;Landroid/content/ComponentName;)V
.locals 0
.param p1 # Lt/a/a/d/a;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/ComponentName;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
iput-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mComponentName:Landroid/content/ComponentName;
return-void
.end method
.method public static ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.locals 1
invoke-virtual {p0, p1}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result p0
if-eqz p0, :cond_0
return-void
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string v0, "Bundle must contain "
invoke-static {v0, p1}, Lf/e/c/a/a;->q(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
# virtual methods
.method public areNotificationsEnabled(Ljava/lang/String;)Z
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
invoke-direct {v0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->toBundle()Landroid/os/Bundle;
move-result-object p1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {v0, p1}, Lt/a/a/d/a;->areNotificationsEnabled(Landroid/os/Bundle;)Landroid/os/Bundle;
move-result-object p1
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
move-result-object p1
iget-boolean p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->success:Z
return p1
.end method
.method public cancel(Ljava/lang/String;I)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
invoke-direct {v0, p1, p2}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;-><init>(Ljava/lang/String;I)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->toBundle()Landroid/os/Bundle;
move-result-object p1
iget-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {p2, p1}, Lt/a/a/d/a;->cancelNotification(Landroid/os/Bundle;)V
return-void
.end method
.method public getActiveNotifications()[Landroid/os/Parcelable;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {v0}, Lt/a/a/d/a;->getActiveNotifications()Landroid/os/Bundle;
move-result-object v0
invoke-static {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
move-result-object v0
iget-object v0, v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->notifications:[Landroid/os/Parcelable;
return-object v0
.end method
.method public getComponentName()Landroid/content/ComponentName;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mComponentName:Landroid/content/ComponentName;
return-object v0
.end method
.method public getSmallIconBitmap()Landroid/graphics/Bitmap;
.locals 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {v0}, Lt/a/a/d/a;->getSmallIconBitmap()Landroid/os/Bundle;
move-result-object v0
const-string v1, "android.support.customtabs.trusted.SMALL_ICON_BITMAP"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v0
check-cast v0, Landroid/graphics/Bitmap;
return-object v0
.end method
.method public getSmallIconId()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {v0}, Lt/a/a/d/a;->getSmallIconId()I
move-result v0
return v0
.end method
.method public notify(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)Z
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroid/app/Notification;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
invoke-direct {v0, p1, p2, p3, p4}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;-><init>(Ljava/lang/String;ILandroid/app/Notification;Ljava/lang/String;)V
invoke-virtual {v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->toBundle()Landroid/os/Bundle;
move-result-object p1
iget-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Lt/a/a/d/a;
invoke-interface {p2, p1}, Lt/a/a/d/a;->notifyNotificationWithChannel(Landroid/os/Bundle;)Landroid/os/Bundle;
move-result-object p1
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
move-result-object p1
iget-boolean p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->success:Z
return p1
.end method

View file

@ -0,0 +1,144 @@
.class public Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;
.super Landroid/os/AsyncTask;
.source "TrustedWebActivityServiceConnectionPool.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BindToServiceAsyncTask"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/AsyncTask<",
"Ljava/lang/Void;",
"Ljava/lang/Void;",
"Ljava/lang/Exception;",
">;"
}
.end annotation
# instance fields
.field public final mAppContext:Landroid/content/Context;
.field public final mConnection:Landroidx/browser/trusted/ConnectionHolder;
.field public final mIntent:Landroid/content/Intent;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/content/Intent;Landroidx/browser/trusted/ConnectionHolder;)V
.locals 0
invoke-direct {p0}, Landroid/os/AsyncTask;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mAppContext:Landroid/content/Context;
iput-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mIntent:Landroid/content/Intent;
iput-object p3, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mConnection:Landroidx/browser/trusted/ConnectionHolder;
return-void
.end method
# virtual methods
.method public varargs doInBackground([Ljava/lang/Void;)Ljava/lang/Exception;
.locals 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
:try_start_0
iget-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mAppContext:Landroid/content/Context;
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mIntent:Landroid/content/Intent;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mConnection:Landroidx/browser/trusted/ConnectionHolder;
const/4 v2, 0x1
invoke-virtual {p1, v0, v1, v2}, Landroid/content/Context;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x0
return-object p1
:cond_0
iget-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mAppContext:Landroid/content/Context;
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mConnection:Landroidx/browser/trusted/ConnectionHolder;
invoke-virtual {p1, v0}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Could not bind to the service"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception p1
const-string v0, "TWAConnectionPool"
const-string v1, "SecurityException while binding."
invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-object p1
.end method
.method public bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation build Landroidx/annotation/Nullable;
.end annotation
check-cast p1, [Ljava/lang/Void;
invoke-virtual {p0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Exception;
move-result-object p1
return-object p1
.end method
.method public onPostExecute(Ljava/lang/Exception;)V
.locals 1
if-eqz p1, :cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->mConnection:Landroidx/browser/trusted/ConnectionHolder;
invoke-virtual {v0, p1}, Landroidx/browser/trusted/ConnectionHolder;->cancel(Ljava/lang/Exception;)V
:cond_0
return-void
.end method
.method public bridge synthetic onPostExecute(Ljava/lang/Object;)V
.locals 0
check-cast p1, Ljava/lang/Exception;
invoke-virtual {p0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;->onPostExecute(Ljava/lang/Exception;)V
return-void
.end method

View file

@ -0,0 +1,505 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
.super Ljava/lang/Object;
.source "TrustedWebActivityServiceConnectionPool.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "TWAConnectionPool"
# instance fields
.field public final mConnections:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Landroid/net/Uri;",
"Landroidx/browser/trusted/ConnectionHolder;",
">;"
}
.end annotation
.end field
.field public final mContext:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mContext:Landroid/content/Context;
return-void
.end method
.method public static create(Landroid/content/Context;)Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
.locals 1
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
invoke-direct {v0, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;-><init>(Landroid/content/Context;)V
return-object v0
.end method
.method private createServiceIntent(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Set;Z)Landroid/content/Intent;
.locals 7
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Landroid/net/Uri;",
"Ljava/util/Set<",
"Landroidx/browser/trusted/Token;",
">;Z)",
"Landroid/content/Intent;"
}
.end annotation
const/4 v0, 0x0
if-eqz p3, :cond_9
invoke-interface {p3}, Ljava/util/Set;->size()I
move-result v1
if-nez v1, :cond_0
goto/16 :goto_1
:cond_0
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
invoke-virtual {v1, p2}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const-string v2, "android.intent.action.VIEW"
invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
const/high16 v3, 0x10000
invoke-virtual {v2, v1, v3}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
move-object v2, v0
:cond_1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_3
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/content/pm/ResolveInfo;
iget-object v3, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v3, v3, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
invoke-interface {p3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_2
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_1
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/browser/trusted/Token;
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v6
invoke-virtual {v5, v3, v6}, Landroidx/browser/trusted/Token;->matches(Ljava/lang/String;Landroid/content/pm/PackageManager;)Z
move-result v5
if-eqz v5, :cond_2
move-object v2, v3
goto :goto_0
:cond_3
const-string p3, "TWAConnectionPool"
if-nez v2, :cond_5
if-eqz p4, :cond_4
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "No TWA candidates for "
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " have been registered."
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p3, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_4
return-object v0
:cond_5
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
const-string v3, "android.support.customtabs.trusted.TRUSTED_WEB_ACTIVITY_SERVICE"
invoke-virtual {v1, v3}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p1
const/high16 v3, 0x20000
invoke-virtual {p1, v1, v3}, Landroid/content/pm/PackageManager;->resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
move-result-object p1
if-nez p1, :cond_7
if-eqz p4, :cond_6
const-string p1, "Could not find TWAService for "
invoke-static {p1, v2, p3}, Lf/e/c/a/a;->U(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_6
return-object v0
:cond_7
if-eqz p4, :cond_8
const-string p4, "Found "
invoke-static {p4}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p4
iget-object v0, p1, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;
iget-object v0, v0, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " to handle request for "
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p3, p2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_8
new-instance p2, Landroid/content/Intent;
invoke-direct {p2}, Landroid/content/Intent;-><init>()V
new-instance p3, Landroid/content/ComponentName;
iget-object p1, p1, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;
iget-object p1, p1, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
invoke-direct {p3, v2, p1}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {p2, p3}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
return-object p2
:cond_9
:goto_1
return-object v0
.end method
# virtual methods
.method public synthetic a(Landroid/net/Uri;)V
.locals 1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/browser/trusted/ConnectionHolder;
return-void
.end method
.method public connect(Landroid/net/Uri;Ljava/util/Set;Ljava/util/concurrent/Executor;)Lf/h/b/a/a/a;
.locals 2
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/Set;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Ljava/util/Set<",
"Landroidx/browser/trusted/Token;",
">;",
"Ljava/util/concurrent/Executor;",
")",
"Lf/h/b/a/a/a<",
"Landroidx/browser/trusted/TrustedWebActivityServiceConnection;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/browser/trusted/ConnectionHolder;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroidx/browser/trusted/ConnectionHolder;->getServiceWrapper()Lf/h/b/a/a/a;
move-result-object p1
return-object p1
:cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mContext:Landroid/content/Context;
const/4 v1, 0x1
invoke-direct {p0, v0, p1, p2, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->createServiceIntent(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Set;Z)Landroid/content/Intent;
move-result-object p2
if-nez p2, :cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "No service exists for scope"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
invoke-static {p1}, Landroidx/browser/trusted/FutureUtils;->immediateFailedFuture(Ljava/lang/Throwable;)Lf/h/b/a/a/a;
move-result-object p1
return-object p1
:cond_1
new-instance v0, Landroidx/browser/trusted/ConnectionHolder;
new-instance v1, Lu/a/b/c;
invoke-direct {v1, p0, p1}, Lu/a/b/c;-><init>(Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;Landroid/net/Uri;)V
invoke-direct {v0, v1}, Landroidx/browser/trusted/ConnectionHolder;-><init>(Ljava/lang/Runnable;)V
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
new-instance p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mContext:Landroid/content/Context;
invoke-direct {p1, v1, p2, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;-><init>(Landroid/content/Context;Landroid/content/Intent;Landroidx/browser/trusted/ConnectionHolder;)V
const/4 p2, 0x0
new-array p2, p2, [Ljava/lang/Void;
invoke-virtual {p1, p3, p2}, Landroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
invoke-virtual {v0}, Landroidx/browser/trusted/ConnectionHolder;->getServiceWrapper()Lf/h/b/a/a/a;
move-result-object p1
return-object p1
.end method
.method public serviceExistsForScope(Landroid/net/Uri;Ljava/util/Set;)Z
.locals 3
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/Set;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Ljava/util/Set<",
"Landroidx/browser/trusted/Token;",
">;)Z"
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
:cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mContext:Landroid/content/Context;
const/4 v2, 0x0
invoke-direct {p0, v0, p1, p2, v2}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->createServiceIntent(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Set;Z)Landroid/content/Intent;
move-result-object p1
if-eqz p1, :cond_1
goto :goto_0
:cond_1
const/4 v1, 0x0
:goto_0
return v1
.end method
.method public unbindAllConnections()V
.locals 3
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/browser/trusted/ConnectionHolder;
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mContext:Landroid/content/Context;
invoke-virtual {v2, v1}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V
goto :goto_0
:cond_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->clear()V
return-void
.end method

View file

@ -0,0 +1,149 @@
.class public final Landroidx/browser/trusted/sharing/ShareData;
.super Ljava/lang/Object;
.source "ShareData.java"
# static fields
.field public static final KEY_TEXT:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_TEXT"
.field public static final KEY_TITLE:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_TITLE"
.field public static final KEY_URIS:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_URIS"
# instance fields
.field public final text:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final title:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final uris:Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroid/net/Uri;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareData;->title:Ljava/lang/String;
iput-object p2, p0, Landroidx/browser/trusted/sharing/ShareData;->text:Ljava/lang/String;
iput-object p3, p0, Landroidx/browser/trusted/sharing/ShareData;->uris:Ljava/util/List;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareData;
.locals 4
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/browser/trusted/sharing/ShareData;
const-string v1, "androidx.browser.trusted.sharing.KEY_TITLE"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_TEXT"
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "androidx.browser.trusted.sharing.KEY_URIS"
invoke-virtual {p0, v3}, Landroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p0
invoke-direct {v0, v1, v2, p0}, Landroidx/browser/trusted/sharing/ShareData;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
return-object v0
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareData;->title:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_TITLE"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareData;->text:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_TEXT"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareData;->uris:Ljava/util/List;
if-eqz v1, :cond_0
new-instance v1, Ljava/util/ArrayList;
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareData;->uris:Ljava/util/List;
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
const-string v2, "androidx.browser.trusted.sharing.KEY_URIS"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
:cond_0
return-object v0
.end method

View file

@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/browser/trusted/sharing/ShareTarget$EncodingType;
.super Ljava/lang/Object;
.source "ShareTarget.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/sharing/ShareTarget;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "EncodingType"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View file

@ -0,0 +1,149 @@
.class public final Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
.super Ljava/lang/Object;
.source "ShareTarget.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/sharing/ShareTarget;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "FileFormField"
.end annotation
# static fields
.field public static final KEY_ACCEPTED_TYPES:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_ACCEPTED_TYPES"
.field public static final KEY_NAME:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_FILE_NAME"
# instance fields
.field public final acceptedTypes:Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public final name:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/util/List;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->name:Ljava/lang/String;
invoke-static {p2}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object p1
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->acceptedTypes:Ljava/util/List;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
.locals 3
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
:cond_0
const-string v1, "androidx.browser.trusted.sharing.KEY_FILE_NAME"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_ACCEPTED_TYPES"
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p0
if-eqz v1, :cond_2
if-nez p0, :cond_1
goto :goto_0
:cond_1
new-instance v0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
invoke-direct {v0, v1, p0}, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;-><init>(Ljava/lang/String;Ljava/util/List;)V
:cond_2
:goto_0
return-object v0
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->name:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_FILE_NAME"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
new-instance v1, Ljava/util/ArrayList;
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->acceptedTypes:Ljava/util/List;
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
const-string v2, "androidx.browser.trusted.sharing.KEY_ACCEPTED_TYPES"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
return-object v0
.end method

View file

@ -0,0 +1,225 @@
.class public Landroidx/browser/trusted/sharing/ShareTarget$Params;
.super Ljava/lang/Object;
.source "ShareTarget.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/sharing/ShareTarget;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Params"
.end annotation
# static fields
.field public static final KEY_FILES:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_FILES"
.field public static final KEY_TEXT:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_TEXT"
.field public static final KEY_TITLE:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_TITLE"
# instance fields
.field public final files:Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;",
">;"
}
.end annotation
.end field
.field public final text:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final title:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->title:Ljava/lang/String;
iput-object p2, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->text:Ljava/lang/String;
iput-object p3, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->files:Ljava/util/List;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget$Params;
.locals 4
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
:cond_0
const-string v1, "androidx.browser.trusted.sharing.KEY_FILES"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object v1
if-eqz v1, :cond_1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/os/Bundle;
invoke-static {v2}, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
new-instance v1, Landroidx/browser/trusted/sharing/ShareTarget$Params;
const-string v2, "androidx.browser.trusted.sharing.KEY_TITLE"
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "androidx.browser.trusted.sharing.KEY_TEXT"
invoke-virtual {p0, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v1, v2, p0, v0}, Landroidx/browser/trusted/sharing/ShareTarget$Params;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
return-object v1
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 4
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->title:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_TITLE"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->text:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_TEXT"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->files:Ljava/util/List;
if-eqz v1, :cond_1
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->files:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_0
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
invoke-virtual {v3}, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->toBundle()Landroid/os/Bundle;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
const-string v2, "androidx.browser.trusted.sharing.KEY_FILES"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
:cond_1
return-object v0
.end method

View file

@ -0,0 +1,27 @@
.class public interface abstract annotation Landroidx/browser/trusted/sharing/ShareTarget$RequestMethod;
.super Ljava/lang/Object;
.source "ShareTarget.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/browser/trusted/sharing/ShareTarget;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "RequestMethod"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View file

@ -0,0 +1,193 @@
.class public final Landroidx/browser/trusted/sharing/ShareTarget;
.super Ljava/lang/Object;
.source "ShareTarget.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;,
Landroidx/browser/trusted/sharing/ShareTarget$Params;,
Landroidx/browser/trusted/sharing/ShareTarget$EncodingType;,
Landroidx/browser/trusted/sharing/ShareTarget$RequestMethod;
}
.end annotation
# static fields
.field public static final ENCODING_TYPE_MULTIPART:Ljava/lang/String; = "multipart/form-data"
.field public static final ENCODING_TYPE_URL_ENCODED:Ljava/lang/String; = "application/x-www-form-urlencoded"
.field public static final KEY_ACTION:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_ACTION"
.annotation build Landroid/annotation/SuppressLint;
value = {
"IntentName"
}
.end annotation
.end field
.field public static final KEY_ENCTYPE:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_ENCTYPE"
.field public static final KEY_METHOD:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_METHOD"
.field public static final KEY_PARAMS:Ljava/lang/String; = "androidx.browser.trusted.sharing.KEY_PARAMS"
.field public static final METHOD_GET:Ljava/lang/String; = "GET"
.field public static final METHOD_POST:Ljava/lang/String; = "POST"
# instance fields
.field public final action:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public final encodingType:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final method:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final params:Landroidx/browser/trusted/sharing/ShareTarget$Params;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroidx/browser/trusted/sharing/ShareTarget$Params;)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/Nullable;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p4 # Landroidx/browser/trusted/sharing/ShareTarget$Params;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->action:Ljava/lang/String;
iput-object p2, p0, Landroidx/browser/trusted/sharing/ShareTarget;->method:Ljava/lang/String;
iput-object p3, p0, Landroidx/browser/trusted/sharing/ShareTarget;->encodingType:Ljava/lang/String;
iput-object p4, p0, Landroidx/browser/trusted/sharing/ShareTarget;->params:Landroidx/browser/trusted/sharing/ShareTarget$Params;
return-void
.end method
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget;
.locals 4
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "androidx.browser.trusted.sharing.KEY_ACTION"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "androidx.browser.trusted.sharing.KEY_METHOD"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_ENCTYPE"
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "androidx.browser.trusted.sharing.KEY_PARAMS"
invoke-virtual {p0, v3}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object p0
invoke-static {p0}, Landroidx/browser/trusted/sharing/ShareTarget$Params;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget$Params;
move-result-object p0
if-eqz v0, :cond_1
if-nez p0, :cond_0
goto :goto_0
:cond_0
new-instance v3, Landroidx/browser/trusted/sharing/ShareTarget;
invoke-direct {v3, v0, v1, v2, p0}, Landroidx/browser/trusted/sharing/ShareTarget;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroidx/browser/trusted/sharing/ShareTarget$Params;)V
return-object v3
:cond_1
:goto_0
const/4 p0, 0x0
return-object p0
.end method
# virtual methods
.method public toBundle()Landroid/os/Bundle;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->action:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_ACTION"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->method:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_METHOD"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->encodingType:Ljava/lang/String;
const-string v2, "androidx.browser.trusted.sharing.KEY_ENCTYPE"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->params:Landroidx/browser/trusted/sharing/ShareTarget$Params;
invoke-virtual {v1}, Landroidx/browser/trusted/sharing/ShareTarget$Params;->toBundle()Landroid/os/Bundle;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_PARAMS"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
return-object v0
.end method

View file

@ -0,0 +1,25 @@
.class public final Landroidx/browser/trusted/splashscreens/SplashScreenParamKey;
.super Ljava/lang/Object;
.source "SplashScreenParamKey.java"
# static fields
.field public static final KEY_BACKGROUND_COLOR:Ljava/lang/String; = "androidx.browser.trusted.trusted.KEY_SPLASH_SCREEN_BACKGROUND_COLOR"
.field public static final KEY_FADE_OUT_DURATION_MS:Ljava/lang/String; = "androidx.browser.trusted.KEY_SPLASH_SCREEN_FADE_OUT_DURATION"
.field public static final KEY_IMAGE_TRANSFORMATION_MATRIX:Ljava/lang/String; = "androidx.browser.trusted.KEY_SPLASH_SCREEN_TRANSFORMATION_MATRIX"
.field public static final KEY_SCALE_TYPE:Ljava/lang/String; = "androidx.browser.trusted.KEY_SPLASH_SCREEN_SCALE_TYPE"
.field public static final KEY_VERSION:Ljava/lang/String; = "androidx.browser.trusted.KEY_SPLASH_SCREEN_VERSION"
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -0,0 +1,17 @@
.class public final Landroidx/browser/trusted/splashscreens/SplashScreenVersion;
.super Ljava/lang/Object;
.source "SplashScreenVersion.java"
# static fields
.field public static final V1:Ljava/lang/String; = "androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method