Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
.class public final synthetic Landroidx/browser/trusted/ConnectionHolder$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/concurrent/futures/CallbackToFutureAdapter$Resolver;
# instance fields
.field public final synthetic f$0:Landroidx/browser/trusted/ConnectionHolder;
# direct methods
.method public synthetic constructor <init>(Landroidx/browser/trusted/ConnectionHolder;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/ConnectionHolder$$ExternalSyntheticLambda0;->f$0:Landroidx/browser/trusted/ConnectionHolder;
return-void
.end method
# virtual methods
.method public final attachCompleter(Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;)Ljava/lang/Object;
.locals 1
.line 0
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder$$ExternalSyntheticLambda0;->f$0:Landroidx/browser/trusted/ConnectionHolder;
invoke-static {v0, p1}, Landroidx/browser/trusted/ConnectionHolder;->$r8$lambda$Rp3Hxy1AUk9cWatAvfzHyT3B2KI(Landroidx/browser/trusted/ConnectionHolder;Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,45 @@
.class Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 55
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
.line 58
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.line 59
invoke-static {p2}, Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/support/customtabs/trusted/ITrustedWebActivityService;
move-result-object p2
invoke-direct {v0, p2, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;-><init>(Landroid/support/customtabs/trusted/ITrustedWebActivityService;Landroid/content/ComponentName;)V
return-object v0
.end method

View File

@@ -0,0 +1,382 @@
.class Landroidx/browser/trusted/ConnectionHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/content/ServiceConnection;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
}
.end annotation
# static fields
.field private static final STATE_AWAITING_CONNECTION:I = 0x0
.field private static final STATE_CANCELLED:I = 0x3
.field private static final STATE_CONNECTED:I = 0x1
.field private static final STATE_DISCONNECTED:I = 0x2
# instance fields
.field private mCancellationException:Ljava/lang/Exception;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private final mCloseRunnable:Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private 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 private mService:Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mState:I
.field private final mWrapperFactory:Landroidx/browser/trusted/ConnectionHolder$WrapperFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public static synthetic $r8$lambda$Rp3Hxy1AUk9cWatAvfzHyT3B2KI(Landroidx/browser/trusted/ConnectionHolder;Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;)Ljava/lang/Object;
.locals 0
.line 0
invoke-direct {p0, p1}, Landroidx/browser/trusted/ConnectionHolder;->lambda$getServiceWrapper$0(Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.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
.line 69
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
.line 74
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mState:I
.line 50
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
.method private synthetic lambda$getServiceWrapper$0(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
.line 145
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;
.line 143
throw p1
.line 141
: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
.line 138
invoke-virtual {p1, v0}, Landroidx/concurrent/futures/CallbackToFutureAdapter$Completer;->set(Ljava/lang/Object;)Z
goto :goto_0
.line 136
: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;
.line 132
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 148
:goto_0
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "ConnectionHolder, state = "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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
# virtual methods
.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;
.line 108
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;
.line 109
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;
.line 111
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Landroidx/browser/trusted/ConnectionHolder;->mCloseRunnable:Ljava/lang/Runnable;
.line 112
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()Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/util/concurrent/ListenableFuture;"
}
.end annotation
.line 129
new-instance v0, Landroidx/browser/trusted/ConnectionHolder$$ExternalSyntheticLambda0;
invoke-direct {v0, p0}, Landroidx/browser/trusted/ConnectionHolder$$ExternalSyntheticLambda0;-><init>(Landroidx/browser/trusted/ConnectionHolder;)V
invoke-static {v0}, Landroidx/concurrent/futures/CallbackToFutureAdapter;->getFuture(Landroidx/concurrent/futures/CallbackToFutureAdapter$Resolver;)Lcom/google/common/util/concurrent/ListenableFuture;
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;
.line 83
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;
.line 84
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;
.line 85
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;
.line 87
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;
.line 97
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,45 @@
.class Landroidx/browser/trusted/FutureUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method private constructor <init>()V
.locals 0
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static immediateFailedFuture(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
.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;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture;"
}
.end annotation
.line 30
invoke-static {}, Landroidx/concurrent/futures/ResolvableFuture;->create()Landroidx/concurrent/futures/ResolvableFuture;
move-result-object v0
.line 31
invoke-virtual {v0, p0}, Landroidx/concurrent/futures/ResolvableFuture;->setException(Ljava/lang/Throwable;)Z
return-object v0
.end method

View File

@@ -0,0 +1,39 @@
.class public Landroidx/browser/trusted/NotificationApiHelperForM;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.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
# direct methods
.method private constructor <init>()V
.locals 0
.line 48
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
.line 45
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,104 @@
.class Landroidx/browser/trusted/NotificationApiHelperForO;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x1a
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 64
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
.line 49
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
.line 53
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
.line 59
: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
.line 60
invoke-virtual {p0, p3}, Landroid/app/Notification$Builder;->setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;
.line 61
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
.line 40
invoke-virtual {p0, p1}, Landroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
move-result-object p0
if-eqz p0, :cond_1
.line 42
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,191 @@
.class Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 81
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
.line 86
invoke-virtual {p2, p1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
.line 89
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
.line 90
iget-object p1, p1, Landroid/content/pm/PackageInfo;->signingInfo:Landroid/content/pm/SigningInfo;
.line 92
invoke-virtual {p1}, Landroid/content/pm/SigningInfo;->hasMultipleSigners()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 96
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
.line 97
invoke-static {v2}, Landroidx/browser/trusted/PackageIdentityUtils;->getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
move-result-object v2
invoke-interface {p2, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 101
:cond_0
invoke-virtual {p1}, Landroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature;
move-result-object p1
aget-object p1, p1, v1
.line 100
invoke-static {p1}, Landroidx/browser/trusted/PackageIdentityUtils;->getCertificateSHA256Fingerprint(Landroid/content/pm/Signature;)[B
move-result-object p1
invoke-interface {p2, p1}, Ljava/util/List;->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
.line 110
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
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 112
:cond_0
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
if-nez v0, :cond_1
return v1
.line 115
:cond_1
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x1
if-ne v2, v3, :cond_2
.line 116
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
.line 119
: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
.line 120
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,157 @@
.class Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 125
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
.line 132
invoke-virtual {p2, p1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
.line 134
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
.line 135
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
.line 136
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
.line 138
:cond_0
invoke-interface {p2, v2}, Ljava/util/List;->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 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Landroid/content/pm/PackageManager$NameNotFoundException;
}
.end annotation
.line 148
invoke-virtual {p3}, Landroidx/browser/trusted/TokenContents;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 152
:cond_0
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_1
return v1
.line 155
:cond_1
invoke-static {p1, p2}, Landroidx/browser/trusted/TokenContents;->create(Ljava/lang/String;Ljava/util/List;)Landroidx/browser/trusted/TokenContents;
move-result-object p1
.line 156
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 interface abstract Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;
.super Ljava/lang/Object;
.source "SourceFile"
# 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,168 @@
.class Landroidx/browser/trusted/PackageIdentityUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/PackageIdentityUtils$SignaturesCompat;,
Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;,
Landroidx/browser/trusted/PackageIdentityUtils$Pre28Implementation;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "PackageIdentity"
# direct methods
.method private constructor <init>()V
.locals 0
.line 42
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"
.line 163
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
.line 47
: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."
.line 49
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 private 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
.line 65
new-instance v0, Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;
invoke-direct {v0}, Landroidx/browser/trusted/PackageIdentityUtils$Api28Implementation;-><init>()V
return-object v0
.line 67
: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
.line 56
: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."
.line 58
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,27 @@
.class public interface abstract annotation Landroidx/browser/trusted/ScreenOrientation$LockType;
.super Ljava/lang/Object;
.source "SourceFile"
# 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/ScreenOrientation;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "LockType"
.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,42 @@
.class public final Landroidx/browser/trusted/ScreenOrientation;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/ScreenOrientation$LockType;
}
.end annotation
# static fields
.field public static final ANY:I = 0x5
.field public static final DEFAULT:I = 0x0
.field public static final LANDSCAPE:I = 0x6
.field public static final LANDSCAPE_PRIMARY:I = 0x3
.field public static final LANDSCAPE_SECONDARY:I = 0x4
.field public static final NATURAL:I = 0x8
.field public static final PORTRAIT:I = 0x7
.field public static final PORTRAIT_PRIMARY:I = 0x1
.field public static final PORTRAIT_SECONDARY:I = 0x2
# direct methods
.method private constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,142 @@
.class public final Landroidx/browser/trusted/Token;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final TAG:Ljava/lang/String; = "Token"
# instance fields
.field private final mContents:Landroidx/browser/trusted/TokenContents;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method private constructor <init>(Landroidx/browser/trusted/TokenContents;)V
.locals 0
.param p1 # Landroidx/browser/trusted/TokenContents;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 84
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
.line 63
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
.line 67
: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."
.line 69
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
.line 81
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;
.line 105
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;
.line 95
invoke-virtual {v0}, Landroidx/browser/trusted/TokenContents;->serialize()[B
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,33 @@
.class public final synthetic Landroidx/browser/trusted/TokenContents$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 0
check-cast p1, [B
check-cast p2, [B
invoke-static {p1, p2}, Landroidx/browser/trusted/TokenContents;->$r8$lambda$Q7kOl2yBde7CmQs5Ktpiz56Nr70([B[B)I
move-result p1
return p1
.end method

View File

@@ -0,0 +1,626 @@
.class final Landroidx/browser/trusted/TokenContents;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private final mContents:[B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private 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 private mPackageName:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public static synthetic $r8$lambda$Q7kOl2yBde7CmQs5Ktpiz56Nr70([B[B)I
.locals 0
.line 0
invoke-static {p0, p1}, Landroidx/browser/trusted/TokenContents;->compareByteArrays([B[B)I
move-result p0
return p0
.end method
.method private constructor <init>([B)V
.locals 0
.param p1 # [B
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 63
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
return-void
.end method
.method private 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
.line 75
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;
.line 78
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;
.line 81
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;
.line 82
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 private 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
move v1, v0
.line 156
: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
.line 157
aget-byte v2, p0, v1
aget-byte v3, p1, v1
if-eq v2, v3, :cond_3
sub-int/2addr v2, v3
return v2
:cond_3
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 161
:cond_4
array-length v1, p0
array-length v2, p1
if-eq v1, v2, :cond_5
array-length p0, p0
array-length p1, p1
sub-int/2addr p0, p1
return p0
: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
.line 70
new-instance v0, Landroidx/browser/trusted/TokenContents;
.line 71
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 private 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
.line 129
new-instance v0, Landroidx/browser/trusted/TokenContents$$ExternalSyntheticLambda0;
invoke-direct {v0}, Landroidx/browser/trusted/TokenContents$$ExternalSyntheticLambda0;-><init>()V
invoke-static {p1, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 131
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 132
new-instance v1, Ljava/io/DataOutputStream;
invoke-direct {v1, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 134
invoke-virtual {v1, p0}, Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
.line 135
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p0
invoke-virtual {v1, p0}, Ljava/io/DataOutputStream;->writeInt(I)V
.line 136
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
.line 137
array-length v2, p1
invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;->writeInt(I)V
.line 138
invoke-virtual {v1, p1}, Ljava/io/OutputStream;->write([B)V
goto :goto_0
.line 140
:cond_0
invoke-virtual {v1}, Ljava/io/DataOutputStream;->flush()V
.line 142
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
.line 60
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
.line 170
: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
.line 171
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;
.line 173
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result v1
.line 174
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
.line 176
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result v3
.line 177
new-array v4, v3, [B
.line 178
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;
.line 180
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 179
: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
.line 114
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-class v1, Landroidx/browser/trusted/TokenContents;
if-eq v1, v0, :cond_1
goto :goto_0
.line 115
:cond_1
check-cast p1, Landroidx/browser/trusted/TokenContents;
iget-object v0, p0, Landroidx/browser/trusted/TokenContents;->mContents:[B
.line 116
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
.line 101
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
.line 103
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
.line 102
: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
.line 94
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
.line 96
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
return v0
.line 95
: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
.line 88
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
.line 89
: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
.line 121
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
.line 108
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 "SourceFile"
# 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,27 @@
.class public abstract Landroidx/browser/trusted/TrustedWebActivityCallback;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract onExtraCallback(Ljava/lang/String;Landroid/os/Bundle;)V
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.end method

View File

@@ -0,0 +1,87 @@
.class public Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private final mCallbackBinder:Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
# direct methods
.method private constructor <init>(Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;)V
.locals 0
.param p1 # Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;->mCallbackBinder:Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
return-void
.end method
.method public static fromBinder(Landroid/os/IBinder;)Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;
.locals 1
.param p0 # Landroid/os/IBinder;
.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
move-object p0, v0
goto :goto_0
.line 44
:cond_0
invoke-static {p0}, Landroid/support/customtabs/trusted/ITrustedWebActivityCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
move-result-object p0
:goto_0
if-nez p0, :cond_1
return-object v0
.line 48
:cond_1
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;
invoke-direct {v0, p0}, Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;-><init>(Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;)V
return-object v0
.end method
# virtual methods
.method public runExtraCallback(Ljava/lang/String;Landroid/os/Bundle;)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;->mCallbackBinder:Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
.line 59
invoke-interface {v0, p1, p2}, Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;->onExtraCallback(Ljava/lang/String;Landroid/os/Bundle;)V
return-void
.end method

View File

@@ -0,0 +1,54 @@
.class public Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;
.super Ljava/lang/Object;
.source "SourceFile"
# 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 private static final ID:I
# direct methods
.method public constructor <init>()V
.locals 0
.line 51
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
.line 57
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
.line 58
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View File

@@ -0,0 +1,128 @@
.class public Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;
.super Ljava/lang/Object;
.source "SourceFile"
# 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 private 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 private final mIsSticky:Z
.field private final mLayoutInDisplayCutoutMode:I
# direct methods
.method public constructor <init>(ZI)V
.locals 0
.line 97
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
.line 105
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;
const-string v1, "androidx.browser.trusted.displaymode.KEY_STICKY"
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->getBoolean(Ljava/lang/String;)Z
move-result v1
const-string v2, "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
.line 106
invoke-virtual {p0, v2}, Landroid/os/BaseBundle;->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
.line 112
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
.line 113
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
const-string v1, "androidx.browser.trusted.displaymode.KEY_STICKY"
iget-boolean v2, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mIsSticky:Z
.line 114
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
const-string v1, "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
iget v2, p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->mLayoutInDisplayCutoutMode:I
.line 115
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View File

@@ -0,0 +1,61 @@
.class public interface abstract Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;,
Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;
}
.end annotation
# static fields
.field public static final KEY_ID:Ljava/lang/String; = "androidx.browser.trusted.displaymode.KEY_ID"
# direct methods
.method public static fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.locals 2
.param p0 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-string v0, "androidx.browser.trusted.displaymode.KEY_ID"
.line 34
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->getInt(Ljava/lang/String;)I
move-result v0
const/4 v1, 0x1
if-eq v0, v1, :cond_0
.line 39
new-instance p0, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$DefaultMode;-><init>()V
return-object p0
.line 36
:cond_0
invoke-static {p0}, Landroidx/browser/trusted/TrustedWebActivityDisplayMode$ImmersiveMode;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public abstract toBundle()Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end method

View File

@@ -0,0 +1,127 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityIntent;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private final mIntent:Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private 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
.line 38
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;
.line 52
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;
.line 53
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
.line 47
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
.line 48
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,479 @@
.class public Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.super Ljava/lang/Object;
.source "SourceFile"
# 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_SCREEN_ORIENTATION:Ljava/lang/String; = "androidx.browser.trusted.extra.SCREEN_ORIENTATION"
.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 private 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 private mDisplayMode:Landroidx/browser/trusted/TrustedWebActivityDisplayMode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private mScreenOrientation:I
.field private mShareData:Landroidx/browser/trusted/sharing/ShareData;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mShareTarget:Landroidx/browser/trusted/sharing/ShareTarget;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private mSplashScreenParams:Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private 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
.line 106
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 81
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;
.line 94
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;
const/4 v0, 0x0
iput v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mScreenOrientation:I
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;
.line 290
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;
.line 291
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;
.line 292
invoke-virtual {p1, v0}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const-string v0, "android.support.customtabs.extra.LAUNCH_AS_TRUSTED_WEB_ACTIVITY"
const/4 v1, 0x1
.line 293
invoke-virtual {p1, v0, v1}, 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
.line 295
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"
.line 300
invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
.line 302
: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
const-string v2, "androidx.browser.trusted.extra.SHARE_TARGET"
.line 304
invoke-virtual {v1}, Landroidx/browser/trusted/sharing/ShareTarget;->toBundle()Landroid/os/Bundle;
move-result-object v1
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;
.line 305
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;
.line 306
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;
.line 310
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;
const-string v1, "androidx.browser.trusted.extra.SCREEN_ORIENTATION"
iget v2, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mScreenOrientation:I
.line 311
invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 312
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
.line 287
: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;
.line 322
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/NonNull;
.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;
.line 164
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;
.line 178
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 setDefaultColorSchemeParams(Landroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 1
.param p1 # 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;
.line 193
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setDefaultColorSchemeParams(Landroidx/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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
.line 135
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setNavigationBarColor(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method
.method public setNavigationBarDividerColor(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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
.line 148
invoke-virtual {v0, p1}, Landroidx/browser/customtabs/CustomTabsIntent$Builder;->setNavigationBarDividerColor(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;
return-object p0
.end method
.method public setScreenOrientation(I)Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;
.locals 0
.annotation build Landroidx/annotation/NonNull;
.end annotation
iput p1, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mScreenOrientation:I
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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityIntentBuilder;->mIntentBuilder:Landroidx/browser/customtabs/CustomTabsIntent$Builder;
.line 123
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,317 @@
.class Landroidx/browser/trusted/TrustedWebActivityService$1;
.super Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;
.source "SourceFile"
# 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 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;
.line 130
invoke-direct {p0}, Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;-><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;
.line 196
iget v1, v0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
const/4 v2, -0x1
if-ne v1, v2, :cond_2
.line 197
invoke-virtual {v0}, Landroid/content/Context;->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;
.line 203
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;
.line 204
invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
if-eqz v2, :cond_2
.line 207
array-length v4, v0
:goto_0
if-ge v1, v4, :cond_2
aget-object v5, v0, v1
.line 208
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;
.line 209
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;
.line 216
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
.line 218
: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
.line 133
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
.line 135
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;
.line 136
iget-object p1, p1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->channelName:Ljava/lang/String;
.line 137
invoke-virtual {v0, p1}, Landroidx/browser/trusted/TrustedWebActivityService;->onAreNotificationsEnabled(Ljava/lang/String;)Z
move-result p1
.line 139
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
.line 157
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
.line 159
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;
.line 161
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 extraCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/IBinder;)Landroid/os/Bundle;
.locals 1
.line 189
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;
.line 192
invoke-static {p3}, Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;->fromBinder(Landroid/os/IBinder;)Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;
move-result-object p3
.line 191
invoke-virtual {v0, p1, p2, p3}, Landroidx/browser/trusted/TrustedWebActivityService;->onExtraCommand(Ljava/lang/String;Landroid/os/Bundle;Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;)Landroid/os/Bundle;
move-result-object p1
return-object p1
.end method
.method public getActiveNotifications()Landroid/os/Bundle;
.locals 2
.line 166
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
.line 168
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityService$1;->this$0:Landroidx/browser/trusted/TrustedWebActivityService;
.line 169
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
.line 181
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;
.line 183
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
.line 174
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;
.line 176
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
.annotation build Landroidx/annotation/RequiresPermission;
value = "android.permission.POST_NOTIFICATIONS"
.end annotation
.line 145
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService$1;->checkCaller()V
.line 147
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;
.line 149
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
.line 152
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,461 @@
.class public abstract Landroidx/browser/trusted/TrustedWebActivityService;
.super Landroid/app/Service;
.source "SourceFile"
# 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 KEY_SUCCESS:Ljava/lang/String; = "androidx.browser.trusted.SUCCESS"
.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 private final mBinder:Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;
.field private mNotificationManager:Landroid/app/NotificationManager;
.field mVerifiedUid:I
# direct methods
.method public constructor <init>()V
.locals 1
.line 96
invoke-direct {p0}, Landroid/app/Service;-><init>()V
const/4 v0, -0x1
iput v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mVerifiedUid:I
.line 129
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;
return-void
.end method
.method private static channelNameToId(Ljava/lang/String;)Ljava/lang/String;
.locals 3
.line 423
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
.line 428
: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 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.line 242
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
.line 244
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
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
.line 249
invoke-static {p1}, Landroidx/browser/trusted/TrustedWebActivityService;->channelNameToId(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 248
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService$Stub;
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
.line 296
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
.line 297
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
.line 230
invoke-super {p0}, Landroid/app/Service;->onCreate()V
const-string v0, "notification"
.line 232
invoke-virtual {p0, v0}, Landroid/content/Context;->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 onExtraCommand(Ljava/lang/String;Landroid/os/Bundle;Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;)Landroid/os/Bundle;
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/browser/trusted/TrustedWebActivityCallbackRemote;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/BinderThread;
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 p1, 0x0
return-object p1
.end method
.method public onGetActiveNotifications()[Landroid/os/Parcelable;
.locals 1
.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
.line 311
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityService;->mNotificationManager:Landroid/app/NotificationManager;
.line 313
invoke-static {v0}, Landroidx/browser/trusted/NotificationApiHelperForM;->getActiveNotifications(Landroid/app/NotificationManager;)[Landroid/os/Parcelable;
move-result-object v0
return-object 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
.line 325
invoke-virtual {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->onGetSmallIconId()I
move-result v0
.line 326
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
.line 331
:cond_0
invoke-virtual {p0}, Landroid/content/Context;->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"
.line 330
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
.line 348
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
new-instance v2, Landroid/content/ComponentName;
.line 349
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
.line 348
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
move-result-object v1
.line 351
iget-object v1, v1, Landroid/content/pm/ServiceInfo;->metaData:Landroid/os/Bundle;
if-nez v1, :cond_0
return v0
:cond_0
const-string v2, "android.support.customtabs.trusted.SMALL_ICON"
.line 353
invoke-virtual {v1, v2, v0}, Landroid/os/BaseBundle;->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
.annotation build Landroidx/annotation/RequiresPermission;
value = "android.permission.POST_NOTIFICATIONS"
.end annotation
.line 269
invoke-direct {p0}, Landroidx/browser/trusted/TrustedWebActivityService;->ensureOnCreateCalled()V
.line 271
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
.line 274
:cond_0
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;
.line 275
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;
.line 278
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;
.line 283
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
.line 373
invoke-super {p0, p1}, Landroid/app/Service;->onUnbind(Landroid/content/Intent;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,49 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$1;
.super Landroid/support/customtabs/trusted/ITrustedWebActivityCallback$Stub;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->wrapCallback(Landroidx/browser/trusted/TrustedWebActivityCallback;)Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic val$callback:Landroidx/browser/trusted/TrustedWebActivityCallback;
# direct methods
.method public constructor <init>(Landroidx/browser/trusted/TrustedWebActivityCallback;)V
.locals 0
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$1;->val$callback:Landroidx/browser/trusted/TrustedWebActivityCallback;
.line 317
invoke-direct {p0}, Landroid/support/customtabs/trusted/ITrustedWebActivityCallback$Stub;-><init>()V
return-void
.end method
# virtual methods
.method public onExtraCallback(Ljava/lang/String;Landroid/os/Bundle;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$1;->val$callback:Landroidx/browser/trusted/TrustedWebActivityCallback;
.line 321
invoke-virtual {v0, p1, p2}, Landroidx/browser/trusted/TrustedWebActivityCallback;->onExtraCallback(Ljava/lang/String;Landroid/os/Bundle;)V
return-void
.end method

View File

@@ -0,0 +1,71 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 271
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"
.line 277
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.line 278
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
.line 282
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.trusted.ACTIVE_NOTIFICATIONS"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;->notifications:[Landroid/os/Parcelable;
.line 283
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
return-object v0
.end method

View File

@@ -0,0 +1,92 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 228
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"
.line 234
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"
.line 235
invoke-static {p0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.line 237
new-instance v2, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 238
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->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
.line 242
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.trusted.PLATFORM_TAG"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformTag:Ljava/lang/String;
.line 243
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "android.support.customtabs.trusted.PLATFORM_ID"
iget v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;->platformId:I
.line 244
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method

View File

@@ -0,0 +1,71 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 291
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"
.line 296
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.line 297
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->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
.line 301
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.trusted.CHANNEL_NAME"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;->channelName:Ljava/lang/String;
.line 302
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method

View File

@@ -0,0 +1,136 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 194
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"
.line 203
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"
.line 204
invoke-static {p0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
const-string v2, "android.support.customtabs.trusted.NOTIFICATION"
.line 205
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"
.line 206
invoke-static {p0, v3}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.line 208
new-instance v4, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 209
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->getInt(Ljava/lang/String;)I
move-result v1
.line 210
invoke-virtual {p0, v2}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v2
check-cast v2, Landroid/app/Notification;
.line 211
invoke-virtual {p0, v3}, Landroid/os/BaseBundle;->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
.line 215
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.trusted.PLATFORM_TAG"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformTag:Ljava/lang/String;
.line 216
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "android.support.customtabs.trusted.PLATFORM_ID"
iget v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->platformId:I
.line 217
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
const-string v1, "android.support.customtabs.trusted.NOTIFICATION"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->notification:Landroid/app/Notification;
.line 218
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string v1, "android.support.customtabs.trusted.CHANNEL_NAME"
iget-object v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;->channelName:Ljava/lang/String;
.line 219
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method

View File

@@ -0,0 +1,71 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 252
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"
.line 257
invoke-static {p0, v0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->ensureBundleContains(Landroid/os/Bundle;Ljava/lang/String;)V
.line 258
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->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
.line 262
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.trusted.NOTIFICATION_SUCCESS"
iget-boolean v2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;->success:Z
.line 263
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
return-object v0
.end method

View File

@@ -0,0 +1,378 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityServiceConnection;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotificationsEnabledArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ResultArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$NotifyNotificationArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$CancelNotificationArgs;,
Landroidx/browser/trusted/TrustedWebActivityServiceConnection$ActiveNotificationsArgs;
}
.end annotation
# static fields
.field private static final KEY_ACTIVE_NOTIFICATIONS:Ljava/lang/String; = "android.support.customtabs.trusted.ACTIVE_NOTIFICATIONS"
.field private static final KEY_CHANNEL_NAME:Ljava/lang/String; = "android.support.customtabs.trusted.CHANNEL_NAME"
.field private static final KEY_NOTIFICATION:Ljava/lang/String; = "android.support.customtabs.trusted.NOTIFICATION"
.field private static final KEY_NOTIFICATION_SUCCESS:Ljava/lang/String; = "android.support.customtabs.trusted.NOTIFICATION_SUCCESS"
.field private static final KEY_PLATFORM_ID:Ljava/lang/String; = "android.support.customtabs.trusted.PLATFORM_ID"
.field private static final KEY_PLATFORM_TAG:Ljava/lang/String; = "android.support.customtabs.trusted.PLATFORM_TAG"
# instance fields
.field private final mComponentName:Landroid/content/ComponentName;
.field private final mService:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
# direct methods
.method public constructor <init>(Landroid/support/customtabs/trusted/ITrustedWebActivityService;Landroid/content/ComponentName;)V
.locals 0
.param p1 # Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/ComponentName;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 66
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
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 2
.line 309
invoke-virtual {p0, p1}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
move-result p0
if-eqz p0, :cond_0
return-void
.line 310
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Bundle must contain "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private static wrapCallback(Landroidx/browser/trusted/TrustedWebActivityCallback;)Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
.locals 1
.param p0 # Landroidx/browser/trusted/TrustedWebActivityCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 317
:cond_0
new-instance v0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$1;
invoke-direct {v0, p0}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection$1;-><init>(Landroidx/browser/trusted/TrustedWebActivityCallback;)V
return-object v0
.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
.line 79
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 80
invoke-interface {v0, p1}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->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
.line 109
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 110
invoke-interface {p2, p1}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 127
invoke-interface {v0}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->getActiveNotifications()Landroid/os/Bundle;
move-result-object v0
.line 128
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 152
invoke-interface {v0}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->getSmallIconBitmap()Landroid/os/Bundle;
move-result-object v0
const-string v1, "android.support.customtabs.trusted.SMALL_ICON_BITMAP"
.line 153
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 138
invoke-interface {v0}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->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
.line 96
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
.line 97
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:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 98
invoke-interface {p2, p1}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->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
.method public sendExtraCommand(Ljava/lang/String;Landroid/os/Bundle;Landroidx/browser/trusted/TrustedWebActivityCallback;)Landroid/os/Bundle;
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/browser/trusted/TrustedWebActivityCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.line 182
invoke-static {p3}, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->wrapCallback(Landroidx/browser/trusted/TrustedWebActivityCallback;)Landroid/support/customtabs/trusted/ITrustedWebActivityCallback;
move-result-object p3
if-nez p3, :cond_0
const/4 p3, 0x0
goto :goto_0
.line 183
:cond_0
invoke-interface {p3}, Landroid/os/IInterface;->asBinder()Landroid/os/IBinder;
move-result-object p3
:goto_0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnection;->mService:Landroid/support/customtabs/trusted/ITrustedWebActivityService;
.line 184
invoke-interface {v0, p1, p2, p3}, Landroid/support/customtabs/trusted/ITrustedWebActivityService;->extraCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/IBinder;)Landroid/os/Bundle;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,42 @@
.class public final synthetic Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field public final synthetic f$0:Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
.field public final synthetic f$1:Landroid/net/Uri;
# direct methods
.method public synthetic constructor <init>(Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;Landroid/net/Uri;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;->f$0:Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
iput-object p2, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;->f$1:Landroid/net/Uri;
return-void
.end method
# virtual methods
.method public final run()V
.locals 2
.line 0
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;->f$0:Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
iget-object v1, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;->f$1:Landroid/net/Uri;
invoke-static {v0, v1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->$r8$lambda$UnV68pH1fPB4ehvH7n0YXCAXMiI(Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;Landroid/net/Uri;)V
return-void
.end method

View File

@@ -0,0 +1,153 @@
.class Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;
.super Landroid/os/AsyncTask;
.source "SourceFile"
# 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 private final mAppContext:Landroid/content/Context;
.field private final mConnection:Landroidx/browser/trusted/ConnectionHolder;
.field private final mIntent:Landroid/content/Intent;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/content/Intent;Landroidx/browser/trusted/ConnectionHolder;)V
.locals 0
.line 137
invoke-direct {p0}, Landroid/os/AsyncTask;-><init>()V
.line 138
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/16 v2, 0x1001
.line 149
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;
.line 154
invoke-virtual {p1, v0}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V
.line 155
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."
.line 157
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
.line 131
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;
.line 164
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
.line 131
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,554 @@
.class public final Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$BindToServiceAsyncTask;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "TWAConnectionPool"
# instance fields
.field private 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 private final mContext:Landroid/content/Context;
# direct methods
.method public static synthetic $r8$lambda$UnV68pH1fPB4ehvH7n0YXCAXMiI(Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;Landroid/net/Uri;)V
.locals 0
.line 0
invoke-direct {p0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->lambda$connect$0(Landroid/net/Uri;)V
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 55
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;
.line 58
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
.line 67
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
.line 211
invoke-interface {p3}, Ljava/util/Set;->size()I
move-result v1
if-nez v1, :cond_0
goto/16 :goto_1
.line 216
:cond_0
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
.line 217
invoke-virtual {v1, p2}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const-string v2, "android.intent.action.VIEW"
.line 218
invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 219
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
const/high16 v3, 0x10000
.line 220
invoke-virtual {v2, v1, v3}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v1
.line 224
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;
.line 225
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;
.line 227
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;
.line 228
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
.line 236
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
.line 241
:cond_5
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
.line 242
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"
.line 243
invoke-virtual {v1, v3}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 245
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
.line 249
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Could not find TWAService for "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v2}, 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_6
return-object v0
:cond_7
if-eqz p4, :cond_8
.line 254
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "Found "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p4, p1, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;
iget-object p4, p4, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p4, " to handle request for "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 256
:cond_8
new-instance p2, Landroid/content/Intent;
invoke-direct {p2}, Landroid/content/Intent;-><init>()V
.line 257
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
.method private synthetic lambda$connect$0(Landroid/net/Uri;)V
.locals 1
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
.line 121
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public connect(Landroid/net/Uri;Ljava/util/Set;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
.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;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture;"
}
.end annotation
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
.line 108
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
.line 110
invoke-virtual {v0}, Landroidx/browser/trusted/ConnectionHolder;->getServiceWrapper()Lcom/google/common/util/concurrent/ListenableFuture;
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
.line 115
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
.line 117
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;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.line 121
:cond_1
new-instance v0, Landroidx/browser/trusted/ConnectionHolder;
new-instance v1, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;
invoke-direct {v1, p0, p1}, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool$$ExternalSyntheticLambda0;-><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;
.line 122
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 125
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;
.line 126
invoke-virtual {p1, p3, p2}, Landroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
.line 128
invoke-virtual {v0}, Landroidx/browser/trusted/ConnectionHolder;->getServiceWrapper()Lcom/google/common/util/concurrent/ListenableFuture;
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;
.line 188
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
.line 190
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
move v1, v2
:goto_0
return v1
.end method
.method public unbindAllConnections()V
.locals 3
iget-object v0, p0, Landroidx/browser/trusted/TrustedWebActivityServiceConnectionPool;->mConnections:Ljava/util/Map;
.line 197
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;
.line 198
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;
.line 200
invoke-interface {v0}, Ljava/util/Map;->clear()V
return-void
.end method

View File

@@ -0,0 +1,157 @@
.class public final Landroidx/browser/trusted/sharing/ShareData;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 60
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
.line 82
new-instance v0, Landroidx/browser/trusted/sharing/ShareData;
const-string v1, "androidx.browser.trusted.sharing.KEY_TITLE"
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_TEXT"
.line 83
invoke-virtual {p0, v2}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "androidx.browser.trusted.sharing.KEY_URIS"
.line 84
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
.line 69
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.sharing.KEY_TITLE"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareData;->title:Ljava/lang/String;
.line 70
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "androidx.browser.trusted.sharing.KEY_TEXT"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareData;->text:Ljava/lang/String;
.line 71
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->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
.line 73
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 "SourceFile"
# 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,157 @@
.class public final Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 265
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->name:Ljava/lang/String;
.line 267
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"
.line 285
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_ACCEPTED_TYPES"
.line 286
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
.line 290
: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
.line 273
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.sharing.KEY_FILE_NAME"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->name:Ljava/lang/String;
.line 274
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 275
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,238 @@
.class public Landroidx/browser/trusted/sharing/ShareTarget$Params;
.super Ljava/lang/Object;
.source "SourceFile"
# 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
.line 196
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"
.line 227
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object v1
if-eqz v1, :cond_1
.line 229
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 230
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;
.line 231
invoke-static {v2}, Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;->fromBundle(Landroid/os/Bundle;)Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 234
: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/BaseBundle;->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/BaseBundle;->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
.line 205
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.sharing.KEY_TITLE"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->title:Ljava/lang/String;
.line 206
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "androidx.browser.trusted.sharing.KEY_TEXT"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget$Params;->text:Ljava/lang/String;
.line 207
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->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
.line 209
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;
.line 210
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;
.line 211
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"
.line 213
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 "SourceFile"
# 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,204 @@
.class public final Landroidx/browser/trusted/sharing/ShareTarget;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/browser/trusted/sharing/ShareTarget$Params;,
Landroidx/browser/trusted/sharing/ShareTarget$FileFormField;,
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
.line 128
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"
.line 149
invoke-virtual {p0, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "androidx.browser.trusted.sharing.KEY_METHOD"
.line 150
invoke-virtual {p0, v1}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "androidx.browser.trusted.sharing.KEY_ENCTYPE"
.line 151
invoke-virtual {p0, v2}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "androidx.browser.trusted.sharing.KEY_PARAMS"
.line 152
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
.line 156
: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
.line 138
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "androidx.browser.trusted.sharing.KEY_ACTION"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget;->action:Ljava/lang/String;
.line 139
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "androidx.browser.trusted.sharing.KEY_METHOD"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget;->method:Ljava/lang/String;
.line 140
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "androidx.browser.trusted.sharing.KEY_ENCTYPE"
iget-object v2, p0, Landroidx/browser/trusted/sharing/ShareTarget;->encodingType:Ljava/lang/String;
.line 141
invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Landroidx/browser/trusted/sharing/ShareTarget;->params:Landroidx/browser/trusted/sharing/ShareTarget$Params;
.line 142
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,26 @@
.class public final Landroidx/browser/trusted/splashscreens/SplashScreenParamKey;
.super Ljava/lang/Object;
.source "SourceFile"
# 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 private constructor <init>()V
.locals 0
.line 71
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

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