Secp256k1Context.smali
.class public Lorg/bitcoin/Secp256k1Context;
.super Ljava/lang/Object;
.source "Secp256k1Context.java"
# static fields
.field private static final context:J
.field private static final enabled:Z
.field private static final log:Lorg/slf4j/Logger;
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
const/4 v3, 0x0
.line 32
const-class v0, Lorg/bitcoin/Secp256k1Context;
invoke-static {v0}, Lorg/slf4j/LoggerFactory;->getLogger(Ljava/lang/Class;)Lorg/slf4j/Logger;
move-result-object v0
sput-object v0, Lorg/bitcoin/Secp256k1Context;->log:Lorg/slf4j/Logger;
.line 35
const/4 v2, 0x1
.line 36
const-wide/16 v0, -0x1
.line 38
:try_start_c
const-string v4, "secp256k1"
invoke-static {v4}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 39
invoke-static {}, Lorg/bitcoin/Secp256k1Context;->secp256k1_init_context()J
:try_end_14
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_c .. :try_end_14} :catch_1a
.catch Ljava/security/AccessControlException; {:try_start_c .. :try_end_14} :catch_26
move-result-wide v0
.line 47
:goto_15
sput-boolean v2, Lorg/bitcoin/Secp256k1Context;->enabled:Z
.line 48
sput-wide v0, Lorg/bitcoin/Secp256k1Context;->context:J
.line 49
return-void
.line 40
:catch_1a
move-exception v2
.line 41
sget-object v4, Lorg/bitcoin/Secp256k1Context;->log:Lorg/slf4j/Logger;
invoke-virtual {v2}, Ljava/lang/UnsatisfiedLinkError;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v4, v2}, Lorg/slf4j/Logger;->info(Ljava/lang/String;)V
move v2, v3
.line 46
goto :goto_15
.line 43
:catch_26
move-exception v2
.line 44
sget-object v4, Lorg/bitcoin/Secp256k1Context;->log:Lorg/slf4j/Logger;
invoke-virtual {v2}, Ljava/security/AccessControlException;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v4, v2}, Lorg/slf4j/Logger;->debug(Ljava/lang/String;)V
move v2, v3
.line 45
goto :goto_15
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getContext()J
.registers 2
.prologue
.line 56
sget-boolean v0, Lorg/bitcoin/Secp256k1Context;->enabled:Z
if-nez v0, :cond_7
.line 57
const-wide/16 v0, -0x1
.line 58
:goto_6
return-wide v0
:cond_7
sget-wide v0, Lorg/bitcoin/Secp256k1Context;->context:J
goto :goto_6
.end method
.method public static isEnabled()Z
.registers 1
.prologue
.line 52
sget-boolean v0, Lorg/bitcoin/Secp256k1Context;->enabled:Z
return v0
.end method
.method private static native secp256k1_init_context()J
.end method