EnvironmentCompat.smali 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. .class public final Landroid/support/v4/os/EnvironmentCompat;
  2. .super Ljava/lang/Object;
  3. .source "EnvironmentCompat.java"
  4. # static fields
  5. .field public static final MEDIA_UNKNOWN:Ljava/lang/String; = "unknown"
  6. .field private static final TAG:Ljava/lang/String; = "EnvironmentCompat"
  7. # direct methods
  8. .method private constructor <init>()V
  9. .locals 0
  10. .prologue
  11. .line 76
  12. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  13. return-void
  14. .end method
  15. .method public static getStorageState(Ljava/io/File;)Ljava/lang/String;
  16. .locals 7
  17. .param p0, "path" # Ljava/io/File;
  18. .prologue
  19. .line 56
  20. sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
  21. .line 57
  22. .local v3, "version":I
  23. const/16 v4, 0x13
  24. if-lt v3, v4, :cond_0
  25. .line 58
  26. invoke-static {p0}, Landroid/support/v4/os/EnvironmentCompatKitKat;->getStorageState(Ljava/io/File;)Ljava/lang/String;
  27. move-result-object v4
  28. .line 73
  29. :goto_0
  30. return-object v4
  31. .line 62
  32. :cond_0
  33. :try_start_0
  34. invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
  35. move-result-object v1
  36. .line 63
  37. .local v1, "canonicalPath":Ljava/lang/String;
  38. invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
  39. move-result-object v4
  40. invoke-virtual {v4}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
  41. move-result-object v0
  42. .line 66
  43. .local v0, "canonicalExternal":Ljava/lang/String;
  44. invoke-virtual {v1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  45. move-result v4
  46. if-eqz v4, :cond_1
  47. .line 67
  48. invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
  49. :try_end_0
  50. .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
  51. move-result-object v4
  52. goto :goto_0
  53. .line 69
  54. .end local v0 # "canonicalExternal":Ljava/lang/String;
  55. .end local v1 # "canonicalPath":Ljava/lang/String;
  56. :catch_0
  57. move-exception v2
  58. .line 70
  59. .local v2, "e":Ljava/io/IOException;
  60. const-string v4, "EnvironmentCompat"
  61. new-instance v5, Ljava/lang/StringBuilder;
  62. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  63. const-string v6, "Failed to resolve canonical path: "
  64. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  65. move-result-object v5
  66. invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  67. move-result-object v5
  68. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  69. move-result-object v5
  70. invoke-static {v4, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  71. .line 73
  72. .end local v2 # "e":Ljava/io/IOException;
  73. :cond_1
  74. const-string v4, "unknown"
  75. goto :goto_0
  76. .end method