Class #138            -
  Class descriptor  : 'Lcom/valentinedesigns/chromalink/ReviewProvider;'
  Access flags      : 0x0011 (PUBLIC FINAL)
  Superclass        : 'Landroid/content/ContentProvider;'
  Interfaces        -
  Static fields     -
    #0              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'APK'
      type          : 'Ljava/lang/String;'
      access        : 0x0018 (STATIC FINAL)
      value         : "app.apk"
    #1              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'BUNDLE'
      type          : 'Ljava/lang/String;'
      access        : 0x0018 (STATIC FINAL)
      value         : "review.zip"
    #2              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'COPY_LOCK'
      type          : 'Ljava/lang/Object;'
      access        : 0x001a (PRIVATE STATIC FINAL)
      value         : null
    #3              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'MAX_REVIEW_BYTES'
      type          : 'I'
      access        : 0x001a (PRIVATE STATIC FINAL)
      value         : 16777216
    #4              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'TEXT'
      type          : 'Ljava/lang/String;'
      access        : 0x0018 (STATIC FINAL)
      value         : "report.txt"
  Instance fields   -
  Direct methods    -
    #0              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : '<clinit>'
      type          : '()V'
      access        : 0x10008 (STATIC CONSTRUCTOR)
      code          -
      registers     : 1
      ins           : 0
      outs          : 1
      insns size    : 8 16-bit code units
02a2b0:                                        |[02a2b0] com.valentinedesigns.chromalink.ReviewProvider.<clinit>:()V
02a2c0: 2200 4301                              |0000: new-instance v0, Ljava/lang/Object; // type@0143
02a2c4: 7010 5006 0000                         |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0650
02a2ca: 6900 eb02                              |0005: sput-object v0, Lcom/valentinedesigns/chromalink/ReviewProvider;.COPY_LOCK:Ljava/lang/Object; // field@02eb
02a2ce: 0e00                                   |0007: return-void
      catches       : (none)
      positions     :
        0x0000 line=40
      locals        :

    #1              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
02a2d0:                                        |[02a2d0] com.valentinedesigns.chromalink.ReviewProvider.<init>:()V
02a2e0: 7010 0c00 0000                         |0000: invoke-direct {v0}, Landroid/content/ContentProvider;.<init>:()V // method@000c
02a2e6: 0e00                                   |0003: return-void
      catches       : (none)
      positions     :
        0x0000 line=35
      locals        :
        0x0000 - 0x0004 reg=0 this Lcom/valentinedesigns/chromalink/ReviewProvider;

    #2              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'copyPublicAsset'
      type          : '(Ljava/lang/String;)Ljava/io/File;'
      access        : 0x0002 (PRIVATE)
      code          -
      registers     : 11
      ins           : 2
      outs          : 4
      insns size    : 185 16-bit code units
