.class final Lcom/bumptech/glide/load/engine/executor/RuntimeCompat; .super Ljava/lang/Object; .source "RuntimeCompat.java" # static fields .field private static final CPU_LOCATION:Ljava/lang/String; = "/sys/devices/system/cpu/" .field private static final CPU_NAME_REGEX:Ljava/lang/String; = "cpu[0-9]+" .field private static final TAG:Ljava/lang/String; = "GlideRuntimeCompat" # direct methods .method private constructor ()V .registers 1 .line 19 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method static availableProcessors()I .registers 1 .line 27 invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I move-result v0 return v0 .end method .method private static getCoreCountPre17()I .registers 5 .line 48 const-string v0, "GlideRuntimeCompat" .line 49 invoke-static {}, Landroid/os/StrictMode;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy; move-result-object v1 .line 51 :try_start_6 new-instance v2, Ljava/io/File; const-string v3, "/sys/devices/system/cpu/" invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V .line 52 const-string v3, "cpu[0-9]+" invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v3 .line 53 new-instance v4, Lcom/bumptech/glide/load/engine/executor/RuntimeCompat$1; invoke-direct {v4, v3}, Lcom/bumptech/glide/load/engine/executor/RuntimeCompat$1;->(Ljava/util/regex/Pattern;)V invoke-virtual {v2, v4}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File; move-result-object v0 :try_end_1c .catchall {:try_start_6 .. :try_end_1c} :catchall_20 .line 64 invoke-static {v1}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V goto :goto_31 :catchall_20 move-exception v2 const/4 v3, 0x6 .line 60 :try_start_22 invoke-static {v0, v3}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result v3 if-eqz v3, :cond_2d .line 61 const-string v3, "Failed to calculate accurate cpu count" invoke-static {v0, v3, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :try_end_2d .catchall {:try_start_22 .. :try_end_2d} :catchall_3c .line 64 :cond_2d invoke-static {v1}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V const/4 v0, 0x0 :goto_31 if-eqz v0, :cond_35 .line 66 array-length v0, v0 goto :goto_36 :cond_35 const/4 v0, 0x0 :goto_36 const/4 v1, 0x1 invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I move-result v0 return v0 :catchall_3c move-exception v0 .line 64 invoke-static {v1}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V throw v0 .end method