CustomTabsSession.smali
.class public final Landroidx/browser/customtabs/CustomTabsSession;
.super Ljava/lang/Object;
.source "CustomTabsSession.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "CustomTabsSession"
# instance fields
.field private final mCallback:Landroid/support/customtabs/ICustomTabsCallback;
.field private final mComponentName:Landroid/content/ComponentName;
.field private final mLock:Ljava/lang/Object;
.field private final mService:Landroid/support/customtabs/ICustomTabsService;
# direct methods
.method constructor <init>(Landroid/support/customtabs/ICustomTabsService;Landroid/support/customtabs/ICustomTabsCallback;Landroid/content/ComponentName;)V
.registers 5
.line 64
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 43
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mLock:Ljava/lang/Object;
.line 65
iput-object p1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
.line 66
iput-object p2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
.line 67
iput-object p3, p0, Landroidx/browser/customtabs/CustomTabsSession;->mComponentName:Landroid/content/ComponentName;
return-void
.end method
.method public static createMockSessionForTesting(Landroid/content/ComponentName;)Landroidx/browser/customtabs/CustomTabsSession;
.registers 4
.line 59
new-instance v0, Landroidx/browser/customtabs/CustomTabsSession;
new-instance v1, Landroidx/browser/customtabs/CustomTabsSessionToken$MockCallback;
invoke-direct {v1}, Landroidx/browser/customtabs/CustomTabsSessionToken$MockCallback;-><init>()V
const/4 v2, 0x0
invoke-direct {v0, v2, v1, p0}, Landroidx/browser/customtabs/CustomTabsSession;-><init>(Landroid/support/customtabs/ICustomTabsService;Landroid/support/customtabs/ICustomTabsCallback;Landroid/content/ComponentName;)V
return-object v0
.end method
# virtual methods
.method getBinder()Landroid/os/IBinder;
.registers 2
.line 240
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {v0}, Landroid/support/customtabs/ICustomTabsCallback;->asBinder()Landroid/os/IBinder;
move-result-object v0
return-object v0
.end method
.method getComponentName()Landroid/content/ComponentName;
.registers 2
.line 244
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mComponentName:Landroid/content/ComponentName;
return-object v0
.end method
.method public mayLaunchUrl(Landroid/net/Uri;Landroid/os/Bundle;Ljava/util/List;)Z
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Landroid/os/Bundle;",
"Ljava/util/List<",
"Landroid/os/Bundle;",
">;)Z"
}
.end annotation
.line 88
:try_start_0
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object v1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {v0, v1, p1, p2, p3}, Landroid/support/customtabs/ICustomTabsService;->mayLaunchUrl(Landroid/support/customtabs/ICustomTabsCallback;Landroid/net/Uri;Landroid/os/Bundle;Ljava/util/List;)Z
move-result p1
:try_end_8
.catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_8} :catch_9
return p1
:catch_9
const/4 p1, 0x0
return p1
.end method
.method public postMessage(Ljava/lang/String;Landroid/os/Bundle;)I
.registers 6
.line 197
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mLock:Ljava/lang/Object;
monitor-enter v0
.line 199
:try_start_3
iget-object v1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object v2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {v1, v2, p1, p2}, Landroid/support/customtabs/ICustomTabsService;->postMessage(Landroid/support/customtabs/ICustomTabsCallback;Ljava/lang/String;Landroid/os/Bundle;)I
move-result p1
:try_end_b
.catch Landroid/os/RemoteException; {:try_start_3 .. :try_end_b} :catch_f
.catchall {:try_start_3 .. :try_end_b} :catchall_d
:try_start_b
monitor-exit v0
return p1
:catchall_d
move-exception p1
goto :goto_12
:catch_f
const/4 p1, -0x2
.line 201
monitor-exit v0
return p1
.line 203
:goto_12
monitor-exit v0
:try_end_13
.catchall {:try_start_b .. :try_end_13} :catchall_d
throw p1
.end method
.method public requestPostMessageChannel(Landroid/net/Uri;)Z
.registers 4
.line 176
:try_start_0
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object v1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {v0, v1, p1}, Landroid/support/customtabs/ICustomTabsService;->requestPostMessageChannel(Landroid/support/customtabs/ICustomTabsCallback;Landroid/net/Uri;)Z
move-result p1
:try_end_8
.catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_8} :catch_9
return p1
:catch_9
const/4 p1, 0x0
return p1
.end method
.method public setActionButton(Landroid/graphics/Bitmap;Ljava/lang/String;)Z
.registers 5
.line 104
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.customaction.ICON"
.line 105
invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string p1, "android.support.customtabs.customaction.DESCRIPTION"
.line 106
invoke-virtual {v0, p1, p2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 108
new-instance p1, Landroid/os/Bundle;
invoke-direct {p1}, Landroid/os/Bundle;-><init>()V
const-string p2, "android.support.customtabs.extra.ACTION_BUTTON_BUNDLE"
.line 109
invoke-virtual {p1, p2, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 111
:try_start_19
iget-object p2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object v0, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {p2, v0, p1}, Landroid/support/customtabs/ICustomTabsService;->updateVisuals(Landroid/support/customtabs/ICustomTabsCallback;Landroid/os/Bundle;)Z
move-result p1
:try_end_21
.catch Landroid/os/RemoteException; {:try_start_19 .. :try_end_21} :catch_22
return p1
:catch_22
const/4 p1, 0x0
return p1
.end method
.method public setSecondaryToolbarViews(Landroid/widget/RemoteViews;[ILandroid/app/PendingIntent;)Z
.registers 6
.line 128
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.extra.EXTRA_REMOTEVIEWS"
.line 129
invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string p1, "android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS"
.line 130
invoke-virtual {v0, p1, p2}, Landroid/os/Bundle;->putIntArray(Ljava/lang/String;[I)V
const-string p1, "android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT"
.line 131
invoke-virtual {v0, p1, p3}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 133
:try_start_14
iget-object p1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object p2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {p1, p2, v0}, Landroid/support/customtabs/ICustomTabsService;->updateVisuals(Landroid/support/customtabs/ICustomTabsCallback;Landroid/os/Bundle;)Z
move-result p1
:try_end_1c
.catch Landroid/os/RemoteException; {:try_start_14 .. :try_end_1c} :catch_1d
return p1
:catch_1d
const/4 p1, 0x0
return p1
.end method
.method public setToolbarItem(ILandroid/graphics/Bitmap;Ljava/lang/String;)Z
.registers 6
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 151
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "android.support.customtabs.customaction.ID"
.line 152
invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string p1, "android.support.customtabs.customaction.ICON"
.line 153
invoke-virtual {v0, p1, p2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string p1, "android.support.customtabs.customaction.DESCRIPTION"
.line 154
invoke-virtual {v0, p1, p3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 156
new-instance p1, Landroid/os/Bundle;
invoke-direct {p1}, Landroid/os/Bundle;-><init>()V
const-string p2, "android.support.customtabs.extra.ACTION_BUTTON_BUNDLE"
.line 157
invoke-virtual {p1, p2, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 159
:try_start_1e
iget-object p2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object p3, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {p2, p3, p1}, Landroid/support/customtabs/ICustomTabsService;->updateVisuals(Landroid/support/customtabs/ICustomTabsCallback;Landroid/os/Bundle;)Z
move-result p1
:try_end_26
.catch Landroid/os/RemoteException; {:try_start_1e .. :try_end_26} :catch_27
return p1
:catch_27
const/4 p1, 0x0
return p1
.end method
.method public validateRelationship(ILandroid/net/Uri;Landroid/os/Bundle;)Z
.registers 7
const/4 v0, 0x0
const/4 v1, 0x1
if-lt p1, v1, :cond_11
const/4 v1, 0x2
if-le p1, v1, :cond_8
goto :goto_11
.line 233
:cond_8
:try_start_8
iget-object v1, p0, Landroidx/browser/customtabs/CustomTabsSession;->mService:Landroid/support/customtabs/ICustomTabsService;
iget-object v2, p0, Landroidx/browser/customtabs/CustomTabsSession;->mCallback:Landroid/support/customtabs/ICustomTabsCallback;
invoke-interface {v1, v2, p1, p2, p3}, Landroid/support/customtabs/ICustomTabsService;->validateRelationship(Landroid/support/customtabs/ICustomTabsCallback;ILandroid/net/Uri;Landroid/os/Bundle;)Z
move-result p1
:try_end_10
.catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_10} :catch_11
return p1
:catch_11
:cond_11
:goto_11
return v0
.end method