public class android.os.Environment
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.Environment
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Environment"

  private static final java.lang.String ENV_EXTERNAL_STORAGE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "EXTERNAL_STORAGE"

  private static final java.lang.String ENV_ANDROID_ROOT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ANDROID_ROOT"

  private static final java.lang.String ENV_ANDROID_DATA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ANDROID_DATA"

  private static final java.lang.String ENV_ANDROID_EXPAND;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ANDROID_EXPAND"

  private static final java.lang.String ENV_ANDROID_STORAGE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ANDROID_STORAGE"

  private static final java.lang.String ENV_DOWNLOAD_CACHE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DOWNLOAD_CACHE"

  private static final java.lang.String ENV_OEM_ROOT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "OEM_ROOT"

  private static final java.lang.String ENV_ODM_ROOT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ODM_ROOT"

  private static final java.lang.String ENV_VENDOR_ROOT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "VENDOR_ROOT"

  private static final java.lang.String ENV_PRODUCT_ROOT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PRODUCT_ROOT"

  public static final java.lang.String DIR_ANDROID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Android"

  private static final java.lang.String DIR_DATA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "data"

  private static final java.lang.String DIR_MEDIA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "media"

  private static final java.lang.String DIR_OBB;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "obb"

  private static final java.lang.String DIR_FILES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "files"

  private static final java.lang.String DIR_CACHE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cache"

  public static final java.lang.String DIRECTORY_ANDROID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Android"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.io.File DIR_ANDROID_ROOT;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_ANDROID_DATA;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_ANDROID_EXPAND;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_ANDROID_STORAGE;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_DOWNLOAD_CACHE;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_OEM_ROOT;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_ODM_ROOT;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_VENDOR_ROOT;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File DIR_PRODUCT_ROOT;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static android.os.Environment$UserEnvironment sCurrentUser;
    descriptor: Landroid/os/Environment$UserEnvironment;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean sUserRequired;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static java.lang.String DIRECTORY_MUSIC;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_PODCASTS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_RINGTONES;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_ALARMS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_NOTIFICATIONS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_PICTURES;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_MOVIES;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_DOWNLOADS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_DCIM;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String DIRECTORY_DOCUMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final java.lang.String[] STANDARD_DIRECTORIES;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int HAS_MUSIC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int HAS_PODCASTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int HAS_RINGTONES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int HAS_ALARMS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int HAS_NOTIFICATIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int HAS_PICTURES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int HAS_MOVIES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int HAS_DOWNLOADS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int HAS_DCIM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  public static final int HAS_DOCUMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int HAS_ANDROID;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  public static final int HAS_OTHER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 131072

  public static final java.lang.String MEDIA_UNKNOWN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unknown"

  public static final java.lang.String MEDIA_REMOVED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "removed"

  public static final java.lang.String MEDIA_UNMOUNTED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unmounted"

  public static final java.lang.String MEDIA_CHECKING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "checking"

  public static final java.lang.String MEDIA_NOFS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "nofs"

  public static final java.lang.String MEDIA_MOUNTED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "mounted"

  public static final java.lang.String MEDIA_MOUNTED_READ_ONLY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "mounted_ro"

  public static final java.lang.String MEDIA_SHARED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "shared"

  public static final java.lang.String MEDIA_BAD_REMOVAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "bad_removal"

  public static final java.lang.String MEDIA_UNMOUNTABLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unmountable"

  public static final java.lang.String MEDIA_EJECTING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ejecting"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 59
            ldc "ANDROID_ROOT"
            ldc "/system"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_ANDROID_ROOT:Ljava/io/File;
         1: .line 60
            ldc "ANDROID_DATA"
            ldc "/data"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_ANDROID_DATA:Ljava/io/File;
         2: .line 61
            ldc "ANDROID_EXPAND"
            ldc "/mnt/expand"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_ANDROID_EXPAND:Ljava/io/File;
         3: .line 62
            ldc "ANDROID_STORAGE"
            ldc "/storage"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_ANDROID_STORAGE:Ljava/io/File;
         4: .line 63
            ldc "DOWNLOAD_CACHE"
            ldc "/cache"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_DOWNLOAD_CACHE:Ljava/io/File;
         5: .line 64
            ldc "OEM_ROOT"
            ldc "/oem"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_OEM_ROOT:Ljava/io/File;
         6: .line 65
            ldc "ODM_ROOT"
            ldc "/odm"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_ODM_ROOT:Ljava/io/File;
         7: .line 66
            ldc "VENDOR_ROOT"
            ldc "/vendor"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_VENDOR_ROOT:Ljava/io/File;
         8: .line 67
            ldc "PRODUCT_ROOT"
            ldc "/product"
            invokestatic android.os.Environment.getDirectory:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            putstatic android.os.Environment.DIR_PRODUCT_ROOT:Ljava/io/File;
         9: .line 73
            invokestatic android.os.Environment.initForCurrentUser:()V
        10: .line 503
            ldc "Music"
            putstatic android.os.Environment.DIRECTORY_MUSIC:Ljava/lang/String;
        11: .line 515
            ldc "Podcasts"
            putstatic android.os.Environment.DIRECTORY_PODCASTS:Ljava/lang/String;
        12: .line 527
            ldc "Ringtones"
            putstatic android.os.Environment.DIRECTORY_RINGTONES:Ljava/lang/String;
        13: .line 539
            ldc "Alarms"
            putstatic android.os.Environment.DIRECTORY_ALARMS:Ljava/lang/String;
        14: .line 551
            ldc "Notifications"
            putstatic android.os.Environment.DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
        15: .line 559
            ldc "Pictures"
            putstatic android.os.Environment.DIRECTORY_PICTURES:Ljava/lang/String;
        16: .line 567
            ldc "Movies"
            putstatic android.os.Environment.DIRECTORY_MOVIES:Ljava/lang/String;
        17: .line 577
            ldc "Download"
            putstatic android.os.Environment.DIRECTORY_DOWNLOADS:Ljava/lang/String;
        18: .line 584
            ldc "DCIM"
            putstatic android.os.Environment.DIRECTORY_DCIM:Ljava/lang/String;
        19: .line 590
            ldc "Documents"
            putstatic android.os.Environment.DIRECTORY_DOCUMENTS:Ljava/lang/String;
        20: .line 610
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
        21: .line 611
            getstatic android.os.Environment.DIRECTORY_MUSIC:Ljava/lang/String;
            aastore
            dup
            iconst_1
        22: .line 612
            getstatic android.os.Environment.DIRECTORY_PODCASTS:Ljava/lang/String;
            aastore
            dup
            iconst_2
        23: .line 613
            getstatic android.os.Environment.DIRECTORY_RINGTONES:Ljava/lang/String;
            aastore
            dup
            iconst_3
        24: .line 614
            getstatic android.os.Environment.DIRECTORY_ALARMS:Ljava/lang/String;
            aastore
            dup
            iconst_4
        25: .line 615
            getstatic android.os.Environment.DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
            aastore
            dup
            iconst_5
        26: .line 616
            getstatic android.os.Environment.DIRECTORY_PICTURES:Ljava/lang/String;
            aastore
            dup
            bipush 6
        27: .line 617
            getstatic android.os.Environment.DIRECTORY_MOVIES:Ljava/lang/String;
            aastore
            dup
            bipush 7
        28: .line 618
            getstatic android.os.Environment.DIRECTORY_DOWNLOADS:Ljava/lang/String;
            aastore
            dup
            bipush 8
        29: .line 619
            getstatic android.os.Environment.DIRECTORY_DCIM:Ljava/lang/String;
            aastore
            dup
            bipush 9
        30: .line 620
            getstatic android.os.Environment.DIRECTORY_DOCUMENTS:Ljava/lang/String;
            aastore
        31: .line 610
            putstatic android.os.Environment.STANDARD_DIRECTORIES:[Ljava/lang/String;
        32: .line 883
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Environment this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.os.Environment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Environment;

  public static void initForCurrentUser();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 78
            invokestatic android.os.UserHandle.myUserId:()I
            istore 0 /* userId */
        start local 0 // int userId
         1: .line 79
            new android.os.Environment$UserEnvironment
            dup
            iload 0 /* userId */
            invokespecial android.os.Environment$UserEnvironment.<init>:(I)V
            putstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
         2: .line 80
            return
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    3     0  userId  I

  public static java.io.File getRootDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 148
            getstatic android.os.Environment.DIR_ANDROID_ROOT:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getStorageDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 153
            getstatic android.os.Environment.DIR_ANDROID_STORAGE:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getOemDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 163
            getstatic android.os.Environment.DIR_OEM_ROOT:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getOdmDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 173
            getstatic android.os.Environment.DIR_ODM_ROOT:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getVendorDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 182
            getstatic android.os.Environment.DIR_VENDOR_ROOT:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getProductDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 192
            getstatic android.os.Environment.DIR_PRODUCT_ROOT:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getUserSystemDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // int userId
         0: .line 210
            new java.io.File
            dup
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataSystemDirectory:()Ljava/io/File;
            ldc "users"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            iload 0 /* userId */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getUserConfigDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // int userId
         0: .line 227
            new java.io.File
            dup
            new java.io.File
            dup
            new java.io.File
            dup
         1: .line 228
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            ldc "misc"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            ldc "user"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            iload 0 /* userId */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
         2: .line 227
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  userId  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 235
            getstatic android.os.Environment.DIR_ANDROID_DATA:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String volumeUuid
         0: .line 240
            aload 0 /* volumeUuid */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 241
            getstatic android.os.Environment.DIR_ANDROID_DATA:Ljava/io/File;
            areturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            ldc "/mnt/expand/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* volumeUuid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  volumeUuid  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      volumeUuid  

  public static java.io.File getExpandDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 249
            getstatic android.os.Environment.DIR_ANDROID_EXPAND:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataSystemDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 254
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            ldc "system"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataSystemDeDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 262
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "system_de"
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataSystemCeDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 270
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "system_ce"
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataSystemCeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 275
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "system_ce"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataSystemDeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 280
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "system_de"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataMiscDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 285
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            ldc "misc"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataMiscCeDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 290
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "misc_ce"
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataMiscCeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 295
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "misc_ce"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataMiscDeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 300
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "misc_de"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  private static java.io.File getDataProfilesDeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 304
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "misc"
            aastore
            dup
            iconst_1
            ldc "profiles"
            aastore
            dup
            iconst_2
            ldc "cur"
            aastore
            dup
            iconst_3
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataVendorCeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 309
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "vendor_ce"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataVendorDeDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int userId
         0: .line 314
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "vendor_de"
            aastore
            dup
            iconst_1
            iload 0 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  userId  I
    MethodParameters:
        Name  Flags
      userId  

  public static java.io.File getDataRefProfilesDePackageDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 319
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "misc"
            aastore
            dup
            iconst_1
            ldc "profiles"
            aastore
            dup
            iconst_2
            ldc "ref"
            aastore
            dup
            iconst_3
            aload 0 /* packageName */
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File getDataProfilesDePackageDirectory(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int userId
        start local 1 // java.lang.String packageName
         0: .line 324
            iload 0 /* userId */
            invokestatic android.os.Environment.getDataProfilesDeDirectory:(I)Ljava/io/File;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* packageName */
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 1 // java.lang.String packageName
        end local 0 // int userId
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0       userId  I
            0    1     1  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      userId       
      packageName  

  public static java.io.File getDataAppDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String volumeUuid
         0: .line 329
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            invokestatic android.os.Environment.getDataDirectory:(Ljava/lang/String;)Ljava/io/File;
            ldc "app"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  volumeUuid  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      volumeUuid  

  public static java.io.File getDataUserCeDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String volumeUuid
         0: .line 334
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            invokestatic android.os.Environment.getDataDirectory:(Ljava/lang/String;)Ljava/io/File;
            ldc "user"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  volumeUuid  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      volumeUuid  

  public static java.io.File getDataUserCeDirectory(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String volumeUuid
        start local 1 // int userId
         0: .line 339
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            invokestatic android.os.Environment.getDataUserCeDirectory:(Ljava/lang/String;)Ljava/io/File;
            iload 1 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 1 // int userId
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  volumeUuid  Ljava/lang/String;
            0    1     1      userId  I
    MethodParameters:
            Name  Flags
      volumeUuid  
      userId      

  public static java.io.File getDataUserCePackageDirectory(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String volumeUuid
        start local 1 // int userId
        start local 2 // java.lang.String packageName
         0: .line 346
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            iload 1 /* userId */
            invokestatic android.os.Environment.getDataUserCeDirectory:(Ljava/lang/String;I)Ljava/io/File;
            aload 2 /* packageName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String packageName
        end local 1 // int userId
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0   volumeUuid  Ljava/lang/String;
            0    1     1       userId  I
            0    1     2  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      volumeUuid   
      userId       
      packageName  

  public static java.io.File getDataUserDeDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String volumeUuid
         0: .line 351
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            invokestatic android.os.Environment.getDataDirectory:(Ljava/lang/String;)Ljava/io/File;
            ldc "user_de"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  volumeUuid  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      volumeUuid  

  public static java.io.File getDataUserDeDirectory(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String volumeUuid
        start local 1 // int userId
         0: .line 356
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            invokestatic android.os.Environment.getDataUserDeDirectory:(Ljava/lang/String;)Ljava/io/File;
            iload 1 /* userId */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 1 // int userId
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  volumeUuid  Ljava/lang/String;
            0    1     1      userId  I
    MethodParameters:
            Name  Flags
      volumeUuid  
      userId      

  public static java.io.File getDataUserDePackageDirectory(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String volumeUuid
        start local 1 // int userId
        start local 2 // java.lang.String packageName
         0: .line 363
            new java.io.File
            dup
            aload 0 /* volumeUuid */
            iload 1 /* userId */
            invokestatic android.os.Environment.getDataUserDeDirectory:(Ljava/lang/String;I)Ljava/io/File;
            aload 2 /* packageName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String packageName
        end local 1 // int userId
        end local 0 // java.lang.String volumeUuid
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0   volumeUuid  Ljava/lang/String;
            0    1     1       userId  I
            0    1     2  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      volumeUuid   
      userId       
      packageName  

  public static java.io.File getDataPreloadsDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 374
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            ldc "preloads"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataPreloadsDemoDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 382
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataPreloadsDirectory:()Ljava/io/File;
            ldc "demo"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataPreloadsAppsDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 390
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataPreloadsDirectory:()Ljava/io/File;
            ldc "apps"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataPreloadsMediaDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 398
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataPreloadsDirectory:()Ljava/io/File;
            ldc "media"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getDataPreloadsFileCacheDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 407
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataPreloadsFileCacheDirectory:()Ljava/io/File;
            aload 0 /* packageName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File getDataPreloadsFileCacheDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 416
            new java.io.File
            dup
            invokestatic android.os.Environment.getDataPreloadsDirectory:()Ljava/io/File;
            ldc "file_cache"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getExternalStorageDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 480
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 481
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            invokevirtual android.os.Environment$UserEnvironment.getExternalDirs:()[Ljava/io/File;
            iconst_0
            aaload
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getLegacyExternalStorageDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 486
            new java.io.File
            dup
            ldc "EXTERNAL_STORAGE"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File getLegacyExternalStorageObbDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 491
            invokestatic android.os.Environment.getLegacyExternalStorageDirectory:()Ljava/io/File;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Android"
            aastore
            dup
            iconst_1
            ldc "obb"
            aastore
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isStandardDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.String dir
         0: .line 627
            getstatic android.os.Environment.STANDARD_DIRECTORIES:[Ljava/lang/String;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: java.lang.String top int int java.lang.String[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* valid */
        start local 1 // java.lang.String valid
         2: .line 628
            aload 1 /* valid */
            aload 0 /* dir */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 629
            iconst_1
            ireturn
        end local 1 // java.lang.String valid
         4: .line 627
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 632
            iconst_0
            ireturn
        end local 0 // java.lang.String dir
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0    dir  Ljava/lang/String;
            2    4     1  valid  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      dir   

  public static int classifyExternalStorageDirectory(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.io.File dir
         0: .line 658
            iconst_0
            istore 1 /* res */
        start local 1 // int res
         1: .line 659
            aload 0 /* dir */
            invokestatic android.os.FileUtils.listFilesOrEmpty:(Ljava/io/File;)[Ljava/io/File;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 21
      StackMap locals: java.io.File int top int int java.io.File[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* f */
        start local 2 // java.io.File f
         3: .line 660
            aload 2 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifeq 6
            aload 2 /* f */
            invokestatic android.os.Environment.isInterestingFile:(Ljava/io/File;)Z
            ifeq 6
         4: .line 661
            iload 1 /* res */
            ldc 131072
            ior
            istore 1 /* res */
         5: .line 662
            goto 20
      StackMap locals: java.io.File int java.io.File int int java.io.File[]
      StackMap stack:
         6: aload 2 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 20
            aload 2 /* f */
            invokestatic android.os.Environment.hasInterestingFiles:(Ljava/io/File;)Z
            ifeq 20
         7: .line 663
            aload 2 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         8: .line 664
            getstatic android.os.Environment.DIRECTORY_MUSIC:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            iload 1 /* res */
            iconst_1
            ior
            istore 1 /* res */
            goto 20
         9: .line 665
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_PODCASTS:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            iload 1 /* res */
            iconst_2
            ior
            istore 1 /* res */
            goto 20
        10: .line 666
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_RINGTONES:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            iload 1 /* res */
            iconst_4
            ior
            istore 1 /* res */
            goto 20
        11: .line 667
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_ALARMS:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
            iload 1 /* res */
            bipush 8
            ior
            istore 1 /* res */
            goto 20
        12: .line 668
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
            iload 1 /* res */
            bipush 16
            ior
            istore 1 /* res */
            goto 20
        13: .line 669
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_PICTURES:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
            iload 1 /* res */
            bipush 32
            ior
            istore 1 /* res */
            goto 20
        14: .line 670
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_MOVIES:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            iload 1 /* res */
            bipush 64
            ior
            istore 1 /* res */
            goto 20
        15: .line 671
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_DOWNLOADS:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
            iload 1 /* res */
            sipush 128
            ior
            istore 1 /* res */
            goto 20
        16: .line 672
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_DCIM:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
            iload 1 /* res */
            sipush 256
            ior
            istore 1 /* res */
            goto 20
        17: .line 673
      StackMap locals:
      StackMap stack:
            getstatic android.os.Environment.DIRECTORY_DOCUMENTS:Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
            iload 1 /* res */
            sipush 512
            ior
            istore 1 /* res */
            goto 20
        18: .line 674
      StackMap locals:
      StackMap stack:
            ldc "Android"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
            iload 1 /* res */
            ldc 65536
            ior
            istore 1 /* res */
            goto 20
        19: .line 675
      StackMap locals:
      StackMap stack:
            iload 1 /* res */
            ldc 131072
            ior
            istore 1 /* res */
        end local 6 // java.lang.String name
        end local 2 // java.io.File f
        20: .line 659
      StackMap locals: java.io.File int top int int java.io.File[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        21: iload 3
            iload 4
            if_icmplt 2
        22: .line 678
            iload 1 /* res */
            ireturn
        end local 1 // int res
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0   dir  Ljava/io/File;
            1   23     1   res  I
            3   20     2     f  Ljava/io/File;
            8   20     6  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      dir   

  private static boolean hasInterestingFiles(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.io.File dir
         0: .line 682
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* explore */
        start local 1 // java.util.LinkedList explore
         1: .line 683
            aload 1 /* explore */
            aload 0 /* dir */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 684
            goto 10
         3: .line 685
      StackMap locals: java.util.LinkedList
      StackMap stack:
            aload 1 /* explore */
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast java.io.File
            astore 0 /* dir */
         4: .line 686
            aload 0 /* dir */
            invokestatic android.os.FileUtils.listFilesOrEmpty:(Ljava/io/File;)[Ljava/io/File;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: java.io.File java.util.LinkedList top int int java.io.File[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* f */
        start local 2 // java.io.File f
         6: .line 687
            aload 2 /* f */
            invokestatic android.os.Environment.isInterestingFile:(Ljava/io/File;)Z
            ifeq 7
            iconst_1
            ireturn
         7: .line 688
      StackMap locals: java.io.File java.util.LinkedList java.io.File int int java.io.File[]
      StackMap stack:
            aload 2 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 8
            aload 1 /* explore */
            aload 2 /* f */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.io.File f
         8: .line 686
      StackMap locals: java.io.File java.util.LinkedList top int int java.io.File[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 684
      StackMap locals: java.io.File java.util.LinkedList
      StackMap stack:
            aload 1 /* explore */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 3
        11: .line 691
            iconst_0
            ireturn
        end local 1 // java.util.LinkedList explore
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0      dir  Ljava/io/File;
            1   12     1  explore  Ljava/util/LinkedList<Ljava/io/File;>;
            6    8     2        f  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  private static boolean isInterestingFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 695
            aload 0 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 6
         1: .line 696
            aload 0 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         2: .line 697
            aload 1 /* name */
            ldc ".exe"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
            aload 1 /* name */
            ldc "autorun.inf"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 698
            aload 1 /* name */
            ldc "launchpad.zip"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            aload 1 /* name */
            ldc ".nomedia"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 699
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
         5: .line 701
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String name
         6: .line 704
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  file  Ljava/io/File;
            2    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      file  

  public static java.io.File getExternalStoragePublicDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 737
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 738
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* type */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStoragePublicDirs:(Ljava/lang/String;)[Ljava/io/File;
            iconst_0
            aaload
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public static java.io.File[] buildExternalStorageAndroidDataDirs();
    descriptor: ()[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 746
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 747
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAndroidDataDirs:()[Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File[] buildExternalStorageAppDataDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 755
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 756
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* packageName */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAppDataDirs:(Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File[] buildExternalStorageAppMediaDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 764
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 765
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* packageName */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAppMediaDirs:(Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File[] buildExternalStorageAppObbDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 773
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 774
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* packageName */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAppObbDirs:(Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File[] buildExternalStorageAppFilesDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 782
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 783
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* packageName */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAppFilesDirs:(Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File[] buildExternalStorageAppCacheDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 791
            invokestatic android.os.Environment.throwIfUserRequired:()V
         1: .line 792
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            aload 0 /* packageName */
            invokevirtual android.os.Environment$UserEnvironment.buildExternalStorageAppCacheDirs:(Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static java.io.File getDownloadCacheDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 799
            getstatic android.os.Environment.DIR_DOWNLOAD_CACHE:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String getExternalStorageState();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 896
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            invokevirtual android.os.Environment$UserEnvironment.getExternalDirs:()[Ljava/io/File;
            iconst_0
            aaload
            astore 0 /* externalDir */
        start local 0 // java.io.File externalDir
         1: .line 897
            aload 0 /* externalDir */
            invokestatic android.os.Environment.getExternalStorageState:(Ljava/io/File;)Ljava/lang/String;
            areturn
        end local 0 // java.io.File externalDir
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    2     0  externalDir  Ljava/io/File;

  public static java.lang.String getStorageState(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File path
         0: .line 905
            aload 0 /* path */
            invokestatic android.os.Environment.getExternalStorageState:(Ljava/io/File;)Ljava/lang/String;
            areturn
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/io/File;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String getExternalStorageState(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File path
         0: .line 919
            aload 0 /* path */
            invokestatic android.os.UserHandle.myUserId:()I
            invokestatic android.os.storage.StorageManager.getStorageVolume:(Ljava/io/File;I)Landroid/os/storage/StorageVolume;
            astore 1 /* volume */
        start local 1 // android.os.storage.StorageVolume volume
         1: .line 920
            aload 1 /* volume */
            ifnull 3
         2: .line 921
            aload 1 /* volume */
            invokevirtual android.os.storage.StorageVolume.getState:()Ljava/lang/String;
            areturn
         3: .line 923
      StackMap locals: android.os.storage.StorageVolume
      StackMap stack:
            ldc "unknown"
            areturn
        end local 1 // android.os.storage.StorageVolume volume
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    path  Ljava/io/File;
            1    4     1  volume  Landroid/os/storage/StorageVolume;
    MethodParameters:
      Name  Flags
      path  

  public static boolean isExternalStorageRemovable();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 936
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            invokevirtual android.os.Environment$UserEnvironment.getExternalDirs:()[Ljava/io/File;
            iconst_0
            aaload
            astore 0 /* externalDir */
        start local 0 // java.io.File externalDir
         1: .line 937
            aload 0 /* externalDir */
            invokestatic android.os.Environment.isExternalStorageRemovable:(Ljava/io/File;)Z
            ireturn
        end local 0 // java.io.File externalDir
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    2     0  externalDir  Ljava/io/File;

  public static boolean isExternalStorageRemovable(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.File path
         0: .line 951
            aload 0 /* path */
            invokestatic android.os.UserHandle.myUserId:()I
            invokestatic android.os.storage.StorageManager.getStorageVolume:(Ljava/io/File;I)Landroid/os/storage/StorageVolume;
            astore 1 /* volume */
        start local 1 // android.os.storage.StorageVolume volume
         1: .line 952
            aload 1 /* volume */
            ifnull 3
         2: .line 953
            aload 1 /* volume */
            invokevirtual android.os.storage.StorageVolume.isRemovable:()Z
            ireturn
         3: .line 955
      StackMap locals: android.os.storage.StorageVolume
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find storage device at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // android.os.storage.StorageVolume volume
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    path  Ljava/io/File;
            1    4     1  volume  Landroid/os/storage/StorageVolume;
    MethodParameters:
      Name  Flags
      path  

  public static boolean isExternalStorageEmulated();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 974
            getstatic android.os.Environment.sCurrentUser:Landroid/os/Environment$UserEnvironment;
            invokevirtual android.os.Environment$UserEnvironment.getExternalDirs:()[Ljava/io/File;
            iconst_0
            aaload
            astore 0 /* externalDir */
        start local 0 // java.io.File externalDir
         1: .line 975
            aload 0 /* externalDir */
            invokestatic android.os.Environment.isExternalStorageEmulated:(Ljava/io/File;)Z
            ireturn
        end local 0 // java.io.File externalDir
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    2     0  externalDir  Ljava/io/File;

  public static boolean isExternalStorageEmulated(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.File path
         0: .line 994
            aload 0 /* path */
            invokestatic android.os.UserHandle.myUserId:()I
            invokestatic android.os.storage.StorageManager.getStorageVolume:(Ljava/io/File;I)Landroid/os/storage/StorageVolume;
            astore 1 /* volume */
        start local 1 // android.os.storage.StorageVolume volume
         1: .line 995
            aload 1 /* volume */
            ifnull 3
         2: .line 996
            aload 1 /* volume */
            invokevirtual android.os.storage.StorageVolume.isEmulated:()Z
            ireturn
         3: .line 998
      StackMap locals: android.os.storage.StorageVolume
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find storage device at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // android.os.storage.StorageVolume volume
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    path  Ljava/io/File;
            1    4     1  volume  Landroid/os/storage/StorageVolume;
    MethodParameters:
      Name  Flags
      path  

  static java.io.File getDirectory(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String variableName
        start local 1 // java.lang.String defaultPath
         0: .line 1003
            aload 0 /* variableName */
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 1004
            aload 2 /* path */
            ifnonnull 2
            new java.io.File
            dup
            aload 1 /* defaultPath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: new java.io.File
            dup
            aload 2 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.io.File
         3: areturn
        end local 2 // java.lang.String path
        end local 1 // java.lang.String defaultPath
        end local 0 // java.lang.String variableName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  variableName  Ljava/lang/String;
            0    4     1   defaultPath  Ljava/lang/String;
            1    4     2          path  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      variableName  
      defaultPath   

  public static void setUserRequired(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean userRequired
         0: .line 1009
            iload 0 /* userRequired */
            putstatic android.os.Environment.sUserRequired:Z
         1: .line 1010
            return
        end local 0 // boolean userRequired
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  userRequired  Z
    MethodParameters:
              Name  Flags
      userRequired  

  private static void throwIfUserRequired();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 1013
            getstatic android.os.Environment.sUserRequired:Z
            ifeq 4
         1: .line 1014
            ldc "Environment"
            ldc "Path requests must specify a user by using UserEnvironment"
         2: .line 1015
            new java.lang.Throwable
            dup
            invokespecial java.lang.Throwable.<init>:()V
         3: .line 1014
            invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         4: .line 1017
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.File[] buildPaths(java.io.File[], java.lang.String[]);
    descriptor: ([Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.io.File[] base
        start local 1 // java.lang.String[] segments
         0: .line 1025
            aload 0 /* base */
            arraylength
            anewarray java.io.File
            astore 2 /* result */
        start local 2 // java.io.File[] result
         1: .line 1026
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 1027
      StackMap locals: java.io.File[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* base */
            iload 3 /* i */
            aaload
            aload 1 /* segments */
            invokestatic android.os.Environment.buildPath:(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
            aastore
         4: .line 1026
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* base */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 1029
            aload 2 /* result */
            areturn
        end local 2 // java.io.File[] result
        end local 1 // java.lang.String[] segments
        end local 0 // java.io.File[] base
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      base  [Ljava/io/File;
            0    7     1  segments  [Ljava/lang/String;
            1    7     2    result  [Ljava/io/File;
            2    6     3         i  I
    MethodParameters:
          Name  Flags
      base      
      segments  

  public static java.io.File buildPath(java.io.File, java.lang.String[]);
    descriptor: (Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.File base
        start local 1 // java.lang.String[] segments
         0: .line 1039
            aload 0 /* base */
            astore 2 /* cur */
        start local 2 // java.io.File cur
         1: .line 1040
            aload 1 /* segments */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: java.io.File java.lang.String[] java.io.File top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* segment */
        start local 3 // java.lang.String segment
         3: .line 1041
            aload 2 /* cur */
            ifnonnull 6
         4: .line 1042
            new java.io.File
            dup
            aload 3 /* segment */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* cur */
         5: .line 1043
            goto 7
         6: .line 1044
      StackMap locals: java.io.File java.lang.String[] java.io.File java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* cur */
            aload 3 /* segment */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* cur */
        end local 3 // java.lang.String segment
         7: .line 1040
      StackMap locals: java.io.File java.lang.String[] java.io.File top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 2
         9: .line 1047
            aload 2 /* cur */
            areturn
        end local 2 // java.io.File cur
        end local 1 // java.lang.String[] segments
        end local 0 // java.io.File base
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      base  Ljava/io/File;
            0   10     1  segments  [Ljava/lang/String;
            1   10     2       cur  Ljava/io/File;
            3    7     3   segment  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      base      
      segments  

  public static java.io.File maybeTranslateEmulatedPathToInternal(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File path
         0: .line 1064
            aload 0 /* path */
            invokestatic android.os.storage.StorageManager.maybeTranslateEmulatedPathToInternal:(Ljava/io/File;)Ljava/io/File;
            areturn
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/io/File;
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "Environment.java"
NestMembers:
  android.os.Environment$UserEnvironment
InnerClasses:
  public UserEnvironment = android.os.Environment$UserEnvironment of android.os.Environment