.class public final Lokhttp3/Cookie; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final DAY_OF_MONTH_PATTERN:Ljava/util/regex/Pattern; .field public static final MONTH_PATTERN:Ljava/util/regex/Pattern; .field public static final TIME_PATTERN:Ljava/util/regex/Pattern; .field public static final YEAR_PATTERN:Ljava/util/regex/Pattern; # instance fields .field public final domain:Ljava/lang/String; .field public final expiresAt:J .field public final hostOnly:Z .field public final httpOnly:Z .field public final name:Ljava/lang/String; .field public final path:Ljava/lang/String; .field public final persistent:Z .field public final secure:Z .field public final value:Ljava/lang/String; # direct methods .method static constructor ()V .locals 1 const-string v0, "(\\d{2,4})[^\\d]*" .line 48 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Lokhttp3/Cookie;->YEAR_PATTERN:Ljava/util/regex/Pattern; const-string v0, "(?i)(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec).*" .line 50 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Lokhttp3/Cookie;->MONTH_PATTERN:Ljava/util/regex/Pattern; const-string v0, "(\\d{1,2})[^\\d]*" .line 52 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Lokhttp3/Cookie;->DAY_OF_MONTH_PATTERN:Ljava/util/regex/Pattern; const-string v0, "(\\d{1,2}):(\\d{1,2}):(\\d{1,2})[^\\d]*" .line 54 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Lokhttp3/Cookie;->TIME_PATTERN:Ljava/util/regex/Pattern; return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;ZZZZ)V .locals 0 .line 68 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lokhttp3/Cookie;->name:Ljava/lang/String; iput-object p2, p0, Lokhttp3/Cookie;->value:Ljava/lang/String; iput-wide p3, p0, Lokhttp3/Cookie;->expiresAt:J iput-object p5, p0, Lokhttp3/Cookie;->domain:Ljava/lang/String; iput-object p6, p0, Lokhttp3/Cookie;->path:Ljava/lang/String; iput-boolean p7, p0, Lokhttp3/Cookie;->secure:Z iput-boolean p8, p0, Lokhttp3/Cookie;->httpOnly:Z iput-boolean p9, p0, Lokhttp3/Cookie;->hostOnly:Z iput-boolean p10, p0, Lokhttp3/Cookie;->persistent:Z return-void .end method .method public static dateCharacterOffset(Ljava/lang/String;IIZ)I .locals 3 :goto_0 if-ge p1, p2, :cond_7 .line 390 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x20 const/4 v2, 0x1 if-ge v0, v1, :cond_0 const/16 v1, 0x9 if-ne v0, v1, :cond_5 :cond_0 const/16 v1, 0x7f if-ge v0, v1, :cond_5 const/16 v1, 0x30 if-lt v0, v1, :cond_1 const/16 v1, 0x39 if-le v0, v1, :cond_5 :cond_1 const/16 v1, 0x61 if-lt v0, v1, :cond_2 const/16 v1, 0x7a if-le v0, v1, :cond_5 :cond_2 const/16 v1, 0x41 if-lt v0, v1, :cond_3 const/16 v1, 0x5a if-le v0, v1, :cond_5 :cond_3 const/16 v1, 0x3a if-ne v0, v1, :cond_4 goto :goto_1 :cond_4 const/4 v0, 0x0 goto :goto_2 :cond_5 :goto_1 move v0, v2 :goto_2 xor-int/lit8 v1, p3, 0x1 if-ne v0, v1, :cond_6 return p1 :cond_6 add-int/lit8 p1, p1, 0x1 goto :goto_0 :cond_7 return p2 .end method .method public static domainMatch(Ljava/lang/String;Ljava/lang/String;)Z .locals 2 .line 186 invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 const/4 v1, 0x1 if-eqz v0, :cond_0 return v1 .line 190 :cond_0 invoke-virtual {p0, p1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_1 .line 191 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result p1 sub-int/2addr v0, p1 sub-int/2addr v0, v1 invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C move-result p1 const/16 v0, 0x2e if-ne p1, v0, :cond_1 .line 192 invoke-static {p0}, Lokhttp3/internal/Util;->verifyAsIpAddress(Ljava/lang/String;)Z move-result p0 if-nez p0, :cond_1 return v1 :cond_1 const/4 p0, 0x0 return p0 .end method .method public static parse(JLokhttp3/HttpUrl;Ljava/lang/String;)Lokhttp3/Cookie; .locals 23 move-object/from16 v0, p3 .line 224 invoke-virtual/range {p3 .. p3}, Ljava/lang/String;->length()I move-result v1 const/4 v2, 0x0 const/16 v3, 0x3b .line 225 invoke-static {v0, v2, v1, v3}, Lokhttp3/internal/Util;->delimiterOffset(Ljava/lang/String;IIC)I move-result v4 const/16 v5, 0x3d .line 227 invoke-static {v0, v2, v4, v5}, Lokhttp3/internal/Util;->delimiterOffset(Ljava/lang/String;IIC)I move-result v6 const/4 v7, 0x0 if-ne v6, v4, :cond_0 return-object v7 .line 230 :cond_0 invoke-static {v0, v2, v6}, Lokhttp3/internal/Util;->trimSubstring(Ljava/lang/String;II)Ljava/lang/String; move-result-object v9 .line 231 invoke-virtual {v9}, Ljava/lang/String;->isEmpty()Z move-result v8 if-nez v8, :cond_1 invoke-static {v9}, Lokhttp3/internal/Util;->indexOfControlOrNonAscii(Ljava/lang/String;)I move-result v8 const/4 v10, -0x1 if-eq v8, v10, :cond_2 :cond_1 move-object v0, v7 goto/16 :goto_9 :cond_2 const/4 v8, 0x1 add-int/2addr v6, v8 .line 233 invoke-static {v0, v6, v4}, Lokhttp3/internal/Util;->trimSubstring(Ljava/lang/String;II)Ljava/lang/String; move-result-object v6 .line 234 invoke-static {v6}, Lokhttp3/internal/Util;->indexOfControlOrNonAscii(Ljava/lang/String;)I move-result v11 if-eq v11, v10, :cond_3 return-object v7 :cond_3 add-int/2addr v4, v8 const-wide/16 v10, -0x1 const-wide v12, 0xe677d21fdbffL move v15, v2 move/from16 v16, v15 move/from16 v18, v16 move-object v14, v7 move/from16 v17, v8 move-wide/from16 v19, v10 move-wide/from16 v21, v12 move-object v8, v14 :goto_0 if-ge v4, v1, :cond_b .line 247 invoke-static {v0, v4, v1, v3}, Lokhttp3/internal/Util;->delimiterOffset(Ljava/lang/String;IIC)I move-result v7 .line 249 invoke-static {v0, v4, v7, v5}, Lokhttp3/internal/Util;->delimiterOffset(Ljava/lang/String;IIC)I move-result v3 .line 250 invoke-static {v0, v4, v3}, Lokhttp3/internal/Util;->trimSubstring(Ljava/lang/String;II)Ljava/lang/String; move-result-object v4 if-ge v3, v7, :cond_4 add-int/lit8 v3, v3, 0x1 .line 252 invoke-static {v0, v3, v7}, Lokhttp3/internal/Util;->trimSubstring(Ljava/lang/String;II)Ljava/lang/String; move-result-object v3 goto :goto_1 :cond_4 const-string v3, "" :goto_1 const-string v5, "expires" .line 255 invoke-virtual {v4, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_5 .line 257 :try_start_0 invoke-virtual {v3}, Ljava/lang/String;->length()I move-result v4 invoke-static {v3, v2, v4}, Lokhttp3/Cookie;->parseExpires(Ljava/lang/String;II)J move-result-wide v21 :try_end_0 .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0 :goto_2 const/16 v18, 0x1 goto :goto_3 :cond_5 const-string v5, "max-age" .line 262 invoke-virtual {v4, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_6 .line 264 :try_start_1 invoke-static {v3}, Lokhttp3/Cookie;->parseMaxAge(Ljava/lang/String;)J move-result-wide v19 :try_end_1 .catch Ljava/lang/NumberFormatException; {:try_start_1 .. :try_end_1} :catch_0 goto :goto_2 :cond_6 const-string v5, "domain" .line 269 invoke-virtual {v4, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_7 .line 271 :try_start_2 invoke-static {v3}, Lokhttp3/Cookie;->parseDomain(Ljava/lang/String;)Ljava/lang/String; move-result-object v14 :try_end_2 .catch Ljava/lang/IllegalArgumentException; {:try_start_2 .. :try_end_2} :catch_0 move/from16 v17, v2 goto :goto_3 :cond_7 const-string v5, "path" .line 276 invoke-virtual {v4, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_8 move-object v8, v3 goto :goto_3 :cond_8 const-string v3, "secure" .line 278 invoke-virtual {v4, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_9 const/4 v15, 0x1 goto :goto_3 :cond_9 const-string v3, "httponly" .line 280 invoke-virtual {v4, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_a const/16 v16, 0x1 :catch_0 :cond_a :goto_3 add-int/lit8 v4, v7, 0x1 const/16 v3, 0x3b const/16 v5, 0x3d const/4 v7, 0x0 goto :goto_0 :cond_b const-wide/high16 v0, -0x8000000000000000L cmp-long v3, v19, v0 if-nez v3, :cond_d :cond_c move-wide v11, v0 goto :goto_5 :cond_d cmp-long v0, v19, v10 if-eqz v0, :cond_10 const-wide v0, 0x20c49ba5e353f7L cmp-long v0, v19, v0 if-gtz v0, :cond_e const-wide/16 v0, 0x3e8 mul-long v19, v19, v0 goto :goto_4 :cond_e const-wide v19, 0x7fffffffffffffffL :goto_4 add-long v0, p0, v19 cmp-long v3, v0, p0 if-ltz v3, :cond_f cmp-long v3, v0, v12 if-lez v3, :cond_c :cond_f move-wide v11, v12 goto :goto_5 :cond_10 move-wide/from16 v11, v21 .line 302 :goto_5 invoke-virtual/range {p2 .. p2}, Lokhttp3/HttpUrl;->host()Ljava/lang/String; move-result-object v0 if-nez v14, :cond_11 move-object v13, v0 const/4 v1, 0x0 goto :goto_6 .line 305 :cond_11 invoke-static {v0, v14}, Lokhttp3/Cookie;->domainMatch(Ljava/lang/String;Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_12 const/4 v1, 0x0 return-object v1 :cond_12 const/4 v1, 0x0 move-object v13, v14 .line 310 :goto_6 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v0 invoke-virtual {v13}, Ljava/lang/String;->length()I move-result v3 if-eq v0, v3, :cond_13 .line 311 invoke-static {}, Lokhttp3/internal/publicsuffix/PublicSuffixDatabase;->get()Lokhttp3/internal/publicsuffix/PublicSuffixDatabase; move-result-object v0 invoke-virtual {v0, v13}, Lokhttp3/internal/publicsuffix/PublicSuffixDatabase;->getEffectiveTldPlusOne(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-nez v0, :cond_13 return-object v1 :cond_13 const-string v0, "/" if-eqz v8, :cond_15 .line 317 invoke-virtual {v8, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_14 goto :goto_7 :cond_14 move-object v14, v8 goto :goto_8 .line 318 :cond_15 :goto_7 invoke-virtual/range {p2 .. p2}, Lokhttp3/HttpUrl;->encodedPath()Ljava/lang/String; move-result-object v1 const/16 v3, 0x2f .line 319 invoke-virtual {v1, v3}, Ljava/lang/String;->lastIndexOf(I)I move-result v3 if-eqz v3, :cond_16 .line 320 invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v0 :cond_16 move-object v14, v0 .line 323 :goto_8 new-instance v0, Lokhttp3/Cookie; move-object v8, v0 move-object v10, v6 invoke-direct/range {v8 .. v18}, Lokhttp3/Cookie;->(Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;ZZZZ)V :goto_9 return-object v0 .end method .method public static parse(Lokhttp3/HttpUrl;Ljava/lang/String;)Lokhttp3/Cookie; .locals 2 .line 219 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 invoke-static {v0, v1, p0, p1}, Lokhttp3/Cookie;->parse(JLokhttp3/HttpUrl;Ljava/lang/String;)Lokhttp3/Cookie; move-result-object p0 return-object p0 .end method .method public static parseAll(Lokhttp3/HttpUrl;Lokhttp3/Headers;)Ljava/util/List; .locals 4 const-string v0, "Set-Cookie" .line 441 invoke-virtual {p1, v0}, Lokhttp3/Headers;->values(Ljava/lang/String;)Ljava/util/List; move-result-object p1 .line 444 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_2 .line 445 invoke-interface {p1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; invoke-static {p0, v3}, Lokhttp3/Cookie;->parse(Lokhttp3/HttpUrl;Ljava/lang/String;)Lokhttp3/Cookie; move-result-object v3 if-nez v3, :cond_0 goto :goto_1 :cond_0 if-nez v1, :cond_1 .line 447 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V .line 448 :cond_1 invoke-interface {v1, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 if-eqz v1, :cond_3 .line 452 invoke-static {v1}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List; move-result-object p0 goto :goto_2 .line 453 :cond_3 invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object p0 :goto_2 return-object p0 .end method .method public static parseDomain(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "." .line 426 invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_2 .line 429 invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 .line 430 invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p0 .line 432 :cond_0 invoke-static {p0}, Lokhttp3/internal/Util;->canonicalizeHost(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 if-eqz p0, :cond_1 return-object p0 .line 434 :cond_1 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 427 :cond_2 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .end method .method public static parseExpires(Ljava/lang/String;II)J .locals 12 const/4 v0, 0x0 .line 329 invoke-static {p0, p1, p2, v0}, Lokhttp3/Cookie;->dateCharacterOffset(Ljava/lang/String;IIZ)I move-result p1 sget-object v1, Lokhttp3/Cookie;->TIME_PATTERN:Ljava/util/regex/Pattern; .line 337 invoke-virtual {v1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object v1 const/4 v2, -0x1 move v3, v2 move v4, v3 move v5, v4 move v6, v5 move v7, v6 move v8, v7 :goto_0 const/4 v9, 0x2 const/4 v10, 0x1 if-ge p1, p2, :cond_4 add-int/lit8 v11, p1, 0x1 .line 340 invoke-static {p0, v11, p2, v10}, Lokhttp3/Cookie;->dateCharacterOffset(Ljava/lang/String;IIZ)I move-result v11 .line 341 invoke-virtual {v1, p1, v11}, Ljava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher; if-ne v4, v2, :cond_0 sget-object p1, Lokhttp3/Cookie;->TIME_PATTERN:Ljava/util/regex/Pattern; .line 343 invoke-virtual {v1, p1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher; move-result-object p1 invoke-virtual {p1}, Ljava/util/regex/Matcher;->matches()Z move-result p1 if-eqz p1, :cond_0 .line 344 invoke-virtual {v1, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p1 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v4 .line 345 invoke-virtual {v1, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p1 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v7 const/4 p1, 0x3 .line 346 invoke-virtual {v1, p1}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p1 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v8 goto :goto_1 :cond_0 if-ne v5, v2, :cond_1 sget-object p1, Lokhttp3/Cookie;->DAY_OF_MONTH_PATTERN:Ljava/util/regex/Pattern; .line 347 invoke-virtual {v1, p1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher; move-result-object p1 invoke-virtual {p1}, Ljava/util/regex/Matcher;->matches()Z move-result p1 if-eqz p1, :cond_1 .line 348 invoke-virtual {v1, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p1 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v5 goto :goto_1 :cond_1 if-ne v6, v2, :cond_2 sget-object p1, Lokhttp3/Cookie;->MONTH_PATTERN:Ljava/util/regex/Pattern; .line 349 invoke-virtual {v1, p1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher; move-result-object v9 invoke-virtual {v9}, Ljava/util/regex/Matcher;->matches()Z move-result v9 if-eqz v9, :cond_2 .line 350 invoke-virtual {v1, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object v6 sget-object v9, Ljava/util/Locale;->US:Ljava/util/Locale; invoke-virtual {v6, v9}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v6 .line 351 invoke-virtual {p1}, Ljava/util/regex/Pattern;->pattern()Ljava/lang/String; move-result-object p1 invoke-virtual {p1, v6}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result p1 div-int/lit8 v6, p1, 0x4 goto :goto_1 :cond_2 if-ne v3, v2, :cond_3 sget-object p1, Lokhttp3/Cookie;->YEAR_PATTERN:Ljava/util/regex/Pattern; .line 352 invoke-virtual {v1, p1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher; move-result-object p1 invoke-virtual {p1}, Ljava/util/regex/Matcher;->matches()Z move-result p1 if-eqz p1, :cond_3 .line 353 invoke-virtual {v1, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p1 invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v3 :cond_3 :goto_1 add-int/lit8 v11, v11, 0x1 .line 356 invoke-static {p0, v11, p2, v0}, Lokhttp3/Cookie;->dateCharacterOffset(Ljava/lang/String;IIZ)I move-result p1 goto/16 :goto_0 :cond_4 const/16 p0, 0x46 if-lt v3, p0, :cond_5 const/16 p0, 0x63 if-gt v3, p0, :cond_5 add-int/lit16 v3, v3, 0x76c :cond_5 if-ltz v3, :cond_6 const/16 p0, 0x45 if-gt v3, p0, :cond_6 add-int/lit16 v3, v3, 0x7d0 :cond_6 const/16 p0, 0x641 if-lt v3, p0, :cond_c if-eq v6, v2, :cond_b if-lt v5, v10, :cond_a const/16 p0, 0x1f if-gt v5, p0, :cond_a if-ltz v4, :cond_9 const/16 p0, 0x17 if-gt v4, p0, :cond_9 if-ltz v7, :cond_8 const/16 p0, 0x3b if-gt v7, p0, :cond_8 if-ltz v8, :cond_7 if-gt v8, p0, :cond_7 .line 372 new-instance p0, Ljava/util/GregorianCalendar; sget-object p1, Lokhttp3/internal/Util;->UTC:Ljava/util/TimeZone; invoke-direct {p0, p1}, Ljava/util/GregorianCalendar;->(Ljava/util/TimeZone;)V .line 373 invoke-virtual {p0, v0}, Ljava/util/Calendar;->setLenient(Z)V .line 374 invoke-virtual {p0, v10, v3}, Ljava/util/Calendar;->set(II)V sub-int/2addr v6, v10 .line 375 invoke-virtual {p0, v9, v6}, Ljava/util/Calendar;->set(II)V const/4 p1, 0x5 .line 376 invoke-virtual {p0, p1, v5}, Ljava/util/Calendar;->set(II)V const/16 p1, 0xb .line 377 invoke-virtual {p0, p1, v4}, Ljava/util/Calendar;->set(II)V const/16 p1, 0xc .line 378 invoke-virtual {p0, p1, v7}, Ljava/util/Calendar;->set(II)V const/16 p1, 0xd .line 379 invoke-virtual {p0, p1, v8}, Ljava/util/Calendar;->set(II)V const/16 p1, 0xe .line 380 invoke-virtual {p0, p1, v0}, Ljava/util/Calendar;->set(II)V .line 381 invoke-virtual {p0}, Ljava/util/Calendar;->getTimeInMillis()J move-result-wide p0 return-wide p0 .line 370 :cond_7 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 369 :cond_8 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 368 :cond_9 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 367 :cond_a new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 366 :cond_b new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .line 365 :cond_c new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .end method .method public static parseMaxAge(Ljava/lang/String;)J .locals 6 const-wide/high16 v0, -0x8000000000000000L .line 410 :try_start_0 invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v2 :try_end_0 .catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0 const-wide/16 v4, 0x0 cmp-long p0, v2, v4 if-gtz p0, :cond_0 goto :goto_0 :cond_0 move-wide v0, v2 :goto_0 return-wide v0 :catch_0 move-exception v2 const-string v3, "-?\\d+" .line 414 invoke-virtual {p0, v3}, Ljava/lang/String;->matches(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_2 const-string v2, "-" .line 415 invoke-virtual {p0, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p0 if-eqz p0, :cond_1 goto :goto_1 :cond_1 const-wide v0, 0x7fffffffffffffffL :goto_1 return-wide v0 .line 417 :cond_2 throw v2 .end method # virtual methods .method public equals(Ljava/lang/Object;)Z .locals 6 .line 586 instance-of v0, p1, Lokhttp3/Cookie; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 587 :cond_0 check-cast p1, Lokhttp3/Cookie; .line 588 iget-object v0, p1, Lokhttp3/Cookie;->name:Ljava/lang/String; iget-object v2, p0, Lokhttp3/Cookie;->name:Ljava/lang/String; invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p1, Lokhttp3/Cookie;->value:Ljava/lang/String; iget-object v2, p0, Lokhttp3/Cookie;->value:Ljava/lang/String; .line 589 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p1, Lokhttp3/Cookie;->domain:Ljava/lang/String; iget-object v2, p0, Lokhttp3/Cookie;->domain:Ljava/lang/String; .line 590 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p1, Lokhttp3/Cookie;->path:Ljava/lang/String; iget-object v2, p0, Lokhttp3/Cookie;->path:Ljava/lang/String; .line 591 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 iget-wide v2, p1, Lokhttp3/Cookie;->expiresAt:J iget-wide v4, p0, Lokhttp3/Cookie;->expiresAt:J cmp-long v0, v2, v4 if-nez v0, :cond_1 iget-boolean v0, p1, Lokhttp3/Cookie;->secure:Z iget-boolean v2, p0, Lokhttp3/Cookie;->secure:Z if-ne v0, v2, :cond_1 iget-boolean v0, p1, Lokhttp3/Cookie;->httpOnly:Z iget-boolean v2, p0, Lokhttp3/Cookie;->httpOnly:Z if-ne v0, v2, :cond_1 iget-boolean v0, p1, Lokhttp3/Cookie;->persistent:Z iget-boolean v2, p0, Lokhttp3/Cookie;->persistent:Z if-ne v0, v2, :cond_1 iget-boolean p1, p1, Lokhttp3/Cookie;->hostOnly:Z iget-boolean v0, p0, Lokhttp3/Cookie;->hostOnly:Z if-ne p1, v0, :cond_1 const/4 v1, 0x1 :cond_1 return v1 .end method .method public hashCode()I .locals 6 iget-object v0, p0, Lokhttp3/Cookie;->name:Ljava/lang/String; .line 601 invoke-virtual {v0}, Ljava/lang/String;->hashCode()I move-result v0 const/16 v1, 0x20f add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-object v0, p0, Lokhttp3/Cookie;->value:Ljava/lang/String; .line 602 invoke-virtual {v0}, Ljava/lang/String;->hashCode()I move-result v0 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-object v0, p0, Lokhttp3/Cookie;->domain:Ljava/lang/String; .line 603 invoke-virtual {v0}, Ljava/lang/String;->hashCode()I move-result v0 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-object v0, p0, Lokhttp3/Cookie;->path:Ljava/lang/String; .line 604 invoke-virtual {v0}, Ljava/lang/String;->hashCode()I move-result v0 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-wide v2, p0, Lokhttp3/Cookie;->expiresAt:J const/16 v0, 0x20 ushr-long v4, v2, v0 xor-long/2addr v2, v4 long-to-int v0, v2 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-boolean v0, p0, Lokhttp3/Cookie;->secure:Z xor-int/lit8 v0, v0, 0x1 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-boolean v0, p0, Lokhttp3/Cookie;->httpOnly:Z xor-int/lit8 v0, v0, 0x1 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-boolean v0, p0, Lokhttp3/Cookie;->persistent:Z xor-int/lit8 v0, v0, 0x1 add-int/2addr v1, v0 mul-int/lit8 v1, v1, 0x1f iget-boolean v0, p0, Lokhttp3/Cookie;->hostOnly:Z xor-int/lit8 v0, v0, 0x1 add-int/2addr v1, v0 return v1 .end method .method public name()Ljava/lang/String; .locals 1 iget-object v0, p0, Lokhttp3/Cookie;->name:Ljava/lang/String; return-object v0 .end method .method public toString()Ljava/lang/String; .locals 1 const/4 v0, 0x0 .line 542 invoke-virtual {p0, v0}, Lokhttp3/Cookie;->toString(Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public toString(Z)Ljava/lang/String; .locals 5 .line 551 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V iget-object v1, p0, Lokhttp3/Cookie;->name:Ljava/lang/String; .line 552 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/16 v1, 0x3d .line 553 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; iget-object v1, p0, Lokhttp3/Cookie;->value:Ljava/lang/String; .line 554 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-boolean v1, p0, Lokhttp3/Cookie;->persistent:Z if-eqz v1, :cond_1 iget-wide v1, p0, Lokhttp3/Cookie;->expiresAt:J const-wide/high16 v3, -0x8000000000000000L cmp-long v1, v1, v3 if-nez v1, :cond_0 const-string v1, "; max-age=0" .line 558 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_0 :cond_0 const-string v1, "; expires=" .line 560 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; new-instance v1, Ljava/util/Date; iget-wide v2, p0, Lokhttp3/Cookie;->expiresAt:J invoke-direct {v1, v2, v3}, Ljava/util/Date;->(J)V invoke-static {v1}, Lokhttp3/internal/http/HttpDate;->format(Ljava/util/Date;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_1 :goto_0 iget-boolean v1, p0, Lokhttp3/Cookie;->hostOnly:Z if-nez v1, :cond_3 const-string v1, "; domain=" .line 565 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p1, :cond_2 const-string p1, "." .line 567 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_2 iget-object p1, p0, Lokhttp3/Cookie;->domain:Ljava/lang/String; .line 569 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_3 const-string p1, "; path=" .line 572 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object p1, p0, Lokhttp3/Cookie;->path:Ljava/lang/String; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-boolean p1, p0, Lokhttp3/Cookie;->secure:Z if-eqz p1, :cond_4 const-string p1, "; secure" .line 575 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_4 iget-boolean p1, p0, Lokhttp3/Cookie;->httpOnly:Z if-eqz p1, :cond_5 const-string p1, "; httponly" .line 579 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 582 :cond_5 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method public value()Ljava/lang/String; .locals 1 iget-object v0, p0, Lokhttp3/Cookie;->value:Ljava/lang/String; return-object v0 .end method