.class public Lcsdk/glucentralservices/devicetiers/DeviceTiers; .super Ljava/lang/Object; .source "SourceFile" # direct methods .method public constructor ()V .locals 0 .line 12 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static calculateBestFallback(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 0 const/4 p0, 0x4 if-lt p1, p0, :cond_1 if-le p1, p0, :cond_0 add-int/lit8 p3, p3, 0x2 .line 166 :goto_0 invoke-static {p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 goto :goto_1 :cond_0 add-int/lit8 p3, p3, 0x1 goto :goto_0 :goto_1 return-object p0 .line 168 :cond_1 invoke-static {p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectAdrenoQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 6 const/4 v0, 0x1 if-ne p1, v0, :cond_0 .line 77 invoke-static {v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_0 const-string v1, "225" .line 78 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 const/4 v2, 0x2 const/4 v3, 0x4 if-nez v1, :cond_d const-string v1, "220" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_d const-string v1, "305" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_1 goto/16 :goto_3 :cond_1 const-string v1, "320" .line 80 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_2 .line 81 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v0 filled-new-array {p0, p2, p3, v0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_2 const-string v1, "308" .line 82 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 const/4 v2, 0x6 const/16 v4, 0x8 if-nez v1, :cond_c const-string v1, "330" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "405" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "418" .line 83 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "420" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "430" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "505" .line 84 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "510" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_c const-string v1, "610" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_3 goto/16 :goto_2 :cond_3 const-string v1, "506" .line 86 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_b const-string v1, "530" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_b const-string v1, "616" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_b const-string v1, "618" .line 87 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_b const-string v1, "630" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_4 goto/16 :goto_1 :cond_4 const-string v1, "306" .line 89 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 const/4 v5, 0x3 if-eqz v1, :cond_5 .line 90 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v5}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_5 const-string v1, "304" .line 91 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_6 .line 92 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v5}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_6 const-string v1, "203" .line 93 invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_7 .line 94 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_7 const-string v0, "540" .line 95 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_8 .line 96 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_8 const-string v0, "640" .line 97 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_a const-string v0, "642" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_a const-string v0, "650" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_a const-string v0, "660" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_9 goto :goto_0 .line 100 :cond_9 invoke-static {p0, p1, p2, p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->calculateBestFallback(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 98 :cond_a :goto_0 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 const/4 p2, 0x7 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 88 :cond_b :goto_1 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v0 filled-new-array {p0, p2, p3, v0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 85 :cond_c :goto_2 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const/4 p0, 0x5 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v1 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v3 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v5 filled-new-array/range {v0 .. v5}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 79 :cond_d :goto_3 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v0 filled-new-array {p0, p2, p3, v0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectMaliQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 7 const-string v0, "400" .line 104 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v1, 0x2 .line 105 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 const/4 v3, 0x4 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 if-eqz v0, :cond_0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {v2, p0, v4, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_0 const-string v0, "604" .line 106 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_1 .line 107 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 filled-new-array {v2, p0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_1 const-string v0, "628" .line 108 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v2, 0x5 const/16 v5, 0x8 if-eqz v0, :cond_2 .line 109 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {v4, p0, p2, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_2 const-string v0, "760" .line 110 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_c const-string v0, "860" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_3 goto/16 :goto_1 :cond_3 const-string v0, "880" .line 112 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v6, 0x6 if-eqz v0, :cond_4 .line 113 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {v6}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {v4, p0, p2, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_4 const-string v0, "624" .line 114 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_5 .line 115 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_5 const-string v0, "450" .line 116 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_6 const/4 p0, 0x3 .line 117 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 filled-new-array {v4, p2, p3, p0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_6 const-string v0, "720" .line 118 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_7 .line 119 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {v4, p0, p2, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_7 const-string v0, "830" .line 120 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_8 .line 121 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_8 const-string v0, "G71" .line 122 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_b const-string v0, "G72" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_b const-string v0, "G76" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_b const-string v0, "G77" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_9 goto :goto_0 :cond_9 const-string v0, "G78" .line 124 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_a .line 125 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 const/4 p2, 0x7 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 127 :cond_a invoke-static {p0, p1, p2, p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->calculateBestFallback(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 123 :cond_b :goto_0 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v6}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 111 :cond_c :goto_1 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectNvidiaQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 5 const-string v0, "K1-64" .line 131 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v1, 0x6 const/4 v2, 0x2 .line 137 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 if-nez v0, :cond_5 const-string v0, "X1" .line 131 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_0 goto :goto_2 :cond_0 const-string v0, "K1" .line 133 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v4, 0x4 if-nez v0, :cond_4 const/4 v0, 0x3 if-lt p3, v0, :cond_1 goto :goto_1 :cond_1 if-lt p1, v2, :cond_3 .line 136 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->maxDim(Landroid/graphics/Point;)I move-result p0 const/16 p2, 0x400 if-le p0, p2, :cond_2 const/4 p0, 0x1 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 goto :goto_0 :cond_2 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 .line 137 :goto_0 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {v4}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {v3, p0, p2, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 139 :cond_3 invoke-static {p0, p1, p2, p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->calculateBestFallback(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_4 :goto_1 const/4 p0, 0x5 .line 134 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {v3, p0, p2, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 132 :cond_5 :goto_2 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 filled-new-array {v3, p0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectPowerVRQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 5 const/4 v0, 0x1 if-ne p1, v0, :cond_0 const/4 p0, 0x0 .line 50 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_0 const-string v0, "540" .line 51 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v1, 0x3 const/4 v2, 0x4 if-nez v0, :cond_a const-string v0, "544" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_a const-string v0, "531" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_1 goto/16 :goto_1 :cond_1 const-string v0, "Rogue Han" .line 56 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_2 .line 57 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_2 const-string v0, "Rogue Hood" .line 58 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_3 .line 59 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_3 const-string v0, "6250" .line 60 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_4 .line 61 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_4 const-string v0, "G6200" .line 62 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 const/4 v3, 0x5 const/16 v4, 0x8 if-eqz v0, :cond_5 .line 63 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object v0 filled-new-array {p0, p2, p3, v0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_5 const-string v0, "G6430" .line 64 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_7 .line 65 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->minDim(Landroid/graphics/Point;)I move-result p0 const/16 p3, 0x438 if-le p0, p3, :cond_6 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->minDim(Landroid/graphics/Point;)I move-result p0 const/16 p2, 0x4b0 if-gt p0, p2, :cond_6 .line 66 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 68 :cond_6 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_7 const-string v0, "GM9446" .line 69 invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_9 const-string v0, "GXA6850" invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_8 goto :goto_0 .line 72 :cond_8 invoke-static {p0, p1, p2, p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->calculateBestFallback(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 70 :cond_9 :goto_0 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 const/4 p2, 0x6 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 filled-new-array {p0, p2}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_a :goto_1 if-lt p1, v2, :cond_c .line 53 invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->maxDim(Landroid/graphics/Point;)I move-result p0 const/16 p1, 0x708 if-le p0, p1, :cond_b invoke-static {v2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 goto :goto_2 :cond_b invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 :goto_2 return-object p0 .line 55 :cond_c invoke-static {p2}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->maxDim(Landroid/graphics/Point;)I move-result p0 const/16 p1, 0x400 if-le p0, p1, :cond_d invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 goto :goto_3 :cond_d const/4 p0, 0x2 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 :goto_3 return-object p0 .end method .method public static detectQualitySetting(ILandroid/graphics/Point;)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 5 .line 28 invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getGlesData()Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData; move-result-object v0 const/4 v1, 0x1 if-nez v0, :cond_0 .line 30 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 32 :cond_0 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "PowerVR" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_1 .line 33 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectPowerVRQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 34 :cond_1 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "Adreno" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_2 .line 35 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectAdrenoQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 36 :cond_2 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "Mali" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_3 .line 37 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectMaliQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 38 :cond_3 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "NVIDIA Tegra" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-nez v2, :cond_7 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "ULP GeForce" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_4 goto :goto_0 .line 40 :cond_4 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "Vivante" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_5 .line 41 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectVivanteQualitySettings(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 42 :cond_5 iget-object v2, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String; iget-object v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; const-string v4, "VideoCore" invoke-static {v4, v2, v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_6 .line 43 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectVideoCoreQualitySettings(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 45 :cond_6 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 39 :cond_7 :goto_0 iget-object v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String; iget v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->highestEsVersion:I invoke-static {v1, p0, p1, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectNvidiaQualitySetting(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectVideoCoreQualitySettings(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 0 const-string p2, "IV HW" .line 152 invoke-virtual {p0, p2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x2 .line 153 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 filled-new-array {p2, p0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_0 const/4 p0, 0x1 .line 155 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static detectVivanteQualitySettings(Ljava/lang/String;ILandroid/graphics/Point;I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 2 const-string p2, "GC1000" .line 143 invoke-virtual {p0, p2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p2 const/4 p3, 0x2 const/4 v0, 0x4 .line 146 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 const/4 v1, 0x1 if-nez p2, :cond_2 const-string p2, "GC2000" .line 143 invoke-virtual {p0, p2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p2 if-eqz p2, :cond_0 goto :goto_0 :cond_0 const-string p2, "GC7000UL" .line 145 invoke-virtual {p0, p2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p0 if-eqz p0, :cond_1 .line 146 invoke-static {p3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 filled-new-array {v0, p0}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 148 :cond_1 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 144 :cond_2 :goto_0 invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p2 invoke-static {v1}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p3 filled-new-array {p0, p2, v0, p3}, [Ljava/lang/Object; move-result-object p0 invoke-static {p1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static varargs estimateTierByCores(I[Ljava/lang/Object;)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 5 const/4 v0, 0x0 const/4 v1, 0x0 .line 204 :goto_0 array-length v2, p1 const/4 v3, 0x1 if-ge v1, v2, :cond_4 .line 205 aget-object v2, p1, v1 check-cast v2, Ljava/lang/Integer; invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I move-result v2 add-int/lit8 v4, v1, 0x1 .line 206 aget-object v4, p1, v4 check-cast v4, Lcsdk/glucentralservices/devicetiers/DeviceTier; if-le p0, v2, :cond_0 add-int/lit8 v1, v1, 0x2 move-object v0, v4 goto :goto_0 :cond_0 if-ne p0, v2, :cond_1 return-object v4 :cond_1 if-nez v0, :cond_2 .line 212 iget p0, v4, Lcsdk/glucentralservices/devicetiers/DeviceTier;->tier:I sub-int/2addr p0, v3 invoke-static {v3, p0}, Ljava/lang/Math;->max(II)I move-result p0 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .line 213 :cond_2 iget p0, v0, Lcsdk/glucentralservices/devicetiers/DeviceTier;->tier:I iget p1, v4, Lcsdk/glucentralservices/devicetiers/DeviceTier;->tier:I if-ne p0, p1, :cond_3 return-object v4 .line 216 :cond_3 invoke-static {p0, p1}, Ljava/lang/Math;->min(II)I move-result p0 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 :cond_4 if-eqz v0, :cond_5 .line 219 iget v3, v0, Lcsdk/glucentralservices/devicetiers/DeviceTier;->tier:I :cond_5 invoke-static {v3}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static fallback(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 2 .line 172 new-instance v0, Lcsdk/glucentralservices/devicetiers/DeviceTier; const/4 v1, 0x1 invoke-direct {v0, p0, v1}, Lcsdk/glucentralservices/devicetiers/DeviceTier;->(IZ)V return-object v0 .end method .method public static getDeviceTier(III)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 1 .line 20 new-instance v0, Landroid/graphics/Point; invoke-direct {v0, p1, p2}, Landroid/graphics/Point;->(II)V invoke-static {p0, v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->detectQualitySetting(ILandroid/graphics/Point;)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method public static getDeviceTier(Landroid/content/Context;)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 2 .line 15 invoke-static {p0}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getScreenSize(Landroid/content/Context;)Landroid/graphics/Point; move-result-object p0 .line 16 invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getCpuCount()I move-result v0 iget v1, p0, Landroid/graphics/Point;->x:I iget p0, p0, Landroid/graphics/Point;->y:I invoke-static {v0, v1, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->getDeviceTier(III)Lcsdk/glucentralservices/devicetiers/DeviceTier; move-result-object p0 return-object p0 .end method .method private static isGpuModel(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z .locals 1 .line 184 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p1 if-nez p1, :cond_1 :cond_0 invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result p1 if-nez p1, :cond_2 invoke-virtual {p2, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p0 if-eqz p0, :cond_2 :cond_1 const/4 p0, 0x1 goto :goto_0 :cond_2 const/4 p0, 0x0 :goto_0 return p0 .end method .method private static maxDim(Landroid/graphics/Point;)I .locals 1 .line 176 iget v0, p0, Landroid/graphics/Point;->x:I iget p0, p0, Landroid/graphics/Point;->y:I invoke-static {v0, p0}, Ljava/lang/Math;->max(II)I move-result p0 return p0 .end method .method private static minDim(Landroid/graphics/Point;)I .locals 1 .line 180 iget v0, p0, Landroid/graphics/Point;->x:I iget p0, p0, Landroid/graphics/Point;->y:I invoke-static {v0, p0}, Ljava/lang/Math;->min(II)I move-result p0 return p0 .end method .method private static tier(I)Lcsdk/glucentralservices/devicetiers/DeviceTier; .locals 1 .line 159 new-instance v0, Lcsdk/glucentralservices/devicetiers/DeviceTier; invoke-direct {v0, p0}, Lcsdk/glucentralservices/devicetiers/DeviceTier;->(I)V return-object v0 .end method