029efc:                                        |[029efc] com.valentinedesigns.chromalink.ReviewProvider.copyPublicAsset:(Ljava/lang/String;)Ljava/io/File;
029f0c: 6200 eb02                              |0000: sget-object v0, Lcom/valentinedesigns/chromalink/ReviewProvider;.COPY_LOCK:Ljava/lang/Object; // field@02eb
029f10: 1d00                                   |0002: monitor-enter v0
029f12: 2201 3001                              |0003: new-instance v1, Ljava/io/File; // type@0130
029f16: 6e10 ce05 0900                         |0005: invoke-virtual {v9}, Lcom/valentinedesigns/chromalink/ReviewProvider;.getContext:()Landroid/content/Context; // method@05ce
029f1c: 0c02                                   |0008: move-result-object v2
029f1e: 6e10 1000 0200                         |0009: invoke-virtual {v2}, Landroid/content/Context;.getCacheDir:()Ljava/io/File; // method@0010
029f24: 0c02                                   |000c: move-result-object v2
029f26: 1a03 4d09                              |000d: const-string v3, "public-review" // string@094d
029f2a: 7030 1206 2103                         |000f: invoke-direct {v1, v2, v3}, Ljava/io/File;.<init>:(Ljava/io/File;Ljava/lang/String;)V // method@0612
029f30: 6e10 1606 0100                         |0012: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@0616
029f36: 0a02                                   |0015: move-result v2
029f38: 3902 1100                              |0016: if-nez v2, 0027 // +0011
029f3c: 6e10 1806 0100                         |0018: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@0618
029f42: 0a02                                   |001b: move-result v2
029f44: 3802 0300                              |001c: if-eqz v2, 001f // +0003
029f48: 2809                                   |001e: goto 0027 // +0009
029f4a: 220a 3401                              |001f: new-instance v10, Ljava/io/IOException; // type@0134
029f4e: 1a01 5804                              |0021: const-string v1, "Review cache unavailable" // string@0458
029f52: 7020 2006 1a00                         |0023: invoke-direct {v10, v1}, Ljava/io/IOException;.<init>:(Ljava/lang/String;)V // method@0620
029f58: 270a                                   |0026: throw v10
029f5a: 2202 3001                              |0027: new-instance v2, Ljava/io/File; // type@0130
029f5e: 7030 1206 120a                         |0029: invoke-direct {v2, v1, v10}, Ljava/io/File;.<init>:(Ljava/io/File;Ljava/lang/String;)V // method@0612
029f64: 1a03 b009                              |002c: const-string v3, "review-" // string@09b0
029f68: 1a04 b600                              |002e: const-string v4, ".tmp" // string@00b6
029f6c: 7130 1406 4301                         |0030: invoke-static {v3, v4, v1}, Ljava/io/File;.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File; // method@0614
029f72: 0c01                                   |0033: move-result-object v1
029f74: 6e10 ce05 0900                         |0034: invoke-virtual {v9}, Lcom/valentinedesigns/chromalink/ReviewProvider;.getContext:()Landroid/content/Context; // method@05ce
029f7a: 0c03                                   |0037: move-result-object v3
029f7c: 6e10 0f00 0300                         |0038: invoke-virtual {v3}, Landroid/content/Context;.getAssets:()Landroid/content/res/AssetManager; // method@000f
029f82: 0c03                                   |003b: move-result-object v3
029f84: 2204 4901                              |003c: new-instance v4, Ljava/lang/StringBuilder; // type@0149
029f88: 7010 6806 0400                         |003e: invoke-direct {v4}, Ljava/lang/StringBuilder;.<init>:()V // method@0668
029f8e: 1a05 cc09                              |0041: const-string v5, "safety/" // string@09cc
029f92: 6e20 6b06 5400                         |0043: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
029f98: 0c04                                   |0046: move-result-object v4
029f9a: 6e20 6b06 a400                         |0047: invoke-virtual {v4, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
029fa0: 0c0a                                   |004a: move-result-object v10
029fa2: 6e10 6c06 0a00                         |004b: invoke-virtual {v10}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@066c
029fa8: 0c0a                                   |004e: move-result-object v10
029faa: 6e20 2a00 a300                         |004f: invoke-virtual {v3, v10}, Landroid/content/res/AssetManager;.open:(Ljava/lang/String;)Ljava/io/InputStream; // method@002a
029fb0: 0c0a                                   |0052: move-result-object v10
029fb2: 2203 3301                              |0053: new-instance v3, Ljava/io/FileOutputStream; // type@0133
029fb6: 7020 1c06 1300                         |0055: invoke-direct {v3, v1}, Ljava/io/FileOutputStream;.<init>:(Ljava/io/File;)V // method@061c
029fbc: 1304 0040                              |0058: const/16 v4, #int 16384 // #4000
029fc0: 2344 7201                              |005a: new-array v4, v4, [B // type@0172
029fc4: 1205                                   |005c: const/4 v5, #int 0 // #0
029fc6: 0156                                   |005d: move v6, v5
029fc8: 6e20 2306 4a00                         |005e: invoke-virtual {v10, v4}, Ljava/io/InputStream;.read:([B)I // method@0623
029fce: 0a07                                   |0061: move-result v7
029fd0: 12f8                                   |0062: const/4 v8, #int -1 // #ff
029fd2: 3287 1300                              |0063: if-eq v7, v8, 0076 // +0013
029fd6: b076                                   |0065: add-int/2addr v6, v7
029fd8: 1508 0001                              |0066: const/high16 v8, #int 16777216 // #100
029fdc: 3686 0600                              |0068: if-gt v6, v8, 006e // +0006
029fe0: 6e40 1e06 4375                         |006a: invoke-virtual {v3, v4, v5, v7}, Ljava/io/FileOutputStream;.write:([BII)V // method@061e
029fe6: 28f1                                   |006d: goto 005e // -000f
029fe8: 2202 3401                              |006e: new-instance v2, Ljava/io/IOException; // type@0134
029fec: 1a04 5904                              |0070: const-string v4, "Review file exceeds its build limit" // string@0459
029ff0: 7020 2006 4200                         |0072: invoke-direct {v2, v4}, Ljava/io/IOException;.<init>:(Ljava/lang/String;)V // method@0620
029ff6: 2702                                   |0075: throw v2
029ff8: 6e10 1d06 0300                         |0076: invoke-virtual {v3}, Ljava/io/FileOutputStream;.close:()V // method@061d
029ffe: 380a 0500                              |0079: if-eqz v10, 007e // +0005
02a002: 6e10 2206 0a00                         |007b: invoke-virtual {v10}, Ljava/io/InputStream;.close:()V // method@0622
02a008: 6e10 1906 0100                         |007e: invoke-virtual {v1}, Ljava/io/File;.toPath:()Ljava/nio/file/Path; // method@0619
02a00e: 0c0a                                   |0081: move-result-object v10
02a010: 6e10 1906 0200                         |0082: invoke-virtual {v2}, Ljava/io/File;.toPath:()Ljava/nio/file/Path; // method@0619
02a016: 0c03                                   |0085: move-result-object v3
02a018: 1224                                   |0086: const/4 v4, #int 2 // #2
02a01a: 2344 8101                              |0087: new-array v4, v4, [Ljava/nio/file/CopyOption; // type@0181
02a01e: 6206 2103                              |0089: sget-object v6, Ljava/nio/file/StandardCopyOption;.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption; // field@0321
02a022: 4d06 0405                              |008b: aput-object v6, v4, v5
02a026: 6205 2203                              |008d: sget-object v5, Ljava/nio/file/StandardCopyOption;.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption; // field@0322
02a02a: 1216                                   |008f: const/4 v6, #int 1 // #1
02a02c: 4d05 0406                              |0090: aput-object v5, v4, v6
02a030: 7130 7b06 3a04                         |0092: invoke-static {v10, v3, v4}, Ljava/nio/file/Files;.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path; // method@067b
02a036: 0000                                   |0095: nop // spacer
02a038: 6e10 1506 0100                         |0096: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0615
02a03e: 1e00                                   |0099: monitor-exit v0
02a040: 1102                                   |009a: return-object v2
02a042: 0d02                                   |009b: move-exception v2
02a044: 6e10 1d06 0300                         |009c: invoke-virtual {v3}, Ljava/io/FileOutputStream;.close:()V // method@061d
02a04a: 2805                                   |009f: goto 00a4 // +0005
02a04c: 0d03                                   |00a0: move-exception v3
02a04e: 6e20 7106 3200                         |00a1: invoke-virtual {v2, v3}, Ljava/lang/Throwable;.addSuppressed:(Ljava/lang/Throwable;)V // method@0671
02a054: 2702                                   |00a4: throw v2
02a056: 0d02                                   |00a5: move-exception v2
02a058: 380a 0a00                              |00a6: if-eqz v10, 00b0 // +000a
02a05c: 6e10 2206 0a00                         |00a8: invoke-virtual {v10}, Ljava/io/InputStream;.close:()V // method@0622
02a062: 2805                                   |00ab: goto 00b0 // +0005
02a064: 0d0a                                   |00ac: move-exception v10
02a066: 6e20 7106 a200                         |00ad: invoke-virtual {v2, v10}, Ljava/lang/Throwable;.addSuppressed:(Ljava/lang/Throwable;)V // method@0671
02a06c: 2702                                   |00b0: throw v2
02a06e: 0d0a                                   |00b1: move-exception v10
02a070: 6e10 1506 0100                         |00b2: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0615
02a076: 270a                                   |00b5: throw v10
02a078: 0d0a                                   |00b6: move-exception v10
02a07a: 1e00                                   |00b7: monitor-exit v0
02a07c: 270a                                   |00b8: throw v10
      catches       : 12
        0x0003 - 0x0034
          <any> -> 0x00b6
        0x0034 - 0x0053
          <any> -> 0x00b1
        0x0053 - 0x0058
          <any> -> 0x00a5
        0x005a - 0x0076
          <any> -> 0x009b
        0x0076 - 0x0079
          <any> -> 0x00a5
        0x007b - 0x0095
          <any> -> 0x00b1
        0x0096 - 0x009a
          <any> -> 0x00b6
        0x009c - 0x009f
          <any> -> 0x00a0
        0x00a1 - 0x00a5
          <any> -> 0x00a5
        0x00a8 - 0x00ab
          <any> -> 0x00ac
        0x00ad - 0x00b1
          <any> -> 0x00b1
        0x00b2 - 0x00b8
          <any> -> 0x00b6
      positions     :
        0x0000 line=123
        0x0003 line=124
        0x0012 line=125
        0x0027 line=126
        0x002c line=127
        0x0034 line=129
        0x0053 line=130
        0x0058 line=131
        0x005c line=132
        0x005e line=133
        0x0065 line=134
        0x0066 line=135
        0x006a line=136
        0x006e line=135
        0x0076 line=138
        0x007e line=139
        0x0095 line=141
        0x0096 line=144
        0x009a line=141
        0x009b line=129
        0x00b1 line=144
        0x00b5 line=145
        0x00b6 line=146
      locals        :
        0x0000 - 0x00b9 reg=9 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x00b9 reg=10 (null) Ljava/lang/String;

    #3              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'displayName'
      type          : '(Ljava/lang/String;)Ljava/lang/String;'
      access        : 0x000a (PRIVATE STATIC)
      code          -
      registers     : 3
      ins           : 1
      outs          : 2
      insns size    : 79 16-bit code units
02a0f4:                                        |[02a0f4] com.valentinedesigns.chromalink.ReviewProvider.displayName:(Ljava/lang/String;)Ljava/lang/String;
02a104: 0000                                   |0000: nop // spacer
02a106: 1a00 9409                              |0001: const-string v0, "report.txt" // string@0994
02a10a: 6e20 5b06 2000                         |0003: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
02a110: 0a00                                   |0006: move-result v0
02a112: 1a01 4301                              |0007: const-string v1, "Chromalink-Android-0.1.3a" // string@0143
02a116: 3800 1600                              |0009: if-eqz v0, 001f // +0016
02a11a: 2202 4901                              |000b: new-instance v2, Ljava/lang/StringBuilder; // type@0149
02a11e: 7010 6806 0200                         |000d: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0668
02a124: 6e20 6b06 1200                         |0010: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a12a: 0c02                                   |0013: move-result-object v2
02a12c: 1a00 ac00                              |0014: const-string v0, "-Review.txt" // string@00ac
02a130: 6e20 6b06 0200                         |0016: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a136: 0c02                                   |0019: move-result-object v2
02a138: 6e10 6c06 0200                         |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@066c
02a13e: 0c02                                   |001d: move-result-object v2
02a140: 1102                                   |001e: return-object v2
02a142: 1a00 b109                              |001f: const-string v0, "review.zip" // string@09b1
02a146: 6e20 5b06 2000                         |0021: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
02a14c: 0a02                                   |0024: move-result v2
02a14e: 3802 1600                              |0025: if-eqz v2, 003b // +0016
02a152: 2202 4901                              |0027: new-instance v2, Ljava/lang/StringBuilder; // type@0149
02a156: 7010 6806 0200                         |0029: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0668
02a15c: 6e20 6b06 1200                         |002c: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a162: 0c02                                   |002f: move-result-object v2
02a164: 1a00 ad00                              |0030: const-string v0, "-Review.zip" // string@00ad
02a168: 6e20 6b06 0200                         |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a16e: 0c02                                   |0035: move-result-object v2
02a170: 6e10 6c06 0200                         |0036: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@066c
02a176: 0c02                                   |0039: move-result-object v2
02a178: 1102                                   |003a: return-object v2
02a17a: 2202 4901                              |003b: new-instance v2, Ljava/lang/StringBuilder; // type@0149
02a17e: 7010 6806 0200                         |003d: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0668
02a184: 6e20 6b06 1200                         |0040: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a18a: 0c02                                   |0043: move-result-object v2
02a18c: 1a00 b200                              |0044: const-string v0, ".apk" // string@00b2
02a190: 6e20 6b06 0200                         |0046: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
02a196: 0c02                                   |0049: move-result-object v2
02a198: 6e10 6c06 0200                         |004a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@066c
02a19e: 0c02                                   |004d: move-result-object v2
02a1a0: 1102                                   |004e: return-object v2
      catches       : (none)
      positions     :
        0x0000 line=80
        0x0001 line=81
        0x001f line=82
        0x003b line=83
      locals        :
        0x0000 - 0x004f reg=2 (null) Ljava/lang/String;

    #4              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'item'
      type          : '(Landroid/net/Uri;)Ljava/lang/String;'
      access        : 0x0002 (PRIVATE)
      code          -
      registers     : 6
      ins           : 2
      outs          : 3
      insns size    : 42 16-bit code units
02a1c8:                                        |[02a1c8] com.valentinedesigns.chromalink.ReviewProvider.item:(Landroid/net/Uri;)Ljava/lang/String;
02a1d8: 1a00 b109                              |0000: const-string v0, "review.zip" // string@09b1
02a1dc: 1a01 cc05                              |0002: const-string v1, "app.apk" // string@05cc
02a1e0: 1a02 9409                              |0004: const-string v2, "report.txt" // string@0994
02a1e4: 2430 8001 0201                         |0006: filled-new-array {v2, v0, v1}, [Ljava/lang/String; // type@0180
02a1ea: 0c00                                   |0009: move-result-object v0
02a1ec: 1201                                   |000a: const/4 v1, #int 0 // #0
02a1ee: 1232                                   |000b: const/4 v2, #int 3 // #3
02a1f0: 3521 1600                              |000c: if-ge v1, v2, 0022 // +0016
02a1f4: 4602 0001                              |000e: aget-object v2, v0, v1
02a1f8: 6e10 ce05 0400                         |0010: invoke-virtual {v4}, Lcom/valentinedesigns/chromalink/ReviewProvider;.getContext:()Landroid/content/Context; // method@05ce
02a1fe: 0c03                                   |0013: move-result-object v3
02a200: 7120 d905 2300                         |0014: invoke-static {v3, v2}, Lcom/valentinedesigns/chromalink/ReviewProvider;.uri:(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri; // method@05d9
02a206: 0c03                                   |0017: move-result-object v3
02a208: 6e20 c500 5300                         |0018: invoke-virtual {v3, v5}, Landroid/net/Uri;.equals:(Ljava/lang/Object;)Z // method@00c5
02a20e: 0a03                                   |001b: move-result v3
02a210: 3803 0300                              |001c: if-eqz v3, 001f // +0003
02a214: 1102                                   |001e: return-object v2
02a216: d801 0101                              |001f: add-int/lit8 v1, v1, #int 1 // #01
02a21a: 28ea                                   |0021: goto 000b // -0016
02a21c: 2205 3d01                              |0022: new-instance v5, Ljava/lang/IllegalArgumentException; // type@013d
02a220: 1a00 e904                              |0024: const-string v0, "Unknown public review URI" // string@04e9
02a224: 7020 2e06 0500                         |0026: invoke-direct {v5, v0}, Ljava/lang/IllegalArgumentException;.<init>:(Ljava/lang/String;)V // method@062e
02a22a: 2705                                   |0029: throw v5
      catches       : (none)
      positions     :
        0x0000 line=69
        0x0010 line=70
        0x001f line=69
        0x0022 line=72
      locals        :
        0x0000 - 0x002a reg=4 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x002a reg=5 (null) Landroid/net/Uri;

    #5              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'mime'
      type          : '(Ljava/lang/String;)Ljava/lang/String;'
      access        : 0x000a (PRIVATE STATIC)
      code          -
      registers     : 2
      ins           : 1
      outs          : 2
      insns size    : 41 16-bit code units
02a22c:                                        |[02a22c] com.valentinedesigns.chromalink.ReviewProvider.mime:(Ljava/lang/String;)Ljava/lang/String;
02a23c: 1a00 9409                              |0000: const-string v0, "report.txt" // string@0994
02a240: 6e20 5b06 1000                         |0002: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
02a246: 0a00                                   |0005: move-result v0
02a248: 3800 0500                              |0006: if-eqz v0, 000b // +0005
02a24c: 1a01 d50a                              |0008: const-string v1, "text/plain" // string@0ad5
02a250: 1101                                   |000a: return-object v1
02a252: 1a00 b109                              |000b: const-string v0, "review.zip" // string@09b1
02a256: 6e20 5b06 1000                         |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
02a25c: 0a00                                   |0010: move-result v0
02a25e: 3800 0500                              |0011: if-eqz v0, 0016 // +0005
02a262: 1a01 d105                              |0013: const-string v1, "application/zip" // string@05d1
02a266: 1101                                   |0015: return-object v1
02a268: 1a00 cc05                              |0016: const-string v0, "app.apk" // string@05cc
02a26c: 6e20 5b06 1000                         |0018: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
02a272: 0a01                                   |001b: move-result v1
02a274: 3801 0500                              |001c: if-eqz v1, 0021 // +0005
02a278: 1a01 d005                              |001e: const-string v1, "application/vnd.android.package-archive" // string@05d0
02a27c: 1101                                   |0020: return-object v1
02a27e: 2201 3d01                              |0021: new-instance v1, Ljava/lang/IllegalArgumentException; // type@013d
02a282: 1a00 ea04                              |0023: const-string v0, "Unknown public review file" // string@04ea
02a286: 7020 2e06 0100                         |0025: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.<init>:(Ljava/lang/String;)V // method@062e
02a28c: 2701                                   |0028: throw v1
      catches       : (none)
      positions     :
        0x0000 line=61
        0x000b line=62
        0x0016 line=63
        0x0021 line=64
      locals        :
        0x0000 - 0x0029 reg=1 (null) Ljava/lang/String;

    #6              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'readOnly'
      type          : '()Ljava/lang/UnsupportedOperationException;'
      access        : 0x0002 (PRIVATE)
      code          -
      registers     : 3
      ins           : 1
      outs          : 2
      insns size    : 8 16-bit code units
02a290:                                        |[02a290] com.valentinedesigns.chromalink.ReviewProvider.readOnly:()Ljava/lang/UnsupportedOperationException;
02a2a0: 2200 4d01                              |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@014d
02a2a4: 1a01 3804                              |0002: const-string v1, "Public review files are read-only" // string@0438
02a2a8: 7020 7206 1000                         |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.<init>:(Ljava/lang/String;)V // method@0672
02a2ae: 1100                                   |0007: return-object v0
      catches       : (none)
      positions     :
        0x0000 line=152
      locals        :
        0x0000 - 0x0008 reg=2 this Lcom/valentinedesigns/chromalink/ReviewProvider;

    #7              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'shareIntent'
      type          : '(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;'
      access        : 0x0008 (STATIC)
      code          -
      registers     : 4
      ins           : 2
      outs          : 3
      insns size    : 44 16-bit code units
029c20:                                        |[029c20] com.valentinedesigns.chromalink.ReviewProvider.shareIntent:(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
029c30: 7120 d905 3200                         |0000: invoke-static {v2, v3}, Lcom/valentinedesigns/chromalink/ReviewProvider;.uri:(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri; // method@05d9
029c36: 0c02                                   |0003: move-result-object v2
029c38: 2200 0f00                              |0004: new-instance v0, Landroid/content/Intent; // type@000f
029c3c: 1a01 c105                              |0006: const-string v1, "android.intent.action.SEND" // string@05c1
029c40: 7020 1400 1000                         |0008: invoke-direct {v0, v1}, Landroid/content/Intent;.<init>:(Ljava/lang/String;)V // method@0014
029c46: 7110 d205 0300                         |000b: invoke-static {v3}, Lcom/valentinedesigns/chromalink/ReviewProvider;.mime:(Ljava/lang/String;)Ljava/lang/String; // method@05d2
029c4c: 0c03                                   |000e: move-result-object v3
029c4e: 6e20 1a00 3000                         |000f: invoke-virtual {v0, v3}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@001a
029c54: 1a03 c205                              |0012: const-string v3, "android.intent.extra.STREAM" // string@05c2
029c58: 6e30 1700 3002                         |0014: invoke-virtual {v0, v3, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent; // method@0017
029c5e: 1a03 c305                              |0017: const-string v3, "android.intent.extra.SUBJECT" // string@05c3
029c62: 1a01 3e01                              |0019: const-string v1, "Chromalink 0.1.3a review" // string@013e
029c66: 6e30 1800 3001                         |001b: invoke-virtual {v0, v3, v1}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@0018
029c6c: 1a03 4101                              |001e: const-string v3, "Chromalink review" // string@0141
029c70: 7120 0a00 2300                         |0020: invoke-static {v3, v2}, Landroid/content/ClipData;.newRawUri:(Ljava/lang/CharSequence;Landroid/net/Uri;)Landroid/content/ClipData; // method@000a
029c76: 0c02                                   |0023: move-result-object v2
029c78: 6e20 1900 2000                         |0024: invoke-virtual {v0, v2}, Landroid/content/Intent;.setClipData:(Landroid/content/ClipData;)V // method@0019
029c7e: 1212                                   |0027: const/4 v2, #int 1 // #1
029c80: 6e20 1500 2000                         |0028: invoke-virtual {v0, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0015
029c86: 1100                                   |002b: return-object v0
      catches       : (none)
      positions     :
        0x0000 line=44
        0x0004 line=45
        0x000b line=46
        0x0012 line=47
        0x0017 line=48
        0x001e line=49
        0x0027 line=50
        0x002b line=51
      locals        :
        0x0000 - 0x002c reg=2 (null) Landroid/content/Context;
        0x0000 - 0x002c reg=3 (null) Ljava/lang/String;

    #8              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'uri'
      type          : '(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;'
      access        : 0x0008 (STATIC)
      code          -
      registers     : 4
      ins           : 2
      outs          : 2
      insns size    : 50 16-bit code units
029d94:                                        |[029d94] com.valentinedesigns.chromalink.ReviewProvider.uri:(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;
029da4: 7110 d205 0300                         |0000: invoke-static {v3}, Lcom/valentinedesigns/chromalink/ReviewProvider;.mime:(Ljava/lang/String;)Ljava/lang/String; // method@05d2
029daa: 2200 4700                              |0003: new-instance v0, Landroid/net/Uri$Builder; // type@0047
029dae: 7010 c000 0000                         |0005: invoke-direct {v0}, Landroid/net/Uri$Builder;.<init>:()V // method@00c0
029db4: 1a01 7706                              |0008: const-string v1, "content" // string@0677
029db8: 6e20 c400 1000                         |000a: invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder; // method@00c4
029dbe: 0c00                                   |000d: move-result-object v0
029dc0: 6e10 1100 0200                         |000e: invoke-virtual {v2}, Landroid/content/Context;.getPackageName:()Ljava/lang/String; // method@0011
029dc6: 0c02                                   |0011: move-result-object v2
029dc8: 2201 4901                              |0012: new-instance v1, Ljava/lang/StringBuilder; // type@0149
029dcc: 7010 6806 0100                         |0014: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0668
029dd2: 6e20 6b06 2100                         |0017: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
029dd8: 0c02                                   |001a: move-result-object v2
029dda: 1a01 b500                              |001b: const-string v1, ".review" // string@00b5
029dde: 6e20 6b06 1200                         |001d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@066b
029de4: 0c02                                   |0020: move-result-object v2
029de6: 6e10 6c06 0200                         |0021: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@066c
029dec: 0c02                                   |0024: move-result-object v2
029dee: 6e20 c200 2000                         |0025: invoke-virtual {v0, v2}, Landroid/net/Uri$Builder;.authority:(Ljava/lang/String;)Landroid/net/Uri$Builder; // method@00c2
029df4: 0c02                                   |0028: move-result-object v2
029df6: 6e20 c100 3200                         |0029: invoke-virtual {v2, v3}, Landroid/net/Uri$Builder;.appendPath:(Ljava/lang/String;)Landroid/net/Uri$Builder; // method@00c1
029dfc: 0c02                                   |002c: move-result-object v2
029dfe: 6e10 c300 0200                         |002d: invoke-virtual {v2}, Landroid/net/Uri$Builder;.build:()Landroid/net/Uri; // method@00c3
029e04: 0c02                                   |0030: move-result-object v2
029e06: 1102                                   |0031: return-object v2
      catches       : (none)
      positions     :
        0x0000 line=55
        0x0003 line=56
        0x000e line=57
        0x0031 line=56
      locals        :
        0x0000 - 0x0032 reg=2 (null) Landroid/content/Context;
        0x0000 - 0x0032 reg=3 (null) Ljava/lang/String;

  Virtual methods   -
    #0              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'delete'
      type          : '(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 4
      ins           : 4
      outs          : 1
      insns size    : 5 16-bit code units
029ec4:                                        |[029ec4] com.valentinedesigns.chromalink.ReviewProvider.delete:(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
029ed4: 7010 d605 0000                         |0000: invoke-direct {v0}, Lcom/valentinedesigns/chromalink/ReviewProvider;.readOnly:()Ljava/lang/UnsupportedOperationException; // method@05d6
029eda: 0c01                                   |0003: move-result-object v1
029edc: 2701                                   |0004: throw v1
      catches       : (none)
      positions     :
        0x0000 line=151
      locals        :
        0x0000 - 0x0005 reg=0 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0005 reg=1 (null) Landroid/net/Uri;
        0x0000 - 0x0005 reg=2 (null) Ljava/lang/String;
        0x0000 - 0x0005 reg=3 (null) [Ljava/lang/String;

    #1              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'getType'
      type          : '(Landroid/net/Uri;)Ljava/lang/String;'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 2
      ins           : 2
      outs          : 2
      insns size    : 9 16-bit code units
02a1a4:                                        |[02a1a4] com.valentinedesigns.chromalink.ReviewProvider.getType:(Landroid/net/Uri;)Ljava/lang/String;
02a1b4: 7020 d105 1000                         |0000: invoke-direct {v0, v1}, Lcom/valentinedesigns/chromalink/ReviewProvider;.item:(Landroid/net/Uri;)Ljava/lang/String; // method@05d1
02a1ba: 0c01                                   |0003: move-result-object v1
02a1bc: 7110 d205 0100                         |0004: invoke-static {v1}, Lcom/valentinedesigns/chromalink/ReviewProvider;.mime:(Ljava/lang/String;)Ljava/lang/String; // method@05d2
02a1c2: 0c01                                   |0007: move-result-object v1
02a1c4: 1101                                   |0008: return-object v1
      catches       : (none)
      positions     :
        0x0000 line=77
      locals        :
        0x0000 - 0x0009 reg=0 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0009 reg=1 (null) Landroid/net/Uri;

    #2              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'insert'
      type          : '(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 3
      ins           : 3
      outs          : 1
      insns size    : 5 16-bit code units
029d78:                                        |[029d78] com.valentinedesigns.chromalink.ReviewProvider.insert:(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
029d88: 7010 d605 0000                         |0000: invoke-direct {v0}, Lcom/valentinedesigns/chromalink/ReviewProvider;.readOnly:()Ljava/lang/UnsupportedOperationException; // method@05d6
029d8e: 0c01                                   |0003: move-result-object v1
029d90: 2701                                   |0004: throw v1
      catches       : (none)
      positions     :
        0x0000 line=149
      locals        :
        0x0000 - 0x0005 reg=0 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0005 reg=1 (null) Landroid/net/Uri;
        0x0000 - 0x0005 reg=2 (null) Landroid/content/ContentValues;

    #3              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'onCreate'
      type          : '()Z'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 2
      ins           : 1
      outs          : 0
      insns size    : 2 16-bit code units
029eb0:                                        |[029eb0] com.valentinedesigns.chromalink.ReviewProvider.onCreate:()Z
029ec0: 1210                                   |0000: const/4 v0, #int 1 // #1
029ec2: 0f00                                   |0001: return v0
      catches       : (none)
      positions     :
        0x0000 line=75
      locals        :
        0x0000 - 0x0002 reg=1 this Lcom/valentinedesigns/chromalink/ReviewProvider;

    #4              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'openFile'
      type          : '(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 4
      ins           : 3
      outs          : 2
      insns size    : 67 16-bit code units
029e08:                                        |[029e08] com.valentinedesigns.chromalink.ReviewProvider.openFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
029e18: 1a00 6409                              |0000: const-string v0, "r" // string@0964
029e1c: 6e20 5b06 3000                         |0002: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
029e22: 0a03                                   |0005: move-result v3
029e24: 3803 3500                              |0006: if-eqz v3, 003b // +0035
029e28: 7020 d105 2100                         |0008: invoke-direct {v1, v2}, Lcom/valentinedesigns/chromalink/ReviewProvider;.item:(Landroid/net/Uri;)Ljava/lang/String; // method@05d1
029e2e: 0c02                                   |000b: move-result-object v2
029e30: 1a03 cc05                              |000c: const-string v3, "app.apk" // string@05cc
029e34: 6e20 5b06 2300                         |000e: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
029e3a: 0a03                                   |0011: move-result v3
029e3c: 3803 1200                              |0012: if-eqz v3, 0024 // +0012
029e40: 2202 3001                              |0014: new-instance v2, Ljava/io/File; // type@0130
029e44: 6e10 ce05 0100                         |0016: invoke-virtual {v1}, Lcom/valentinedesigns/chromalink/ReviewProvider;.getContext:()Landroid/content/Context; // method@05ce
029e4a: 0c03                                   |0019: move-result-object v3
029e4c: 6e10 0e00 0300                         |001a: invoke-virtual {v3}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@000e
029e52: 0c03                                   |001d: move-result-object v3
029e54: 5433 0000                              |001e: iget-object v3, v3, Landroid/content/pm/ApplicationInfo;.sourceDir:Ljava/lang/String; // field@0000
029e58: 7020 1306 3200                         |0020: invoke-direct {v2, v3}, Ljava/io/File;.<init>:(Ljava/lang/String;)V // method@0613
029e5e: 2805                                   |0023: goto 0028 // +0005
029e60: 7020 cb05 2100                         |0024: invoke-direct {v1, v2}, Lcom/valentinedesigns/chromalink/ReviewProvider;.copyPublicAsset:(Ljava/lang/String;)Ljava/io/File; // method@05cb
029e66: 0c02                                   |0027: move-result-object v2
029e68: 1503 0010                              |0028: const/high16 v3, #int 268435456 // #1000
029e6c: 7120 d500 3200                         |002a: invoke-static {v2, v3}, Landroid/os/ParcelFileDescriptor;.open:(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor; // method@00d5
029e72: 0c02                                   |002d: move-result-object v2
029e74: 1102                                   |002e: return-object v2
029e76: 0d02                                   |002f: move-exception v2
029e78: 2203 3201                              |0030: new-instance v3, Ljava/io/FileNotFoundException; // type@0132
029e7c: 1a00 c004                              |0032: const-string v0, "The packaged review file is unavailable" // string@04c0
029e80: 7020 1a06 0300                         |0034: invoke-direct {v3, v0}, Ljava/io/FileNotFoundException;.<init>:(Ljava/lang/String;)V // method@061a
029e86: 6e20 1b06 2300                         |0037: invoke-virtual {v3, v2}, Ljava/io/FileNotFoundException;.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable; // method@061b
029e8c: 2703                                   |003a: throw v3
029e8e: 2202 3201                              |003b: new-instance v2, Ljava/io/FileNotFoundException; // type@0132
029e92: 1a03 5b04                              |003d: const-string v3, "Review files are read-only" // string@045b
029e96: 7020 1a06 3200                         |003f: invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;.<init>:(Ljava/lang/String;)V // method@061a
029e9c: 2702                                   |0042: throw v2
      catches       : 1
        0x000c - 0x002e
          Ljava/io/IOException; -> 0x002f
      positions     :
        0x0000 line=109
        0x0008 line=110
        0x000c line=112
        0x0024 line=113
        0x0028 line=114
        0x002f line=115
        0x0030 line=116
        0x0037 line=117
        0x003a line=118
        0x003b line=109
      locals        :
        0x0000 - 0x0043 reg=1 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0043 reg=2 (null) Landroid/net/Uri;
        0x0000 - 0x0043 reg=3 (null) Ljava/lang/String;

    #5              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'query'
      type          : '(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 10
      ins           : 6
      outs          : 3
      insns size    : 112 16-bit code units
029c88:                                        |[029c88] com.valentinedesigns.chromalink.ReviewProvider.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
029c98: 7020 d105 5400                         |0000: invoke-direct {v4, v5}, Lcom/valentinedesigns/chromalink/ReviewProvider;.item:(Landroid/net/Uri;)Ljava/lang/String; // method@05d1
029c9e: 0c05                                   |0003: move-result-object v5
029ca0: 3907 6400                              |0004: if-nez v7, 0068 // +0064
029ca4: 3908 6200                              |0006: if-nez v8, 0068 // +0062
029ca8: 3909 6000                              |0008: if-nez v9, 0068 // +0060
029cac: 1a07 9d05                              |000a: const-string v7, "_size" // string@059d
029cb0: 1a08 9c05                              |000c: const-string v8, "_display_name" // string@059c
029cb4: 1209                                   |000e: const/4 v9, #int 0 // #0
029cb6: 1210                                   |000f: const/4 v0, #int 1 // #1
029cb8: 3906 0a00                              |0010: if-nez v6, 001a // +000a
029cbc: 1226                                   |0012: const/4 v6, #int 2 // #2
029cbe: 2366 8001                              |0013: new-array v6, v6, [Ljava/lang/String; // type@0180
029cc2: 4d08 0609                              |0015: aput-object v8, v6, v9
029cc6: 4d07 0600                              |0017: aput-object v7, v6, v0
029cca: 2802                                   |0019: goto 001b // +0002
029ccc: 0000                                   |001a: nop // spacer
029cce: 2201 1a00                              |001b: new-instance v1, Landroid/database/MatrixCursor; // type@001a
029cd2: 7030 2e00 6100                         |001d: invoke-direct {v1, v6, v0}, Landroid/database/MatrixCursor;.<init>:([Ljava/lang/String;I)V // method@002e
029cd8: 2160                                   |0020: array-length v0, v6
029cda: 2300 7f01                              |0021: new-array v0, v0, [Ljava/lang/Object; // type@017f
029cde: 0000                                   |0023: nop // spacer
029ce0: 2162                                   |0024: array-length v2, v6
029ce2: 3529 3f00                              |0025: if-ge v9, v2, 0064 // +003f
029ce6: 4602 0609                              |0027: aget-object v2, v6, v9
029cea: 6e20 5b06 2800                         |0029: invoke-virtual {v8, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
029cf0: 0a02                                   |002c: move-result v2
029cf2: 3802 0900                              |002d: if-eqz v2, 0036 // +0009
029cf6: 7110 cd05 0500                         |002f: invoke-static {v5}, Lcom/valentinedesigns/chromalink/ReviewProvider;.displayName:(Ljava/lang/String;)Ljava/lang/String; // method@05cd
029cfc: 0c02                                   |0032: move-result-object v2
029cfe: 4d02 0009                              |0033: aput-object v2, v0, v9
029d02: 282c                                   |0035: goto 0061 // +002c
029d04: 4602 0609                              |0036: aget-object v2, v6, v9
029d08: 6e20 5b06 2700                         |0038: invoke-virtual {v7, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
029d0e: 0a02                                   |003b: move-result v2
029d10: 3802 2500                              |003c: if-eqz v2, 0061 // +0025
029d14: 1a02 cc05                              |003e: const-string v2, "app.apk" // string@05cc
029d18: 6e20 5b06 5200                         |0040: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@065b
029d1e: 0a02                                   |0043: move-result v2
029d20: 3802 1a00                              |0044: if-eqz v2, 005e // +001a
029d24: 2202 3001                              |0046: new-instance v2, Ljava/io/File; // type@0130
029d28: 6e10 ce05 0400                         |0048: invoke-virtual {v4}, Lcom/valentinedesigns/chromalink/ReviewProvider;.getContext:()Landroid/content/Context; // method@05ce
029d2e: 0c03                                   |004b: move-result-object v3
029d30: 6e10 0e00 0300                         |004c: invoke-virtual {v3}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@000e
029d36: 0c03                                   |004f: move-result-object v3
029d38: 5433 0000                              |0050: iget-object v3, v3, Landroid/content/pm/ApplicationInfo;.sourceDir:Ljava/lang/String; // field@0000
029d3c: 7020 1306 3200                         |0052: invoke-direct {v2, v3}, Ljava/io/File;.<init>:(Ljava/lang/String;)V // method@0613
029d42: 6e10 1706 0200                         |0055: invoke-virtual {v2}, Ljava/io/File;.length:()J // method@0617
029d48: 0b02                                   |0058: move-result-wide v2
029d4a: 7120 3806 3200                         |0059: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0638
029d50: 0c02                                   |005c: move-result-object v2
029d52: 2802                                   |005d: goto 005f // +0002
029d54: 1202                                   |005e: const/4 v2, #int 0 // #0
029d56: 4d02 0009                              |005f: aput-object v2, v0, v9
029d5a: d809 0901                              |0061: add-int/lit8 v9, v9, #int 1 // #01
029d5e: 28c1                                   |0063: goto 0024 // -003f
029d60: 6e20 2f00 0100                         |0064: invoke-virtual {v1, v0}, Landroid/database/MatrixCursor;.addRow:([Ljava/lang/Object;)V // method@002f
029d66: 1101                                   |0067: return-object v1
029d68: 2205 3d01                              |0068: new-instance v5, Ljava/lang/IllegalArgumentException; // type@013d
029d6c: 1a06 5c04                              |006a: const-string v6, "Review files do not support query expressions" // string@045c
029d70: 7020 2e06 6500                         |006c: invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;.<init>:(Ljava/lang/String;)V // method@062e
029d76: 2705                                   |006f: throw v5
      catches       : (none)
      positions     :
        0x0000 line=88
        0x0004 line=89
        0x000a line=92
        0x0012 line=93
        0x001b line=94
        0x0020 line=95
        0x0023 line=96
        0x0027 line=97
        0x0036 line=98
        0x003e line=101
        0x0061 line=96
        0x0064 line=104
        0x0067 line=105
        0x0068 line=90
      locals        :
        0x0000 - 0x0070 reg=4 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0070 reg=5 (null) Landroid/net/Uri;
        0x0000 - 0x0070 reg=6 (null) [Ljava/lang/String;
        0x0000 - 0x0070 reg=7 (null) Ljava/lang/String;
        0x0000 - 0x0070 reg=8 (null) [Ljava/lang/String;
        0x0000 - 0x0070 reg=9 (null) Ljava/lang/String;

    #6              : (in Lcom/valentinedesigns/chromalink/ReviewProvider;)
      name          : 'update'
      type          : '(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I'
      access        : 0x0001 (PUBLIC)
      code          -
      registers     : 5
      ins           : 5
      outs          : 1
      insns size    : 5 16-bit code units
029ee0:                                        |[029ee0] com.valentinedesigns.chromalink.ReviewProvider.update:(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
029ef0: 7010 d605 0000                         |0000: invoke-direct {v0}, Lcom/valentinedesigns/chromalink/ReviewProvider;.readOnly:()Ljava/lang/UnsupportedOperationException; // method@05d6
029ef6: 0c01                                   |0003: move-result-object v1
029ef8: 2701                                   |0004: throw v1
      catches       : (none)
      positions     :
        0x0000 line=150
      locals        :
        0x0000 - 0x0005 reg=0 this Lcom/valentinedesigns/chromalink/ReviewProvider;
        0x0000 - 0x0005 reg=1 (null) Landroid/net/Uri;
        0x0000 - 0x0005 reg=2 (null) Landroid/content/ContentValues;
        0x0000 - 0x0005 reg=3 (null) Ljava/lang/String;
        0x0000 - 0x0005 reg=4 (null) [Ljava/lang/String;

  source_file_idx   : 1117 (ReviewProvider.java)

