UrlTileProvider.smali
.class public abstract Lcom/google/android/gms/maps/model/UrlTileProvider;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/google/android/gms/maps/model/TileProvider;
# instance fields
.field public final height:I
.field public final width:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(II)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/google/android/gms/maps/model/UrlTileProvider;->width:I
iput p2, p0, Lcom/google/android/gms/maps/model/UrlTileProvider;->height:I
return-void
.end method
# virtual methods
.method public final getTile(III)Lcom/google/android/gms/maps/model/Tile;
.registers 9
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/gms/maps/model/UrlTileProvider;->getTileUrl(III)Ljava/net/URL;
move-result-object p1
if-nez p1, :cond_9
sget-object p1, Lcom/google/android/gms/maps/model/TileProvider;->NO_TILE:Lcom/google/android/gms/maps/model/Tile;
return-object p1
:cond_9
:try_start_9
new-instance p2, Lcom/google/android/gms/maps/model/Tile;
iget p3, p0, Lcom/google/android/gms/maps/model/UrlTileProvider;->width:I
iget v0, p0, Lcom/google/android/gms/maps/model/UrlTileProvider;->height:I
invoke-virtual {p1}, Ljava/net/URL;->openStream()Ljava/io/InputStream;
move-result-object p1
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
const/16 v2, 0x1000
new-array v2, v2, [B
:goto_1c
invoke-virtual {p1, v2}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-eq v3, v4, :cond_28
const/4 v4, 0x0
invoke-virtual {v1, v2, v4, v3}, Ljava/io/OutputStream;->write([BII)V
goto :goto_1c
:cond_28
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p1
invoke-direct {p2, p3, v0, p1}, Lcom/google/android/gms/maps/model/Tile;-><init>(II[B)V
:try_end_2f
.catch Ljava/io/IOException; {:try_start_9 .. :try_end_2f} :catch_30
goto :goto_31
:catch_30
const/4 p2, 0x0
:goto_31
return-object p2
.end method
.method public abstract getTileUrl(III)Ljava/net/URL;
.end method