UnknownResponseException.smali
.class public Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;
.super Ljava/lang/Exception;
.source "UnknownResponseException.java"
# static fields
.field private static final HEX_ARRAY:[C
.field private static final serialVersionUID:J = -0x78f5e5eeb8bf3699L
# instance fields
.field private final mExpectedOpCode:I
.field private final mExpectedReturnCode:I
.field private final mResponse:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 27
const/16 v0, 0x10
new-array v0, v0, [C
fill-array-data v0, :array_a
sput-object v0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->HEX_ARRAY:[C
return-void
:array_a
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x41s
0x42s
0x43s
0x44s
0x45s
0x46s
.end array-data
.end method
.method public constructor <init>(Ljava/lang/String;[BII)V
.registers 6
.prologue
.line 34
invoke-direct {p0, p1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 36
if-eqz p2, :cond_c
:goto_5
iput-object p2, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mResponse:[B
.line 37
iput p3, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mExpectedReturnCode:I
.line 38
iput p4, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mExpectedOpCode:I
.line 39
return-void
.line 36
:cond_c
const/4 v0, 0x0
new-array p2, v0, [B
goto :goto_5
.end method
.method public static bytesToHex([BII)Ljava/lang/String;
.registers 10
.prologue
.line 47
if-eqz p0, :cond_7
array-length v0, p0
if-le v0, p1, :cond_7
if-gtz p2, :cond_a
.line 48
:cond_7
const-string v0, ""
.line 57
:goto_9
return-object v0
.line 50
:cond_a
array-length v0, p0
sub-int/2addr v0, p1
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
move-result v1
.line 51
shl-int/lit8 v0, v1, 0x1
new-array v2, v0, [C
.line 52
const/4 v0, 0x0
:goto_15
if-ge v0, v1, :cond_36
.line 53
add-int v3, p1, v0
aget-byte v3, p0, v3
and-int/lit16 v3, v3, 0xff
.line 54
shl-int/lit8 v4, v0, 0x1
sget-object v5, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->HEX_ARRAY:[C
ushr-int/lit8 v6, v3, 0x4
aget-char v5, v5, v6
aput-char v5, v2, v4
.line 55
shl-int/lit8 v4, v0, 0x1
add-int/lit8 v4, v4, 0x1
sget-object v5, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->HEX_ARRAY:[C
and-int/lit8 v3, v3, 0xf
aget-char v3, v5, v3
aput-char v3, v2, v4
.line 52
add-int/lit8 v0, v0, 0x1
goto :goto_15
.line 57
:cond_36
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "0x"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v2}, Ljava/lang/String;-><init>([C)V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_9
.end method
# virtual methods
.method public getMessage()Ljava/lang/String;
.registers 7
.prologue
const/4 v5, 0x0
.line 43
const-string v0, "%s (response: %s, expected: 0x%02X%02X..)"
const/4 v1, 0x4
new-array v1, v1, [Ljava/lang/Object;
invoke-super {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
aput-object v2, v1, v5
const/4 v2, 0x1
iget-object v3, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mResponse:[B
iget-object v4, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mResponse:[B
array-length v4, v4
invoke-static {v3, v5, v4}, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->bytesToHex([BII)Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x2
iget v3, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mExpectedReturnCode:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x3
iget v3, p0, Lno/nordicsemi/android/dfu/internal/exception/UnknownResponseException;->mExpectedOpCode:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method