NotificationCompatJellybean.smali
.class Landroid/support/v4/app/NotificationCompatJellybean;
.super Ljava/lang/Object;
.source "NotificationCompatJellybean.java"
# annotations
.annotation build Landroid/support/annotation/RequiresApi;
value = 0x10
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroid/support/v4/app/NotificationCompatJellybean$Builder;
}
.end annotation
# static fields
.field static final EXTRA_ALLOW_GENERATED_REPLIES:Ljava/lang/String; = "android.support.allowGeneratedReplies"
.field static final EXTRA_DATA_ONLY_REMOTE_INPUTS:Ljava/lang/String; = "android.support.dataRemoteInputs"
.field private static final KEY_ACTION_INTENT:Ljava/lang/String; = "actionIntent"
.field private static final KEY_DATA_ONLY_REMOTE_INPUTS:Ljava/lang/String; = "dataOnlyRemoteInputs"
.field private static final KEY_EXTRAS:Ljava/lang/String; = "extras"
.field private static final KEY_ICON:Ljava/lang/String; = "icon"
.field private static final KEY_REMOTE_INPUTS:Ljava/lang/String; = "remoteInputs"
.field private static final KEY_TITLE:Ljava/lang/String; = "title"
.field public static final TAG:Ljava/lang/String; = "NotificationCompat"
.field private static sActionClass:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
.field private static sActionIconField:Ljava/lang/reflect/Field;
.field private static sActionIntentField:Ljava/lang/reflect/Field;
.field private static sActionTitleField:Ljava/lang/reflect/Field;
.field private static sActionsAccessFailed:Z
.field private static sActionsField:Ljava/lang/reflect/Field;
.field private static final sActionsLock:Ljava/lang/Object;
.field private static sExtrasField:Ljava/lang/reflect/Field;
.field private static sExtrasFieldAccessFailed:Z
.field private static final sExtrasLock:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 50
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasLock:Ljava/lang/Object;
.line 54
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
return-void
.end method
.method constructor <init>()V
.registers 1
.prologue
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 62
return-void
.end method
.method public static addBigPictureStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Z)V
.registers 9
.prologue
.line 179
new-instance v0, Landroid/app/Notification$BigPictureStyle;
invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
move-result-object v1
invoke-direct {v0, v1}, Landroid/app/Notification$BigPictureStyle;-><init>(Landroid/app/Notification$Builder;)V
.line 180
invoke-virtual {v0, p1}, Landroid/app/Notification$BigPictureStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
move-result-object v0
.line 181
invoke-virtual {v0, p4}, Landroid/app/Notification$BigPictureStyle;->bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;
move-result-object v0
.line 182
if-eqz p6, :cond_16
.line 183
invoke-virtual {v0, p5}, Landroid/app/Notification$BigPictureStyle;->bigLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;
.line 185
:cond_16
if-eqz p2, :cond_1b
.line 186
invoke-virtual {v0, p3}, Landroid/app/Notification$BigPictureStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
.line 188
:cond_1b
return-void
.end method
.method public static addBigTextStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/lang/CharSequence;)V
.registers 7
.prologue
.line 167
new-instance v0, Landroid/app/Notification$BigTextStyle;
invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
move-result-object v1
invoke-direct {v0, v1}, Landroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V
.line 168
invoke-virtual {v0, p1}, Landroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
move-result-object v0
.line 169
invoke-virtual {v0, p4}, Landroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
move-result-object v0
.line 170
if-eqz p2, :cond_16
.line 171
invoke-virtual {v0, p3}, Landroid/app/Notification$BigTextStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
.line 173
:cond_16
return-void
.end method
.method public static addInboxStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/util/ArrayList;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;",
"Ljava/lang/CharSequence;",
"Z",
"Ljava/lang/CharSequence;",
"Ljava/util/ArrayList",
"<",
"Ljava/lang/CharSequence;",
">;)V"
}
.end annotation
.prologue
.line 193
new-instance v0, Landroid/app/Notification$InboxStyle;
invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
move-result-object v1
invoke-direct {v0, v1}, Landroid/app/Notification$InboxStyle;-><init>(Landroid/app/Notification$Builder;)V
.line 194
invoke-virtual {v0, p1}, Landroid/app/Notification$InboxStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
move-result-object v1
.line 195
if-eqz p2, :cond_12
.line 196
invoke-virtual {v1, p3}, Landroid/app/Notification$InboxStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
.line 198
:cond_12
invoke-virtual {p4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_16
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_26
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/CharSequence;
.line 199
invoke-virtual {v1, v0}, Landroid/app/Notification$InboxStyle;->addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
goto :goto_16
.line 201
:cond_26
return-void
.end method
.method public static buildActionExtrasMap(Ljava/util/List;)Landroid/util/SparseArray;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Landroid/os/Bundle;",
">;)",
"Landroid/util/SparseArray",
"<",
"Landroid/os/Bundle;",
">;"
}
.end annotation
.prologue
.line 205
const/4 v1, 0x0
.line 206
const/4 v0, 0x0
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v3
move v2, v0
:goto_7
if-ge v2, v3, :cond_1f
.line 207
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/Bundle;
.line 208
if-eqz v0, :cond_1b
.line 209
if-nez v1, :cond_18
.line 210
new-instance v1, Landroid/util/SparseArray;
invoke-direct {v1}, Landroid/util/SparseArray;-><init>()V
.line 212
:cond_18
invoke-virtual {v1, v2, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 206
:cond_1b
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_7
.line 215
:cond_1f
return-object v1
.end method
.method private static ensureActionReflectionReadyLocked()Z
.registers 5
.prologue
const/4 v1, 0x0
const/4 v0, 0x1
.line 347
sget-boolean v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
if-eqz v2, :cond_7
.line 366
:goto_6
return v1
.line 351
:cond_7
:try_start_7
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
if-nez v2, :cond_42
.line 352
const-string v2, "android.app.Notification$Action"
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
.line 353
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
const-string v3, "icon"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIconField:Ljava/lang/reflect/Field;
.line 354
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
const-string/jumbo v3, "title"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionTitleField:Ljava/lang/reflect/Field;
.line 355
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
const-string v3, "actionIntent"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIntentField:Ljava/lang/reflect/Field;
.line 356
const-class v2, Landroid/app/Notification;
const-string v3, "actions"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
.line 357
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_42
.catch Ljava/lang/ClassNotFoundException; {:try_start_7 .. :try_end_42} :catch_48
.catch Ljava/lang/NoSuchFieldException; {:try_start_7 .. :try_end_42} :catch_53
.line 366
:cond_42
:goto_42
sget-boolean v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
if-nez v2, :cond_5e
:goto_46
move v1, v0
goto :goto_6
.line 359
:catch_48
move-exception v2
.line 360
const-string v3, "NotificationCompat"
const-string v4, "Unable to access notification actions"
invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 361
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
goto :goto_42
.line 362
:catch_53
move-exception v2
.line 363
const-string v3, "NotificationCompat"
const-string v4, "Unable to access notification actions"
invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 364
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
goto :goto_42
:cond_5e
move v0, v1
.line 366
goto :goto_46
.end method
.method public static getAction(Landroid/app/Notification;ILandroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
.registers 12
.prologue
const/4 v6, 0x0
.line 302
sget-object v7, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
monitor-enter v7
.line 304
:try_start_4
invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
move-result-object v0
.line 305
if-eqz v0, :cond_4a
.line 306
aget-object v1, v0, p1
.line 308
invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
move-result-object v0
.line 309
if-eqz v0, :cond_50
.line 310
const-string v2, "android.support.actionExtras"
invoke-virtual {v0, v2}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v0
.line 312
if-eqz v0, :cond_50
.line 313
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/Bundle;
move-object v5, v0
.line 316
:goto_21
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIconField:Ljava/lang/reflect/Field;
.line 317
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
move-result v2
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionTitleField:Ljava/lang/reflect/Field;
.line 318
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/CharSequence;
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIntentField:Ljava/lang/reflect/Field;
.line 319
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/app/PendingIntent;
move-object v0, p2
move-object v1, p3
.line 316
invoke-static/range {v0 .. v5}, Landroid/support/v4/app/NotificationCompatJellybean;->readAction(Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;)Landroid/support/v4/app/NotificationCompatBase$Action;
:try_end_3c
.catch Ljava/lang/IllegalAccessException; {:try_start_4 .. :try_end_3c} :catch_3f
.catchall {:try_start_4 .. :try_end_3c} :catchall_4d
move-result-object v0
:try_start_3d
monitor-exit v7
.line 327
:goto_3e
return-object v0
.line 322
:catch_3f
move-exception v0
.line 323
const-string v1, "NotificationCompat"
const-string v2, "Unable to access notification actions"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 324
const/4 v0, 0x1
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
.line 326
:cond_4a
monitor-exit v7
move-object v0, v6
.line 327
goto :goto_3e
.line 326
:catchall_4d
move-exception v0
monitor-exit v7
:try_end_4f
.catchall {:try_start_3d .. :try_end_4f} :catchall_4d
throw v0
:cond_50
move-object v5, v6
goto :goto_21
.end method
.method public static getActionCount(Landroid/app/Notification;)I
.registers 3
.prologue
.line 293
sget-object v1, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
monitor-enter v1
.line 294
:try_start_3
invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
move-result-object v0
.line 295
if-eqz v0, :cond_c
array-length v0, v0
:goto_a
monitor-exit v1
return v0
:cond_c
const/4 v0, 0x0
goto :goto_a
.line 296
:catchall_e
move-exception v0
monitor-exit v1
:try_end_10
.catchall {:try_start_3 .. :try_end_10} :catchall_e
throw v0
.end method
.method private static getActionFromBundle(Landroid/os/Bundle;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
.registers 11
.prologue
const/4 v7, 0x0
.line 387
const-string v0, "extras"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object v0
.line 389
if-eqz v0, :cond_f
.line 390
const-string v1, "android.support.allowGeneratedReplies"
invoke-virtual {v0, v1, v7}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
move-result v7
.line 392
:cond_f
const-string v0, "icon"
.line 393
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result v1
const-string/jumbo v0, "title"
.line 394
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
move-result-object v2
const-string v0, "actionIntent"
.line 395
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v3
check-cast v3, Landroid/app/PendingIntent;
const-string v0, "extras"
.line 396
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object v4
const-string/jumbo v0, "remoteInputs"
.line 398
invoke-static {p0, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
move-result-object v0
.line 397
invoke-static {v0, p2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v5
const-string v0, "dataOnlyRemoteInputs"
.line 401
invoke-static {p0, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
move-result-object v0
.line 400
invoke-static {v0, p2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v6
move-object v0, p1
.line 392
invoke-interface/range {v0 .. v7}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->build(ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;Z)Landroid/support/v4/app/NotificationCompatBase$Action;
move-result-object v0
return-object v0
.end method
.method private static getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
.registers 6
.prologue
const/4 v1, 0x0
.line 331
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
monitor-enter v2
.line 332
:try_start_4
invoke-static {}, Landroid/support/v4/app/NotificationCompatJellybean;->ensureActionReflectionReadyLocked()Z
move-result v0
if-nez v0, :cond_d
.line 333
monitor-exit v2
:try_end_b
.catchall {:try_start_4 .. :try_end_b} :catchall_19
move-object v0, v1
.line 340
:goto_c
return-object v0
.line 336
:cond_d
:try_start_d
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
:try_end_17
.catch Ljava/lang/IllegalAccessException; {:try_start_d .. :try_end_17} :catch_1c
.catchall {:try_start_d .. :try_end_17} :catchall_19
:try_start_17
monitor-exit v2
goto :goto_c
.line 342
:catchall_19
move-exception v0
monitor-exit v2
:try_end_1b
.catchall {:try_start_17 .. :try_end_1b} :catchall_19
throw v0
.line 337
:catch_1c
move-exception v0
.line 338
:try_start_1d
const-string v3, "NotificationCompat"
const-string v4, "Unable to access notification actions"
invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 339
const/4 v0, 0x1
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
.line 340
monitor-exit v2
:try_end_28
.catchall {:try_start_1d .. :try_end_28} :catchall_19
move-object v0, v1
goto :goto_c
.end method
.method public static getActionsFromParcelableArrayList(Ljava/util/ArrayList;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/NotificationCompatBase$Action;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList",
"<",
"Landroid/os/Parcelable;",
">;",
"Landroid/support/v4/app/NotificationCompatBase$Action$Factory;",
"Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;",
")[",
"Landroid/support/v4/app/NotificationCompatBase$Action;"
}
.end annotation
.prologue
.line 373
if-nez p0, :cond_4
.line 374
const/4 v0, 0x0
.line 381
:goto_3
return-object v0
.line 376
:cond_4
invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
move-result v0
invoke-interface {p1, v0}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->newArray(I)[Landroid/support/v4/app/NotificationCompatBase$Action;
move-result-object v2
.line 377
const/4 v0, 0x0
move v1, v0
:goto_e
array-length v0, v2
if-ge v1, v0, :cond_21
.line 378
invoke-virtual {p0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/Bundle;
invoke-static {v0, p1, p2}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionFromBundle(Landroid/os/Bundle;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
move-result-object v0
aput-object v0, v2, v1
.line 377
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_e
:cond_21
move-object v0, v2
.line 381
goto :goto_3
.end method
.method private static getBundleForAction(Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
.registers 5
.prologue
.line 419
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
.line 420
const-string v0, "icon"
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getIcon()I
move-result v2
invoke-virtual {v1, v0, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
.line 421
const-string/jumbo v0, "title"
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getTitle()Ljava/lang/CharSequence;
move-result-object v2
invoke-virtual {v1, v0, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
.line 422
const-string v0, "actionIntent"
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getActionIntent()Landroid/app/PendingIntent;
move-result-object v2
invoke-virtual {v1, v0, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 424
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getExtras()Landroid/os/Bundle;
move-result-object v0
if-eqz v0, :cond_4d
.line 425
new-instance v0, Landroid/os/Bundle;
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getExtras()Landroid/os/Bundle;
move-result-object v2
invoke-direct {v0, v2}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
.line 429
:goto_30
const-string v2, "android.support.allowGeneratedReplies"
.line 430
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getAllowGeneratedReplies()Z
move-result v3
.line 429
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
.line 431
const-string v2, "extras"
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 432
const-string/jumbo v0, "remoteInputs"
.line 433
invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v2
.line 432
invoke-static {v2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->toBundleArray([Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)[Landroid/os/Bundle;
move-result-object v2
invoke-virtual {v1, v0, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
.line 434
return-object v1
.line 427
:cond_4d
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
goto :goto_30
.end method
.method public static getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
.registers 6
.prologue
const/4 v1, 0x0
.line 223
sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasLock:Ljava/lang/Object;
monitor-enter v2
.line 224
:try_start_4
sget-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
if-eqz v0, :cond_b
.line 225
monitor-exit v2
:try_end_9
.catchall {:try_start_4 .. :try_end_9} :catchall_4c
move-object v0, v1
.line 250
:goto_a
return-object v0
.line 228
:cond_b
:try_start_b
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
if-nez v0, :cond_36
.line 229
const-class v0, Landroid/app/Notification;
const-string v3, "extras"
invoke-virtual {v0, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 230
const-class v3, Landroid/os/Bundle;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v3
if-nez v3, :cond_30
.line 231
const-string v0, "NotificationCompat"
const-string v3, "Notification.extras field is not of type Bundle"
invoke-static {v0, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 232
const/4 v0, 0x1
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
:try_end_2d
.catch Ljava/lang/IllegalAccessException; {:try_start_b .. :try_end_2d} :catch_4f
.catch Ljava/lang/NoSuchFieldException; {:try_start_b .. :try_end_2d} :catch_5d
.catchall {:try_start_b .. :try_end_2d} :catchall_4c
.line 233
:try_start_2d
monitor-exit v2
:try_end_2e
.catchall {:try_start_2d .. :try_end_2e} :catchall_4c
move-object v0, v1
goto :goto_a
.line 235
:cond_30
const/4 v3, 0x1
:try_start_31
invoke-virtual {v0, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 236
sput-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
.line 238
:cond_36
sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/Bundle;
.line 239
if-nez v0, :cond_4a
.line 240
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
.line 241
sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
invoke-virtual {v3, p0, v0}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_4a
.catch Ljava/lang/IllegalAccessException; {:try_start_31 .. :try_end_4a} :catch_4f
.catch Ljava/lang/NoSuchFieldException; {:try_start_31 .. :try_end_4a} :catch_5d
.catchall {:try_start_31 .. :try_end_4a} :catchall_4c
.line 243
:cond_4a
:try_start_4a
monitor-exit v2
goto :goto_a
.line 251
:catchall_4c
move-exception v0
monitor-exit v2
:try_end_4e
.catchall {:try_start_4a .. :try_end_4e} :catchall_4c
throw v0
.line 244
:catch_4f
move-exception v0
.line 245
:try_start_50
const-string v3, "NotificationCompat"
const-string v4, "Unable to access notification extras"
invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 249
:goto_57
const/4 v0, 0x1
sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
.line 250
monitor-exit v2
move-object v0, v1
goto :goto_a
.line 246
:catch_5d
move-exception v0
.line 247
const-string v3, "NotificationCompat"
const-string v4, "Unable to access notification extras"
invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_65
.catchall {:try_start_50 .. :try_end_65} :catchall_4c
goto :goto_57
.end method
.method public static getParcelableArrayListForActions([Landroid/support/v4/app/NotificationCompatBase$Action;)Ljava/util/ArrayList;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Landroid/support/v4/app/NotificationCompatBase$Action;",
")",
"Ljava/util/ArrayList",
"<",
"Landroid/os/Parcelable;",
">;"
}
.end annotation
.prologue
.line 408
if-nez p0, :cond_4
.line 409
const/4 v0, 0x0
.line 415
:cond_3
return-object v0
.line 411
:cond_4
new-instance v0, Ljava/util/ArrayList;
array-length v1, p0
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 412
array-length v2, p0
const/4 v1, 0x0
:goto_c
if-ge v1, v2, :cond_3
aget-object v3, p0, v1
.line 413
invoke-static {v3}, Landroid/support/v4/app/NotificationCompatJellybean;->getBundleForAction(Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 412
add-int/lit8 v1, v1, 0x1
goto :goto_c
.end method
.method public static readAction(Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;)Landroid/support/v4/app/NotificationCompatBase$Action;
.registers 14
.prologue
const/4 v6, 0x0
.line 258
.line 260
const/4 v7, 0x0
.line 261
if-eqz p5, :cond_28
.line 262
const-string v0, "android.support.remoteInputs"
.line 263
invoke-static {p5, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
move-result-object v0
.line 262
invoke-static {v0, p1}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v5
.line 266
const-string v0, "android.support.dataRemoteInputs"
.line 267
invoke-static {p5, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
move-result-object v0
.line 266
invoke-static {v0, p1}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v6
.line 269
const-string v0, "android.support.allowGeneratedReplies"
invoke-virtual {p5, v0}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
move-result v7
:goto_1e
move-object v0, p0
move v1, p2
move-object v2, p3
move-object v3, p4
move-object v4, p5
.line 271
invoke-interface/range {v0 .. v7}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->build(ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;Z)Landroid/support/v4/app/NotificationCompatBase$Action;
move-result-object v0
return-object v0
:cond_28
move-object v5, v6
goto :goto_1e
.end method
.method public static writeActionAndGetExtras(Landroid/app/Notification$Builder;Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
.registers 5
.prologue
.line 277
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getIcon()I
move-result v0
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getTitle()Ljava/lang/CharSequence;
move-result-object v1
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getActionIntent()Landroid/app/PendingIntent;
move-result-object v2
invoke-virtual {p0, v0, v1, v2}, Landroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
.line 278
new-instance v0, Landroid/os/Bundle;
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getExtras()Landroid/os/Bundle;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
.line 279
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v1
if-eqz v1, :cond_2b
.line 280
const-string v1, "android.support.remoteInputs"
.line 281
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v2
invoke-static {v2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->toBundleArray([Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)[Landroid/os/Bundle;
move-result-object v2
.line 280
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
.line 283
:cond_2b
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getDataOnlyRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v1
if-eqz v1, :cond_3e
.line 284
const-string v1, "android.support.dataRemoteInputs"
.line 285
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getDataOnlyRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
move-result-object v2
invoke-static {v2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->toBundleArray([Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)[Landroid/os/Bundle;
move-result-object v2
.line 284
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
.line 287
:cond_3e
const-string v1, "android.support.allowGeneratedReplies"
.line 288
invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getAllowGeneratedReplies()Z
move-result v2
.line 287
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
.line 289
return-object v0
.end method