DfuServiceInitiator.smali
.class public Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.super Ljava/lang/Object;
.source "DfuServiceInitiator.java"
# static fields
.field public static final DEFAULT_PRN_VALUE:I = 0xc
.field public static final SCOPE_APPLICATION:I = 0xdd6
.field public static final SCOPE_SYSTEM_COMPONENTS:I = 0x1d9a
# instance fields
.field private buttonlessDfuWithBondSharingUuids:[Landroid/os/Parcelable;
.field private buttonlessDfuWithoutBondSharingUuids:[Landroid/os/Parcelable;
.field private final deviceAddress:Ljava/lang/String;
.field private deviceName:Ljava/lang/String;
.field private disableNotification:Z
.field private enableUnsafeExperimentalButtonlessDfu:Z
.field private experimentalButtonlessDfuUuids:[Landroid/os/Parcelable;
.field private filePath:Ljava/lang/String;
.field private fileResId:I
.field private fileType:I
.field private fileUri:Landroid/net/Uri;
.field private forceDfu:Z
.field private initFilePath:Ljava/lang/String;
.field private initFileResId:I
.field private initFileUri:Landroid/net/Uri;
.field private keepBond:Z
.field private legacyDfuUuids:[Landroid/os/Parcelable;
.field private mimeType:Ljava/lang/String;
.field private numberOfPackets:I
.field private packetReceiptNotificationsEnabled:Ljava/lang/Boolean;
.field private restoreBond:Z
.field private secureDfuUuids:[Landroid/os/Parcelable;
.field private startAsForegroundService:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.prologue
const/4 v1, 0x0
.line 89
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 56
iput-boolean v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->disableNotification:Z
.line 57
const/4 v0, 0x1
iput-boolean v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->startAsForegroundService:Z
.line 68
const/4 v0, -0x1
iput v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
.line 72
iput-boolean v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->forceDfu:Z
.line 73
iput-boolean v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->enableUnsafeExperimentalButtonlessDfu:Z
.line 76
const/16 v0, 0xc
iput v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->numberOfPackets:I
.line 90
iput-object p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->deviceAddress:Ljava/lang/String;
.line 91
return-void
.end method
.method public static createDfuNotificationChannel(Landroid/content/Context;)V
.registers 5
.prologue
.line 589
new-instance v1, Landroid/app/NotificationChannel;
const-string v0, "dfu"
sget v2, Lno/nordicsemi/android/dfu/R$string;->dfu_channel_name:I
invoke-virtual {p0, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x2
invoke-direct {v1, v0, v2, v3}, Landroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
.line 590
sget v0, Lno/nordicsemi/android/dfu/R$string;->dfu_channel_description:I
invoke-virtual {p0, v0}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/app/NotificationChannel;->setDescription(Ljava/lang/String;)V
.line 591
const/4 v0, 0x0
invoke-virtual {v1, v0}, Landroid/app/NotificationChannel;->setShowBadge(Z)V
.line 592
const/4 v0, 0x1
invoke-virtual {v1, v0}, Landroid/app/NotificationChannel;->setLockscreenVisibility(I)V
.line 594
const-string v0, "notification"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/NotificationManager;
.line 595
invoke-virtual {v0, v1}, Landroid/app/NotificationManager;->createNotificationChannel(Landroid/app/NotificationChannel;)V
.line 596
return-void
.end method
.method private init(Landroid/net/Uri;Ljava/lang/String;I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 6
.prologue
.line 562
const-string v0, "application/zip"
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->mimeType:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_12
.line 563
new-instance v0, Ljava/security/InvalidParameterException;
const-string v1, "Init file must be located inside the ZIP"
invoke-direct {v0, v1}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V
throw v0
.line 565
:cond_12
iput-object p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileUri:Landroid/net/Uri;
.line 566
iput-object p2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFilePath:Ljava/lang/String;
.line 567
iput p3, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileResId:I
.line 568
return-object p0
.end method
.method private init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 8
.prologue
const/4 v1, 0x0
.line 572
iput-object p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileUri:Landroid/net/Uri;
.line 573
iput-object p2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->filePath:Ljava/lang/String;
.line 574
iput p3, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileResId:I
.line 575
iput p4, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
.line 576
iput-object p5, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->mimeType:Ljava/lang/String;
.line 579
const-string v0, "application/zip"
invoke-virtual {v0, p5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1a
.line 580
iput-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileUri:Landroid/net/Uri;
.line 581
iput-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFilePath:Ljava/lang/String;
.line 582
const/4 v0, 0x0
iput v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileResId:I
.line 584
:cond_1a
return-object p0
.end method
# virtual methods
.method public setBinOrHex(II)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 9
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
const/4 v1, 0x0
.line 454
if-nez p1, :cond_b
.line 455
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "You must specify the file type"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 456
:cond_b
const-string v5, "application/octet-stream"
move-object v0, p0
move-object v2, v1
move v3, p2
move v4, p1
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setBinOrHex(ILandroid/net/Uri;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 9
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 410
if-nez p1, :cond_a
.line 411
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "You must specify the file type"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 412
:cond_a
const/4 v2, 0x0
const/4 v3, 0x0
const-string v5, "application/octet-stream"
move-object v0, p0
move-object v1, p2
move v4, p1
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setBinOrHex(ILandroid/net/Uri;Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 10
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 440
if-nez p1, :cond_a
.line 441
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "You must specify the file type"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 442
:cond_a
const/4 v3, 0x0
const-string v5, "application/octet-stream"
move-object v0, p0
move-object v1, p2
move-object v2, p3
move v4, p1
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setBinOrHex(ILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 9
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 424
if-nez p1, :cond_a
.line 425
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "You must specify the file type"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 426
:cond_a
const/4 v1, 0x0
const/4 v3, 0x0
const-string v5, "application/octet-stream"
move-object v0, p0
move-object v2, p2
move v4, p1
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setCustomUuidsForButtonlessDfuWithBondSharing(Ljava/util/UUID;Ljava/util/UUID;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 7
.prologue
const/4 v1, 0x0
.line 331
const/4 v0, 0x2
new-array v2, v0, [Landroid/os/ParcelUuid;
.line 332
const/4 v3, 0x0
if-eqz p1, :cond_1b
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p1}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_c
aput-object v0, v2, v3
.line 333
const/4 v0, 0x1
if-eqz p2, :cond_16
new-instance v1, Landroid/os/ParcelUuid;
invoke-direct {v1, p2}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:cond_16
aput-object v1, v2, v0
.line 334
iput-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithBondSharingUuids:[Landroid/os/Parcelable;
.line 335
return-object p0
:cond_1b
move-object v0, v1
.line 332
goto :goto_c
.end method
.method public setCustomUuidsForButtonlessDfuWithoutBondSharing(Ljava/util/UUID;Ljava/util/UUID;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 7
.prologue
const/4 v1, 0x0
.line 346
const/4 v0, 0x2
new-array v2, v0, [Landroid/os/ParcelUuid;
.line 347
const/4 v3, 0x0
if-eqz p1, :cond_1b
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p1}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_c
aput-object v0, v2, v3
.line 348
const/4 v0, 0x1
if-eqz p2, :cond_16
new-instance v1, Landroid/os/ParcelUuid;
invoke-direct {v1, p2}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:cond_16
aput-object v1, v2, v0
.line 349
iput-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithoutBondSharingUuids:[Landroid/os/Parcelable;
.line 350
return-object p0
:cond_1b
move-object v0, v1
.line 347
goto :goto_c
.end method
.method public setCustomUuidsForExperimentalButtonlessDfu(Ljava/util/UUID;Ljava/util/UUID;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 7
.prologue
const/4 v1, 0x0
.line 316
const/4 v0, 0x2
new-array v2, v0, [Landroid/os/ParcelUuid;
.line 317
const/4 v3, 0x0
if-eqz p1, :cond_1b
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p1}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_c
aput-object v0, v2, v3
.line 318
const/4 v0, 0x1
if-eqz p2, :cond_16
new-instance v1, Landroid/os/ParcelUuid;
invoke-direct {v1, p2}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:cond_16
aput-object v1, v2, v0
.line 319
iput-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->experimentalButtonlessDfuUuids:[Landroid/os/Parcelable;
.line 320
return-object p0
:cond_1b
move-object v0, v1
.line 317
goto :goto_c
.end method
.method public setCustomUuidsForLegacyDfu(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 9
.prologue
const/4 v1, 0x0
.line 281
const/4 v0, 0x4
new-array v2, v0, [Landroid/os/ParcelUuid;
.line 282
const/4 v3, 0x0
if-eqz p1, :cond_2f
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p1}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_c
aput-object v0, v2, v3
.line 283
const/4 v3, 0x1
if-eqz p2, :cond_31
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p2}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_16
aput-object v0, v2, v3
.line 284
const/4 v3, 0x2
if-eqz p3, :cond_33
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p3}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_20
aput-object v0, v2, v3
.line 285
const/4 v0, 0x3
if-eqz p4, :cond_2a
new-instance v1, Landroid/os/ParcelUuid;
invoke-direct {v1, p4}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:cond_2a
aput-object v1, v2, v0
.line 286
iput-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->legacyDfuUuids:[Landroid/os/Parcelable;
.line 287
return-object p0
:cond_2f
move-object v0, v1
.line 282
goto :goto_c
:cond_31
move-object v0, v1
.line 283
goto :goto_16
:cond_33
move-object v0, v1
.line 284
goto :goto_20
.end method
.method public setCustomUuidsForSecureDfu(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 8
.prologue
const/4 v1, 0x0
.line 299
const/4 v0, 0x3
new-array v2, v0, [Landroid/os/ParcelUuid;
.line 300
const/4 v3, 0x0
if-eqz p1, :cond_25
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p1}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_c
aput-object v0, v2, v3
.line 301
const/4 v3, 0x1
if-eqz p2, :cond_27
new-instance v0, Landroid/os/ParcelUuid;
invoke-direct {v0, p2}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:goto_16
aput-object v0, v2, v3
.line 302
const/4 v0, 0x2
if-eqz p3, :cond_20
new-instance v1, Landroid/os/ParcelUuid;
invoke-direct {v1, p3}, Landroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
:cond_20
aput-object v1, v2, v0
.line 303
iput-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->secureDfuUuids:[Landroid/os/Parcelable;
.line 304
return-object p0
:cond_25
move-object v0, v1
.line 300
goto :goto_c
:cond_27
move-object v0, v1
.line 301
goto :goto_16
.end method
.method public setDeviceName(Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 100
iput-object p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->deviceName:Ljava/lang/String;
.line 101
return-object p0
.end method
.method public setDisableNotification(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 111
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->disableNotification:Z
.line 112
return-object p0
.end method
.method public setForceDfu(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 212
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->forceDfu:Z
.line 213
return-object p0
.end method
.method public setForeground(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 124
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->startAsForegroundService:Z
.line 125
return-object p0
.end method
.method public setInitFile(I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 3
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
const/4 v0, 0x0
.line 489
invoke-direct {p0, v0, v0, p1}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setInitFile(Landroid/net/Uri;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 467
const/4 v0, 0x0
const/4 v1, 0x0
invoke-direct {p0, p1, v0, v1}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setInitFile(Landroid/net/Uri;Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 501
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setInitFile(Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 478
const/4 v0, 0x0
const/4 v1, 0x0
invoke-direct {p0, v0, p1, v1}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setKeepBond(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 140
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->keepBond:Z
.line 141
return-object p0
.end method
.method public setPacketsReceiptNotificationsEnabled(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 3
.prologue
.line 166
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
iput-object v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->packetReceiptNotificationsEnabled:Ljava/lang/Boolean;
.line 167
return-object p0
.end method
.method public setPacketsReceiptNotificationsValue(I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 179
if-lez p1, :cond_5
:goto_2
iput p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->numberOfPackets:I
.line 180
return-object p0
.line 179
:cond_5
const/16 p1, 0xc
goto :goto_2
.end method
.method public setRestoreBond(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 154
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->restoreBond:Z
.line 155
return-object p0
.end method
.method public setScope(I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 4
.prologue
.line 225
const-string v0, "application/zip"
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->mimeType:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_12
.line 226
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Scope can be set only for a ZIP file"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 227
:cond_12
const/16 v0, 0xdd6
if-ne p1, v0, :cond_1a
.line 228
const/4 v0, 0x4
iput v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
.line 232
:goto_19
return-object p0
.line 229
:cond_1a
const/16 v0, 0x1d9a
if-ne p1, v0, :cond_22
.line 230
const/4 v0, 0x3
iput v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
goto :goto_19
.line 231
:cond_22
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Unknown scope"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(Z)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 2
.prologue
.line 267
iput-boolean p1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->enableUnsafeExperimentalButtonlessDfu:Z
.line 268
return-object p0
.end method
.method public setZip(I)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 8
.prologue
const/4 v1, 0x0
.line 383
const/4 v4, 0x0
const-string v5, "application/zip"
move-object v0, p0
move-object v2, v1
move v3, p1
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setZip(Landroid/net/Uri;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 8
.prologue
const/4 v3, 0x0
.line 361
const/4 v2, 0x0
const-string v5, "application/zip"
move-object v0, p0
move-object v1, p1
move v4, v3
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setZip(Landroid/net/Uri;Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 9
.prologue
const/4 v3, 0x0
.line 393
const-string v5, "application/zip"
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v4, v3
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public setZip(Ljava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
.registers 8
.prologue
const/4 v3, 0x0
.line 372
const/4 v1, 0x0
const-string v5, "application/zip"
move-object v0, p0
move-object v2, p1
move v4, v3
invoke-direct/range {v0 .. v5}, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->init(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/String;)Lno/nordicsemi/android/dfu/DfuServiceInitiator;
move-result-object v0
return-object v0
.end method
.method public start(Landroid/content/Context;Ljava/lang/Class;)Lno/nordicsemi/android/dfu/DfuServiceController;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/lang/Class",
"<+",
"Lno/nordicsemi/android/dfu/DfuBaseService;",
">;)",
"Lno/nordicsemi/android/dfu/DfuServiceController;"
}
.end annotation
.prologue
.line 510
iget v0, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
const/4 v1, -0x1
if-ne v0, v1, :cond_d
.line 511
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "You must specify the firmware file before starting the service"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 513
:cond_d
new-instance v0, Landroid/content/Intent;
invoke-direct {v0, p1, p2}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.line 515
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_ADDRESS"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->deviceAddress:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 516
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_NAME"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->deviceName:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 517
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_DISABLE_NOTIFICATION"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->disableNotification:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 518
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FOREGROUND_SERVICE"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->startAsForegroundService:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 519
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_MIME_TYPE"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->mimeType:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 520
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FILE_TYPE"
iget v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileType:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 521
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FILE_URI"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileUri:Landroid/net/Uri;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
.line 522
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FILE_PATH"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->filePath:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 523
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FILE_RES_ID"
iget v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->fileResId:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 524
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_URI"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileUri:Landroid/net/Uri;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
.line 525
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_PATH"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFilePath:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 526
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_RES_ID"
iget v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->initFileResId:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 527
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_KEEP_BOND"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->keepBond:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 528
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_RESTORE_BOND"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->restoreBond:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 529
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_FORCE_DFU"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->forceDfu:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 530
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU"
iget-boolean v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->enableUnsafeExperimentalButtonlessDfu:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 531
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->packetReceiptNotificationsEnabled:Ljava/lang/Boolean;
if-eqz v1, :cond_94
.line 532
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_PRN_ENABLED"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->packetReceiptNotificationsEnabled:Ljava/lang/Boolean;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
.line 533
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_PRN_VALUE"
iget v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->numberOfPackets:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 540
:cond_94
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->legacyDfuUuids:[Landroid/os/Parcelable;
if-eqz v1, :cond_9f
.line 541
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->legacyDfuUuids:[Landroid/os/Parcelable;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
.line 542
:cond_9f
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->secureDfuUuids:[Landroid/os/Parcelable;
if-eqz v1, :cond_aa
.line 543
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->secureDfuUuids:[Landroid/os/Parcelable;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
.line 544
:cond_aa
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->experimentalButtonlessDfuUuids:[Landroid/os/Parcelable;
if-eqz v1, :cond_b5
.line 545
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->experimentalButtonlessDfuUuids:[Landroid/os/Parcelable;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
.line 546
:cond_b5
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithoutBondSharingUuids:[Landroid/os/Parcelable;
if-eqz v1, :cond_c0
.line 547
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithoutBondSharingUuids:[Landroid/os/Parcelable;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
.line 548
:cond_c0
iget-object v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithBondSharingUuids:[Landroid/os/Parcelable;
if-eqz v1, :cond_cb
.line 549
const-string v1, "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING"
iget-object v2, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->buttonlessDfuWithBondSharingUuids:[Landroid/os/Parcelable;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
.line 551
:cond_cb
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1a
if-lt v1, v2, :cond_de
iget-boolean v1, p0, Lno/nordicsemi/android/dfu/DfuServiceInitiator;->startAsForegroundService:Z
if-eqz v1, :cond_de
.line 554
invoke-virtual {p1, v0}, Landroid/content/Context;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;
.line 558
:goto_d8
new-instance v0, Lno/nordicsemi/android/dfu/DfuServiceController;
invoke-direct {v0, p1}, Lno/nordicsemi/android/dfu/DfuServiceController;-><init>(Landroid/content/Context;)V
return-object v0
.line 556
:cond_de
invoke-virtual {p1, v0}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
goto :goto_d8
.end method