class android.gesture.GestureLibraries$FileGestureLibrary extends android.gesture.GestureLibrary
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.gesture.GestureLibraries$FileGestureLibrary
  super_class: android.gesture.GestureLibrary
{
  private final java.io.File mPath;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
        start local 1 // java.io.File path
         0: .line 55
            aload 0 /* this */
            invokespecial android.gesture.GestureLibrary.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* path */
            putfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
         2: .line 57
            return
        end local 1 // java.io.File path
        end local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/gesture/GestureLibraries$FileGestureLibrary;
            0    3     1  path  Ljava/io/File;
    MethodParameters:
      Name  Flags
      path  

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
         0: .line 61
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            invokevirtual java.io.File.canWrite:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/gesture/GestureLibraries$FileGestureLibrary;

  public boolean save();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
         0: .line 65
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mStore:Landroid/gesture/GestureStore;
            invokevirtual android.gesture.GestureStore.hasChanged:()Z
            ifne 1
            iconst_1
            ireturn
         1: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            astore 1 /* file */
        start local 1 // java.io.File file
         2: .line 69
            aload 1 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parentFile */
        start local 2 // java.io.File parentFile
         3: .line 70
            aload 2 /* parentFile */
            invokevirtual java.io.File.exists:()Z
            ifne 6
         4: .line 71
            aload 2 /* parentFile */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 6
         5: .line 72
            iconst_0
            ireturn
         6: .line 76
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            iconst_0
            istore 3 /* result */
        start local 3 // boolean result
         7: .line 79
            aload 1 /* file */
            invokevirtual java.io.File.createNewFile:()Z
            pop
         8: .line 80
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mStore:Landroid/gesture/GestureStore;
            new java.io.FileOutputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            iconst_1
            invokevirtual android.gesture.GestureStore.save:(Ljava/io/OutputStream;Z)V
         9: .line 81
            iconst_1
            istore 3 /* result */
        10: .line 82
            goto 16
      StackMap locals: android.gesture.GestureLibraries$FileGestureLibrary java.io.File java.io.File int
      StackMap stack: java.io.FileNotFoundException
        11: astore 4 /* e */
        start local 4 // java.io.FileNotFoundException e
        12: .line 83
            ldc "Gestures"
            new java.lang.StringBuilder
            dup
            ldc "Could not save the gesture library in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 4 // java.io.FileNotFoundException e
        13: goto 16
        14: .line 84
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 85
            ldc "Gestures"
            new java.lang.StringBuilder
            dup
            ldc "Could not save the gesture library in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 4 // java.io.IOException e
        16: .line 88
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.io.File parentFile
        end local 1 // java.io.File file
        end local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Landroid/gesture/GestureLibraries$FileGestureLibrary;
            2   17     1        file  Ljava/io/File;
            3   17     2  parentFile  Ljava/io/File;
            7   17     3      result  Z
           12   13     4           e  Ljava/io/FileNotFoundException;
           15   16     4           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    10      11  Class java.io.FileNotFoundException
           7    10      14  Class java.io.IOException

  public boolean load();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
         0: .line 92
            iconst_0
            istore 1 /* result */
        start local 1 // boolean result
         1: .line 93
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         2: .line 94
            aload 2 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
            aload 2 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifeq 11
         3: .line 96
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mStore:Landroid/gesture/GestureStore;
            new java.io.FileInputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            iconst_1
            invokevirtual android.gesture.GestureStore.load:(Ljava/io/InputStream;Z)V
         4: .line 97
            iconst_1
            istore 1 /* result */
         5: .line 98
            goto 11
      StackMap locals: android.gesture.GestureLibraries$FileGestureLibrary int java.io.File
      StackMap stack: java.io.FileNotFoundException
         6: astore 3 /* e */
        start local 3 // java.io.FileNotFoundException e
         7: .line 99
            ldc "Gestures"
            new java.lang.StringBuilder
            dup
            ldc "Could not load the gesture library from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 3 // java.io.FileNotFoundException e
         8: goto 11
         9: .line 100
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        10: .line 101
            ldc "Gestures"
            new java.lang.StringBuilder
            dup
            ldc "Could not load the gesture library from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.gesture.GestureLibraries$FileGestureLibrary.mPath:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 3 // java.io.IOException e
        11: .line 105
      StackMap locals:
      StackMap stack:
            iload 1 /* result */
            ireturn
        end local 2 // java.io.File file
        end local 1 // boolean result
        end local 0 // android.gesture.GestureLibraries$FileGestureLibrary this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/gesture/GestureLibraries$FileGestureLibrary;
            1   12     1  result  Z
            2   12     2    file  Ljava/io/File;
            7    8     3       e  Ljava/io/FileNotFoundException;
           10   11     3       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.io.FileNotFoundException
           3     5       9  Class java.io.IOException
}
SourceFile: "GestureLibraries.java"
NestHost: android.gesture.GestureLibraries
InnerClasses:
  private FileGestureLibrary = android.gesture.GestureLibraries$FileGestureLibrary of android.gesture.GestureLibraries