Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,400 @@
.class public final enum Lcom/amazonaws/util/AWSRequestMetrics$Field;
.super Ljava/lang/Enum;
.source "SourceFile"
# interfaces
.implements Lcom/amazonaws/metrics/MetricType;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/AWSRequestMetrics;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "Field"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/AWSRequestMetrics$Field;",
">;",
"Lcom/amazonaws/metrics/MetricType;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum AWSErrorCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum BytesProcessed:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum ClientExecuteTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum CredentialsRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum Exception:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum HttpClientReceiveResponseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum HttpClientRetryCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum HttpClientSendRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum HttpRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RedirectLocation:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RequestCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RequestMarshallTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RequestSigningTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum ResponseProcessingTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RetryCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum RetryPauseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum ServiceEndpoint:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum ServiceName:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.field public static final enum StatusCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;
# direct methods
.method static constructor <clinit>()V
.locals 23
.line 51
new-instance v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v0, v1
const-string v2, "AWSErrorCode"
const/4 v3, 0x0
invoke-direct {v1, v2, v3}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSErrorCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 54
new-instance v2, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v1, v2
const-string v3, "AWSRequestID"
const/4 v4, 0x1
invoke-direct {v2, v3, v4}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v2, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 57
new-instance v3, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v2, v3
const-string v4, "BytesProcessed"
const/4 v5, 0x2
invoke-direct {v3, v4, v5}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v3, Lcom/amazonaws/util/AWSRequestMetrics$Field;->BytesProcessed:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 64
new-instance v4, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v3, v4
const-string v5, "ClientExecuteTime"
const/4 v6, 0x3
invoke-direct {v4, v5, v6}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v4, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ClientExecuteTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 67
new-instance v5, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v4, v5
const-string v6, "CredentialsRequestTime"
const/4 v7, 0x4
invoke-direct {v5, v6, v7}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v5, Lcom/amazonaws/util/AWSRequestMetrics$Field;->CredentialsRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 70
new-instance v6, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v5, v6
const-string v7, "Exception"
const/4 v8, 0x5
invoke-direct {v6, v7, v8}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v6, Lcom/amazonaws/util/AWSRequestMetrics$Field;->Exception:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 75
new-instance v7, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v6, v7
const-string v8, "HttpRequestTime"
const/4 v9, 0x6
invoke-direct {v7, v8, v9}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v7, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 78
new-instance v8, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v7, v8
const-string v9, "RedirectLocation"
const/4 v10, 0x7
invoke-direct {v8, v9, v10}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v8, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RedirectLocation:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 81
new-instance v9, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v8, v9
const-string v10, "RequestMarshallTime"
const/16 v11, 0x8
invoke-direct {v9, v10, v11}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v9, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestMarshallTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 85
new-instance v10, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v9, v10
const-string v11, "RequestSigningTime"
const/16 v12, 0x9
invoke-direct {v10, v11, v12}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v10, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestSigningTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 90
new-instance v11, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v10, v11
const-string v12, "ResponseProcessingTime"
const/16 v13, 0xa
invoke-direct {v11, v12, v13}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v11, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ResponseProcessingTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 94
new-instance v12, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v11, v12
const-string v13, "RequestCount"
const/16 v14, 0xb
invoke-direct {v12, v13, v14}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v12, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 98
new-instance v13, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v12, v13
const-string v14, "RetryCount"
const/16 v15, 0xc
invoke-direct {v13, v14, v15}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v13, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RetryCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 104
new-instance v14, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v13, v14
const-string v15, "HttpClientRetryCount"
move-object/from16 v20, v0
const/16 v0, 0xd
invoke-direct {v14, v15, v0}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v14, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpClientRetryCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 109
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v14, v0
const-string v15, "HttpClientSendRequestTime"
move-object/from16 v21, v1
const/16 v1, 0xe
invoke-direct {v0, v15, v1}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpClientSendRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 114
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object v15, v0
const-string v1, "HttpClientReceiveResponseTime"
move-object/from16 v22, v2
const/16 v2, 0xf
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpClientReceiveResponseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 117
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object/from16 v16, v0
const-string v1, "RetryPauseTime"
const/16 v2, 0x10
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RetryPauseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 123
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object/from16 v17, v0
const-string v1, "ServiceEndpoint"
const/16 v2, 0x11
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ServiceEndpoint:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 126
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object/from16 v18, v0
const-string v1, "ServiceName"
const/16 v2, 0x12
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ServiceName:Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 129
new-instance v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object/from16 v19, v0
const-string v1, "StatusCode"
const/16 v2, 0x13
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics$Field;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->StatusCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-object/from16 v0, v20
move-object/from16 v1, v21
move-object/from16 v2, v22
filled-new-array/range {v0 .. v19}, [Lcom/amazonaws/util/AWSRequestMetrics$Field;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->$VALUES:[Lcom/amazonaws/util/AWSRequestMetrics$Field;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 48
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/AWSRequestMetrics$Field;
.locals 1
const-class v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 48
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/AWSRequestMetrics$Field;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/AWSRequestMetrics$Field;
.locals 1
sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->$VALUES:[Lcom/amazonaws/util/AWSRequestMetrics$Field;
.line 48
invoke-virtual {v0}, [Lcom/amazonaws/util/AWSRequestMetrics$Field;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/AWSRequestMetrics$Field;
return-object v0
.end method

View File

@@ -0,0 +1,93 @@
.class public Lcom/amazonaws/util/AWSRequestMetrics;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amazonaws/util/AWSRequestMetrics$Field;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public final timingInfo:Lcom/amazonaws/util/TimingInfo;
# direct methods
.method public constructor <init>()V
.locals 1
.line 141
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 142
invoke-static {}, Lcom/amazonaws/util/TimingInfo;->startTiming()Lcom/amazonaws/util/TimingInfo;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
return-void
.end method
.method public constructor <init>(Lcom/amazonaws/util/TimingInfo;)V
.locals 0
.line 145
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
return-void
.end method
# virtual methods
.method public addProperty(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V
.locals 0
return-void
.end method
.method public endEvent(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
return-void
.end method
.method public final getTimingInfo()Lcom/amazonaws/util/TimingInfo;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
return-object v0
.end method
.method public incrementCounter(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
return-void
.end method
.method public log()V
.locals 0
return-void
.end method
.method public setCounter(Lcom/amazonaws/metrics/MetricType;J)V
.locals 0
return-void
.end method
.method public startEvent(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,459 @@
.class public Lcom/amazonaws/util/AWSRequestMetricsFullSupport;
.super Lcom/amazonaws/util/AWSRequestMetrics;
.source "SourceFile"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# static fields
.field public static final COMMA_SEPARATOR:Ljava/lang/Object;
.field public static final KEY_VALUE_SEPARATOR:Ljava/lang/Object;
.field public static final LATENCY_LOGGER:Lcom/amazonaws/logging/Log;
# instance fields
.field public final eventsBeingProfiled:Ljava/util/Map;
.field public final properties:Ljava/util/Map;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "com.amazonaws.latency"
.line 50
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/String;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->LATENCY_LOGGER:Lcom/amazonaws/logging/Log;
const-string v0, "="
sput-object v0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->KEY_VALUE_SEPARATOR:Ljava/lang/Object;
const-string v0, ", "
sput-object v0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->COMMA_SEPARATOR:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 61
invoke-static {}, Lcom/amazonaws/util/TimingInfo;->startTimingFullSupport()Lcom/amazonaws/util/TimingInfo;
move-result-object v0
invoke-direct {p0, v0}, Lcom/amazonaws/util/AWSRequestMetrics;-><init>(Lcom/amazonaws/util/TimingInfo;)V
.line 45
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->properties:Ljava/util/Map;
.line 48
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->eventsBeingProfiled:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public addProperty(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V
.locals 0
.line 172
invoke-interface {p1}, Lcom/amazonaws/metrics/MetricType;->name()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1, p2}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->addProperty(Ljava/lang/String;Ljava/lang/Object;)V
return-void
.end method
.method public addProperty(Ljava/lang/String;Ljava/lang/Object;)V
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->properties:Ljava/util/Map;
.line 161
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
if-nez v0, :cond_0
.line 163
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iget-object v1, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->properties:Ljava/util/Map;
.line 164
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 167
:cond_0
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public endEvent(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
.line 116
invoke-interface {p1}, Lcom/amazonaws/metrics/MetricType;->name()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->endEvent(Ljava/lang/String;)V
return-void
.end method
.method public endEvent(Ljava/lang/String;)V
.locals 6
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->eventsBeingProfiled:Ljava/util/Map;
.line 100
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/amazonaws/util/TimingInfo;
if-nez v0, :cond_0
.line 103
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Trying to end an event which was never started: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p1}, Lcom/amazonaws/logging/Log;->warn(Ljava/lang/Object;)V
return-void
.line 106
:cond_0
invoke-virtual {v0}, Lcom/amazonaws/util/TimingInfo;->endTiming()Lcom/amazonaws/util/TimingInfo;
iget-object v1, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
.line 110
invoke-virtual {v0}, Lcom/amazonaws/util/TimingInfo;->getStartTimeNano()J
move-result-wide v2
.line 111
invoke-virtual {v0}, Lcom/amazonaws/util/TimingInfo;->getEndTimeNano()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
.line 109
invoke-static {v2, v3, v0}, Lcom/amazonaws/util/TimingInfo;->unmodifiableTimingInfo(JLjava/lang/Long;)Lcom/amazonaws/util/TimingInfo;
move-result-object v0
.line 107
invoke-virtual {v1, p1, v0}, Lcom/amazonaws/util/TimingInfo;->addSubMeasurement(Ljava/lang/String;Lcom/amazonaws/util/TimingInfo;)V
return-void
.end method
.method public incrementCounter(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
.line 136
invoke-interface {p1}, Lcom/amazonaws/metrics/MetricType;->name()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->incrementCounter(Ljava/lang/String;)V
return-void
.end method
.method public incrementCounter(Ljava/lang/String;)V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
.line 131
invoke-virtual {v0, p1}, Lcom/amazonaws/util/TimingInfo;->incrementCounter(Ljava/lang/String;)V
return-void
.end method
.method public final keyValueFormat(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
.locals 0
.line 197
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
sget-object p1, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->KEY_VALUE_SEPARATOR:Ljava/lang/Object;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
sget-object p1, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->COMMA_SEPARATOR:Ljava/lang/Object;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
return-void
.end method
.method public log()V
.locals 4
sget-object v0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->LATENCY_LOGGER:Lcom/amazonaws/logging/Log;
.line 177
invoke-interface {v0}, Lcom/amazonaws/logging/Log;->isInfoEnabled()Z
move-result v0
if-eqz v0, :cond_3
.line 178
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->properties:Ljava/util/Map;
.line 180
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 181
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
invoke-virtual {p0, v3, v2, v0}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->keyValueFormat(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
goto :goto_0
:cond_0
iget-object v1, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
.line 184
invoke-virtual {v1}, Lcom/amazonaws/util/TimingInfo;->getAllCounters()Ljava/util/Map;
move-result-object v1
.line 185
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
.line 184
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 186
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
invoke-virtual {p0, v3, v2, v0}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->keyValueFormat(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
goto :goto_1
:cond_1
iget-object v1, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
.line 189
invoke-virtual {v1}, Lcom/amazonaws/util/TimingInfo;->getSubMeasurementsByName()Ljava/util/Map;
move-result-object v1
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
.line 188
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 190
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
invoke-virtual {p0, v3, v2, v0}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->keyValueFormat(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
goto :goto_2
:cond_2
sget-object v1, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->LATENCY_LOGGER:Lcom/amazonaws/logging/Log;
.line 192
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {v1, v0}, Lcom/amazonaws/logging/Log;->info(Ljava/lang/Object;)V
:cond_3
return-void
.end method
.method public setCounter(Lcom/amazonaws/metrics/MetricType;J)V
.locals 0
.line 146
invoke-interface {p1}, Lcom/amazonaws/metrics/MetricType;->name()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1, p2, p3}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->setCounter(Ljava/lang/String;J)V
return-void
.end method
.method public setCounter(Ljava/lang/String;J)V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetrics;->timingInfo:Lcom/amazonaws/util/TimingInfo;
.line 141
invoke-virtual {v0, p1, p2, p3}, Lcom/amazonaws/util/TimingInfo;->setCounter(Ljava/lang/String;J)V
return-void
.end method
.method public startEvent(Lcom/amazonaws/metrics/MetricType;)V
.locals 0
.line 88
invoke-interface {p1}, Lcom/amazonaws/metrics/MetricType;->name()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->startEvent(Ljava/lang/String;)V
return-void
.end method
.method public startEvent(Ljava/lang/String;)V
.locals 3
iget-object v0, p0, Lcom/amazonaws/util/AWSRequestMetricsFullSupport;->eventsBeingProfiled:Ljava/util/Map;
.line 83
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v1
invoke-static {v1, v2}, Lcom/amazonaws/util/TimingInfo;->startTimingFullSupport(J)Lcom/amazonaws/util/TimingInfo;
move-result-object v1
invoke-interface {v0, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method

View File

@@ -0,0 +1,115 @@
.class public final enum Lcom/amazonaws/util/AWSServiceMetrics;
.super Ljava/lang/Enum;
.source "SourceFile"
# interfaces
.implements Lcom/amazonaws/metrics/MetricType;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/AWSServiceMetrics;",
">;",
"Lcom/amazonaws/metrics/MetricType;"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/AWSServiceMetrics;
.field public static final enum HttpClientGetConnectionTime:Lcom/amazonaws/util/AWSServiceMetrics;
# instance fields
.field private final serviceName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 4
.line 32
new-instance v0, Lcom/amazonaws/util/AWSServiceMetrics;
const/4 v1, 0x0
const-string v2, "HttpClient"
const-string v3, "HttpClientGetConnectionTime"
invoke-direct {v0, v3, v1, v2}, Lcom/amazonaws/util/AWSServiceMetrics;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/amazonaws/util/AWSServiceMetrics;->HttpClientGetConnectionTime:Lcom/amazonaws/util/AWSServiceMetrics;
filled-new-array {v0}, [Lcom/amazonaws/util/AWSServiceMetrics;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/AWSServiceMetrics;->$VALUES:[Lcom/amazonaws/util/AWSServiceMetrics;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;ILjava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 36
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
iput-object p3, p0, Lcom/amazonaws/util/AWSServiceMetrics;->serviceName:Ljava/lang/String;
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/AWSServiceMetrics;
.locals 1
const-class v0, Lcom/amazonaws/util/AWSServiceMetrics;
.line 27
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/AWSServiceMetrics;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/AWSServiceMetrics;
.locals 1
sget-object v0, Lcom/amazonaws/util/AWSServiceMetrics;->$VALUES:[Lcom/amazonaws/util/AWSServiceMetrics;
.line 27
invoke-virtual {v0}, [Lcom/amazonaws/util/AWSServiceMetrics;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/AWSServiceMetrics;
return-object v0
.end method
# virtual methods
.method public getServiceName()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/AWSServiceMetrics;->serviceName:Ljava/lang/String;
return-object v0
.end method

View File

@@ -0,0 +1,433 @@
.class public abstract Lcom/amazonaws/util/AwsHostNameUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final S3_ENDPOINT_PATTERN:Ljava/util/regex/Pattern;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "^(?:.+\\.)?s3[.-]([a-z0-9-]+)$"
.line 34
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/AwsHostNameUtils;->S3_ENDPOINT_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public static parseRegionName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 2
if-eqz p0, :cond_4
.line 63
invoke-static {p0}, Lcom/amazonaws/util/AwsHostNameUtils;->parseRegionNameByInternalConfig(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_0
return-object v0
:cond_0
const-string v0, ".amazonaws.com"
.line 68
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_1
.line 69
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result p1
add-int/lit8 p1, p1, -0xe
.line 70
invoke-virtual {p0, v1, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/amazonaws/util/AwsHostNameUtils;->parseStandardRegionName(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_1
const-string v0, ".amazonaws.com.cn"
.line 73
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_2
.line 74
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result p1
add-int/lit8 p1, p1, -0x11
.line 75
invoke-virtual {p0, v1, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/amazonaws/util/AwsHostNameUtils;->parseStandardRegionName(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
if-eqz p1, :cond_3
.line 81
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "^(?:.+\\.)?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 83
invoke-static {p1}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "[.-]([a-z0-9-]+)\\."
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 81
invoke-static {p1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object p1
.line 87
invoke-virtual {p1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
.line 88
invoke-virtual {p0}, Ljava/util/regex/Matcher;->find()Z
move-result p1
if-eqz p1, :cond_3
const/4 p1, 0x1
.line 89
invoke-virtual {p0, p1}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_3
const-string p0, "us-east-1"
return-object p0
.line 61
:cond_4
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "hostname cannot be null"
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static parseRegionNameByInternalConfig(Ljava/lang/String;)Ljava/lang/String;
.locals 3
.line 150
invoke-static {}, Lcom/amazonaws/internal/config/InternalConfig$Factory;->getInternalConfig()Lcom/amazonaws/internal/config/InternalConfig;
move-result-object v0
.line 152
invoke-virtual {v0}, Lcom/amazonaws/internal/config/InternalConfig;->getHostRegexToRegionMappings()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/amazonaws/internal/config/HostRegexToRegionMapping;
.line 153
invoke-virtual {v1}, Lcom/amazonaws/internal/config/HostRegexToRegionMapping;->getHostNameRegex()Ljava/lang/String;
move-result-object v2
.line 154
invoke-virtual {p0, v2}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_0
.line 155
invoke-virtual {v1}, Lcom/amazonaws/internal/config/HostRegexToRegionMapping;->getRegionName()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_1
const/4 p0, 0x0
return-object p0
.end method
.method public static parseServiceName(Ljava/net/URI;)Ljava/lang/String;
.locals 4
.line 172
invoke-virtual {p0}, Ljava/net/URI;->getHost()Ljava/lang/String;
move-result-object p0
const-string v0, ".amazonaws.com"
.line 175
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3
.line 183
invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
const/4 v1, 0x0
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
const-string v0, ".s3"
.line 186
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_2
sget-object v0, Lcom/amazonaws/util/AwsHostNameUtils;->S3_ENDPOINT_PATTERN:Ljava/util/regex/Pattern;
.line 187
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/16 v0, 0x2e
.line 196
invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I
move-result v2
const/4 v3, -0x1
if-ne v2, v3, :cond_1
return-object p0
.line 201
:cond_1
invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I
move-result v0
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
:goto_0
const-string p0, "s3"
return-object p0
.line 176
:cond_3
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Cannot parse a service name from an unrecognized endpoint ("
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ")."
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static parseStandardRegionName(Ljava/lang/String;)Ljava/lang/String;
.locals 4
sget-object v0, Lcom/amazonaws/util/AwsHostNameUtils;->S3_ENDPOINT_PATTERN:Ljava/util/regex/Pattern;
.line 109
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.line 110
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_0
.line 112
invoke-virtual {v0, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
const/16 v0, 0x2e
.line 115
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
const/4 v1, -0x1
const-string v3, "us-east-1"
if-ne v0, v1, :cond_1
return-object v3
:cond_1
add-int/2addr v0, v2
.line 123
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
const-string v1, "vpce"
.line 124
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3
const-string v0, "\\."
.line 125
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
.line 126
array-length v0, p0
const/4 v1, 0x2
if-lt v0, v1, :cond_2
.line 128
array-length v0, p0
sub-int/2addr v0, v1
aget-object v0, p0, v0
goto :goto_0
:cond_2
return-object v3
:cond_3
:goto_0
const-string p0, "us-gov"
.line 137
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_4
const-string v0, "us-gov-west-1"
:cond_4
return-object v0
.end method

View File

@@ -0,0 +1,214 @@
.class public final enum Lcom/amazonaws/util/Base64;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/Base64;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/Base64;
.field private static final CODEC:Lcom/amazonaws/util/Base64Codec;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/amazonaws/util/Base64;
sput-object v0, Lcom/amazonaws/util/Base64;->$VALUES:[Lcom/amazonaws/util/Base64;
.line 26
new-instance v0, Lcom/amazonaws/util/Base64Codec;
invoke-direct {v0}, Lcom/amazonaws/util/Base64Codec;-><init>()V
sput-object v0, Lcom/amazonaws/util/Base64;->CODEC:Lcom/amazonaws/util/Base64Codec;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 24
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static decode(Ljava/lang/String;)[B
.locals 2
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 56
:cond_0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_1
const/4 p0, 0x0
new-array p0, p0, [B
return-object p0
.line 59
:cond_1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
new-array v0, v0, [B
.line 60
invoke-static {p0, v0}, Lcom/amazonaws/util/CodecUtils;->sanitize(Ljava/lang/String;[B)I
move-result p0
sget-object v1, Lcom/amazonaws/util/Base64;->CODEC:Lcom/amazonaws/util/Base64Codec;
.line 61
invoke-virtual {v1, v0, p0}, Lcom/amazonaws/util/Base64Codec;->decode([BI)[B
move-result-object p0
return-object p0
.end method
.method public static decode([B)[B
.locals 2
if-eqz p0, :cond_1
.line 70
array-length v0, p0
if-nez v0, :cond_0
goto :goto_0
:cond_0
sget-object v0, Lcom/amazonaws/util/Base64;->CODEC:Lcom/amazonaws/util/Base64Codec;
array-length v1, p0
invoke-virtual {v0, p0, v1}, Lcom/amazonaws/util/Base64Codec;->decode([BI)[B
move-result-object p0
:cond_1
:goto_0
return-object p0
.end method
.method public static encode([B)[B
.locals 1
if-eqz p0, :cond_1
.line 43
array-length v0, p0
if-nez v0, :cond_0
goto :goto_0
:cond_0
sget-object v0, Lcom/amazonaws/util/Base64;->CODEC:Lcom/amazonaws/util/Base64Codec;
invoke-virtual {v0, p0}, Lcom/amazonaws/util/Base64Codec;->encode([B)[B
move-result-object p0
:cond_1
:goto_0
return-object p0
.end method
.method public static varargs encodeAsString([B)Ljava/lang/String;
.locals 1
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 35
:cond_0
array-length v0, p0
if-nez v0, :cond_1
const-string p0, ""
goto :goto_0
:cond_1
sget-object v0, Lcom/amazonaws/util/Base64;->CODEC:Lcom/amazonaws/util/Base64Codec;
invoke-virtual {v0, p0}, Lcom/amazonaws/util/Base64Codec;->encode([B)[B
move-result-object p0
invoke-static {p0}, Lcom/amazonaws/util/CodecUtils;->toStringDirect([B)Ljava/lang/String;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/Base64;
.locals 1
const-class v0, Lcom/amazonaws/util/Base64;
.line 23
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/Base64;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/Base64;
.locals 1
sget-object v0, Lcom/amazonaws/util/Base64;->$VALUES:[Lcom/amazonaws/util/Base64;
.line 23
invoke-virtual {v0}, [Lcom/amazonaws/util/Base64;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/Base64;
return-object v0
.end method

View File

@@ -0,0 +1,149 @@
.class abstract Lcom/amazonaws/util/Base64Codec$LazyHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/Base64Codec;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LazyHolder"
.end annotation
# static fields
.field public static final DECODED:[B
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 49
invoke-static {}, Lcom/amazonaws/util/Base64Codec$LazyHolder;->decodeTable()[B
move-result-object v0
sput-object v0, Lcom/amazonaws/util/Base64Codec$LazyHolder;->DECODED:[B
return-void
.end method
.method public static synthetic access$000()[B
.locals 1
sget-object v0, Lcom/amazonaws/util/Base64Codec$LazyHolder;->DECODED:[B
return-object v0
.end method
.method public static decodeTable()[B
.locals 4
const/16 v0, 0x7b
new-array v0, v0, [B
const/4 v1, 0x0
:goto_0
const/16 v2, 0x7a
if-gt v1, v2, :cond_5
const/16 v3, 0x41
if-lt v1, v3, :cond_0
const/16 v3, 0x5a
if-gt v1, v3, :cond_0
add-int/lit8 v2, v1, -0x41
int-to-byte v2, v2
.line 56
aput-byte v2, v0, v1
goto :goto_1
:cond_0
const/16 v3, 0x30
if-lt v1, v3, :cond_1
const/16 v3, 0x39
if-gt v1, v3, :cond_1
add-int/lit8 v2, v1, 0x4
int-to-byte v2, v2
.line 58
aput-byte v2, v0, v1
goto :goto_1
:cond_1
const/16 v3, 0x2b
if-ne v1, v3, :cond_2
add-int/lit8 v2, v1, 0x13
int-to-byte v2, v2
.line 60
aput-byte v2, v0, v1
goto :goto_1
:cond_2
const/16 v3, 0x2f
if-ne v1, v3, :cond_3
add-int/lit8 v2, v1, 0x10
int-to-byte v2, v2
.line 62
aput-byte v2, v0, v1
goto :goto_1
:cond_3
const/16 v3, 0x61
if-lt v1, v3, :cond_4
if-gt v1, v2, :cond_4
add-int/lit8 v2, v1, -0x47
int-to-byte v2, v2
.line 64
aput-byte v2, v0, v1
goto :goto_1
:cond_4
const/4 v2, -0x1
.line 66
aput-byte v2, v0, v1
:goto_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_5
return-object v0
.end method

View File

@@ -0,0 +1,680 @@
.class Lcom/amazonaws/util/Base64Codec;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amazonaws/util/Base64Codec$LazyHolder;
}
.end annotation
# instance fields
.field public final alpahbets:[B
# direct methods
.method public constructor <init>()V
.locals 1
.line 74
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
.line 76
invoke-static {v0}, Lcom/amazonaws/util/CodecUtils;->toBytesDirect(Ljava/lang/String;)[B
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/Base64Codec;->alpahbets:[B
return-void
.end method
# virtual methods
.method public decode([BI)[B
.locals 7
.line 206
rem-int/lit8 v0, p2, 0x4
if-nez v0, :cond_7
add-int/lit8 v0, p2, -0x1
const/4 v1, 0x0
move v2, v1
:goto_0
const/4 v3, 0x2
if-ge v2, v3, :cond_1
const/4 v4, -0x1
if-le v0, v4, :cond_1
.line 215
aget-byte v4, p1, v0
const/16 v5, 0x3d
if-eq v4, v5, :cond_0
goto :goto_1
:cond_0
add-int/lit8 v0, v0, -0x1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
:goto_1
const/4 v0, 0x3
if-eqz v2, :cond_3
const/4 v4, 0x1
if-eq v2, v4, :cond_4
if-ne v2, v3, :cond_2
move v3, v4
goto :goto_2
.line 233
:cond_2
new-instance p1, Ljava/lang/Error;
const-string p2, "Impossible"
invoke-direct {p1, p2}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw p1
:cond_3
move v3, v0
.line 235
:cond_4
:goto_2
div-int/lit8 p2, p2, 0x4
mul-int/2addr p2, v0
rsub-int/lit8 v2, v3, 0x3
sub-int/2addr p2, v2
new-array v6, p2, [B
move v4, v1
move v5, v4
.line 239
:goto_3
rem-int/lit8 v1, v3, 0x3
sub-int v1, p2, v1
if-ge v5, v1, :cond_5
.line 240
invoke-virtual {p0, p1, v4, v6, v5}, Lcom/amazonaws/util/Base64Codec;->decode4bytes([BI[BI)V
add-int/lit8 v4, v4, 0x4
add-int/lit8 v5, v5, 0x3
goto :goto_3
:cond_5
if-ge v3, v0, :cond_6
move-object v0, p0
move v1, v3
move-object v2, p1
move v3, v4
move-object v4, v6
.line 244
invoke-virtual/range {v0 .. v5}, Lcom/amazonaws/util/Base64Codec;->decode1to3bytes(I[BI[BI)V
:cond_6
return-object v6
.line 207
:cond_7
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Input is expected to be encoded in multiple of 4 bytes but found: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public decode1to3bytes(I[BI[BI)V
.locals 7
add-int/lit8 v0, p5, 0x1
add-int/lit8 v1, p3, 0x1
.line 176
aget-byte v2, p2, p3
.line 178
invoke-virtual {p0, v2}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v2
const/4 v3, 0x2
shl-int/2addr v2, v3
add-int/lit8 v4, p3, 0x2
aget-byte v1, p2, v1
.line 179
invoke-virtual {p0, v1}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v1
ushr-int/lit8 v5, v1, 0x4
const/4 v6, 0x3
and-int/2addr v5, v6
or-int/2addr v2, v5
int-to-byte v2, v2
aput-byte v2, p4, p5
const/16 v2, 0xf
const/4 v5, 0x1
if-ne p1, v5, :cond_0
.line 182
invoke-static {v1, v2}, Lcom/amazonaws/util/CodecUtils;->sanityCheckLastPos(II)V
return-void
:cond_0
add-int/2addr p5, v3
and-int/2addr v1, v2
shl-int/lit8 v1, v1, 0x4
add-int/2addr p3, v6
.line 186
aget-byte v4, p2, v4
.line 189
invoke-virtual {p0, v4}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v4
ushr-int/lit8 v5, v4, 0x2
and-int/2addr v2, v5
or-int/2addr v1, v2
int-to-byte v1, v1
aput-byte v1, p4, v0
if-ne p1, v3, :cond_1
.line 192
invoke-static {v4, v6}, Lcom/amazonaws/util/CodecUtils;->sanityCheckLastPos(II)V
return-void
:cond_1
and-int/lit8 p1, v4, 0x3
shl-int/lit8 p1, p1, 0x6
.line 196
aget-byte p2, p2, p3
.line 199
invoke-virtual {p0, p2}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result p2
or-int/2addr p1, p2
int-to-byte p1, p1
aput-byte p1, p4, p5
return-void
.end method
.method public decode4bytes([BI[BI)V
.locals 5
add-int/lit8 v0, p4, 0x1
add-int/lit8 v1, p2, 0x1
.line 151
aget-byte v2, p1, p2
.line 153
invoke-virtual {p0, v2}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v2
shl-int/lit8 v2, v2, 0x2
add-int/lit8 v3, p2, 0x2
aget-byte v1, p1, v1
.line 154
invoke-virtual {p0, v1}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v1
ushr-int/lit8 v4, v1, 0x4
and-int/lit8 v4, v4, 0x3
or-int/2addr v2, v4
int-to-byte v2, v2
aput-byte v2, p3, p4
add-int/lit8 p4, p4, 0x2
and-int/lit8 v1, v1, 0xf
shl-int/lit8 v1, v1, 0x4
add-int/lit8 p2, p2, 0x3
.line 156
aget-byte v2, p1, v3
.line 159
invoke-virtual {p0, v2}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result v2
ushr-int/lit8 v3, v2, 0x2
and-int/lit8 v3, v3, 0xf
or-int/2addr v1, v3
int-to-byte v1, v1
aput-byte v1, p3, v0
and-int/lit8 v0, v2, 0x3
shl-int/lit8 v0, v0, 0x6
.line 161
aget-byte p1, p1, p2
.line 164
invoke-virtual {p0, p1}, Lcom/amazonaws/util/Base64Codec;->pos(B)I
move-result p1
or-int/2addr p1, v0
int-to-byte p1, p1
aput-byte p1, p3, p4
return-void
.end method
.method public encode([B)[B
.locals 6
.line 85
array-length v0, p1
div-int/lit8 v0, v0, 0x3
.line 86
array-length v1, p1
rem-int/lit8 v1, v1, 0x3
const/4 v2, 0x0
if-nez v1, :cond_1
mul-int/lit8 v0, v0, 0x4
.line 89
new-array v0, v0, [B
move v1, v2
.line 91
:goto_0
array-length v3, p1
if-ge v2, v3, :cond_0
.line 92
invoke-virtual {p0, p1, v2, v0, v1}, Lcom/amazonaws/util/Base64Codec;->encode3bytes([BI[BI)V
add-int/lit8 v2, v2, 0x3
add-int/lit8 v1, v1, 0x4
goto :goto_0
:cond_0
return-object v0
:cond_1
const/4 v3, 0x1
add-int/2addr v0, v3
mul-int/lit8 v0, v0, 0x4
.line 96
new-array v0, v0, [B
move v4, v2
.line 99
:goto_1
array-length v5, p1
sub-int/2addr v5, v1
if-ge v2, v5, :cond_2
.line 100
invoke-virtual {p0, p1, v2, v0, v4}, Lcom/amazonaws/util/Base64Codec;->encode3bytes([BI[BI)V
add-int/lit8 v2, v2, 0x3
add-int/lit8 v4, v4, 0x4
goto :goto_1
:cond_2
if-eq v1, v3, :cond_4
const/4 v3, 0x2
if-eq v1, v3, :cond_3
goto :goto_2
.line 107
:cond_3
invoke-virtual {p0, p1, v2, v0, v4}, Lcom/amazonaws/util/Base64Codec;->encode2bytes([BI[BI)V
goto :goto_2
.line 104
:cond_4
invoke-virtual {p0, p1, v2, v0, v4}, Lcom/amazonaws/util/Base64Codec;->encode1byte([BI[BI)V
:goto_2
return-object v0
.end method
.method public encode1byte([BI[BI)V
.locals 2
add-int/lit8 v0, p4, 0x1
iget-object v1, p0, Lcom/amazonaws/util/Base64Codec;->alpahbets:[B
.line 141
aget-byte p1, p1, p2
ushr-int/lit8 p2, p1, 0x2
and-int/lit8 p2, p2, 0x3f
aget-byte p2, v1, p2
aput-byte p2, p3, p4
add-int/lit8 p2, p4, 0x2
and-int/lit8 p1, p1, 0x3
shl-int/lit8 p1, p1, 0x4
.line 142
aget-byte p1, v1, p1
aput-byte p1, p3, v0
add-int/lit8 p4, p4, 0x3
const/16 p1, 0x3d
.line 143
aput-byte p1, p3, p2
.line 144
aput-byte p1, p3, p4
return-void
.end method
.method public encode2bytes([BI[BI)V
.locals 4
add-int/lit8 v0, p4, 0x1
iget-object v1, p0, Lcom/amazonaws/util/Base64Codec;->alpahbets:[B
add-int/lit8 v2, p2, 0x1
.line 130
aget-byte p2, p1, p2
ushr-int/lit8 v3, p2, 0x2
and-int/lit8 v3, v3, 0x3f
aget-byte v3, v1, v3
aput-byte v3, p3, p4
add-int/lit8 v3, p4, 0x2
and-int/lit8 p2, p2, 0x3
shl-int/lit8 p2, p2, 0x4
.line 131
aget-byte p1, p1, v2
ushr-int/lit8 v2, p1, 0x4
and-int/lit8 v2, v2, 0xf
or-int/2addr p2, v2
aget-byte p2, v1, p2
aput-byte p2, p3, v0
add-int/lit8 p4, p4, 0x3
and-int/lit8 p1, p1, 0xf
shl-int/lit8 p1, p1, 0x2
.line 133
aget-byte p1, v1, p1
aput-byte p1, p3, v3
const/16 p1, 0x3d
.line 134
aput-byte p1, p3, p4
return-void
.end method
.method public encode3bytes([BI[BI)V
.locals 6
add-int/lit8 v0, p4, 0x1
iget-object v1, p0, Lcom/amazonaws/util/Base64Codec;->alpahbets:[B
add-int/lit8 v2, p2, 0x1
.line 118
aget-byte v3, p1, p2
ushr-int/lit8 v4, v3, 0x2
and-int/lit8 v4, v4, 0x3f
aget-byte v4, v1, v4
aput-byte v4, p3, p4
add-int/lit8 v4, p4, 0x2
and-int/lit8 v3, v3, 0x3
shl-int/lit8 v3, v3, 0x4
add-int/lit8 p2, p2, 0x2
.line 119
aget-byte v2, p1, v2
ushr-int/lit8 v5, v2, 0x4
and-int/lit8 v5, v5, 0xf
or-int/2addr v3, v5
aget-byte v3, v1, v3
aput-byte v3, p3, v0
add-int/lit8 p4, p4, 0x3
and-int/lit8 v0, v2, 0xf
shl-int/lit8 v0, v0, 0x2
.line 121
aget-byte p1, p1, p2
ushr-int/lit8 p2, p1, 0x6
and-int/lit8 p2, p2, 0x3
or-int/2addr p2, v0
aget-byte p2, v1, p2
aput-byte p2, p3, v4
and-int/lit8 p1, p1, 0x3f
.line 123
aget-byte p1, v1, p1
aput-byte p1, p3, p4
return-void
.end method
.method public pos(B)I
.locals 3
.line 250
invoke-static {}, Lcom/amazonaws/util/Base64Codec$LazyHolder;->access$000()[B
move-result-object v0
aget-byte v0, v0, p1
const/4 v1, -0x1
if-le v0, v1, :cond_0
return v0
.line 254
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid base 64 character: \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
int-to-char p1, p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string p1, "\'"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method

View File

@@ -0,0 +1,98 @@
.class public abstract Lcom/amazonaws/util/BinaryUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static toBase64([B)Ljava/lang/String;
.locals 0
.line 83
invoke-static {p0}, Lcom/amazonaws/util/Base64;->encodeAsString([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toHex([B)Ljava/lang/String;
.locals 5
.line 42
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p0
mul-int/lit8 v1, v1, 0x2
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 43
:goto_0
array-length v2, p0
if-ge v1, v2, :cond_2
.line 44
aget-byte v2, p0, v1
invoke-static {v2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v2
.line 45
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
const/4 v4, 0x1
if-ne v3, v4, :cond_0
const-string v3, "0"
.line 47
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_1
.line 48
:cond_0
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
const/16 v4, 0x8
if-ne v3, v4, :cond_1
const/4 v3, 0x6
.line 50
invoke-virtual {v2, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
.line 52
:cond_1
:goto_1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 54
:cond_2
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/amazonaws/util/StringUtils;->lowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,126 @@
.class public Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;
.super Lcom/amazonaws/internal/SdkFilterInputStream;
.source "SourceFile"
# instance fields
.field public crc32:Ljava/util/zip/CRC32;
# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
.locals 0
.line 38
invoke-direct {p0, p1}, Lcom/amazonaws/internal/SdkFilterInputStream;-><init>(Ljava/io/InputStream;)V
.line 39
new-instance p1, Ljava/util/zip/CRC32;
invoke-direct {p1}, Ljava/util/zip/CRC32;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;->crc32:Ljava/util/zip/CRC32;
return-void
.end method
# virtual methods
.method public getCRC32Checksum()J
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;->crc32:Ljava/util/zip/CRC32;
.line 43
invoke-virtual {v0}, Ljava/util/zip/CRC32;->getValue()J
move-result-wide v0
return-wide v0
.end method
.method public read()I
.locals 2
.line 63
invoke-virtual {p0}, Lcom/amazonaws/internal/SdkFilterInputStream;->abortIfNeeded()V
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 64
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
iget-object v1, p0, Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;->crc32:Ljava/util/zip/CRC32;
.line 66
invoke-virtual {v1, v0}, Ljava/util/zip/CRC32;->update(I)V
:cond_0
return v0
.end method
.method public read([BII)I
.locals 1
.line 76
invoke-virtual {p0}, Lcom/amazonaws/internal/SdkFilterInputStream;->abortIfNeeded()V
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 77
invoke-virtual {v0, p1, p2, p3}, Ljava/io/InputStream;->read([BII)I
move-result p3
const/4 v0, -0x1
if-eq p3, v0, :cond_0
iget-object v0, p0, Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;->crc32:Ljava/util/zip/CRC32;
.line 79
invoke-virtual {v0, p1, p2, p3}, Ljava/util/zip/CRC32;->update([BII)V
:cond_0
return p3
.end method
.method public declared-synchronized reset()V
.locals 1
monitor-enter p0
.line 53
:try_start_0
invoke-virtual {p0}, Lcom/amazonaws/internal/SdkFilterInputStream;->abortIfNeeded()V
iget-object v0, p0, Lcom/amazonaws/util/CRC32ChecksumCalculatingInputStream;->crc32:Ljava/util/zip/CRC32;
.line 54
invoke-virtual {v0}, Ljava/util/zip/CRC32;->reset()V
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 55
invoke-virtual {v0}, Ljava/io/InputStream;->reset()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 56
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method

View File

@@ -0,0 +1,476 @@
.class public final enum Lcom/amazonaws/util/ClassLoaderHelper;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/ClassLoaderHelper;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/ClassLoaderHelper;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/amazonaws/util/ClassLoaderHelper;
sput-object v0, Lcom/amazonaws/util/ClassLoaderHelper;->$VALUES:[Lcom/amazonaws/util/ClassLoaderHelper;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 26
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static varargs getResource(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/net/URL;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/net/URL;"
}
.end annotation
if-eqz p1, :cond_0
.line 65
invoke-static {p0, p2}, Lcom/amazonaws/util/ClassLoaderHelper;->getResourceViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/net/URL;
move-result-object p1
if-nez p1, :cond_1
.line 67
invoke-static {p0}, Lcom/amazonaws/util/ClassLoaderHelper;->getResourceViaContext(Ljava/lang/String;)Ljava/net/URL;
move-result-object p1
goto :goto_0
.line 70
:cond_0
invoke-static {p0}, Lcom/amazonaws/util/ClassLoaderHelper;->getResourceViaContext(Ljava/lang/String;)Ljava/net/URL;
move-result-object p1
if-nez p1, :cond_1
.line 72
invoke-static {p0, p2}, Lcom/amazonaws/util/ClassLoaderHelper;->getResourceViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/net/URL;
move-result-object p1
:cond_1
:goto_0
if-nez p1, :cond_2
const-class p1, Lcom/amazonaws/util/ClassLoaderHelper;
.line 75
invoke-virtual {p1, p0}, Ljava/lang/Class;->getResource(Ljava/lang/String;)Ljava/net/URL;
move-result-object p1
:cond_2
return-object p1
.end method
.method public static varargs getResource(Ljava/lang/String;[Ljava/lang/Class;)Ljava/net/URL;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/net/URL;"
}
.end annotation
const/4 v0, 0x0
.line 39
invoke-static {p0, v0, p1}, Lcom/amazonaws/util/ClassLoaderHelper;->getResource(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/net/URL;
move-result-object p0
return-object p0
.end method
.method public static varargs getResourceAsStream(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/io/InputStream;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/io/InputStream;"
}
.end annotation
.line 209
invoke-static {p0, p1, p2}, Lcom/amazonaws/util/ClassLoaderHelper;->getResource(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/net/URL;
move-result-object p0
const/4 p1, 0x0
if-eqz p0, :cond_0
.line 211
:try_start_0
invoke-static {p0}, Lcom/google/firebase/perf/network/FirebasePerfUrlConnection;->openStream(Ljava/net/URL;)Ljava/io/InputStream;
move-result-object p1
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
nop
:catch_0
:cond_0
return-object p1
.end method
.method public static varargs getResourceAsStream(Ljava/lang/String;[Ljava/lang/Class;)Ljava/io/InputStream;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/io/InputStream;"
}
.end annotation
const/4 v0, 0x0
.line 184
invoke-static {p0, v0, p1}, Lcom/amazonaws/util/ClassLoaderHelper;->getResourceAsStream(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/io/InputStream;
move-result-object p0
return-object p0
.end method
.method private static getResourceViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/net/URL;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/net/URL;"
}
.end annotation
if-eqz p1, :cond_1
.line 80
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
aget-object v2, p1, v1
.line 81
invoke-virtual {v2, p0}, Ljava/lang/Class;->getResource(Ljava/lang/String;)Ljava/net/URL;
move-result-object v2
if-eqz v2, :cond_0
return-object v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p0, 0x0
return-object p0
.end method
.method private static getResourceViaContext(Ljava/lang/String;)Ljava/net/URL;
.locals 1
.line 90
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
if-nez v0, :cond_0
const/4 p0, 0x0
goto :goto_0
.line 91
:cond_0
invoke-virtual {v0, p0}, Ljava/lang/ClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static varargs loadClass(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/lang/Class;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;
}
.end annotation
if-eqz p1, :cond_0
.line 158
invoke-static {p0, p2}, Lcom/amazonaws/util/ClassLoaderHelper;->loadClassViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p1
if-nez p1, :cond_1
.line 160
invoke-static {p0}, Lcom/amazonaws/util/ClassLoaderHelper;->loadClassViaContext(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
goto :goto_0
.line 163
:cond_0
invoke-static {p0}, Lcom/amazonaws/util/ClassLoaderHelper;->loadClassViaContext(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
if-nez p1, :cond_1
.line 165
invoke-static {p0, p2}, Lcom/amazonaws/util/ClassLoaderHelper;->loadClassViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p1
:cond_1
:goto_0
if-nez p1, :cond_2
.line 168
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
:cond_2
return-object p1
.end method
.method public static varargs loadClass(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;
}
.end annotation
const/4 v0, 0x1
.line 132
invoke-static {p0, v0, p1}, Lcom/amazonaws/util/ClassLoaderHelper;->loadClass(Ljava/lang/String;Z[Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p0
return-object p0
.end method
.method private static loadClassViaClasses(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
if-eqz p1, :cond_1
.line 96
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
aget-object v2, p1, v1
.line 97
invoke-virtual {v2}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v2
if-eqz v2, :cond_0
.line 100
:try_start_0
invoke-virtual {v2, p0}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p0
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p0, 0x0
return-object p0
.end method
.method private static loadClassViaContext(Ljava/lang/String;)Ljava/lang/Class;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.line 111
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_0
goto :goto_0
.line 113
:cond_0
:try_start_0
invoke-virtual {v0, p0}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:goto_0
return-object v1
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/ClassLoaderHelper;
.locals 1
const-class v0, Lcom/amazonaws/util/ClassLoaderHelper;
.line 25
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/ClassLoaderHelper;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/ClassLoaderHelper;
.locals 1
sget-object v0, Lcom/amazonaws/util/ClassLoaderHelper;->$VALUES:[Lcom/amazonaws/util/ClassLoaderHelper;
.line 25
invoke-virtual {v0}, [Lcom/amazonaws/util/ClassLoaderHelper;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/ClassLoaderHelper;
return-object v0
.end method

View File

@@ -0,0 +1,271 @@
.class public final enum Lcom/amazonaws/util/Classes;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/Classes;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/Classes;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/amazonaws/util/Classes;
sput-object v0, Lcom/amazonaws/util/Classes;->$VALUES:[Lcom/amazonaws/util/Classes;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 30
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static childClassOf(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Class;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Object;",
")",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_4
const-class v1, Ljava/lang/Object;
if-ne p1, v1, :cond_0
goto :goto_1
:cond_0
if-eqz p0, :cond_1
.line 46
invoke-virtual {p0}, Ljava/lang/Class;->isInterface()Z
move-result v1
if-eqz v1, :cond_1
return-object v0
.line 51
:cond_1
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
.line 53
:goto_0
invoke-virtual {p1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v1
if-ne v1, p0, :cond_2
return-object p1
:cond_2
if-nez v1, :cond_3
return-object v0
:cond_3
move-object p1, v1
goto :goto_0
:cond_4
:goto_1
return-object v0
.end method
.method public static jarFileOf(Ljava/lang/Class;)Ljava/util/jar/JarFile;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Ljava/util/jar/JarFile;"
}
.end annotation
.line 68
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 69
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
const/16 v2, 0x2e
const/16 v3, 0x2f
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ".class"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 68
invoke-virtual {p0, v0}, Ljava/lang/Class;->getResource(Ljava/lang/String;)Ljava/net/URL;
move-result-object p0
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
.line 72
:cond_0
invoke-virtual {p0}, Ljava/net/URL;->getFile()Ljava/lang/String;
move-result-object p0
const-string v1, "file:"
.line 73
invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v1
add-int/lit8 v1, v1, 0x5
const-string v2, ".jar!"
.line 74
invoke-virtual {p0, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
const/4 v3, -0x1
if-ne v2, v3, :cond_1
return-object v0
:cond_1
add-int/lit8 v2, v2, 0x4
.line 78
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
.line 79
new-instance v1, Ljava/io/File;
invoke-direct {v1, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 81
:try_start_0
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result p0
if-eqz p0, :cond_2
new-instance v0, Ljava/util/jar/JarFile;
invoke-direct {v0, v1}, Ljava/util/jar/JarFile;-><init>(Ljava/io/File;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p0
goto :goto_1
:cond_2
:goto_0
return-object v0
.line 83
:goto_1
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/Classes;
.locals 1
const-class v0, Lcom/amazonaws/util/Classes;
.line 29
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/Classes;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/Classes;
.locals 1
sget-object v0, Lcom/amazonaws/util/Classes;->$VALUES:[Lcom/amazonaws/util/Classes;
.line 29
invoke-virtual {v0}, [Lcom/amazonaws/util/Classes;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/Classes;
return-object v0
.end method

View File

@@ -0,0 +1,292 @@
.class public final enum Lcom/amazonaws/util/CodecUtils;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/CodecUtils;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/CodecUtils;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/amazonaws/util/CodecUtils;
sput-object v0, Lcom/amazonaws/util/CodecUtils;->$VALUES:[Lcom/amazonaws/util/CodecUtils;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 24
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static sanitize(Ljava/lang/String;[B)I
.locals 6
.line 48
array-length v0, p1
.line 49
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object v1
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v2, v0, :cond_3
.line 53
aget-char v4, v1, v2
const/16 v5, 0xd
if-eq v4, v5, :cond_2
const/16 v5, 0xa
if-eq v4, v5, :cond_2
const/16 v5, 0x20
if-ne v4, v5, :cond_0
goto :goto_1
:cond_0
const/16 v5, 0x7f
if-gt v4, v5, :cond_1
add-int/lit8 v5, v3, 0x1
int-to-byte v4, v4
.line 60
aput-byte v4, p1, v3
move v3, v5
goto :goto_1
.line 58
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid character found at position "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v3
.end method
.method public static sanityCheckLastPos(II)V
.locals 0
and-int/2addr p0, p1
if-nez p0, :cond_0
return-void
.line 113
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Invalid last non-pad character detected"
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static toBytesDirect(Ljava/lang/String;)[B
.locals 6
.line 74
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
.line 75
array-length v1, v0
new-array v2, v1, [B
const/4 v3, 0x0
:goto_0
if-ge v3, v1, :cond_1
.line 78
aget-char v4, v0, v3
const/16 v5, 0x7f
if-gt v4, v5, :cond_0
int-to-byte v4, v4
.line 83
aput-byte v4, v2, v3
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 81
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid character found at position "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " for "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
return-object v2
.end method
.method public static toStringDirect([B)Ljava/lang/String;
.locals 6
.line 94
array-length v0, p0
new-array v0, v0, [C
.line 97
array-length v1, p0
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v2, v1, :cond_0
aget-byte v4, p0, v2
add-int/lit8 v5, v3, 0x1
int-to-char v4, v4
.line 98
aput-char v4, v0, v3
add-int/lit8 v2, v2, 0x1
move v3, v5
goto :goto_0
.line 100
:cond_0
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v0}, Ljava/lang/String;-><init>([C)V
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/CodecUtils;
.locals 1
const-class v0, Lcom/amazonaws/util/CodecUtils;
.line 23
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/CodecUtils;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/CodecUtils;
.locals 1
sget-object v0, Lcom/amazonaws/util/CodecUtils;->$VALUES:[Lcom/amazonaws/util/CodecUtils;
.line 23
invoke-virtual {v0}, [Lcom/amazonaws/util/CodecUtils;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/CodecUtils;
return-object v0
.end method

View File

@@ -0,0 +1,79 @@
.class final Lcom/amazonaws/util/DateUtils$1;
.super Ljava/lang/ThreadLocal;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/amazonaws/util/DateUtils;->getSimpleDateFormat(Ljava/lang/String;)Ljava/lang/ThreadLocal;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Ljava/text/SimpleDateFormat;",
">;"
}
.end annotation
# instance fields
.field public final synthetic val$pattern:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
iput-object p1, p0, Lcom/amazonaws/util/DateUtils$1;->val$pattern:Ljava/lang/String;
.line 71
invoke-direct {p0}, Ljava/lang/ThreadLocal;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic initialValue()Ljava/lang/Object;
.locals 1
.line 71
invoke-virtual {p0}, Lcom/amazonaws/util/DateUtils$1;->initialValue()Ljava/text/SimpleDateFormat;
move-result-object v0
return-object v0
.end method
.method public initialValue()Ljava/text/SimpleDateFormat;
.locals 3
.line 74
new-instance v0, Ljava/text/SimpleDateFormat;
iget-object v1, p0, Lcom/amazonaws/util/DateUtils$1;->val$pattern:Ljava/lang/String;
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-direct {v0, v1, v2}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
.line 75
invoke-static {}, Lcom/amazonaws/util/DateUtils;->access$000()Ljava/util/TimeZone;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/text/DateFormat;->setTimeZone(Ljava/util/TimeZone;)V
const/4 v1, 0x0
.line 76
invoke-virtual {v0, v1}, Ljava/text/DateFormat;->setLenient(Z)V
return-object v0
.end method

View File

@@ -0,0 +1,209 @@
.class public abstract Lcom/amazonaws/util/DateUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final GMT_TIMEZONE:Ljava/util/TimeZone;
.field public static final SDF_MAP:Ljava/util/Map;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "GMT"
.line 51
invoke-static {v0}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/DateUtils;->GMT_TIMEZONE:Ljava/util/TimeZone;
.line 56
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/amazonaws/util/DateUtils;->SDF_MAP:Ljava/util/Map;
return-void
.end method
.method public static synthetic access$000()Ljava/util/TimeZone;
.locals 1
sget-object v0, Lcom/amazonaws/util/DateUtils;->GMT_TIMEZONE:Ljava/util/TimeZone;
return-object v0
.end method
.method public static format(Ljava/lang/String;Ljava/util/Date;)Ljava/lang/String;
.locals 0
.line 111
invoke-static {p0}, Lcom/amazonaws/util/DateUtils;->getSimpleDateFormat(Ljava/lang/String;)Ljava/lang/ThreadLocal;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/text/SimpleDateFormat;
invoke-virtual {p0, p1}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSimpleDateFormat(Ljava/lang/String;)Ljava/lang/ThreadLocal;
.locals 2
sget-object v0, Lcom/amazonaws/util/DateUtils;->SDF_MAP:Ljava/util/Map;
.line 66
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/ThreadLocal;
if-nez v1, :cond_1
.line 68
monitor-enter v0
.line 69
:try_start_0
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/ThreadLocal;
if-nez v1, :cond_0
.line 71
new-instance v1, Lcom/amazonaws/util/DateUtils$1;
invoke-direct {v1, p0}, Lcom/amazonaws/util/DateUtils$1;-><init>(Ljava/lang/String;)V
.line 80
invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
:catchall_0
move-exception p0
goto :goto_1
.line 82
:cond_0
:goto_0
monitor-exit v0
goto :goto_2
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p0
:cond_1
:goto_2
return-object v1
.end method
.method public static parse(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
.locals 0
.line 97
:try_start_0
invoke-static {p0}, Lcom/amazonaws/util/DateUtils;->getSimpleDateFormat(Ljava/lang/String;)Ljava/lang/ThreadLocal;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/text/SimpleDateFormat;
invoke-virtual {p0, p1}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
:try_end_0
.catch Ljava/text/ParseException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 99
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw p1
.end method
.method public static parseCompressedISO8601Date(Ljava/lang/String;)Ljava/util/Date;
.locals 1
const-string v0, "yyyyMMdd\'T\'HHmmss\'Z\'"
.line 170
invoke-static {v0, p0}, Lcom/amazonaws/util/DateUtils;->parse(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
return-object p0
.end method
.method public static parseISO8601Date(Ljava/lang/String;)Ljava/util/Date;
.locals 1
:try_start_0
const-string v0, "yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'"
.line 123
invoke-static {v0, p0}, Lcom/amazonaws/util/DateUtils;->parse(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
const-string v0, "yyyy-MM-dd\'T\'HH:mm:ss\'Z\'"
.line 127
invoke-static {v0, p0}, Lcom/amazonaws/util/DateUtils;->parse(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
return-object p0
.end method
.method public static parseRFC822Date(Ljava/lang/String;)Ljava/util/Date;
.locals 1
const-string v0, "EEE, dd MMM yyyy HH:mm:ss z"
.line 149
invoke-static {v0, p0}, Lcom/amazonaws/util/DateUtils;->parse(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,657 @@
.class public abstract Lcom/amazonaws/util/HttpUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final DECODED_CHARACTERS_PATTERN:Ljava/util/regex/Pattern;
.field public static final ENCODED_CHARACTERS_PATTERN:Ljava/util/regex/Pattern;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 53
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "+"
.line 56
invoke-static {v1}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "|"
.line 57
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "*"
.line 58
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 59
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "%7E"
.line 60
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 61
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "%2F"
.line 62
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 64
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/HttpUtils;->ENCODED_CHARACTERS_PATTERN:Ljava/util/regex/Pattern;
.line 69
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "%2A"
.line 71
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 72
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "%2B"
.line 73
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 74
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 76
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/HttpUtils;->DECODED_CHARACTERS_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public static appendUri(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 1
const/4 v0, 0x0
.line 223
invoke-static {p0, p1, v0}, Lcom/amazonaws/util/HttpUtils;->appendUri(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static appendUri(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
.locals 3
const-string v0, "/"
if-eqz p1, :cond_3
.line 241
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
if-lez v1, :cond_3
.line 242
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_0
.line 245
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1
.line 246
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
sub-int/2addr v0, v2
const/4 v1, 0x0
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
goto :goto_0
.line 248
:cond_0
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1
.line 249
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 251
:cond_1
:goto_0
invoke-static {p1, v2}, Lcom/amazonaws/util/HttpUtils;->urlEncode(Ljava/lang/String;Z)Ljava/lang/String;
move-result-object p1
if-eqz p2, :cond_2
const-string p2, "//"
const-string v0, "/%2F"
.line 253
invoke-virtual {p1, p2, v0}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object p1
.line 255
:cond_2
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_1
.line 256
:cond_3
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result p1
if-nez p1, :cond_4
.line 257
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:cond_4
:goto_1
return-object p0
.end method
.method public static appendUriEncoded(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 1
if-eqz p1, :cond_0
.line 276
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:cond_0
return-object p0
.end method
.method public static encodeParameters(Lcom/amazonaws/Request;)Ljava/lang/String;
.locals 6
const-string v0, "UTF-8"
.line 191
invoke-interface {p0}, Lcom/amazonaws/Request;->getParameters()Ljava/util/Map;
move-result-object v1
invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z
move-result v1
if-eqz v1, :cond_0
const/4 p0, 0x0
return-object p0
.line 194
:cond_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 197
:try_start_0
invoke-interface {p0}, Lcom/amazonaws/Request;->getParameters()Ljava/util/Map;
move-result-object p0
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
const/4 v2, 0x1
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_3
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 198
invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-static {v4, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 199
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
if-nez v3, :cond_1
const-string v3, ""
goto :goto_1
:catch_0
move-exception p0
goto :goto_3
.line 200
:cond_1
invoke-static {v3, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
:goto_1
if-nez v2, :cond_2
const-string v5, "&"
.line 203
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_2
:cond_2
const/4 v2, 0x0
.line 207
:goto_2
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, "="
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_0
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 212
:cond_3
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 210
:goto_3
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static isUsingNonDefaultPort(Ljava/net/URI;)Z
.locals 3
.line 155
invoke-virtual {p0}, Ljava/net/URI;->getScheme()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/amazonaws/util/StringUtils;->lowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 156
invoke-virtual {p0}, Ljava/net/URI;->getPort()I
move-result p0
const/4 v1, 0x0
if-gtz p0, :cond_0
return v1
:cond_0
const-string v2, "http"
.line 161
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1
const/16 v2, 0x50
if-ne p0, v2, :cond_1
return v1
:cond_1
const-string v2, "https"
.line 164
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
const/16 v0, 0x1bb
if-ne p0, v0, :cond_2
return v1
:cond_2
const/4 p0, 0x1
return p0
.end method
.method public static urlEncode(Ljava/lang/String;Z)Ljava/lang/String;
.locals 3
if-nez p0, :cond_0
const-string p0, ""
return-object p0
:cond_0
:try_start_0
const-string v0, "UTF-8"
.line 97
invoke-static {p0, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
sget-object v0, Lcom/amazonaws/util/HttpUtils;->ENCODED_CHARACTERS_PATTERN:Ljava/util/regex/Pattern;
.line 99
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.line 100
new-instance v1, Ljava/lang/StringBuffer;
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result p0
invoke-direct {v1, p0}, Ljava/lang/StringBuffer;-><init>(I)V
.line 102
:goto_0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->find()Z
move-result p0
if-eqz p0, :cond_5
const/4 p0, 0x0
.line 103
invoke-virtual {v0, p0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
const-string v2, "+"
.line 105
invoke-virtual {v2, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1
const-string p0, "%20"
goto :goto_1
:catch_0
move-exception p0
goto :goto_2
:cond_1
const-string v2, "*"
.line 107
invoke-virtual {v2, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
const-string p0, "%2A"
goto :goto_1
:cond_2
const-string v2, "%7E"
.line 109
invoke-virtual {v2, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_3
const-string p0, "~"
goto :goto_1
:cond_3
if-eqz p1, :cond_4
const-string v2, "%2F"
.line 111
invoke-virtual {v2, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_4
const-string p0, "/"
.line 114
:cond_4
:goto_1
invoke-virtual {v0, v1, p0}, Ljava/util/regex/Matcher;->appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
goto :goto_0
.line 117
:cond_5
invoke-virtual {v0, v1}, Ljava/util/regex/Matcher;->appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
.line 118
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
.line 121
:goto_2
new-instance p1, Ljava/lang/RuntimeException;
invoke-direct {p1, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw p1
.end method
.method public static usePayloadForQueryParameters(Lcom/amazonaws/Request;)Z
.locals 3
.line 176
sget-object v0, Lcom/amazonaws/http/HttpMethodName;->POST:Lcom/amazonaws/http/HttpMethodName;
invoke-interface {p0}, Lcom/amazonaws/Request;->getHttpMethod()Lcom/amazonaws/http/HttpMethodName;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
.line 177
invoke-interface {p0}, Lcom/amazonaws/Request;->getContent()Ljava/io/InputStream;
move-result-object p0
const/4 v1, 0x0
const/4 v2, 0x1
if-nez p0, :cond_0
move p0, v2
goto :goto_0
:cond_0
move p0, v1
:goto_0
if-eqz v0, :cond_1
if-eqz p0, :cond_1
move v1, v2
:cond_1
return v1
.end method

View File

@@ -0,0 +1,255 @@
.class public final enum Lcom/amazonaws/util/IOUtils;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/IOUtils;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/IOUtils;
.field private static final BUFFER_SIZE:I = 0x1000
.field private static final logger:Lcom/amazonaws/logging/Log;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/amazonaws/util/IOUtils;
sput-object v0, Lcom/amazonaws/util/IOUtils;->$VALUES:[Lcom/amazonaws/util/IOUtils;
const-class v0, Lcom/amazonaws/util/IOUtils;
.line 34
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/IOUtils;->logger:Lcom/amazonaws/logging/Log;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 31
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static closeQuietly(Ljava/io/Closeable;Lcom/amazonaws/logging/Log;)V
.locals 1
if-eqz p0, :cond_0
.line 76
:try_start_0
invoke-interface {p0}, Ljava/io/Closeable;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p0
sget-object p1, Lcom/amazonaws/util/IOUtils;->logger:Lcom/amazonaws/logging/Log;
.line 78
invoke-interface {p1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z
move-result p1
if-eqz p1, :cond_0
sget-object p1, Lcom/amazonaws/util/IOUtils;->logger:Lcom/amazonaws/logging/Log;
const-string v0, "Ignore failure in closing the Closeable"
.line 79
invoke-interface {p1, v0, p0}, Lcom/amazonaws/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/16 v0, 0x1000
new-array v0, v0, [B
const-wide/16 v1, 0x0
.line 120
:goto_0
invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-le v3, v4, :cond_0
const/4 v4, 0x0
.line 121
invoke-virtual {p1, v0, v4, v3}, Ljava/io/OutputStream;->write([BII)V
int-to-long v3, v3
add-long/2addr v1, v3
goto :goto_0
:cond_0
return-wide v1
.end method
.method public static release(Ljava/io/Closeable;Lcom/amazonaws/logging/Log;)V
.locals 0
.line 103
invoke-static {p0, p1}, Lcom/amazonaws/util/IOUtils;->closeQuietly(Ljava/io/Closeable;Lcom/amazonaws/logging/Log;)V
return-void
.end method
.method public static toByteArray(Ljava/io/InputStream;)[B
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 44
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
const/16 v1, 0x1000
:try_start_0
new-array v1, v1, [B
.line 48
:goto_0
invoke-virtual {p0, v1}, Ljava/io/InputStream;->read([B)I
move-result v2
const/4 v3, -0x1
if-eq v2, v3, :cond_0
const/4 v3, 0x0
.line 49
invoke-virtual {v0, v1, v3, v2}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_0
:catchall_0
move-exception p0
goto :goto_1
.line 51
:cond_0
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 53
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->close()V
return-object p0
:goto_1
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->close()V
.line 54
throw p0
.end method
.method public static toString(Ljava/io/InputStream;)Ljava/lang/String;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 64
new-instance v0, Ljava/lang/String;
invoke-static {p0}, Lcom/amazonaws/util/IOUtils;->toByteArray(Ljava/io/InputStream;)[B
move-result-object p0
sget-object v1, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-direct {v0, p0, v1}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
return-object v0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/IOUtils;
.locals 1
const-class v0, Lcom/amazonaws/util/IOUtils;
.line 30
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/IOUtils;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/IOUtils;
.locals 1
sget-object v0, Lcom/amazonaws/util/IOUtils;->$VALUES:[Lcom/amazonaws/util/IOUtils;
.line 30
invoke-virtual {v0}, [Lcom/amazonaws/util/IOUtils;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/IOUtils;
return-object v0
.end method

View File

@@ -0,0 +1,161 @@
.class final Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/NamespaceRemovingInputStream;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "StringPrefixSlicer"
.end annotation
# instance fields
.field public s:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 144
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public getString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
return-object v0
.end method
.method public removePrefix(Ljava/lang/String;)Z
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 157
invoke-virtual {v0, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 159
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-virtual {v0, p1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
const/4 p1, 0x1
return p1
.end method
.method public removePrefixEndingWith(Ljava/lang/String;)Z
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 174
invoke-virtual {v0, p1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
if-gez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
iget-object v1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 177
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
add-int/2addr v0, p1
invoke-virtual {v1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
const/4 p1, 0x1
return p1
.end method
.method public removeRepeatingPrefix(Ljava/lang/String;)Z
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 164
invoke-virtual {v0, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
:goto_0
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 167
invoke-virtual {v0, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
.line 168
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->s:Ljava/lang/String;
goto :goto_0
:cond_1
const/4 p1, 0x1
return p1
.end method

View File

@@ -0,0 +1,286 @@
.class Lcom/amazonaws/util/NamespaceRemovingInputStream;
.super Lcom/amazonaws/internal/SdkFilterInputStream;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;
}
.end annotation
# instance fields
.field public hasRemovedNamespace:Z
.field public final lookAheadData:[B
# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
.locals 1
.line 48
new-instance v0, Ljava/io/BufferedInputStream;
invoke-direct {v0, p1}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
invoke-direct {p0, v0}, Lcom/amazonaws/internal/SdkFilterInputStream;-><init>(Ljava/io/InputStream;)V
const/16 p1, 0xc8
new-array p1, p1, [B
iput-object p1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->lookAheadData:[B
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->hasRemovedNamespace:Z
return-void
.end method
# virtual methods
.method public final matchXmlNamespaceAttribute(Ljava/lang/String;)I
.locals 4
.line 121
new-instance v0, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;
invoke-direct {v0, p1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;-><init>(Ljava/lang/String;)V
const-string v1, "xmlns"
.line 122
invoke-virtual {v0, v1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removePrefix(Ljava/lang/String;)Z
move-result v1
const/4 v2, -0x1
if-nez v1, :cond_0
return v2
:cond_0
const-string v1, " "
.line 125
invoke-virtual {v0, v1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removeRepeatingPrefix(Ljava/lang/String;)Z
const-string v3, "="
.line 126
invoke-virtual {v0, v3}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removePrefix(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_1
return v2
.line 128
:cond_1
invoke-virtual {v0, v1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removeRepeatingPrefix(Ljava/lang/String;)Z
const-string v1, "\""
.line 130
invoke-virtual {v0, v1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removePrefix(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_2
return v2
.line 132
:cond_2
invoke-virtual {v0, v1}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->removePrefixEndingWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_3
return v2
.line 135
:cond_3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-virtual {v0}, Lcom/amazonaws/util/NamespaceRemovingInputStream$StringPrefixSlicer;->getString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
sub-int/2addr p1, v0
return p1
.end method
.method public read()I
.locals 7
.line 57
invoke-virtual {p0}, Lcom/amazonaws/internal/SdkFilterInputStream;->abortIfNeeded()V
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 58
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
const/16 v1, 0x78
if-ne v0, v1, :cond_1
iget-boolean v1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->hasRemovedNamespace:Z
if-nez v1, :cond_1
iget-object v1, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->lookAheadData:[B
int-to-byte v2, v0
const/4 v3, 0x0
.line 60
aput-byte v2, v1, v3
iget-object v1, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
iget-object v2, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->lookAheadData:[B
.line 61
array-length v2, v2
invoke-virtual {v1, v2}, Ljava/io/InputStream;->mark(I)V
iget-object v1, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
iget-object v2, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->lookAheadData:[B
.line 62
array-length v4, v2
const/4 v5, 0x1
sub-int/2addr v4, v5
invoke-virtual {v1, v2, v5, v4}, Ljava/io/InputStream;->read([BII)I
move-result v1
iget-object v2, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 63
invoke-virtual {v2}, Ljava/io/InputStream;->reset()V
.line 65
new-instance v2, Ljava/lang/String;
iget-object v4, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->lookAheadData:[B
add-int/2addr v1, v5
sget-object v6, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-direct {v2, v4, v3, v1, v6}, Ljava/lang/String;-><init>([BIILjava/nio/charset/Charset;)V
.line 67
invoke-virtual {p0, v2}, Lcom/amazonaws/util/NamespaceRemovingInputStream;->matchXmlNamespaceAttribute(Ljava/lang/String;)I
move-result v1
if-lez v1, :cond_1
:goto_0
add-int/lit8 v0, v1, -0x1
if-ge v3, v0, :cond_0
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 70
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_0
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
.line 72
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
iput-boolean v5, p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;->hasRemovedNamespace:Z
:cond_1
return v0
.end method
.method public read([B)I
.locals 2
.line 106
array-length v0, p1
const/4 v1, 0x0
invoke-virtual {p0, p1, v1, v0}, Lcom/amazonaws/util/NamespaceRemovingInputStream;->read([BII)I
move-result p1
return p1
.end method
.method public read([BII)I
.locals 3
const/4 v0, 0x0
:goto_0
if-ge v0, p3, :cond_2
.line 87
invoke-virtual {p0}, Lcom/amazonaws/util/NamespaceRemovingInputStream;->read()I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_1
if-nez v0, :cond_0
return v2
:cond_0
return v0
:cond_1
add-int v2, v0, p2
int-to-byte v1, v1
.line 94
aput-byte v1, p1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_2
return p3
.end method

View File

@@ -0,0 +1,26 @@
.class public Lcom/amazonaws/util/StringInputStream;
.super Ljava/io/ByteArrayInputStream;
.source "SourceFile"
# instance fields
.field public final string:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 1
.line 37
sget-object v0, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
invoke-direct {p0, v0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
iput-object p1, p0, Lcom/amazonaws/util/StringInputStream;->string:Ljava/lang/String;
return-void
.end method

View File

@@ -0,0 +1,156 @@
.class public abstract Lcom/amazonaws/util/StringUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final UTF8:Ljava/nio/charset/Charset;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "UTF-8"
.line 33
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset;
return-void
.end method
.method public static fromInteger(Ljava/lang/Integer;)Ljava/lang/String;
.locals 0
.line 68
invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static fromString(Ljava/lang/String;)Ljava/lang/String;
.locals 0
return-object p0
.end method
.method public static isBlank(Ljava/lang/CharSequence;)Z
.locals 5
const/4 v0, 0x1
if-eqz p0, :cond_2
.line 269
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v1
if-nez v1, :cond_0
goto :goto_1
:cond_0
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v1, :cond_2
.line 273
invoke-interface {p0, v3}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
invoke-static {v4}, Ljava/lang/Character;->isWhitespace(C)Z
move-result v4
if-nez v4, :cond_1
return v2
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_2
:goto_1
return v0
.end method
.method public static lowerCase(Ljava/lang/String;)Ljava/lang/String;
.locals 1
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 237
:cond_0
invoke-virtual {p0}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
const-string p0, ""
return-object p0
.line 240
:cond_1
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p0, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static upperCase(Ljava/lang/String;)Ljava/lang/String;
.locals 1
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 253
:cond_0
invoke-virtual {p0}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
const-string p0, ""
return-object p0
.line 256
:cond_1
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p0, v0}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,307 @@
.class public Lcom/amazonaws/util/TimingInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public endTimeNano:Ljava/lang/Long;
.field public final startEpochTimeMilli:Ljava/lang/Long;
.field public final startTimeNano:J
# direct methods
.method public constructor <init>(Ljava/lang/Long;JLjava/lang/Long;)V
.locals 0
.line 156
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/TimingInfo;->startEpochTimeMilli:Ljava/lang/Long;
iput-wide p2, p0, Lcom/amazonaws/util/TimingInfo;->startTimeNano:J
iput-object p4, p0, Lcom/amazonaws/util/TimingInfo;->endTimeNano:Ljava/lang/Long;
return-void
.end method
.method public static durationMilliOf(JJ)D
.locals 1
.line 261
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
sub-long/2addr p2, p0
invoke-virtual {v0, p2, p3}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide p0
long-to-double p0, p0
const-wide p2, 0x408f400000000000L # 1000.0
div-double/2addr p0, p2
return-wide p0
.end method
.method public static startTiming()Lcom/amazonaws/util/TimingInfo;
.locals 5
.line 73
new-instance v0, Lcom/amazonaws/util/TimingInfo;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lcom/amazonaws/util/TimingInfo;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
return-object v0
.end method
.method public static startTimingFullSupport()Lcom/amazonaws/util/TimingInfo;
.locals 5
.line 83
new-instance v0, Lcom/amazonaws/util/TimingInfoFullSupport;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
.line 84
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lcom/amazonaws/util/TimingInfoFullSupport;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
return-object v0
.end method
.method public static startTimingFullSupport(J)Lcom/amazonaws/util/TimingInfo;
.locals 2
.line 95
new-instance v0, Lcom/amazonaws/util/TimingInfoFullSupport;
const/4 v1, 0x0
invoke-direct {v0, v1, p0, p1, v1}, Lcom/amazonaws/util/TimingInfoFullSupport;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
return-object v0
.end method
.method public static unmodifiableTimingInfo(JLjava/lang/Long;)Lcom/amazonaws/util/TimingInfo;
.locals 2
.line 133
new-instance v0, Lcom/amazonaws/util/TimingInfoUnmodifiable;
const/4 v1, 0x0
invoke-direct {v0, v1, p0, p1, p2}, Lcom/amazonaws/util/TimingInfoUnmodifiable;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
return-object v0
.end method
# virtual methods
.method public addSubMeasurement(Ljava/lang/String;Lcom/amazonaws/util/TimingInfo;)V
.locals 0
return-void
.end method
.method public endTiming()Lcom/amazonaws/util/TimingInfo;
.locals 2
.line 311
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/TimingInfo;->endTimeNano:Ljava/lang/Long;
return-object p0
.end method
.method public getAllCounters()Ljava/util/Map;
.locals 1
.line 374
invoke-static {}, Ljava/util/Collections;->emptyMap()Ljava/util/Map;
move-result-object v0
return-object v0
.end method
.method public final getEndTimeNano()J
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/TimingInfo;->endTimeNano:Ljava/lang/Long;
if-nez v0, :cond_0
const-wide/16 v0, -0x1
goto :goto_0
.line 226
:cond_0
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
:goto_0
return-wide v0
.end method
.method public final getStartTimeNano()J
.locals 2
iget-wide v0, p0, Lcom/amazonaws/util/TimingInfo;->startTimeNano:J
return-wide v0
.end method
.method public getSubMeasurementsByName()Ljava/util/Map;
.locals 1
.line 359
invoke-static {}, Ljava/util/Collections;->emptyMap()Ljava/util/Map;
move-result-object v0
return-object v0
.end method
.method public final getTimeTakenMillis()D
.locals 2
.line 241
invoke-virtual {p0}, Lcom/amazonaws/util/TimingInfo;->getTimeTakenMillisIfKnown()Ljava/lang/Double;
move-result-object v0
if-nez v0, :cond_0
const-wide/high16 v0, -0x4010000000000000L # -1.0
goto :goto_0
.line 242
:cond_0
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v0
:goto_0
return-wide v0
.end method
.method public final getTimeTakenMillisIfKnown()Ljava/lang/Double;
.locals 4
.line 249
invoke-virtual {p0}, Lcom/amazonaws/util/TimingInfo;->isEndTimeKnown()Z
move-result v0
if-eqz v0, :cond_0
iget-wide v0, p0, Lcom/amazonaws/util/TimingInfo;->startTimeNano:J
iget-object v2, p0, Lcom/amazonaws/util/TimingInfo;->endTimeNano:Ljava/lang/Long;
.line 250
invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
move-result-wide v2
invoke-static {v0, v1, v2, v3}, Lcom/amazonaws/util/TimingInfo;->durationMilliOf(JJ)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return-object v0
.end method
.method public incrementCounter(Ljava/lang/String;)V
.locals 0
return-void
.end method
.method public final isEndTimeKnown()Z
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/TimingInfo;->endTimeNano:Ljava/lang/Long;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public setCounter(Ljava/lang/String;J)V
.locals 0
return-void
.end method
.method public final toString()Ljava/lang/String;
.locals 2
.line 292
invoke-virtual {p0}, Lcom/amazonaws/util/TimingInfo;->getTimeTakenMillis()D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(D)Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,180 @@
.class Lcom/amazonaws/util/TimingInfoFullSupport;
.super Lcom/amazonaws/util/TimingInfo;
.source "SourceFile"
# instance fields
.field public final countersByName:Ljava/util/Map;
.field public final subMeasurementsByName:Ljava/util/Map;
# direct methods
.method public constructor <init>(Ljava/lang/Long;JLjava/lang/Long;)V
.locals 0
.line 50
invoke-direct {p0, p1, p2, p3, p4}, Lcom/amazonaws/util/TimingInfo;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
.line 34
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->subMeasurementsByName:Ljava/util/Map;
.line 35
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->countersByName:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public addSubMeasurement(Ljava/lang/String;Lcom/amazonaws/util/TimingInfo;)V
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->subMeasurementsByName:Ljava/util/Map;
.line 55
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
if-nez v0, :cond_0
.line 57
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iget-object v1, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->subMeasurementsByName:Ljava/util/Map;
.line 58
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 60
:cond_0
invoke-virtual {p2}, Lcom/amazonaws/util/TimingInfo;->isEndTimeKnown()Z
move-result v1
if-eqz v1, :cond_1
.line 61
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 63
:cond_1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p2
invoke-static {p2}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object p2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Skip submeasurement timing info with no end time for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-interface {p2, p1}, Lcom/amazonaws/logging/Log;->debug(Ljava/lang/Object;)V
:goto_0
return-void
.end method
.method public getAllCounters()Ljava/util/Map;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->countersByName:Ljava/util/Map;
return-object v0
.end method
.method public getCounter(Ljava/lang/String;)Ljava/lang/Number;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->countersByName:Ljava/util/Map;
.line 113
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Number;
return-object p1
.end method
.method public getSubMeasurementsByName()Ljava/util/Map;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->subMeasurementsByName:Ljava/util/Map;
return-object v0
.end method
.method public incrementCounter(Ljava/lang/String;)V
.locals 2
.line 130
invoke-virtual {p0, p1}, Lcom/amazonaws/util/TimingInfoFullSupport;->getCounter(Ljava/lang/String;)Ljava/lang/Number;
move-result-object v0
if-eqz v0, :cond_0
.line 133
invoke-virtual {v0}, Ljava/lang/Number;->intValue()I
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
add-int/lit8 v0, v0, 0x1
int-to-long v0, v0
.line 136
invoke-virtual {p0, p1, v0, v1}, Lcom/amazonaws/util/TimingInfoFullSupport;->setCounter(Ljava/lang/String;J)V
return-void
.end method
.method public setCounter(Ljava/lang/String;J)V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/TimingInfoFullSupport;->countersByName:Ljava/util/Map;
.line 123
invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method

View File

@@ -0,0 +1,27 @@
.class final Lcom/amazonaws/util/TimingInfoUnmodifiable;
.super Lcom/amazonaws/util/TimingInfo;
.source "SourceFile"
# direct methods
.method public constructor <init>(Ljava/lang/Long;JLjava/lang/Long;)V
.locals 0
.line 32
invoke-direct {p0, p1, p2, p3, p4}, Lcom/amazonaws/util/TimingInfo;-><init>(Ljava/lang/Long;JLjava/lang/Long;)V
return-void
.end method
# virtual methods
.method public endTiming()Lcom/amazonaws/util/TimingInfo;
.locals 1
.line 53
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method

View File

@@ -0,0 +1,146 @@
.class public Lcom/amazonaws/util/URIBuilder;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final DEFAULT_SCHEME:Ljava/lang/String;
# instance fields
.field public fragment:Ljava/lang/String;
.field public host:Ljava/lang/String;
.field public path:Ljava/lang/String;
.field public port:I
.field public query:Ljava/lang/String;
.field public scheme:Ljava/lang/String;
.field public userInfo:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 29
sget-object v0, Lcom/amazonaws/Protocol;->HTTPS:Lcom/amazonaws/Protocol;
invoke-virtual {v0}, Lcom/amazonaws/Protocol;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/URIBuilder;->DEFAULT_SCHEME:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Ljava/net/URI;)V
.locals 1
.line 45
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 46
invoke-virtual {p1}, Ljava/net/URI;->getScheme()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/URIBuilder;->scheme:Ljava/lang/String;
.line 47
invoke-virtual {p1}, Ljava/net/URI;->getUserInfo()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/URIBuilder;->userInfo:Ljava/lang/String;
.line 48
invoke-virtual {p1}, Ljava/net/URI;->getHost()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/URIBuilder;->host:Ljava/lang/String;
.line 49
invoke-virtual {p1}, Ljava/net/URI;->getPort()I
move-result v0
iput v0, p0, Lcom/amazonaws/util/URIBuilder;->port:I
.line 50
invoke-virtual {p1}, Ljava/net/URI;->getPath()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/URIBuilder;->path:Ljava/lang/String;
.line 51
invoke-virtual {p1}, Ljava/net/URI;->getQuery()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/amazonaws/util/URIBuilder;->query:Ljava/lang/String;
.line 52
invoke-virtual {p1}, Ljava/net/URI;->getFragment()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/amazonaws/util/URIBuilder;->fragment:Ljava/lang/String;
return-void
.end method
.method public static builder(Ljava/net/URI;)Lcom/amazonaws/util/URIBuilder;
.locals 1
.line 72
new-instance v0, Lcom/amazonaws/util/URIBuilder;
invoke-direct {v0, p0}, Lcom/amazonaws/util/URIBuilder;-><init>(Ljava/net/URI;)V
return-object v0
.end method
# virtual methods
.method public build()Ljava/net/URI;
.locals 9
.line 168
new-instance v8, Ljava/net/URI;
iget-object v1, p0, Lcom/amazonaws/util/URIBuilder;->scheme:Ljava/lang/String;
iget-object v2, p0, Lcom/amazonaws/util/URIBuilder;->userInfo:Ljava/lang/String;
iget-object v3, p0, Lcom/amazonaws/util/URIBuilder;->host:Ljava/lang/String;
iget v4, p0, Lcom/amazonaws/util/URIBuilder;->port:I
iget-object v5, p0, Lcom/amazonaws/util/URIBuilder;->path:Ljava/lang/String;
iget-object v6, p0, Lcom/amazonaws/util/URIBuilder;->query:Ljava/lang/String;
iget-object v7, p0, Lcom/amazonaws/util/URIBuilder;->fragment:Ljava/lang/String;
move-object v0, v8
invoke-direct/range {v0 .. v7}, Ljava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v8
.end method
.method public host(Ljava/lang/String;)Lcom/amazonaws/util/URIBuilder;
.locals 0
iput-object p1, p0, Lcom/amazonaws/util/URIBuilder;->host:Ljava/lang/String;
return-object p0
.end method

View File

@@ -0,0 +1,294 @@
.class public abstract Lcom/amazonaws/util/VersionInfoUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final log:Lcom/amazonaws/logging/Log;
.field public static volatile platform:Ljava/lang/String; = "android"
.field public static volatile userAgent:Ljava/lang/String; = null
.field public static volatile version:Ljava/lang/String; = "2.22.6"
# direct methods
.method static constructor <clinit>()V
.locals 1
const-class v0, Lcom/amazonaws/util/VersionInfoUtils;
.line 41
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/VersionInfoUtils;->log:Lcom/amazonaws/logging/Log;
return-void
.end method
.method public static getPlatform()Ljava/lang/String;
.locals 1
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->platform:Ljava/lang/String;
return-object v0
.end method
.method public static getUserAgent()Ljava/lang/String;
.locals 2
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
if-nez v0, :cond_1
const-class v0, Lcom/amazonaws/util/VersionInfoUtils;
.line 78
monitor-enter v0
:try_start_0
sget-object v1, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
if-nez v1, :cond_0
.line 80
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->initializeUserAgent()V
goto :goto_0
:catchall_0
move-exception v1
goto :goto_1
.line 81
:cond_0
:goto_0
monitor-exit v0
goto :goto_2
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
:cond_1
:goto_2
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
return-object v0
.end method
.method public static getVersion()Ljava/lang/String;
.locals 1
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->version:Ljava/lang/String;
return-object v0
.end method
.method public static initializeUserAgent()V
.locals 1
.line 92
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->userAgent()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
return-void
.end method
.method public static replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
.locals 2
if-eqz p0, :cond_0
const/16 v0, 0x20
const/16 v1, 0x5f
.line 135
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object p0
:cond_0
return-object p0
.end method
.method public static userAgent()Ljava/lang/String;
.locals 4
.line 96
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x80
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "aws-sdk-"
.line 98
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 99
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->getPlatform()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazonaws/util/StringUtils;->lowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/"
.line 100
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 102
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->getVersion()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " "
.line 103
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "os.name"
.line 104
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 105
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "os.version"
.line 106
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 108
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "java.vm.name"
.line 109
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 110
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "java.vm.version"
.line 111
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 112
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "java.version"
.line 113
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "user.language"
.line 115
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v3, "user.region"
.line 116
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v1, :cond_0
if-eqz v3, :cond_0
.line 119
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 120
invoke-static {v1}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "_"
.line 121
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 122
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 124
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,232 @@
.class public abstract Lcom/amazonaws/util/XpathUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static factory:Ljavax/xml/parsers/DocumentBuilderFactory;
.field public static log:Lcom/amazonaws/logging/Log;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-class v0, Lcom/amazonaws/util/XpathUtils;
.line 46
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/XpathUtils;->log:Lcom/amazonaws/logging/Log;
.line 48
invoke-static {}, Lcom/amazonaws/util/XpathUtils;->getDocumentBuilderFactory()Ljavax/xml/parsers/DocumentBuilderFactory;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/XpathUtils;->factory:Ljavax/xml/parsers/DocumentBuilderFactory;
return-void
.end method
.method public static asNode(Ljava/lang/String;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
.locals 2
if-nez p1, :cond_0
const/4 p0, 0x0
return-object p0
.line 330
:cond_0
invoke-static {}, Lcom/amazonaws/util/XpathUtils;->xpath()Ljavax/xml/xpath/XPath;
move-result-object v0
sget-object v1, Ljavax/xml/xpath/XPathConstants;->NODE:Ljavax/xml/namespace/QName;
invoke-interface {v0, p0, p1, v1}, Ljavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lorg/w3c/dom/Node;
return-object p0
.end method
.method public static asString(Ljava/lang/String;Lorg/w3c/dom/Node;)Ljava/lang/String;
.locals 0
.line 139
invoke-static {p0, p1}, Lcom/amazonaws/util/XpathUtils;->evaluateAsString(Ljava/lang/String;Lorg/w3c/dom/Node;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static documentFrom(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
.locals 1
.line 78
new-instance v0, Lcom/amazonaws/util/NamespaceRemovingInputStream;
invoke-direct {v0, p0}, Lcom/amazonaws/util/NamespaceRemovingInputStream;-><init>(Ljava/io/InputStream;)V
sget-object p0, Lcom/amazonaws/util/XpathUtils;->factory:Ljavax/xml/parsers/DocumentBuilderFactory;
.line 79
invoke-virtual {p0}, Ljavax/xml/parsers/DocumentBuilderFactory;->newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;
move-result-object p0
invoke-virtual {p0, v0}, Ljavax/xml/parsers/DocumentBuilder;->parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
move-result-object p0
.line 80
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
return-object p0
.end method
.method public static documentFrom(Ljava/lang/String;)Lorg/w3c/dom/Document;
.locals 2
.line 95
new-instance v0, Ljava/io/ByteArrayInputStream;
sget-object v1, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {p0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
invoke-direct {v0, p0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
invoke-static {v0}, Lcom/amazonaws/util/XpathUtils;->documentFrom(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
move-result-object p0
return-object p0
.end method
.method public static evaluateAsString(Ljava/lang/String;Lorg/w3c/dom/Node;)Ljava/lang/String;
.locals 2
.line 299
invoke-static {p1}, Lcom/amazonaws/util/XpathUtils;->isEmpty(Lorg/w3c/dom/Node;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
return-object v1
:cond_0
const-string v0, "."
.line 302
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
.line 311
invoke-static {p0, p1}, Lcom/amazonaws/util/XpathUtils;->asNode(Ljava/lang/String;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
move-result-object v0
if-nez v0, :cond_1
return-object v1
.line 315
:cond_1
invoke-static {}, Lcom/amazonaws/util/XpathUtils;->xpath()Ljavax/xml/xpath/XPath;
move-result-object v0
invoke-interface {v0, p0, p1}, Ljavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
.line 317
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getDocumentBuilderFactory()Ljavax/xml/parsers/DocumentBuilderFactory;
.locals 3
.line 57
:try_start_0
invoke-static {}, Ljavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;
move-result-object v0
const-string v1, "http://apache.org/xml/features/disallow-doctype-decl"
const/4 v2, 0x1
.line 58
invoke-virtual {v0, v1, v2}, Ljavax/xml/parsers/DocumentBuilderFactory;->setFeature(Ljava/lang/String;Z)V
const/4 v1, 0x0
.line 59
invoke-virtual {v0, v1}, Ljavax/xml/parsers/DocumentBuilderFactory;->setXIncludeAware(Z)V
.line 60
invoke-virtual {v0, v1}, Ljavax/xml/parsers/DocumentBuilderFactory;->setExpandEntityReferences(Z)V
:try_end_0
.catch Ljavax/xml/parsers/ParserConfigurationException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method public static isEmpty(Lorg/w3c/dom/Node;)Z
.locals 0
if-nez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static xpath()Ljavax/xml/xpath/XPath;
.locals 1
.line 353
invoke-static {}, Ljavax/xml/xpath/XPathFactory;->newInstance()Ljavax/xml/xpath/XPathFactory;
move-result-object v0
invoke-virtual {v0}, Ljavax/xml/xpath/XPathFactory;->newXPath()Ljavax/xml/xpath/XPath;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,11 @@
.class public interface abstract Lcom/amazonaws/util/json/AwsJsonFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract getJsonReader(Ljava/io/Reader;)Lcom/amazonaws/util/json/AwsJsonReader;
.end method
.method public abstract getJsonWriter(Ljava/io/Writer;)Lcom/amazonaws/util/json/AwsJsonWriter;
.end method

View File

@@ -0,0 +1,38 @@
.class public interface abstract Lcom/amazonaws/util/json/AwsJsonReader;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract beginArray()V
.end method
.method public abstract beginObject()V
.end method
.method public abstract close()V
.end method
.method public abstract endArray()V
.end method
.method public abstract endObject()V
.end method
.method public abstract hasNext()Z
.end method
.method public abstract isContainer()Z
.end method
.method public abstract nextName()Ljava/lang/String;
.end method
.method public abstract nextString()Ljava/lang/String;
.end method
.method public abstract peek()Lcom/amazonaws/util/json/AwsJsonToken;
.end method
.method public abstract skipValue()V
.end method

View File

@@ -0,0 +1,205 @@
.class public final enum Lcom/amazonaws/util/json/AwsJsonToken;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/amazonaws/util/json/AwsJsonToken;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum BEGIN_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum BEGIN_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum END_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum END_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum FIELD_NAME:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum UNKNOWN:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum VALUE_BOOLEAN:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum VALUE_NULL:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum VALUE_NUMBER:Lcom/amazonaws/util/json/AwsJsonToken;
.field public static final enum VALUE_STRING:Lcom/amazonaws/util/json/AwsJsonToken;
# direct methods
.method static constructor <clinit>()V
.locals 12
.line 23
new-instance v0, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v1, "BEGIN_ARRAY"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
.line 25
new-instance v1, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v2, "END_ARRAY"
const/4 v3, 0x1
invoke-direct {v1, v2, v3}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/amazonaws/util/json/AwsJsonToken;->END_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
.line 27
new-instance v2, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v3, "BEGIN_OBJECT"
const/4 v4, 0x2
invoke-direct {v2, v3, v4}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v2, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
.line 29
new-instance v3, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v4, "END_OBJECT"
const/4 v5, 0x3
invoke-direct {v3, v4, v5}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v3, Lcom/amazonaws/util/json/AwsJsonToken;->END_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
.line 31
new-instance v4, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v5, "FIELD_NAME"
const/4 v6, 0x4
invoke-direct {v4, v5, v6}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->FIELD_NAME:Lcom/amazonaws/util/json/AwsJsonToken;
.line 33
new-instance v5, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v6, "VALUE_BOOLEAN"
const/4 v7, 0x5
invoke-direct {v5, v6, v7}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v5, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_BOOLEAN:Lcom/amazonaws/util/json/AwsJsonToken;
.line 35
new-instance v6, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v7, "VALUE_NULL"
const/4 v8, 0x6
invoke-direct {v6, v7, v8}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v6, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NULL:Lcom/amazonaws/util/json/AwsJsonToken;
.line 37
new-instance v7, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v8, "VALUE_NUMBER"
const/4 v9, 0x7
invoke-direct {v7, v8, v9}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v7, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NUMBER:Lcom/amazonaws/util/json/AwsJsonToken;
.line 39
new-instance v8, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v9, "VALUE_STRING"
const/16 v10, 0x8
invoke-direct {v8, v9, v10}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v8, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_STRING:Lcom/amazonaws/util/json/AwsJsonToken;
.line 41
new-instance v9, Lcom/amazonaws/util/json/AwsJsonToken;
const-string v10, "UNKNOWN"
const/16 v11, 0x9
invoke-direct {v9, v10, v11}, Lcom/amazonaws/util/json/AwsJsonToken;-><init>(Ljava/lang/String;I)V
sput-object v9, Lcom/amazonaws/util/json/AwsJsonToken;->UNKNOWN:Lcom/amazonaws/util/json/AwsJsonToken;
filled-new-array/range {v0 .. v9}, [Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/json/AwsJsonToken;->$VALUES:[Lcom/amazonaws/util/json/AwsJsonToken;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 21
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonToken;
.locals 1
const-class v0, Lcom/amazonaws/util/json/AwsJsonToken;
.line 21
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.end method
.method public static values()[Lcom/amazonaws/util/json/AwsJsonToken;
.locals 1
sget-object v0, Lcom/amazonaws/util/json/AwsJsonToken;->$VALUES:[Lcom/amazonaws/util/json/AwsJsonToken;
.line 21
invoke-virtual {v0}, [Lcom/amazonaws/util/json/AwsJsonToken;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/amazonaws/util/json/AwsJsonToken;
return-object v0
.end method

View File

@@ -0,0 +1,32 @@
.class public interface abstract Lcom/amazonaws/util/json/AwsJsonWriter;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract beginArray()Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract beginObject()Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract close()V
.end method
.method public abstract endArray()Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract endObject()Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract flush()V
.end method
.method public abstract name(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract value(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
.end method
.method public abstract value(Ljava/nio/ByteBuffer;)Lcom/amazonaws/util/json/AwsJsonWriter;
.end method

View File

@@ -0,0 +1,179 @@
.class public Lcom/amazonaws/util/json/DateDeserializer;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/gson/JsonDeserializer;
.implements Lcom/google/gson/JsonSerializer;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/gson/JsonDeserializer<",
"Ljava/util/Date;",
">;",
"Lcom/google/gson/JsonSerializer<",
"Ljava/util/Date;",
">;"
}
.end annotation
# instance fields
.field public final dateFormats:Ljava/util/List;
.field public final mIso8601DateFormat:Ljava/text/SimpleDateFormat;
.field public mSimpleDateFormat:Ljava/text/SimpleDateFormat;
# virtual methods
.method public bridge synthetic deserialize(Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object;
.locals 0
.line 23
invoke-virtual {p0, p1, p2, p3}, Lcom/amazonaws/util/json/DateDeserializer;->deserialize(Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/util/Date;
move-result-object p1
return-object p1
.end method
.method public deserialize(Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/util/Date;
.locals 3
.line 41
invoke-virtual {p1}, Lcom/google/gson/JsonElement;->getAsString()Ljava/lang/String;
move-result-object p1
iget-object p2, p0, Lcom/amazonaws/util/json/DateDeserializer;->dateFormats:Ljava/util/List;
.line 43
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
:catch_0
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result p3
if-eqz p3, :cond_0
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/String;
.line 45
:try_start_0
new-instance v0, Ljava/util/Date;
invoke-direct {v0}, Ljava/util/Date;-><init>()V
.line 46
new-instance v1, Ljava/text/SimpleDateFormat;
invoke-direct {v1, p3}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
iput-object v1, p0, Lcom/amazonaws/util/json/DateDeserializer;->mSimpleDateFormat:Ljava/text/SimpleDateFormat;
.line 47
invoke-virtual {v1, p1}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p3
invoke-virtual {p3}, Ljava/util/Date;->getTime()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/Date;->setTime(J)V
:try_end_0
.catch Ljava/text/ParseException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:cond_0
const/4 p2, 0x2
.line 55
:try_start_1
invoke-static {p2}, Ljava/text/DateFormat;->getDateInstance(I)Ljava/text/DateFormat;
move-result-object p2
invoke-virtual {p2, p1}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p1
:try_end_1
.catch Ljava/text/ParseException; {:try_start_1 .. :try_end_1} :catch_1
return-object p1
:catch_1
move-exception p1
.line 57
new-instance p2, Lcom/google/gson/JsonParseException;
invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object p3
invoke-direct {p2, p3, p1}, Lcom/google/gson/JsonParseException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public bridge synthetic serialize(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement;
.locals 0
.line 23
check-cast p1, Ljava/util/Date;
invoke-virtual {p0, p1, p2, p3}, Lcom/amazonaws/util/json/DateDeserializer;->serialize(Ljava/util/Date;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement;
move-result-object p1
return-object p1
.end method
.method public serialize(Ljava/util/Date;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement;
.locals 0
iget-object p2, p0, Lcom/amazonaws/util/json/DateDeserializer;->mIso8601DateFormat:Ljava/text/SimpleDateFormat;
.line 65
monitor-enter p2
:try_start_0
iget-object p3, p0, Lcom/amazonaws/util/json/DateDeserializer;->mIso8601DateFormat:Ljava/text/SimpleDateFormat;
.line 66
invoke-virtual {p3, p1}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object p1
.line 67
new-instance p3, Lcom/google/gson/JsonPrimitive;
invoke-direct {p3, p1}, Lcom/google/gson/JsonPrimitive;-><init>(Ljava/lang/String;)V
monitor-exit p2
return-object p3
:catchall_0
move-exception p1
.line 68
monitor-exit p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method

View File

@@ -0,0 +1,195 @@
.class abstract synthetic Lcom/amazonaws/util/json/GsonFactory$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/json/GsonFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$com$google$gson$stream$JsonToken:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 127
invoke-static {}, Lcom/google/gson/stream/JsonToken;->values()[Lcom/google/gson/stream/JsonToken;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
:try_start_0
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_ARRAY:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
:try_start_3
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_OBJECT:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
:try_end_3
.catch Ljava/lang/NoSuchFieldError; {:try_start_3 .. :try_end_3} :catch_3
:catch_3
:try_start_4
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->NAME:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
:try_end_4
.catch Ljava/lang/NoSuchFieldError; {:try_start_4 .. :try_end_4} :catch_4
:catch_4
:try_start_5
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->BOOLEAN:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x6
aput v2, v0, v1
:try_end_5
.catch Ljava/lang/NoSuchFieldError; {:try_start_5 .. :try_end_5} :catch_5
:catch_5
:try_start_6
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->NUMBER:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x7
aput v2, v0, v1
:try_end_6
.catch Ljava/lang/NoSuchFieldError; {:try_start_6 .. :try_end_6} :catch_6
:catch_6
:try_start_7
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/16 v2, 0x8
aput v2, v0, v1
:try_end_7
.catch Ljava/lang/NoSuchFieldError; {:try_start_7 .. :try_end_7} :catch_7
:catch_7
:try_start_8
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->STRING:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/16 v2, 0x9
aput v2, v0, v1
:try_end_8
.catch Ljava/lang/NoSuchFieldError; {:try_start_8 .. :try_end_8} :catch_8
:catch_8
:try_start_9
sget-object v0, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_DOCUMENT:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/16 v2, 0xa
aput v2, v0, v1
:try_end_9
.catch Ljava/lang/NoSuchFieldError; {:try_start_9 .. :try_end_9} :catch_9
:catch_9
return-void
.end method

View File

@@ -0,0 +1,269 @@
.class final Lcom/amazonaws/util/json/GsonFactory$GsonReader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/amazonaws/util/json/AwsJsonReader;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/json/GsonFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "GsonReader"
.end annotation
# instance fields
.field public final reader:Lcom/google/gson/stream/JsonReader;
# direct methods
.method public constructor <init>(Ljava/io/Reader;)V
.locals 1
.line 49
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 50
new-instance v0, Lcom/google/gson/stream/JsonReader;
invoke-direct {v0, p1}, Lcom/google/gson/stream/JsonReader;-><init>(Ljava/io/Reader;)V
iput-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
return-void
.end method
# virtual methods
.method public beginArray()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 55
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->beginArray()V
return-void
.end method
.method public beginObject()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 65
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->beginObject()V
return-void
.end method
.method public close()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 119
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->close()V
return-void
.end method
.method public endArray()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 60
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->endArray()V
return-void
.end method
.method public endObject()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 70
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->endObject()V
return-void
.end method
.method public hasNext()Z
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 82
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->hasNext()Z
move-result v0
return v0
.end method
.method public isContainer()Z
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 75
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v0
.line 76
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken;
.line 77
invoke-virtual {v1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
return v0
.end method
.method public nextName()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 87
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->nextName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public nextString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 92
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v0
.line 93
sget-object v1, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 94
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->nextNull()V
const/4 v0, 0x0
return-object v0
.line 97
:cond_0
sget-object v1, Lcom/google/gson/stream/JsonToken;->BOOLEAN:Lcom/google/gson/stream/JsonToken;
invoke-virtual {v1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 98
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->nextBoolean()Z
move-result v0
if-eqz v0, :cond_1
const-string v0, "true"
goto :goto_0
:cond_1
const-string v0, "false"
:goto_0
return-object v0
:cond_2
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 100
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->nextString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public peek()Lcom/amazonaws/util/json/AwsJsonToken;
.locals 1
:try_start_0
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 111
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v0
invoke-static {v0}, Lcom/amazonaws/util/json/GsonFactory;->access$000(Lcom/google/gson/stream/JsonToken;)Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v0
:try_end_0
.catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method public skipValue()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->reader:Lcom/google/gson/stream/JsonReader;
.line 105
invoke-virtual {v0}, Lcom/google/gson/stream/JsonReader;->skipValue()V
return-void
.end method

View File

@@ -0,0 +1,162 @@
.class final Lcom/amazonaws/util/json/GsonFactory$GsonWriter;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/amazonaws/util/json/AwsJsonWriter;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/amazonaws/util/json/GsonFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "GsonWriter"
.end annotation
# instance fields
.field public final writer:Lcom/google/gson/stream/JsonWriter;
# direct methods
.method public constructor <init>(Ljava/io/Writer;)V
.locals 1
.line 158
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 159
new-instance v0, Lcom/google/gson/stream/JsonWriter;
invoke-direct {v0, p1}, Lcom/google/gson/stream/JsonWriter;-><init>(Ljava/io/Writer;)V
iput-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
return-void
.end method
# virtual methods
.method public beginArray()Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 164
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->beginArray()Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public beginObject()Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 176
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->beginObject()Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public close()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 252
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->close()V
return-void
.end method
.method public endArray()Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 170
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->endArray()Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public endObject()Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 182
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->endObject()Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public flush()V
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 247
invoke-virtual {v0}, Lcom/google/gson/stream/JsonWriter;->flush()V
return-void
.end method
.method public name(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 188
invoke-virtual {v0, p1}, Lcom/google/gson/stream/JsonWriter;->name(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public value(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
iget-object v0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 194
invoke-virtual {v0, p1}, Lcom/google/gson/stream/JsonWriter;->value(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method
.method public value(Ljava/nio/ByteBuffer;)Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 3
.line 231
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->mark()Ljava/nio/Buffer;
.line 232
invoke-virtual {p1}, Ljava/nio/Buffer;->remaining()I
move-result v0
new-array v1, v0, [B
const/4 v2, 0x0
.line 233
invoke-virtual {p1, v1, v2, v0}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
.line 234
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->reset()Ljava/nio/Buffer;
iget-object p1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->writer:Lcom/google/gson/stream/JsonWriter;
.line 235
invoke-static {v1}, Lcom/amazonaws/util/BinaryUtils;->toBase64([B)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/google/gson/stream/JsonWriter;->value(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
return-object p0
.end method

View File

@@ -0,0 +1,159 @@
.class final Lcom/amazonaws/util/json/GsonFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/amazonaws/util/json/AwsJsonFactory;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amazonaws/util/json/GsonFactory$GsonWriter;,
Lcom/amazonaws/util/json/GsonFactory$GsonReader;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic access$000(Lcom/google/gson/stream/JsonToken;)Lcom/amazonaws/util/json/AwsJsonToken;
.locals 0
.line 34
invoke-static {p0}, Lcom/amazonaws/util/json/GsonFactory;->convert(Lcom/google/gson/stream/JsonToken;)Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object p0
return-object p0
.end method
.method public static convert(Lcom/google/gson/stream/JsonToken;)Lcom/amazonaws/util/json/AwsJsonToken;
.locals 2
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
.line 127
:cond_0
sget-object v1, Lcom/amazonaws/util/json/GsonFactory$1;->$SwitchMap$com$google$gson$stream$JsonToken:[I
invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
move-result p0
aget p0, v1, p0
packed-switch p0, :pswitch_data_0
.line 149
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->UNKNOWN:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
:pswitch_0
return-object v0
.line 145
:pswitch_1
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_STRING:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 143
:pswitch_2
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NULL:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 141
:pswitch_3
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NUMBER:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 139
:pswitch_4
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_BOOLEAN:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 137
:pswitch_5
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->FIELD_NAME:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 135
:pswitch_6
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->END_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 133
:pswitch_7
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 131
:pswitch_8
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->END_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
.line 129
:pswitch_9
sget-object p0, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
return-object p0
:pswitch_data_0
.packed-switch 0x1
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
# virtual methods
.method public getJsonReader(Ljava/io/Reader;)Lcom/amazonaws/util/json/AwsJsonReader;
.locals 1
.line 38
new-instance v0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;
invoke-direct {v0, p1}, Lcom/amazonaws/util/json/GsonFactory$GsonReader;-><init>(Ljava/io/Reader;)V
return-object v0
.end method
.method public getJsonWriter(Ljava/io/Writer;)Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
.line 43
new-instance v0, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;
invoke-direct {v0, p1}, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;-><init>(Ljava/io/Writer;)V
return-object v0
.end method

View File

@@ -0,0 +1,373 @@
.class public abstract Lcom/amazonaws/util/json/JsonUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final FACTORY:Lcom/amazonaws/util/json/AwsJsonFactory;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 33
new-instance v0, Lcom/amazonaws/util/json/GsonFactory;
invoke-direct {v0}, Lcom/amazonaws/util/json/GsonFactory;-><init>()V
sput-object v0, Lcom/amazonaws/util/json/JsonUtils;->FACTORY:Lcom/amazonaws/util/json/AwsJsonFactory;
return-void
.end method
.method public static getJsonReader(Ljava/io/Reader;)Lcom/amazonaws/util/json/AwsJsonReader;
.locals 1
sget-object v0, Lcom/amazonaws/util/json/JsonUtils;->FACTORY:Lcom/amazonaws/util/json/AwsJsonFactory;
.line 79
invoke-interface {v0, p0}, Lcom/amazonaws/util/json/AwsJsonFactory;->getJsonReader(Ljava/io/Reader;)Lcom/amazonaws/util/json/AwsJsonReader;
move-result-object p0
return-object p0
.end method
.method public static getJsonWriter(Ljava/io/Writer;)Lcom/amazonaws/util/json/AwsJsonWriter;
.locals 1
sget-object v0, Lcom/amazonaws/util/json/JsonUtils;->FACTORY:Lcom/amazonaws/util/json/AwsJsonFactory;
.line 90
invoke-interface {v0, p0}, Lcom/amazonaws/util/json/AwsJsonFactory;->getJsonWriter(Ljava/io/Writer;)Lcom/amazonaws/util/json/AwsJsonWriter;
move-result-object p0
return-object p0
.end method
.method public static jsonToStringMapWithList(Ljava/io/Reader;)Ljava/util/Map;
.locals 7
.line 155
invoke-static {p0}, Lcom/amazonaws/util/json/JsonUtils;->getJsonReader(Ljava/io/Reader;)Lcom/amazonaws/util/json/AwsJsonReader;
move-result-object p0
.line 158
:try_start_0
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->peek()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v0
if-nez v0, :cond_0
.line 159
sget-object p0, Ljava/util/Collections;->EMPTY_MAP:Ljava/util/Map;
return-object p0
:catch_0
move-exception p0
goto/16 :goto_4
.line 161
:cond_0
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 162
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->beginObject()V
.line 163
:goto_0
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->hasNext()Z
move-result v1
if-eqz v1, :cond_b
.line 164
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->nextName()Ljava/lang/String;
move-result-object v1
.line 165
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->isContainer()Z
move-result v2
if-eqz v2, :cond_a
.line 166
sget-object v2, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->peek()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_9
.line 167
new-instance v2, Ljava/io/StringWriter;
invoke-direct {v2}, Ljava/io/StringWriter;-><init>()V
.line 168
invoke-static {v2}, Lcom/amazonaws/util/json/JsonUtils;->getJsonWriter(Ljava/io/Writer;)Lcom/amazonaws/util/json/AwsJsonWriter;
move-result-object v3
.line 169
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->beginArray()V
.line 170
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->beginArray()Lcom/amazonaws/util/json/AwsJsonWriter;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 172
:cond_1
:goto_1
:try_start_1
sget-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->END_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->peek()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_8
.line 173
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->peek()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v5
.line 174
sget-object v6, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-virtual {v6, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_2
.line 175
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->beginObject()V
.line 176
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->beginObject()Lcom/amazonaws/util/json/AwsJsonWriter;
goto :goto_1
:catch_1
move-exception v4
goto :goto_3
.line 177
:cond_2
sget-object v6, Lcom/amazonaws/util/json/AwsJsonToken;->FIELD_NAME:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-virtual {v6, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_3
.line 178
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->nextName()Ljava/lang/String;
move-result-object v4
.line 180
sget-object v5, Lcom/amazonaws/util/json/AwsJsonToken;->BEGIN_ARRAY:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->peek()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_1
.line 181
invoke-interface {v3, v4}, Lcom/amazonaws/util/json/AwsJsonWriter;->name(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
goto :goto_1
.line 183
:cond_3
sget-object v6, Lcom/amazonaws/util/json/AwsJsonToken;->END_OBJECT:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-virtual {v6, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_4
.line 184
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->endObject()V
.line 185
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->endObject()Lcom/amazonaws/util/json/AwsJsonWriter;
goto :goto_1
.line 186
:cond_4
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_5
.line 187
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->endArray()V
.line 188
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->endArray()Lcom/amazonaws/util/json/AwsJsonWriter;
goto :goto_1
.line 189
:cond_5
sget-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_STRING:Lcom/amazonaws/util/json/AwsJsonToken;
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_7
sget-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NUMBER:Lcom/amazonaws/util/json/AwsJsonToken;
.line 190
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_7
sget-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_NULL:Lcom/amazonaws/util/json/AwsJsonToken;
.line 191
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_7
sget-object v4, Lcom/amazonaws/util/json/AwsJsonToken;->VALUE_BOOLEAN:Lcom/amazonaws/util/json/AwsJsonToken;
.line 192
invoke-virtual {v4, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_6
goto :goto_2
.line 198
:cond_6
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->skipValue()V
goto :goto_1
.line 193
:cond_7
:goto_2
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->nextString()Ljava/lang/String;
move-result-object v4
.line 194
invoke-interface {v3, v4}, Lcom/amazonaws/util/json/AwsJsonWriter;->value(Ljava/lang/String;)Lcom/amazonaws/util/json/AwsJsonWriter;
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1
goto/16 :goto_1
.line 202
:goto_3
:try_start_2
invoke-virtual {v4}, Ljava/lang/Throwable;->printStackTrace()V
.line 204
:cond_8
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->endArray()V
.line 205
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->endArray()Lcom/amazonaws/util/json/AwsJsonWriter;
.line 206
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->flush()V
.line 207
invoke-interface {v3}, Lcom/amazonaws/util/json/AwsJsonWriter;->close()V
.line 208
invoke-virtual {v2}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_0
.line 211
:cond_9
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->skipValue()V
goto/16 :goto_0
.line 214
:cond_a
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->nextString()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_0
.line 217
:cond_b
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->endObject()V
.line 218
invoke-interface {p0}, Lcom/amazonaws/util/json/AwsJsonReader;->close()V
.line 219
invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object p0
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
return-object p0
.line 221
:goto_4
new-instance v0, Lcom/amazonaws/AmazonClientException;
const-string v1, "Unable to parse JSON String."
invoke-direct {v0, v1, p0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method