SecureDfuImpl$SecureBluetoothCallback.smali
.class public Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;
.super Lno/nordicsemi/android/dfu/BaseCustomDfuImpl$BaseCustomBluetoothCallback;
.source "SecureDfuImpl.java"
# instance fields
.field final synthetic this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
# direct methods
.method protected constructor <init>(Lno/nordicsemi/android/dfu/SecureDfuImpl;)V
.registers 2
.prologue
.line 82
iput-object p1, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
invoke-direct {p0, p1}, Lno/nordicsemi/android/dfu/BaseCustomDfuImpl$BaseCustomBluetoothCallback;-><init>(Lno/nordicsemi/android/dfu/BaseCustomDfuImpl;)V
return-void
.end method
# virtual methods
.method public onCharacteristicChanged(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;)V
.registers 10
.prologue
const/16 v5, 0x14
const/4 v4, 0x3
const/4 v6, 0x0
const/16 v3, 0x11
const/4 v2, 0x1
.line 86
invoke-virtual {p2}, Landroid/bluetooth/BluetoothGattCharacteristic;->getValue()[B
move-result-object v0
if-eqz v0, :cond_14
invoke-virtual {p2}, Landroid/bluetooth/BluetoothGattCharacteristic;->getValue()[B
move-result-object v0
array-length v0, v0
if-ge v0, v4, :cond_38
.line 87
:cond_14
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Empty response: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p2}, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->parse(Landroid/bluetooth/BluetoothGattCharacteristic;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lno/nordicsemi/android/dfu/SecureDfuImpl;->loge(Ljava/lang/String;)V
.line 88
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
const/16 v1, 0x1008
iput v1, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mError:I
.line 89
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
invoke-virtual {v0}, Lno/nordicsemi/android/dfu/SecureDfuImpl;->notifyLock()V
.line 139
:goto_37
return-void
.line 93
:cond_38
invoke-virtual {p2, v3, v6}, Landroid/bluetooth/BluetoothGattCharacteristic;->getIntValue(II)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 96
const/16 v1, 0x60
if-ne v0, v1, :cond_a6
.line 97
invoke-virtual {p2, v3, v2}, Landroid/bluetooth/BluetoothGattCharacteristic;->getIntValue(II)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 99
packed-switch v0, :pswitch_data_c6
.line 124
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iget-boolean v0, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mRemoteErrorOccurred:Z
if-nez v0, :cond_67
.line 126
const/4 v0, 0x2
invoke-virtual {p2, v3, v0}, Landroid/bluetooth/BluetoothGattCharacteristic;->getIntValue(II)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 127
if-eq v0, v2, :cond_64
.line 128
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iput-boolean v2, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mRemoteErrorOccurred:Z
.line 130
:cond_64
invoke-virtual {p0, p1, p2}, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->handleNotification(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;)V
.line 138
:cond_67
:goto_67
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
invoke-virtual {v0}, Lno/nordicsemi/android/dfu/SecureDfuImpl;->notifyLock()V
goto :goto_37
.line 101
:pswitch_6d
invoke-virtual {p2, v5, v4}, Landroid/bluetooth/BluetoothGattCharacteristic;->getIntValue(II)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v1
.line 102
const/4 v0, 0x7
invoke-virtual {p2, v5, v0}, Landroid/bluetooth/BluetoothGattCharacteristic;->getIntValue(II)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v2
.line 103
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iget-object v0, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mFirmwareStream:Ljava/io/InputStream;
check-cast v0, Lno/nordicsemi/android/dfu/internal/ArchiveInputStream;
invoke-virtual {v0}, Lno/nordicsemi/android/dfu/internal/ArchiveInputStream;->getCrc32()J
move-result-wide v4
long-to-int v0, v4
.line 105
if-ne v0, v2, :cond_96
.line 107
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iget-object v0, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mProgressInfo:Lno/nordicsemi/android/dfu/DfuProgressInfo;
invoke-virtual {v0, v1}, Lno/nordicsemi/android/dfu/DfuProgressInfo;->setBytesReceived(I)V
.line 116
:cond_92
invoke-virtual {p0, p1, p2}, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->handlePacketReceiptNotification(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;)V
goto :goto_67
.line 110
:cond_96
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iget-boolean v0, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mFirmwareUploadInProgress:Z
if-eqz v0, :cond_92
.line 111
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
iput-boolean v6, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mFirmwareUploadInProgress:Z
.line 112
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
invoke-virtual {v0}, Lno/nordicsemi/android/dfu/SecureDfuImpl;->notifyLock()V
goto :goto_37
.line 135
:cond_a6
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Invalid response: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p2}, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->parse(Landroid/bluetooth/BluetoothGattCharacteristic;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lno/nordicsemi/android/dfu/SecureDfuImpl;->loge(Ljava/lang/String;)V
.line 136
iget-object v0, p0, Lno/nordicsemi/android/dfu/SecureDfuImpl$SecureBluetoothCallback;->this$0:Lno/nordicsemi/android/dfu/SecureDfuImpl;
const/16 v1, 0x1008
iput v1, v0, Lno/nordicsemi/android/dfu/SecureDfuImpl;->mError:I
goto :goto_67
.line 99
nop
:pswitch_data_c6
.packed-switch 0x3
:pswitch_6d
.end packed-switch
.end method