package com.metaio.sdk;

import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnInfoListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Environment;
import android.text.TextPaint;
import android.util.Log;
import android.view.KeyEvent;
import android.webkit.ConsoleMessage;
import android.webkit.GeolocationPermissions.Callback;
import android.webkit.JavascriptInterface;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.URLUtil;
import android.webkit.WebChromeClient;
import android.webkit.WebStorage.QuotaUpdater;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.metaio.cloud.plugin.MetaioCloudPlugin;
import com.metaio.sdk.jni.ARELInterpreterAndroid;
import com.metaio.sdk.jni.EAREL_MEDIA_EVENT;
import com.metaio.sdk.jni.EGEOMETRY_FOCUS_STATE;
import com.metaio.sdk.jni.EPOI_PREDOMINANT_COLOR;
import com.metaio.sdk.jni.IARELInterpreterCallback;
import com.metaio.sdk.jni.IARELObject;
import com.metaio.sdk.jni.IGeometry;
import com.metaio.sdk.jni.IMetaioSDK;
import com.metaio.sdk.jni.IMetaioWorldPOIManager;
import com.metaio.sdk.jni.ImageStruct;
import com.metaio.sdk.jni.PathOrURL;
import com.metaio.sdk.jni.Vector2di;
import com.metaio.tools.io.AssetsManager;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

@TargetApi(9)
public class ARELInterpreterAndroidJava extends ARELInterpreterAndroid
  implements MediaPlayer.OnCompletionListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnInfoListener
{
  public boolean arelEnabled;
  protected Activity mActivity = null;
  private Bitmap mAnnotationBackground = null;
  private int mAnnotationBackgroundIndex = -1;
  private Bitmap mEmptyStarImage = null;
  private Bitmap mFullStarImage = null;
  private String mFullscreenVideoOpened = "";
  private Lock mLockMediaPlayer = new ReentrantLock();
  private MediaPlayer mMediaPlayer = new MediaPlayer();
  private String mMediaPlayerDataSource = null;
  private boolean mMediaPlayerLoaded = false;
  private MetaioWorldPOIManagerCallback mPOIManagerCallback;
  private TextPaint mPaint = new TextPaint();
  private TextToSpeechHelper mTextToSpeechHelper;
  private String mVideoPath = "";
  protected WebView mWebView = null;
  private String mWebviewOpened = "";

  static
  {
    if (!ARELInterpreterAndroidJava.class.desiredAssertionStatus());
    for (boolean bool = true; ; bool = false)
    {
      $assertionsDisabled = bool;
      return;
    }
  }

  public ARELInterpreterAndroidJava()
  {
    this.mPaint.setFilterBitmap(true);
    this.mPaint.setAntiAlias(true);
    this.mMediaPlayer.setOnCompletionListener(this);
    this.mMediaPlayer.setOnPreparedListener(this);
    this.mMediaPlayer.setOnErrorListener(this);
    this.mMediaPlayer.setOnInfoListener(this);
  }

  private static ImageStruct getAnnotationImageForPOI(IARELObject paramIARELObject, Bitmap paramBitmap1, Bitmap paramBitmap2, Vector2di paramVector2di, Activity paramActivity, TextPaint paramTextPaint, Bitmap[] paramArrayOfBitmap, int[] paramArrayOfInt, String[] paramArrayOfString)
    throws Exception
  {
    return getAnnotationImageForPOI(paramIARELObject.getID(), paramIARELObject.getTitle(), paramIARELObject.getCurrentDistance(), paramIARELObject.getARELParameter("poi-rating"), paramBitmap1, paramBitmap2, paramVector2di, paramActivity, paramTextPaint, paramArrayOfBitmap, paramArrayOfInt, paramArrayOfString);
  }

  // ERROR //
  public static ImageStruct getAnnotationImageForPOI(String paramString1, String paramString2, float paramFloat, String paramString3, Bitmap paramBitmap1, Bitmap paramBitmap2, Vector2di paramVector2di, Activity paramActivity, TextPaint paramTextPaint, Bitmap[] paramArrayOfBitmap, int[] paramArrayOfInt, String[] paramArrayOfString)
    throws Exception
  {
    // Byte code:
    //   0: fload_2
    //   1: fconst_0
    //   2: fcmpl
    //   3: ifle +506 -> 509
    //   6: fload_2
    //   7: fconst_0
    //   8: iconst_0
    //   9: getstatic 161	com/metaio/cloud/plugin/MetaioCloudPlugin$Settings:useImperialUnits	Z
    //   12: invokestatic 167	com/metaio/cloud/plugin/util/MetaioCloudUtils:getRelativeLocationString	(FFZZ)Ljava/lang/String;
    //   15: astore 12
    //   17: aload 7
    //   19: invokevirtual 173	android/app/Activity:getResources	()Landroid/content/res/Resources;
    //   22: invokevirtual 179	android/content/res/Resources:getDisplayMetrics	()Landroid/util/DisplayMetrics;
    //   25: astore 13
    //   27: aload 6
    //   29: invokevirtual 185	com/metaio/sdk/jni/Vector2di:getX	()I
    //   32: i2f
    //   33: aload 13
    //   35: getfield 191	android/util/DisplayMetrics:xdpi	F
    //   38: fdiv
    //   39: aload 6
    //   41: invokevirtual 194	com/metaio/sdk/jni/Vector2di:getY	()I
    //   44: i2f
    //   45: aload 13
    //   47: getfield 197	android/util/DisplayMetrics:ydpi	F
    //   50: fdiv
    //   51: invokestatic 203	java/lang/Math:max	(FF)F
    //   54: ldc 204
    //   56: fcmpl
    //   57: iflt +459 -> 516
    //   60: iconst_1
    //   61: istore 14
    //   63: aload 13
    //   65: getfield 191	android/util/DisplayMetrics:xdpi	F
    //   68: fstore 15
    //   70: invokestatic 209	com/metaio/tools/SystemInfo:isWearableDevice	()Z
    //   73: ifeq +10 -> 83
    //   76: fload 15
    //   78: ldc 210
    //   80: fmul
    //   81: fstore 15
    //   83: bipush 66
    //   85: newarray int
    //   87: dup
    //   88: iconst_0
    //   89: iconst_0
    //   90: iastore
    //   91: dup
    //   92: iconst_1
    //   93: sipush 186
    //   96: iastore
    //   97: dup
    //   98: iconst_2
    //   99: bipush 64
    //   101: iastore
    //   102: dup
    //   103: iconst_3
    //   104: bipush 6
    //   106: iastore
    //   107: dup
    //   108: iconst_4
    //   109: bipush 9
    //   111: iastore
    //   112: dup
    //   113: iconst_5
    //   114: bipush 10
    //   116: iastore
    //   117: dup
    //   118: bipush 6
    //   120: iconst_0
    //   121: iastore
    //   122: dup
    //   123: bipush 7
    //   125: sipush 272
    //   128: iastore
    //   129: dup
    //   130: bipush 8
    //   132: bipush 94
    //   134: iastore
    //   135: dup
    //   136: bipush 9
    //   138: bipush 10
    //   140: iastore
    //   141: dup
    //   142: bipush 10
    //   144: bipush 13
    //   146: iastore
    //   147: dup
    //   148: bipush 11
    //   150: bipush 15
    //   152: iastore
    //   153: dup
    //   154: bipush 12
    //   156: iconst_0
    //   157: iastore
    //   158: dup
    //   159: bipush 13
    //   161: sipush 382
    //   164: iastore
    //   165: dup
    //   166: bipush 14
    //   168: sipush 132
    //   171: iastore
    //   172: dup
    //   173: bipush 15
    //   175: bipush 15
    //   177: iastore
    //   178: dup
    //   179: bipush 16
    //   181: bipush 21
    //   183: iastore
    //   184: dup
    //   185: bipush 17
    //   187: bipush 21
    //   189: iastore
    //   190: dup
    //   191: bipush 18
    //   193: iconst_0
    //   194: iastore
    //   195: dup
    //   196: bipush 19
    //   198: sipush 508
    //   201: iastore
    //   202: dup
    //   203: bipush 20
    //   205: sipush 176
    //   208: iastore
    //   209: dup
    //   210: bipush 21
    //   212: bipush 20
    //   214: iastore
    //   215: dup
    //   216: bipush 22
    //   218: bipush 28
    //   220: iastore
    //   221: dup
    //   222: bipush 23
    //   224: bipush 28
    //   226: iastore
    //   227: dup
    //   228: bipush 24
    //   230: iconst_0
    //   231: iastore
    //   232: dup
    //   233: bipush 25
    //   235: sipush 612
    //   238: iastore
    //   239: dup
    //   240: bipush 26
    //   242: sipush 212
    //   245: iastore
    //   246: dup
    //   247: bipush 27
    //   249: bipush 24
    //   251: iastore
    //   252: dup
    //   253: bipush 28
    //   255: bipush 33
    //   257: iastore
    //   258: dup
    //   259: bipush 29
    //   261: bipush 34
    //   263: iastore
    //   264: dup
    //   265: bipush 30
    //   267: iconst_0
    //   268: iastore
    //   269: dup
    //   270: bipush 31
    //   272: sipush 712
    //   275: iastore
    //   276: dup
    //   277: bipush 32
    //   279: sipush 246
    //   282: iastore
    //   283: dup
    //   284: bipush 33
    //   286: bipush 28
    //   288: iastore
    //   289: dup
    //   290: bipush 34
    //   292: bipush 39
    //   294: iastore
    //   295: dup
    //   296: bipush 35
    //   298: bipush 39
    //   300: iastore
    //   301: dup
    //   302: bipush 36
    //   304: iconst_1
    //   305: iastore
    //   306: dup
    //   307: bipush 37
    //   309: sipush 276
    //   312: iastore
    //   313: dup
    //   314: bipush 38
    //   316: bipush 82
    //   318: iastore
    //   319: dup
    //   320: bipush 39
    //   322: bipush 10
    //   324: iastore
    //   325: dup
    //   326: bipush 40
    //   328: bipush 13
    //   330: iastore
    //   331: dup
    //   332: bipush 41
    //   334: bipush 14
    //   336: iastore
    //   337: dup
    //   338: bipush 42
    //   340: iconst_1
    //   341: iastore
    //   342: dup
    //   343: bipush 43
    //   345: sipush 384
    //   348: iastore
    //   349: dup
    //   350: bipush 44
    //   352: bipush 114
    //   354: iastore
    //   355: dup
    //   356: bipush 45
    //   358: bipush 13
    //   360: iastore
    //   361: dup
    //   362: bipush 46
    //   364: bipush 18
    //   366: iastore
    //   367: dup
    //   368: bipush 47
    //   370: bipush 19
    //   372: iastore
    //   373: dup
    //   374: bipush 48
    //   376: iconst_1
    //   377: iastore
    //   378: dup
    //   379: bipush 49
    //   381: sipush 512
    //   384: iastore
    //   385: dup
    //   386: bipush 50
    //   388: sipush 152
    //   391: iastore
    //   392: dup
    //   393: bipush 51
    //   395: bipush 18
    //   397: iastore
    //   398: dup
    //   399: bipush 52
    //   401: bipush 24
    //   403: iastore
    //   404: dup
    //   405: bipush 53
    //   407: bipush 26
    //   409: iastore
    //   410: dup
    //   411: bipush 54
    //   413: iconst_1
    //   414: iastore
    //   415: dup
    //   416: bipush 55
    //   418: sipush 612
    //   421: iastore
    //   422: dup
    //   423: bipush 56
    //   425: sipush 182
    //   428: iastore
    //   429: dup
    //   430: bipush 57
    //   432: bipush 22
    //   434: iastore
    //   435: dup
    //   436: bipush 58
    //   438: bipush 29
    //   440: iastore
    //   441: dup
    //   442: bipush 59
    //   444: bipush 31
    //   446: iastore
    //   447: dup
    //   448: bipush 60
    //   450: iconst_1
    //   451: iastore
    //   452: dup
    //   453: bipush 61
    //   455: sipush 714
    //   458: iastore
    //   459: dup
    //   460: bipush 62
    //   462: sipush 212
    //   465: iastore
    //   466: dup
    //   467: bipush 63
    //   469: bipush 25
    //   471: iastore
    //   472: dup
    //   473: bipush 64
    //   475: bipush 33
    //   477: iastore
    //   478: dup
    //   479: bipush 65
    //   481: bipush 36
    //   483: iastore
    //   484: astore 16
    //   486: getstatic 54	com/metaio/sdk/ARELInterpreterAndroidJava:$assertionsDisabled	Z
    //   489: ifne +33 -> 522
    //   492: aload 16
    //   494: arraylength
    //   495: bipush 6
    //   497: irem
    //   498: ifeq +24 -> 522
    //   501: new 212	java/lang/AssertionError
    //   504: dup
    //   505: invokespecial 213	java/lang/AssertionError:<init>	()V
    //   508: athrow
    //   509: ldc 215
    //   511: astore 12
    //   513: goto -496 -> 17
    //   516: iconst_0
    //   517: istore 14
    //   519: goto -456 -> 63
    //   522: iconst_3
    //   523: aload 6
    //   525: invokevirtual 185	com/metaio/sdk/jni/Vector2di:getX	()I
    //   528: imul
    //   529: iconst_4
    //   530: idiv
    //   531: istore 17
    //   533: iload 14
    //   535: ifeq +67 -> 602
    //   538: ldc 216
    //   540: fstore 18
    //   542: iload 17
    //   544: fload 15
    //   546: fload 18
    //   548: fmul
    //   549: ldc 217
    //   551: fdiv
    //   552: f2i
    //   553: invokestatic 221	java/lang/Math:min	(II)I
    //   556: istore 19
    //   558: iconst_0
    //   559: istore 20
    //   561: iconst_m1
    //   562: istore 21
    //   564: iload 20
    //   566: aload 16
    //   568: arraylength
    //   569: bipush 6
    //   571: idiv
    //   572: if_icmpge +78 -> 650
    //   575: aload 16
    //   577: iload 20
    //   579: bipush 6
    //   581: imul
    //   582: iaload
    //   583: ifne +26 -> 609
    //   586: iconst_0
    //   587: istore 101
    //   589: iload 101
    //   591: iload 14
    //   593: if_icmpeq +22 -> 615
    //   596: iinc 20 1
    //   599: goto -35 -> 564
    //   602: ldc 222
    //   604: fstore 18
    //   606: goto -64 -> 542
    //   609: iconst_1
    //   610: istore 101
    //   612: goto -23 -> 589
    //   615: iload 21
    //   617: iconst_m1
    //   618: if_icmpne +10 -> 628
    //   621: iload 20
    //   623: istore 21
    //   625: goto -29 -> 596
    //   628: aload 16
    //   630: iconst_1
    //   631: iload 20
    //   633: bipush 6
    //   635: imul
    //   636: iadd
    //   637: iaload
    //   638: iload 19
    //   640: if_icmpgt +10 -> 650
    //   643: iload 20
    //   645: istore 21
    //   647: goto -51 -> 596
    //   650: aload 11
    //   652: iconst_0
    //   653: new 224	java/lang/StringBuilder
    //   656: dup
    //   657: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   660: aload_0
    //   661: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   664: ldc 231
    //   666: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   669: iload 21
    //   671: invokevirtual 234	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   674: ldc 231
    //   676: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   679: aload 12
    //   681: invokevirtual 239	java/lang/String:hashCode	()I
    //   684: invokevirtual 234	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   687: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   690: aastore
    //   691: aload 16
    //   693: iconst_1
    //   694: iload 21
    //   696: bipush 6
    //   698: imul
    //   699: iadd
    //   700: iaload
    //   701: istore 22
    //   703: aload 16
    //   705: iconst_2
    //   706: iload 21
    //   708: bipush 6
    //   710: imul
    //   711: iadd
    //   712: iaload
    //   713: istore 23
    //   715: aload 16
    //   717: iconst_5
    //   718: iload 21
    //   720: bipush 6
    //   722: imul
    //   723: iadd
    //   724: iaload
    //   725: istore 24
    //   727: ldc 222
    //   729: iload 23
    //   731: i2f
    //   732: ldc 243
    //   734: fdiv
    //   735: fmul
    //   736: fstore 25
    //   738: aload 16
    //   740: iconst_3
    //   741: iload 21
    //   743: bipush 6
    //   745: imul
    //   746: iadd
    //   747: iaload
    //   748: istore 26
    //   750: aload 16
    //   752: iconst_4
    //   753: iload 21
    //   755: bipush 6
    //   757: imul
    //   758: iadd
    //   759: iaload
    //   760: istore 27
    //   762: iload 26
    //   764: i2d
    //   765: ldc2_w 244
    //   768: fload 25
    //   770: f2d
    //   771: dmul
    //   772: invokestatic 249	java/lang/Math:floor	(D)D
    //   775: dadd
    //   776: d2i
    //   777: istore 28
    //   779: aload 9
    //   781: iconst_0
    //   782: aaload
    //   783: ifnull +12 -> 795
    //   786: aload 10
    //   788: iconst_0
    //   789: iaload
    //   790: iload 21
    //   792: if_icmpeq +200 -> 992
    //   795: new 224	java/lang/StringBuilder
    //   798: dup
    //   799: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   802: ldc 251
    //   804: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   807: astore 29
    //   809: iload 14
    //   811: ifeq +102 -> 913
    //   814: ldc 253
    //   816: astore 30
    //   818: aload 29
    //   820: aload 30
    //   822: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   825: ldc 231
    //   827: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   830: iload 22
    //   832: invokevirtual 234	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   835: ldc 255
    //   837: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   840: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   843: astore 31
    //   845: aload 7
    //   847: new 224	java/lang/StringBuilder
    //   850: dup
    //   851: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   854: ldc_w 257
    //   857: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   860: aload 31
    //   862: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   865: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   868: invokestatic 263	com/metaio/tools/io/AssetsManager:getAssetPath	(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
    //   871: astore 32
    //   873: aload 32
    //   875: ifnonnull +46 -> 921
    //   878: new 132	java/lang/Exception
    //   881: dup
    //   882: new 224	java/lang/StringBuilder
    //   885: dup
    //   886: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   889: ldc_w 265
    //   892: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   895: aload 31
    //   897: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   900: ldc_w 267
    //   903: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   906: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   909: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   912: athrow
    //   913: ldc_w 272
    //   916: astore 30
    //   918: goto -100 -> 818
    //   921: aload 9
    //   923: iconst_0
    //   924: aaload
    //   925: ifnull +10 -> 935
    //   928: aload 9
    //   930: iconst_0
    //   931: aaload
    //   932: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   935: aload 9
    //   937: iconst_0
    //   938: aload 32
    //   940: invokestatic 283	android/graphics/BitmapFactory:decodeFile	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   943: aastore
    //   944: aload 9
    //   946: iconst_0
    //   947: aaload
    //   948: ifnonnull +38 -> 986
    //   951: new 132	java/lang/Exception
    //   954: dup
    //   955: new 224	java/lang/StringBuilder
    //   958: dup
    //   959: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   962: ldc_w 285
    //   965: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   968: aload 31
    //   970: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   973: ldc_w 267
    //   976: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   979: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   982: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   985: athrow
    //   986: aload 10
    //   988: iconst_0
    //   989: iload 21
    //   991: iastore
    //   992: aload 9
    //   994: iconst_0
    //   995: aaload
    //   996: getstatic 291	android/graphics/Bitmap$Config:ARGB_8888	Landroid/graphics/Bitmap$Config;
    //   999: iconst_1
    //   1000: invokevirtual 295	android/graphics/Bitmap:copy	(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
    //   1003: astore 33
    //   1005: new 297	android/graphics/Canvas
    //   1008: dup
    //   1009: aload 33
    //   1011: invokespecial 300	android/graphics/Canvas:<init>	(Landroid/graphics/Bitmap;)V
    //   1014: astore 34
    //   1016: aload 33
    //   1018: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1021: iload 27
    //   1023: isub
    //   1024: istore 38
    //   1026: aload 33
    //   1028: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1031: iload 26
    //   1033: isub
    //   1034: iload 27
    //   1036: isub
    //   1037: i2f
    //   1038: fstore 39
    //   1040: aload 4
    //   1042: ifnull +1507 -> 2549
    //   1045: aload 4
    //   1047: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1050: istore 40
    //   1052: aload 4
    //   1054: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1057: istore 41
    //   1059: iload 40
    //   1061: iload 41
    //   1063: if_icmple +309 -> 1372
    //   1066: fload 39
    //   1068: f2i
    //   1069: istore 99
    //   1071: fload 39
    //   1073: iload 41
    //   1075: i2f
    //   1076: fmul
    //   1077: iload 40
    //   1079: i2f
    //   1080: fdiv
    //   1081: f2i
    //   1082: istore 100
    //   1084: iload 99
    //   1086: istore 44
    //   1088: iload 100
    //   1090: istore 45
    //   1092: iload 38
    //   1094: i2f
    //   1095: ldc_w 307
    //   1098: fload 25
    //   1100: fmul
    //   1101: iload 44
    //   1103: i2f
    //   1104: fadd
    //   1105: fsub
    //   1106: f2i
    //   1107: istore 46
    //   1109: iload 38
    //   1111: i2f
    //   1112: fconst_2
    //   1113: fload 25
    //   1115: fmul
    //   1116: iload 44
    //   1118: i2f
    //   1119: fadd
    //   1120: fsub
    //   1121: f2i
    //   1122: istore 47
    //   1124: aload 34
    //   1126: aload 4
    //   1128: aconst_null
    //   1129: aload 33
    //   1131: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1134: iload 27
    //   1136: isub
    //   1137: iload 44
    //   1139: isub
    //   1140: iload 26
    //   1142: aload 33
    //   1144: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1147: iload 27
    //   1149: isub
    //   1150: iadd
    //   1151: i2f
    //   1152: fconst_2
    //   1153: fdiv
    //   1154: iload 45
    //   1156: i2f
    //   1157: fconst_2
    //   1158: fdiv
    //   1159: fsub
    //   1160: f2i
    //   1161: iload 44
    //   1163: iload 45
    //   1165: invokestatic 311	com/metaio/sdk/ARELInterpreterAndroidJava:makeRectWH	(IIII)Landroid/graphics/Rect;
    //   1168: aload 8
    //   1170: invokevirtual 315	android/graphics/Canvas:drawBitmap	(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    //   1173: iload 47
    //   1175: istore 48
    //   1177: iload 46
    //   1179: istore 49
    //   1181: ldc_w 316
    //   1184: fstore 50
    //   1186: aload_3
    //   1187: ifnull +13 -> 1200
    //   1190: aload_3
    //   1191: invokestatic 322	java/lang/Float:parseFloat	(Ljava/lang/String;)F
    //   1194: fstore 96
    //   1196: fload 96
    //   1198: fstore 50
    //   1200: fload 50
    //   1202: ldc_w 316
    //   1205: fcmpl
    //   1206: ifeq +1334 -> 2540
    //   1209: iconst_0
    //   1210: iconst_5
    //   1211: fload 50
    //   1213: invokestatic 326	java/lang/Math:round	(F)I
    //   1216: invokestatic 221	java/lang/Math:min	(II)I
    //   1219: invokestatic 328	java/lang/Math:max	(II)I
    //   1222: istore 81
    //   1224: aconst_null
    //   1225: astore 82
    //   1227: iload 81
    //   1229: iconst_5
    //   1230: if_icmpge +281 -> 1511
    //   1233: aload 9
    //   1235: iconst_1
    //   1236: aaload
    //   1237: ifnonnull +257 -> 1494
    //   1240: new 224	java/lang/StringBuilder
    //   1243: dup
    //   1244: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1247: ldc_w 330
    //   1250: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1253: iload 24
    //   1255: invokevirtual 234	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   1258: ldc 255
    //   1260: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1263: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1266: astore 93
    //   1268: aload 7
    //   1270: new 224	java/lang/StringBuilder
    //   1273: dup
    //   1274: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1277: ldc_w 257
    //   1280: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1283: aload 93
    //   1285: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1288: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1291: invokestatic 263	com/metaio/tools/io/AssetsManager:getAssetPath	(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
    //   1294: astore 94
    //   1296: aload 94
    //   1298: ifnonnull +131 -> 1429
    //   1301: new 132	java/lang/Exception
    //   1304: dup
    //   1305: new 224	java/lang/StringBuilder
    //   1308: dup
    //   1309: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1312: ldc_w 332
    //   1315: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1318: aload 93
    //   1320: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1323: ldc_w 267
    //   1326: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1329: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1332: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   1335: athrow
    //   1336: astore 35
    //   1338: aconst_null
    //   1339: astore 36
    //   1341: aconst_null
    //   1342: astore 37
    //   1344: aload 33
    //   1346: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   1349: aload 37
    //   1351: ifnull +8 -> 1359
    //   1354: aload 37
    //   1356: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   1359: aload 36
    //   1361: ifnull +8 -> 1369
    //   1364: aload 36
    //   1366: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   1369: aload 35
    //   1371: athrow
    //   1372: iload 40
    //   1374: iload 41
    //   1376: if_icmpge +32 -> 1408
    //   1379: fload 39
    //   1381: iload 40
    //   1383: i2f
    //   1384: fmul
    //   1385: iload 41
    //   1387: i2f
    //   1388: fdiv
    //   1389: f2i
    //   1390: istore 97
    //   1392: fload 39
    //   1394: f2i
    //   1395: istore 98
    //   1397: iload 97
    //   1399: istore 44
    //   1401: iload 98
    //   1403: istore 45
    //   1405: goto -313 -> 1092
    //   1408: fload 39
    //   1410: f2i
    //   1411: istore 42
    //   1413: fload 39
    //   1415: f2i
    //   1416: istore 43
    //   1418: iload 42
    //   1420: istore 44
    //   1422: iload 43
    //   1424: istore 45
    //   1426: goto -334 -> 1092
    //   1429: aload 9
    //   1431: iconst_1
    //   1432: aaload
    //   1433: ifnull +10 -> 1443
    //   1436: aload 9
    //   1438: iconst_1
    //   1439: aaload
    //   1440: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   1443: aload 9
    //   1445: iconst_1
    //   1446: aload 94
    //   1448: invokestatic 283	android/graphics/BitmapFactory:decodeFile	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   1451: aastore
    //   1452: aload 9
    //   1454: iconst_1
    //   1455: aaload
    //   1456: ifnonnull +38 -> 1494
    //   1459: new 132	java/lang/Exception
    //   1462: dup
    //   1463: new 224	java/lang/StringBuilder
    //   1466: dup
    //   1467: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1470: ldc_w 334
    //   1473: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1476: aload 93
    //   1478: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1481: ldc_w 267
    //   1484: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1487: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1490: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   1493: athrow
    //   1494: aload 9
    //   1496: iconst_1
    //   1497: aaload
    //   1498: getstatic 291	android/graphics/Bitmap$Config:ARGB_8888	Landroid/graphics/Bitmap$Config;
    //   1501: iconst_1
    //   1502: invokevirtual 295	android/graphics/Bitmap:copy	(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
    //   1505: astore 83
    //   1507: aload 83
    //   1509: astore 82
    //   1511: aconst_null
    //   1512: astore 84
    //   1514: iload 81
    //   1516: ifle +188 -> 1704
    //   1519: aload 9
    //   1521: iconst_2
    //   1522: aaload
    //   1523: ifnonnull +164 -> 1687
    //   1526: new 224	java/lang/StringBuilder
    //   1529: dup
    //   1530: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1533: ldc_w 336
    //   1536: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1539: iload 24
    //   1541: invokevirtual 234	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   1544: ldc 255
    //   1546: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1549: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1552: astore 91
    //   1554: aload 7
    //   1556: new 224	java/lang/StringBuilder
    //   1559: dup
    //   1560: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1563: ldc_w 257
    //   1566: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1569: aload 91
    //   1571: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1574: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1577: invokestatic 263	com/metaio/tools/io/AssetsManager:getAssetPath	(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
    //   1580: astore 92
    //   1582: aload 92
    //   1584: ifnonnull +38 -> 1622
    //   1587: new 132	java/lang/Exception
    //   1590: dup
    //   1591: new 224	java/lang/StringBuilder
    //   1594: dup
    //   1595: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1598: ldc_w 332
    //   1601: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1604: aload 91
    //   1606: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1609: ldc_w 267
    //   1612: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1615: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1618: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   1621: athrow
    //   1622: aload 9
    //   1624: iconst_2
    //   1625: aaload
    //   1626: ifnull +10 -> 1636
    //   1629: aload 9
    //   1631: iconst_2
    //   1632: aaload
    //   1633: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   1636: aload 9
    //   1638: iconst_2
    //   1639: aload 92
    //   1641: invokestatic 283	android/graphics/BitmapFactory:decodeFile	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   1644: aastore
    //   1645: aload 9
    //   1647: iconst_2
    //   1648: aaload
    //   1649: ifnonnull +38 -> 1687
    //   1652: new 132	java/lang/Exception
    //   1655: dup
    //   1656: new 224	java/lang/StringBuilder
    //   1659: dup
    //   1660: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   1663: ldc_w 334
    //   1666: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1669: aload 91
    //   1671: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1674: ldc_w 267
    //   1677: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   1680: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   1683: invokespecial 270	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   1686: athrow
    //   1687: aload 9
    //   1689: iconst_2
    //   1690: aaload
    //   1691: getstatic 291	android/graphics/Bitmap$Config:ARGB_8888	Landroid/graphics/Bitmap$Config;
    //   1694: iconst_1
    //   1695: invokevirtual 295	android/graphics/Bitmap:copy	(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
    //   1698: astore 90
    //   1700: aload 90
    //   1702: astore 84
    //   1704: getstatic 54	com/metaio/sdk/ARELInterpreterAndroidJava:$assertionsDisabled	Z
    //   1707: ifne +21 -> 1728
    //   1710: aload 82
    //   1712: ifnonnull +16 -> 1728
    //   1715: aload 84
    //   1717: ifnonnull +11 -> 1728
    //   1720: new 212	java/lang/AssertionError
    //   1723: dup
    //   1724: invokespecial 213	java/lang/AssertionError:<init>	()V
    //   1727: athrow
    //   1728: getstatic 54	com/metaio/sdk/ARELInterpreterAndroidJava:$assertionsDisabled	Z
    //   1731: ifne +854 -> 2585
    //   1734: aload 82
    //   1736: ifnull +849 -> 2585
    //   1739: aload 84
    //   1741: ifnull +844 -> 2585
    //   1744: aload 82
    //   1746: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1749: aload 84
    //   1751: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1754: if_icmpne +16 -> 1770
    //   1757: aload 82
    //   1759: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1762: aload 84
    //   1764: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1767: if_icmpeq +818 -> 2585
    //   1770: new 212	java/lang/AssertionError
    //   1773: dup
    //   1774: invokespecial 213	java/lang/AssertionError:<init>	()V
    //   1777: athrow
    //   1778: fload 85
    //   1780: f2i
    //   1781: aload 33
    //   1783: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1786: iload 27
    //   1788: isub
    //   1789: aload 87
    //   1791: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1794: isub
    //   1795: i2f
    //   1796: ldc_w 337
    //   1799: fload 25
    //   1801: fmul
    //   1802: fsub
    //   1803: f2i
    //   1804: aload 87
    //   1806: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   1809: aload 87
    //   1811: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1814: invokestatic 311	com/metaio/sdk/ARELInterpreterAndroidJava:makeRectWH	(IIII)Landroid/graphics/Rect;
    //   1817: astore 88
    //   1819: aload 34
    //   1821: aload 87
    //   1823: aconst_null
    //   1824: aload 88
    //   1826: aload 8
    //   1828: invokevirtual 315	android/graphics/Canvas:drawBitmap	(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    //   1831: aload 88
    //   1833: invokevirtual 342	android/graphics/Rect:width	()I
    //   1836: istore 89
    //   1838: fload 85
    //   1840: iload 89
    //   1842: i2f
    //   1843: fconst_1
    //   1844: fload 25
    //   1846: fmul
    //   1847: fadd
    //   1848: fadd
    //   1849: fstore 85
    //   1851: iinc 86 1
    //   1854: goto +739 -> 2593
    //   1857: aload 82
    //   1859: astore 87
    //   1861: goto -83 -> 1778
    //   1864: aload 84
    //   1866: astore 51
    //   1868: aload 82
    //   1870: astore 52
    //   1872: ldc_w 343
    //   1875: fload 25
    //   1877: fmul
    //   1878: f2i
    //   1879: istore 53
    //   1881: aload 5
    //   1883: ifnull +732 -> 2615
    //   1886: iload 26
    //   1888: i2d
    //   1889: dstore 77
    //   1891: ldc_w 337
    //   1894: fload 25
    //   1896: fmul
    //   1897: f2d
    //   1898: dstore 79
    //   1900: aload 34
    //   1902: aload 5
    //   1904: aconst_null
    //   1905: iload 28
    //   1907: dload 77
    //   1909: dload 79
    //   1911: invokestatic 249	java/lang/Math:floor	(D)D
    //   1914: dadd
    //   1915: d2i
    //   1916: iload 53
    //   1918: iload 53
    //   1920: invokestatic 311	com/metaio/sdk/ARELInterpreterAndroidJava:makeRectWH	(IIII)Landroid/graphics/Rect;
    //   1923: aload 8
    //   1925: invokevirtual 315	android/graphics/Canvas:drawBitmap	(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    //   1928: goto +687 -> 2615
    //   1931: fload 55
    //   1933: fload 54
    //   1935: fadd
    //   1936: f2i
    //   1937: istore 56
    //   1939: iload 49
    //   1941: iload 56
    //   1943: isub
    //   1944: istore 57
    //   1946: aload 33
    //   1948: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   1951: iload 26
    //   1953: isub
    //   1954: iload 27
    //   1956: isub
    //   1957: istore 58
    //   1959: ldc_w 344
    //   1962: fload 25
    //   1964: fmul
    //   1965: f2i
    //   1966: istore 59
    //   1968: fload_2
    //   1969: fconst_0
    //   1970: fcmpl
    //   1971: ifle +669 -> 2640
    //   1974: iload 48
    //   1976: iload 56
    //   1978: isub
    //   1979: i2f
    //   1980: fstore 71
    //   1982: aload 8
    //   1984: ldc_w 345
    //   1987: fload 25
    //   1989: fmul
    //   1990: f2d
    //   1991: invokestatic 348	java/lang/Math:ceil	(D)D
    //   1994: d2f
    //   1995: invokevirtual 352	android/text/TextPaint:setTextSize	(F)V
    //   1998: aload 8
    //   2000: getstatic 358	android/graphics/Typeface:DEFAULT	Landroid/graphics/Typeface;
    //   2003: invokevirtual 362	android/text/TextPaint:setTypeface	(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
    //   2006: pop
    //   2007: aload 8
    //   2009: ldc_w 364
    //   2012: iconst_0
    //   2013: invokestatic 368	android/graphics/Typeface:create	(Ljava/lang/String;I)Landroid/graphics/Typeface;
    //   2016: invokevirtual 362	android/text/TextPaint:setTypeface	(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
    //   2019: pop
    //   2020: aload 8
    //   2022: bipush 22
    //   2024: bipush 22
    //   2026: bipush 22
    //   2028: invokestatic 374	android/graphics/Color:rgb	(III)I
    //   2031: invokevirtual 378	android/text/TextPaint:setColor	(I)V
    //   2034: new 339	android/graphics/Rect
    //   2037: dup
    //   2038: invokespecial 379	android/graphics/Rect:<init>	()V
    //   2041: astore 74
    //   2043: aload 8
    //   2045: aload 12
    //   2047: iconst_0
    //   2048: aload 12
    //   2050: invokevirtual 382	java/lang/String:length	()I
    //   2053: aload 74
    //   2055: invokevirtual 386	android/text/TextPaint:getTextBounds	(Ljava/lang/String;IILandroid/graphics/Rect;)V
    //   2058: iload 48
    //   2060: fload 71
    //   2062: aload 74
    //   2064: invokevirtual 342	android/graphics/Rect:width	()I
    //   2067: i2f
    //   2068: invokestatic 388	java/lang/Math:min	(FF)F
    //   2071: f2i
    //   2072: isub
    //   2073: aload 33
    //   2075: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   2078: iload 27
    //   2080: isub
    //   2081: aload 74
    //   2083: invokevirtual 391	android/graphics/Rect:height	()I
    //   2086: isub
    //   2087: iload 59
    //   2089: isub
    //   2090: fload 71
    //   2092: aload 74
    //   2094: invokevirtual 342	android/graphics/Rect:width	()I
    //   2097: i2f
    //   2098: invokestatic 388	java/lang/Math:min	(FF)F
    //   2101: f2i
    //   2102: aload 74
    //   2104: invokevirtual 391	android/graphics/Rect:height	()I
    //   2107: invokestatic 311	com/metaio/sdk/ARELInterpreterAndroidJava:makeRectWH	(IIII)Landroid/graphics/Rect;
    //   2110: astore 75
    //   2112: iload 58
    //   2114: aload 74
    //   2116: invokevirtual 391	android/graphics/Rect:height	()I
    //   2119: isub
    //   2120: istore 58
    //   2122: aload 34
    //   2124: aload 12
    //   2126: aload 75
    //   2128: getfield 394	android/graphics/Rect:left	I
    //   2131: aload 74
    //   2133: getfield 394	android/graphics/Rect:left	I
    //   2136: isub
    //   2137: i2f
    //   2138: aload 75
    //   2140: getfield 397	android/graphics/Rect:top	I
    //   2143: aload 74
    //   2145: getfield 397	android/graphics/Rect:top	I
    //   2148: isub
    //   2149: i2f
    //   2150: aload 8
    //   2152: invokevirtual 401	android/graphics/Canvas:drawText	(Ljava/lang/String;FFLandroid/graphics/Paint;)V
    //   2155: goto +485 -> 2640
    //   2158: fload 25
    //   2160: iload 61
    //   2162: i2f
    //   2163: fmul
    //   2164: f2d
    //   2165: invokestatic 348	java/lang/Math:ceil	(D)D
    //   2168: d2i
    //   2169: istore 62
    //   2171: iload 60
    //   2173: iload 62
    //   2175: if_icmpge +20 -> 2195
    //   2178: getstatic 54	com/metaio/sdk/ARELInterpreterAndroidJava:$assertionsDisabled	Z
    //   2181: ifne +501 -> 2682
    //   2184: new 212	java/lang/AssertionError
    //   2187: dup
    //   2188: ldc_w 403
    //   2191: invokespecial 406	java/lang/AssertionError:<init>	(Ljava/lang/Object;)V
    //   2194: athrow
    //   2195: iload 56
    //   2197: iload 26
    //   2199: iload 57
    //   2201: iload 60
    //   2203: invokestatic 311	com/metaio/sdk/ARELInterpreterAndroidJava:makeRectWH	(IIII)Landroid/graphics/Rect;
    //   2206: astore 63
    //   2208: aload 8
    //   2210: iload 62
    //   2212: i2f
    //   2213: invokevirtual 352	android/text/TextPaint:setTextSize	(F)V
    //   2216: aload 8
    //   2218: getstatic 358	android/graphics/Typeface:DEFAULT	Landroid/graphics/Typeface;
    //   2221: invokevirtual 362	android/text/TextPaint:setTypeface	(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
    //   2224: pop
    //   2225: aload 8
    //   2227: bipush 12
    //   2229: bipush 12
    //   2231: bipush 12
    //   2233: invokestatic 374	android/graphics/Color:rgb	(III)I
    //   2236: invokevirtual 378	android/text/TextPaint:setColor	(I)V
    //   2239: new 408	android/text/StaticLayout
    //   2242: dup
    //   2243: aload_1
    //   2244: aload 8
    //   2246: aload 63
    //   2248: invokevirtual 342	android/graphics/Rect:width	()I
    //   2251: getstatic 414	android/text/Layout$Alignment:ALIGN_NORMAL	Landroid/text/Layout$Alignment;
    //   2254: fconst_1
    //   2255: fconst_1
    //   2256: iconst_1
    //   2257: invokespecial 417	android/text/StaticLayout:<init>	(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
    //   2260: astore 65
    //   2262: aload 34
    //   2264: invokevirtual 420	android/graphics/Canvas:save	()I
    //   2267: pop
    //   2268: iconst_0
    //   2269: istore 67
    //   2271: iload 67
    //   2273: aload 65
    //   2275: invokevirtual 423	android/text/StaticLayout:getLineCount	()I
    //   2278: if_icmpge +58 -> 2336
    //   2281: aload 65
    //   2283: iload 67
    //   2285: invokevirtual 427	android/text/StaticLayout:getLineBottom	(I)I
    //   2288: aload 63
    //   2290: invokevirtual 391	android/graphics/Rect:height	()I
    //   2293: if_icmple +231 -> 2524
    //   2296: iload 67
    //   2298: ifle +191 -> 2489
    //   2301: aload 63
    //   2303: aload 63
    //   2305: getfield 394	android/graphics/Rect:left	I
    //   2308: aload 63
    //   2310: getfield 397	android/graphics/Rect:top	I
    //   2313: aload 63
    //   2315: getfield 430	android/graphics/Rect:right	I
    //   2318: aload 63
    //   2320: getfield 397	android/graphics/Rect:top	I
    //   2323: aload 65
    //   2325: iload 67
    //   2327: iconst_1
    //   2328: isub
    //   2329: invokevirtual 427	android/text/StaticLayout:getLineBottom	(I)I
    //   2332: iadd
    //   2333: invokevirtual 434	android/graphics/Rect:set	(IIII)V
    //   2336: aload 63
    //   2338: aload 63
    //   2340: getfield 397	android/graphics/Rect:top	I
    //   2343: iload 59
    //   2345: isub
    //   2346: putfield 397	android/graphics/Rect:top	I
    //   2349: aload 63
    //   2351: aload 63
    //   2353: getfield 437	android/graphics/Rect:bottom	I
    //   2356: iload 59
    //   2358: isub
    //   2359: putfield 437	android/graphics/Rect:bottom	I
    //   2362: aload 34
    //   2364: aload 63
    //   2366: invokevirtual 441	android/graphics/Canvas:clipRect	(Landroid/graphics/Rect;)Z
    //   2369: pop
    //   2370: aload 34
    //   2372: aload 63
    //   2374: getfield 394	android/graphics/Rect:left	I
    //   2377: i2f
    //   2378: aload 63
    //   2380: getfield 397	android/graphics/Rect:top	I
    //   2383: i2f
    //   2384: invokevirtual 445	android/graphics/Canvas:translate	(FF)V
    //   2387: aload 65
    //   2389: invokevirtual 423	android/text/StaticLayout:getLineCount	()I
    //   2392: ifle +10 -> 2402
    //   2395: aload 65
    //   2397: aload 34
    //   2399: invokevirtual 449	android/text/StaticLayout:draw	(Landroid/graphics/Canvas;)V
    //   2402: aload 34
    //   2404: invokevirtual 452	android/graphics/Canvas:restore	()V
    //   2407: iconst_4
    //   2408: aload 33
    //   2410: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   2413: aload 33
    //   2415: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   2418: imul
    //   2419: imul
    //   2420: invokestatic 458	java/nio/ByteBuffer:allocate	(I)Ljava/nio/ByteBuffer;
    //   2423: astore 69
    //   2425: aload 33
    //   2427: aload 69
    //   2429: invokevirtual 462	android/graphics/Bitmap:copyPixelsToBuffer	(Ljava/nio/Buffer;)V
    //   2432: new 464	com/metaio/sdk/jni/ImageStruct
    //   2435: dup
    //   2436: aload 69
    //   2438: invokevirtual 468	java/nio/ByteBuffer:array	()[B
    //   2441: aload 33
    //   2443: invokevirtual 303	android/graphics/Bitmap:getWidth	()I
    //   2446: aload 33
    //   2448: invokevirtual 306	android/graphics/Bitmap:getHeight	()I
    //   2451: getstatic 474	com/metaio/sdk/jni/ECOLOR_FORMAT:ECF_RGBA8	Lcom/metaio/sdk/jni/ECOLOR_FORMAT;
    //   2454: iconst_1
    //   2455: dconst_1
    //   2456: invokespecial 477	com/metaio/sdk/jni/ImageStruct:<init>	([BIILcom/metaio/sdk/jni/ECOLOR_FORMAT;ZD)V
    //   2459: astore 70
    //   2461: aload 33
    //   2463: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   2466: aload 52
    //   2468: ifnull +8 -> 2476
    //   2471: aload 52
    //   2473: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   2476: aload 51
    //   2478: ifnull +8 -> 2486
    //   2481: aload 51
    //   2483: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   2486: aload 70
    //   2488: areturn
    //   2489: aload 63
    //   2491: aload 63
    //   2493: getfield 394	android/graphics/Rect:left	I
    //   2496: aload 63
    //   2498: getfield 397	android/graphics/Rect:top	I
    //   2501: aload 63
    //   2503: getfield 430	android/graphics/Rect:right	I
    //   2506: aload 63
    //   2508: getfield 397	android/graphics/Rect:top	I
    //   2511: aload 8
    //   2513: invokevirtual 480	android/text/TextPaint:getFontSpacing	()F
    //   2516: f2i
    //   2517: iadd
    //   2518: invokevirtual 434	android/graphics/Rect:set	(IIII)V
    //   2521: goto -185 -> 2336
    //   2524: iinc 67 1
    //   2527: goto -256 -> 2271
    //   2530: astore 95
    //   2532: goto -1332 -> 1200
    //   2535: astore 73
    //   2537: goto -517 -> 2020
    //   2540: aconst_null
    //   2541: astore 51
    //   2543: aconst_null
    //   2544: astore 52
    //   2546: goto -674 -> 1872
    //   2549: iload 38
    //   2551: istore 48
    //   2553: iload 38
    //   2555: istore 49
    //   2557: goto -1376 -> 1181
    //   2560: astore 35
    //   2562: aload 82
    //   2564: astore 37
    //   2566: aconst_null
    //   2567: astore 36
    //   2569: goto -1225 -> 1344
    //   2572: astore 35
    //   2574: aload 84
    //   2576: astore 36
    //   2578: aload 82
    //   2580: astore 37
    //   2582: goto -1238 -> 1344
    //   2585: iload 28
    //   2587: i2f
    //   2588: fstore 85
    //   2590: iconst_0
    //   2591: istore 86
    //   2593: iload 86
    //   2595: iconst_5
    //   2596: if_icmpge -732 -> 1864
    //   2599: iload 86
    //   2601: iload 81
    //   2603: iconst_1
    //   2604: isub
    //   2605: if_icmpgt -748 -> 1857
    //   2608: aload 84
    //   2610: astore 87
    //   2612: goto -834 -> 1778
    //   2615: iload 28
    //   2617: i2f
    //   2618: fstore 54
    //   2620: aload 5
    //   2622: ifnull +47 -> 2669
    //   2625: iload 53
    //   2627: i2f
    //   2628: ldc_w 481
    //   2631: fload 25
    //   2633: fmul
    //   2634: fadd
    //   2635: fstore 55
    //   2637: goto -706 -> 1931
    //   2640: iload 58
    //   2642: istore 60
    //   2644: iload 14
    //   2646: ifeq +29 -> 2675
    //   2649: bipush 9
    //   2651: istore 61
    //   2653: goto -495 -> 2158
    //   2656: astore 35
    //   2658: aload 51
    //   2660: astore 36
    //   2662: aload 52
    //   2664: astore 37
    //   2666: goto -1322 -> 1344
    //   2669: fconst_0
    //   2670: fstore 55
    //   2672: goto -741 -> 1931
    //   2675: bipush 7
    //   2677: istore 61
    //   2679: goto -521 -> 2158
    //   2682: iload 62
    //   2684: istore 60
    //   2686: goto -491 -> 2195
    //
    // Exception table:
    //   from	to	target	type
    //   1005	1040	1336	finally
    //   1045	1059	1336	finally
    //   1071	1084	1336	finally
    //   1124	1173	1336	finally
    //   1190	1196	1336	finally
    //   1209	1224	1336	finally
    //   1233	1296	1336	finally
    //   1301	1336	1336	finally
    //   1429	1443	1336	finally
    //   1443	1494	1336	finally
    //   1494	1507	1336	finally
    //   1190	1196	2530	java/lang/NumberFormatException
    //   2007	2020	2535	java/lang/Exception
    //   1519	1582	2560	finally
    //   1587	1622	2560	finally
    //   1622	1636	2560	finally
    //   1636	1687	2560	finally
    //   1687	1700	2560	finally
    //   1704	1710	2572	finally
    //   1720	1728	2572	finally
    //   1728	1734	2572	finally
    //   1744	1770	2572	finally
    //   1770	1778	2572	finally
    //   1778	1838	2572	finally
    //   1900	1928	2656	finally
    //   1946	1959	2656	finally
    //   1982	2007	2656	finally
    //   2007	2020	2656	finally
    //   2020	2155	2656	finally
    //   2158	2171	2656	finally
    //   2178	2195	2656	finally
    //   2195	2268	2656	finally
    //   2271	2296	2656	finally
    //   2301	2336	2656	finally
    //   2336	2402	2656	finally
    //   2402	2461	2656	finally
    //   2489	2521	2656	finally
  }

  // ERROR //
  static IGeometry getPOIAnnotationForAnnotatedGeometriesGroup(IARELObject paramIARELObject, File paramFile, IMetaioSDK paramIMetaioSDK, IMetaioWorldPOIManager paramIMetaioWorldPOIManager, Activity paramActivity, Lock paramLock, TextPaint paramTextPaint, Bitmap[] paramArrayOfBitmap, int[] paramArrayOfInt)
  {
    // Byte code:
    //   0: aload_1
    //   1: ifnull +325 -> 326
    //   4: aload_1
    //   5: invokevirtual 488	java/io/File:getPath	()Ljava/lang/String;
    //   8: invokestatic 283	android/graphics/BitmapFactory:decodeFile	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   11: astore 24
    //   13: aload 24
    //   15: astore 9
    //   17: iconst_1
    //   18: istore 10
    //   20: aload 9
    //   22: ifnonnull +56 -> 78
    //   25: aload_0
    //   26: getstatic 494	com/metaio/sdk/jni/ObjectParameter:ObjectParameterIconURI	Lcom/metaio/sdk/jni/ObjectParameter;
    //   29: invokevirtual 498	com/metaio/sdk/jni/IARELObject:getParameter	(Lcom/metaio/sdk/jni/ObjectParameter;)Ljava/lang/String;
    //   32: astore 23
    //   34: aload 4
    //   36: invokevirtual 502	android/app/Activity:getApplicationContext	()Landroid/content/Context;
    //   39: invokestatic 508	com/metaio/cloud/plugin/MetaioCloudPlugin:getRemoteAssetsManager	(Landroid/content/Context;)Lcom/metaio/cloud/plugin/data/RemoteAssetsManager;
    //   42: new 510	com/metaio/cloud/plugin/util/AssetDownloader
    //   45: dup
    //   46: aload 4
    //   48: aload 23
    //   50: aload_3
    //   51: invokespecial 513	com/metaio/cloud/plugin/util/AssetDownloader:<init>	(Landroid/content/Context;Ljava/lang/String;Lcom/metaio/sdk/jni/IMetaioWorldPOIManager;)V
    //   54: aload 23
    //   56: aconst_null
    //   57: invokevirtual 519	com/metaio/cloud/plugin/data/RemoteAssetsManager:downloadImage	(Landroid/os/AsyncTask;Ljava/lang/String;Ljava/lang/String;)Z
    //   60: ifeq +18 -> 78
    //   63: aload 4
    //   65: invokevirtual 502	android/app/Activity:getApplicationContext	()Landroid/content/Context;
    //   68: invokestatic 508	com/metaio/cloud/plugin/MetaioCloudPlugin:getRemoteAssetsManager	(Landroid/content/Context;)Lcom/metaio/cloud/plugin/data/RemoteAssetsManager;
    //   71: aload 23
    //   73: invokevirtual 522	com/metaio/cloud/plugin/data/RemoteAssetsManager:getImage	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   76: astore 9
    //   78: aload_0
    //   79: ldc_w 524
    //   82: invokevirtual 151	com/metaio/sdk/jni/IARELObject:getARELParameter	(Ljava/lang/String;)Ljava/lang/String;
    //   85: astore 14
    //   87: aload 14
    //   89: invokestatic 530	android/text/TextUtils:isEmpty	(Ljava/lang/CharSequence;)Z
    //   92: ifne +228 -> 320
    //   95: aload 4
    //   97: invokevirtual 502	android/app/Activity:getApplicationContext	()Landroid/content/Context;
    //   100: invokestatic 508	com/metaio/cloud/plugin/MetaioCloudPlugin:getRemoteAssetsManager	(Landroid/content/Context;)Lcom/metaio/cloud/plugin/data/RemoteAssetsManager;
    //   103: new 510	com/metaio/cloud/plugin/util/AssetDownloader
    //   106: dup
    //   107: aload 4
    //   109: aload 14
    //   111: aload_3
    //   112: invokespecial 513	com/metaio/cloud/plugin/util/AssetDownloader:<init>	(Landroid/content/Context;Ljava/lang/String;Lcom/metaio/sdk/jni/IMetaioWorldPOIManager;)V
    //   115: aload 14
    //   117: aconst_null
    //   118: invokevirtual 519	com/metaio/cloud/plugin/data/RemoteAssetsManager:downloadImage	(Landroid/os/AsyncTask;Ljava/lang/String;Ljava/lang/String;)Z
    //   121: ifeq +199 -> 320
    //   124: aload 4
    //   126: invokevirtual 502	android/app/Activity:getApplicationContext	()Landroid/content/Context;
    //   129: invokestatic 508	com/metaio/cloud/plugin/MetaioCloudPlugin:getRemoteAssetsManager	(Landroid/content/Context;)Lcom/metaio/cloud/plugin/data/RemoteAssetsManager;
    //   132: aload 14
    //   134: invokevirtual 522	com/metaio/cloud/plugin/data/RemoteAssetsManager:getImage	(Ljava/lang/String;)Landroid/graphics/Bitmap;
    //   137: astore 15
    //   139: iconst_1
    //   140: anewarray 236	java/lang/String
    //   143: astore 16
    //   145: aload_0
    //   146: aload 9
    //   148: aload 15
    //   150: aload_2
    //   151: invokevirtual 536	com/metaio/sdk/jni/IMetaioSDK:getRenderSize	()Lcom/metaio/sdk/jni/Vector2di;
    //   154: aload 4
    //   156: aload 6
    //   158: aload 7
    //   160: aload 8
    //   162: aload 16
    //   164: invokestatic 538	com/metaio/sdk/ARELInterpreterAndroidJava:getAnnotationImageForPOI	(Lcom/metaio/sdk/jni/IARELObject;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Lcom/metaio/sdk/jni/Vector2di;Landroid/app/Activity;Landroid/text/TextPaint;[Landroid/graphics/Bitmap;[I[Ljava/lang/String;)Lcom/metaio/sdk/jni/ImageStruct;
    //   167: astore 22
    //   169: aload 22
    //   171: astore 18
    //   173: aconst_null
    //   174: astore 19
    //   176: aload 18
    //   178: ifnull +45 -> 223
    //   181: aload 5
    //   183: ifnull +10 -> 193
    //   186: aload 5
    //   188: invokeinterface 543 1 0
    //   193: aload_2
    //   194: aload 16
    //   196: iconst_0
    //   197: aaload
    //   198: aload 18
    //   200: iconst_1
    //   201: iconst_0
    //   202: invokevirtual 547	com/metaio/sdk/jni/IMetaioSDK:createGeometryFromImage	(Ljava/lang/String;Lcom/metaio/sdk/jni/ImageStruct;ZZ)Lcom/metaio/sdk/jni/IGeometry;
    //   205: astore 21
    //   207: aload 21
    //   209: astore 19
    //   211: aload 5
    //   213: ifnull +10 -> 223
    //   216: aload 5
    //   218: invokeinterface 550 1 0
    //   223: iload 10
    //   225: ifeq +13 -> 238
    //   228: aload 9
    //   230: ifnull +8 -> 238
    //   233: aload 9
    //   235: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   238: aload 19
    //   240: areturn
    //   241: astore 17
    //   243: bipush 6
    //   245: ldc_w 552
    //   248: invokestatic 556	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;)V
    //   251: bipush 6
    //   253: aload 17
    //   255: invokestatic 562	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   258: aconst_null
    //   259: astore 18
    //   261: goto -88 -> 173
    //   264: astore 20
    //   266: aload 5
    //   268: ifnull +10 -> 278
    //   271: aload 5
    //   273: invokeinterface 550 1 0
    //   278: aload 20
    //   280: athrow
    //   281: astore 11
    //   283: aload 9
    //   285: astore 12
    //   287: iload 10
    //   289: istore 13
    //   291: iload 13
    //   293: ifeq +13 -> 306
    //   296: aload 12
    //   298: ifnull +8 -> 306
    //   301: aload 12
    //   303: invokevirtual 277	android/graphics/Bitmap:recycle	()V
    //   306: aload 11
    //   308: athrow
    //   309: astore 11
    //   311: iconst_0
    //   312: istore 13
    //   314: aconst_null
    //   315: astore 12
    //   317: goto -26 -> 291
    //   320: aconst_null
    //   321: astore 15
    //   323: goto -184 -> 139
    //   326: aconst_null
    //   327: astore 9
    //   329: iconst_0
    //   330: istore 10
    //   332: goto -312 -> 20
    //
    // Exception table:
    //   from	to	target	type
    //   145	169	241	java/lang/Exception
    //   193	207	264	finally
    //   25	78	281	finally
    //   78	139	281	finally
    //   139	145	281	finally
    //   145	169	281	finally
    //   186	193	281	finally
    //   216	223	281	finally
    //   243	258	281	finally
    //   271	278	281	finally
    //   278	281	281	finally
    //   4	13	309	finally
  }

  static IGeometry getPOIGeometryForAnnotatedGeometriesGroup(Context paramContext, IMetaioSDK paramIMetaioSDK)
  {
    File localFile = AssetsManager.getAssetPathAsFile(paramContext, "junaio/NewPOI_model.obj");
    if (localFile == null)
    {
      MetaioDebug.log(6, "POI model does not exist (asset: junaio/NewPOI_model.obj)");
      return null;
    }
    IGeometry localIGeometry = paramIMetaioSDK.createGeometry(localFile);
    if (localIGeometry == null)
    {
      MetaioDebug.log(6, "Failed to load POI model");
      return null;
    }
    localIGeometry.setLLALimitsEnabled(true);
    return localIGeometry;
  }

  private static Rect makeRectWH(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
  {
    return new Rect(paramInt1, paramInt2, paramInt1 + paramInt3, paramInt2 + paramInt4);
  }

  static void onPOIGeometryInAnnotatedGeometriesGroupChangedState(Context paramContext, IGeometry paramIGeometry, IARELObject paramIARELObject, EGEOMETRY_FOCUS_STATE paramEGEOMETRY_FOCUS_STATE1, EGEOMETRY_FOCUS_STATE paramEGEOMETRY_FOCUS_STATE2, IMetaioWorldPOIManager paramIMetaioWorldPOIManager)
  {
    int i = 1;
    String str1;
    switch (4.$SwitchMap$com$metaio$sdk$jni$EGEOMETRY_FOCUS_STATE[paramEGEOMETRY_FOCUS_STATE2.ordinal()])
    {
    default:
      str1 = "NewPOI_unfocused.png";
    case 1:
    case 2:
    }
    String str2;
    while (true)
    {
      str2 = AssetsManager.getAssetPath(paramContext, "junaio/" + str1);
      if (str2 != null)
        break;
      MetaioDebug.log(6, "POI texture does not exist (asset: junaio/" + str1 + ")");
      return;
      EPOI_PREDOMINANT_COLOR localEPOI_PREDOMINANT_COLOR = paramIMetaioWorldPOIManager.calcPredominantColorForThumbnailOrGetCached(paramIARELObject);
      Locale localLocale = Locale.US;
      Object[] arrayOfObject = new Object[i];
      if (localEPOI_PREDOMINANT_COLOR == EPOI_PREDOMINANT_COLOR.EPPC_UNKNOWN);
      while (true)
      {
        arrayOfObject[0] = Integer.valueOf(i);
        String str3 = String.format(localLocale, "%02d", arrayOfObject);
        str1 = "NewPOI_focused__" + str3 + ".png";
        break;
        i = localEPOI_PREDOMINANT_COLOR.swigValue();
      }
      str1 = "NewPOI_selected.png";
    }
    paramIMetaioWorldPOIManager.cachePOITexture(str2);
    paramIGeometry.setTexture(str2);
  }

  protected void executeJavaScript(final String paramString)
  {
    try
    {
      MetaioDebug.log(3, "ARELInterpreterAndroid.executeJavaScript: " + paramString);
      if (paramString == null)
        MetaioDebug.log(6, "Error in JavaScript: " + paramString);
      while (true)
      {
        return;
        if ((this.mActivity != null) && (this.mWebView != null))
          this.mActivity.runOnUiThread(new Runnable()
          {
            public void run()
            {
              if (ARELInterpreterAndroidJava.this.mWebView != null)
              {
                ARELInterpreterAndroidJava.this.mWebView.loadUrl("javascript:(function anon_ARELInterpreterAndroid(){" + paramString + "})();");
                return;
              }
              MetaioDebug.log(6, "WebView instance doesn't exist anymore");
            }
          });
      }
    }
    finally
    {
    }
  }

  // ERROR //
  @android.annotation.SuppressLint({"SetJavaScriptEnabled"})
  @TargetApi(16)
  public void initWebView(WebView paramWebView, Activity paramActivity)
  {
    // Byte code:
    //   0: aload_0
    //   1: monitorenter
    //   2: aload_0
    //   3: aload_2
    //   4: putfield 61	com/metaio/sdk/ARELInterpreterAndroidJava:mActivity	Landroid/app/Activity;
    //   7: aload_0
    //   8: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   11: astore 4
    //   13: aload_1
    //   14: aload 4
    //   16: if_acmpne +6 -> 22
    //   19: aload_0
    //   20: monitorexit
    //   21: return
    //   22: aload_0
    //   23: aload_1
    //   24: putfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   27: getstatic 675	android/os/Build$VERSION:SDK_INT	I
    //   30: istore 5
    //   32: iload 5
    //   34: bipush 11
    //   36: if_icmplt +12 -> 48
    //   39: aload_0
    //   40: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   43: iconst_1
    //   44: aconst_null
    //   45: invokevirtual 681	android/webkit/WebView:setLayerType	(ILandroid/graphics/Paint;)V
    //   48: aload_0
    //   49: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   52: iconst_0
    //   53: invokevirtual 684	android/webkit/WebView:setBackgroundColor	(I)V
    //   56: aload_0
    //   57: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   60: ldc_w 685
    //   63: invokevirtual 688	android/webkit/WebView:setScrollBarStyle	(I)V
    //   66: aload_0
    //   67: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   70: iconst_0
    //   71: invokevirtual 691	android/webkit/WebView:setVerticalScrollBarEnabled	(Z)V
    //   74: invokestatic 697	android/webkit/CookieManager:getInstance	()Landroid/webkit/CookieManager;
    //   77: iconst_1
    //   78: invokevirtual 700	android/webkit/CookieManager:setAcceptCookie	(Z)V
    //   81: aload_0
    //   82: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   85: invokevirtual 704	android/webkit/WebView:getSettings	()Landroid/webkit/WebSettings;
    //   88: astore 6
    //   90: aload 6
    //   92: getstatic 710	android/webkit/WebSettings$PluginState:ON	Landroid/webkit/WebSettings$PluginState;
    //   95: invokevirtual 716	android/webkit/WebSettings:setPluginState	(Landroid/webkit/WebSettings$PluginState;)V
    //   98: aload 6
    //   100: iconst_1
    //   101: invokevirtual 719	android/webkit/WebSettings:setJavaScriptEnabled	(Z)V
    //   104: aload 6
    //   106: iconst_1
    //   107: invokevirtual 722	android/webkit/WebSettings:setGeolocationEnabled	(Z)V
    //   110: aload 6
    //   112: iconst_1
    //   113: invokevirtual 725	android/webkit/WebSettings:setLightTouchEnabled	(Z)V
    //   116: aload 6
    //   118: iconst_0
    //   119: invokevirtual 728	android/webkit/WebSettings:setSupportZoom	(Z)V
    //   122: aload 6
    //   124: iconst_1
    //   125: invokevirtual 731	android/webkit/WebSettings:setAppCacheEnabled	(Z)V
    //   128: aload 6
    //   130: iconst_1
    //   131: invokevirtual 734	android/webkit/WebSettings:setDatabaseEnabled	(Z)V
    //   134: aload_0
    //   135: getfield 59	com/metaio/sdk/ARELInterpreterAndroidJava:mWebView	Landroid/webkit/WebView;
    //   138: invokevirtual 737	android/webkit/WebView:getContext	()Landroid/content/Context;
    //   141: ldc_w 739
    //   144: iconst_0
    //   145: invokevirtual 745	android/content/Context:getDir	(Ljava/lang/String;I)Ljava/io/File;
    //   148: invokevirtual 488	java/io/File:getPath	()Ljava/lang/String;
    //   151: astore 7
    //   153: new 224	java/lang/StringBuilder
    //   156: dup
    //   157: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   160: ldc_w 747
    //   163: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   166: aload 7
    //   168: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   171: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   174: invokestatic 749	com/metaio/sdk/MetaioDebug:log	(Ljava/lang/String;)V
    //   177: aload 6
    //   179: aload 7
    //   181: invokevirtual 752	android/webkit/WebSettings:setDatabasePath	(Ljava/lang/String;)V
    //   184: aload 6
    //   186: iconst_1
    //   187: invokevirtual 755	android/webkit/WebSettings:setDomStorageEnabled	(Z)V
    //   190: aload 6
    //   192: aload 7
    //   194: invokevirtual 758	android/webkit/WebSettings:setGeolocationDatabasePath	(Ljava/lang/String;)V
    //   197: getstatic 675	android/os/Build$VERSION:SDK_INT	I
    //   200: bipush 16
    //   202: if_icmplt +9 -> 211
    //   205: aload 6
    //   207: iconst_1
    //   208: invokevirtual 761	android/webkit/WebSettings:setAllowUniversalAccessFromFileURLs	(Z)V
    //   211: aload_0
    //   212: iconst_1
    //   213: putfield 763	com/metaio/sdk/ARELInterpreterAndroidJava:arelEnabled	Z
    //   216: aload_1
    //   217: new 765	com/metaio/sdk/ARELInterpreterAndroidJava$ARELWebChromeClient
    //   220: dup
    //   221: aload_0
    //   222: invokespecial 768	com/metaio/sdk/ARELInterpreterAndroidJava$ARELWebChromeClient:<init>	(Lcom/metaio/sdk/ARELInterpreterAndroidJava;)V
    //   225: invokevirtual 772	android/webkit/WebView:setWebChromeClient	(Landroid/webkit/WebChromeClient;)V
    //   228: aload_1
    //   229: new 774	com/metaio/sdk/ARELInterpreterAndroidJava$ARELInterpreterAndroidJavaClient
    //   232: dup
    //   233: aload_0
    //   234: invokespecial 775	com/metaio/sdk/ARELInterpreterAndroidJava$ARELInterpreterAndroidJavaClient:<init>	(Lcom/metaio/sdk/ARELInterpreterAndroidJava;)V
    //   237: invokevirtual 779	android/webkit/WebView:setWebViewClient	(Landroid/webkit/WebViewClient;)V
    //   240: aload_1
    //   241: new 781	com/metaio/sdk/ARELInterpreterAndroidJava$ARELJavascriptInterface
    //   244: dup
    //   245: aload_0
    //   246: invokespecial 782	com/metaio/sdk/ARELInterpreterAndroidJava$ARELJavascriptInterface:<init>	(Lcom/metaio/sdk/ARELInterpreterAndroidJava;)V
    //   249: ldc_w 784
    //   252: invokevirtual 788	android/webkit/WebView:addJavascriptInterface	(Ljava/lang/Object;Ljava/lang/String;)V
    //   255: aload_1
    //   256: ldc_w 790
    //   259: invokevirtual 793	android/webkit/WebView:loadUrl	(Ljava/lang/String;)V
    //   262: goto -243 -> 19
    //   265: astore_3
    //   266: aload_0
    //   267: monitorexit
    //   268: aload_3
    //   269: athrow
    //   270: astore 8
    //   272: goto -224 -> 48
    //
    // Exception table:
    //   from	to	target	type
    //   2	13	265	finally
    //   22	32	265	finally
    //   39	48	265	finally
    //   48	211	265	finally
    //   211	262	265	finally
    //   39	48	270	java/lang/Exception
  }

  public void loadARELWebPage(final PathOrURL paramPathOrURL)
  {
    try
    {
      final File localFile = getBasePath();
      this.mActivity.runOnUiThread(new Runnable()
      {
        public void run()
        {
          MetaioDebug.log("ARELInterpreterAndroidJava.loadARELWebPage " + paramPathOrURL.asStringForLogging());
          if (paramPathOrURL.isPath())
          {
            File localFile = paramPathOrURL.asPath();
            if (localFile.isAbsolute())
            {
              ARELInterpreterAndroidJava.this.mWebView.loadUrl("file://" + localFile.getAbsolutePath());
              return;
            }
            ARELInterpreterAndroidJava.this.mWebView.loadUrl("file://" + new File(localFile, localFile.getPath()).getAbsolutePath());
            return;
          }
          try
          {
            boolean bool2 = new URI(paramPathOrURL.asURL()).isAbsolute();
            bool1 = bool2;
            if (bool1)
            {
              ARELInterpreterAndroidJava.this.mWebView.loadUrl(paramPathOrURL.asURL());
              return;
            }
            ARELInterpreterAndroidJava.this.mWebView.loadUrl("file://" + new File(localFile, paramPathOrURL.asURL()).getAbsolutePath());
            return;
          }
          catch (URISyntaxException localURISyntaxException)
          {
            while (true)
              boolean bool1 = false;
          }
        }
      });
      return;
    }
    finally
    {
      localObject = finally;
      throw localObject;
    }
  }

  protected IGeometry loadPOIAnnotationForAnnotatedGeometriesGroup(IARELObject paramIARELObject, File paramFile, IMetaioSDK paramIMetaioSDK)
  {
    Bitmap[] arrayOfBitmap = new Bitmap[3];
    arrayOfBitmap[0] = this.mAnnotationBackground;
    arrayOfBitmap[1] = this.mEmptyStarImage;
    arrayOfBitmap[2] = this.mFullStarImage;
    int[] arrayOfInt = new int[1];
    arrayOfInt[0] = this.mAnnotationBackgroundIndex;
    IGeometry localIGeometry = getPOIAnnotationForAnnotatedGeometriesGroup(paramIARELObject, paramFile, paramIMetaioSDK, getPOIManager(), this.mActivity, null, this.mPaint, arrayOfBitmap, arrayOfInt);
    this.mAnnotationBackground = arrayOfBitmap[0];
    this.mEmptyStarImage = arrayOfBitmap[1];
    this.mFullStarImage = arrayOfBitmap[2];
    this.mAnnotationBackgroundIndex = arrayOfInt[0];
    return localIGeometry;
  }

  protected IGeometry loadPOIGeometryForAnnotatedGeometriesGroup(IMetaioSDK paramIMetaioSDK)
  {
    return getPOIGeometryForAnnotatedGeometriesGroup(this.mActivity, paramIMetaioSDK);
  }

  public void onCompletion(MediaPlayer paramMediaPlayer)
  {
    MetaioDebug.log("Audio track completed");
    this.mLockMediaPlayer.lock();
    MetaioDebug.log("mMediaPlayerDataSource:" + this.mMediaPlayerDataSource);
    if (this.mMediaPlayerDataSource != null)
      callMediaEvent(this.mMediaPlayerDataSource, EAREL_MEDIA_EVENT.EAME_SOUND_COMPLETE);
    this.mMediaPlayerLoaded = false;
    this.mMediaPlayerDataSource = null;
    this.mMediaPlayer.reset();
    this.mLockMediaPlayer.unlock();
  }

  public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1, int paramInt2)
  {
    MetaioDebug.log(6, "MediaPlayer.onError: " + paramInt1 + ", " + paramInt2);
    return false;
  }

  public boolean onInfo(MediaPlayer paramMediaPlayer, int paramInt1, int paramInt2)
  {
    MetaioDebug.log(4, "MediaPlayer.onInfo: " + paramInt1 + ", " + paramInt2);
    return false;
  }

  protected void onPOIGeometryInAnnotatedGeometriesGroupChangedState(IGeometry paramIGeometry, IARELObject paramIARELObject, EGEOMETRY_FOCUS_STATE paramEGEOMETRY_FOCUS_STATE1, EGEOMETRY_FOCUS_STATE paramEGEOMETRY_FOCUS_STATE2)
  {
    onPOIGeometryInAnnotatedGeometriesGroupChangedState(this.mActivity, paramIGeometry, paramIARELObject, paramEGEOMETRY_FOCUS_STATE1, paramEGEOMETRY_FOCUS_STATE2, getPOIManager());
  }

  public void onPause()
  {
    this.mWebView.pauseTimers();
    this.mLockMediaPlayer.lock();
    try
    {
      if (this.mMediaPlayerLoaded)
        this.mMediaPlayer.pause();
      this.mLockMediaPlayer.unlock();
      return;
    }
    catch (IllegalStateException localIllegalStateException)
    {
      while (true)
        MetaioDebug.log(6, "ARELInterpreterAndroid.onPause: " + localIllegalStateException.getMessage());
    }
  }

  public void onPrepared(MediaPlayer paramMediaPlayer)
  {
    MetaioDebug.log("Audio track loaded, now playing...");
    this.mLockMediaPlayer.lock();
    this.mMediaPlayerLoaded = true;
    this.mMediaPlayer.start();
    this.mLockMediaPlayer.unlock();
  }

  public void onResume()
  {
    this.mWebView.resumeTimers();
    this.mLockMediaPlayer.lock();
    try
    {
      if (this.mMediaPlayerLoaded)
        this.mMediaPlayer.start();
      this.mLockMediaPlayer.unlock();
      return;
    }
    catch (IllegalStateException localIllegalStateException)
    {
      while (true)
        MetaioDebug.log(6, "ARELInterpreterAndroid.onResume: " + localIllegalStateException.getMessage());
    }
  }

  protected void onSurfaceChanged(int paramInt1, int paramInt2)
  {
    if (this.mWebviewOpened.length() > 0)
    {
      callMediaEvent(this.mWebviewOpened, EAREL_MEDIA_EVENT.EAME_WEBSITE_CLOSED);
      this.mWebviewOpened = "";
    }
    while (this.mFullscreenVideoOpened.length() <= 0)
      return;
    callMediaEvent(this.mFullscreenVideoOpened, EAREL_MEDIA_EVENT.EAME_VIDEO_CLOSED);
    this.mFullscreenVideoOpened = "";
  }

  protected boolean openURL(Context paramContext, String paramString)
  {
    try
    {
      MetaioDebug.log("Opening URL: " + paramString);
      Intent localIntent = MetaioCloudPlugin.getDefaultIntent(paramString);
      if (localIntent == null)
        localIntent = new Intent("android.intent.action.VIEW", Uri.parse(paramString));
      localIntent.setFlags(268435456);
      paramContext.startActivity(localIntent);
      bool = true;
      return bool;
    }
    catch (Exception localException)
    {
      while (true)
      {
        MetaioDebug.log(6, "Error starting web view activity: " + localException.getMessage());
        boolean bool = false;
      }
    }
    finally
    {
    }
  }

  protected void openWebsite(String paramString1, String paramString2)
  {
    try
    {
      if (this.mPOIManagerCallback != null)
        this.mPOIManagerCallback.openWebsite(paramString1, paramString2);
      while (true)
      {
        return;
        openWebsite(paramString1, paramString2, false);
      }
    }
    finally
    {
    }
  }

  protected void openWebsite(String paramString1, String paramString2, boolean paramBoolean)
  {
    while (true)
    {
      try
      {
        if (this.mPOIManagerCallback != null)
        {
          this.mPOIManagerCallback.openWebsite(paramString1, paramString2, paramBoolean);
          return;
        }
        IARELInterpreterCallback localIARELInterpreterCallback = getCallback();
        boolean bool = false;
        if (localIARELInterpreterCallback != null)
          bool = localIARELInterpreterCallback.openWebsite(paramString2, paramBoolean);
        if (bool)
          continue;
        if (!openURL(this.mActivity.getApplicationContext(), paramString2))
        {
          MetaioDebug.log(6, "Error starting browser, probably invalid URL");
          continue;
        }
      }
      finally
      {
      }
      this.mWebviewOpened = paramString2;
    }
  }

  // ERROR //
  protected void playSound(String paramString, PathOrURL paramPathOrURL, File paramFile)
  {
    // Byte code:
    //   0: aload_0
    //   1: monitorenter
    //   2: aload_0
    //   3: getfield 128	com/metaio/sdk/ARELInterpreterAndroidJava:mPOIManagerCallback	Lcom/metaio/sdk/MetaioWorldPOIManagerCallback;
    //   6: ifnull +16 -> 22
    //   9: aload_0
    //   10: getfield 128	com/metaio/sdk/ARELInterpreterAndroidJava:mPOIManagerCallback	Lcom/metaio/sdk/MetaioWorldPOIManagerCallback;
    //   13: aload_1
    //   14: aload_2
    //   15: aload_3
    //   16: invokevirtual 945	com/metaio/sdk/MetaioWorldPOIManagerCallback:playSound	(Ljava/lang/String;Lcom/metaio/sdk/jni/PathOrURL;Ljava/io/File;)V
    //   19: aload_0
    //   20: monitorexit
    //   21: return
    //   22: iconst_3
    //   23: new 224	java/lang/StringBuilder
    //   26: dup
    //   27: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   30: ldc_w 947
    //   33: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   36: aload_1
    //   37: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   40: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   43: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   46: iconst_3
    //   47: new 224	java/lang/StringBuilder
    //   50: dup
    //   51: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   54: ldc_w 952
    //   57: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   60: aload_2
    //   61: invokevirtual 957	com/metaio/sdk/jni/PathOrURL:asStringForLogging	()Ljava/lang/String;
    //   64: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   67: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   70: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   73: iconst_3
    //   74: new 224	java/lang/StringBuilder
    //   77: dup
    //   78: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   81: ldc_w 959
    //   84: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   87: aload_3
    //   88: invokevirtual 488	java/io/File:getPath	()Ljava/lang/String;
    //   91: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   94: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   97: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   100: aload_2
    //   101: invokevirtual 962	com/metaio/sdk/jni/PathOrURL:empty	()Z
    //   104: ifeq +38 -> 142
    //   107: bipush 6
    //   109: new 224	java/lang/StringBuilder
    //   112: dup
    //   113: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   116: ldc_w 964
    //   119: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   122: aload_1
    //   123: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   126: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   129: invokestatic 573	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   132: goto -113 -> 19
    //   135: astore 4
    //   137: aload_0
    //   138: monitorexit
    //   139: aload 4
    //   141: athrow
    //   142: iconst_1
    //   143: istore 5
    //   145: aload_2
    //   146: invokevirtual 967	com/metaio/sdk/jni/PathOrURL:isURL	()Z
    //   149: ifeq +233 -> 382
    //   152: aload_2
    //   153: invokevirtual 970	com/metaio/sdk/jni/PathOrURL:asURL	()Ljava/lang/String;
    //   156: astore 21
    //   158: aload 21
    //   160: ldc_w 972
    //   163: invokevirtual 975	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   166: ifne +631 -> 797
    //   169: aload 21
    //   171: ldc_w 977
    //   174: invokevirtual 975	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   177: ifne +620 -> 797
    //   180: aload 21
    //   182: ldc_w 979
    //   185: invokevirtual 975	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   188: ifeq +602 -> 790
    //   191: goto +606 -> 797
    //   194: aload 7
    //   196: invokevirtual 981	java/lang/String:isEmpty	()Z
    //   199: ifeq +573 -> 772
    //   202: invokestatic 984	com/metaio/tools/io/AssetsManager:getAbsolutePath	()Ljava/lang/String;
    //   205: astore 17
    //   207: iconst_3
    //   208: new 224	java/lang/StringBuilder
    //   211: dup
    //   212: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   215: ldc_w 986
    //   218: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   221: aload 17
    //   223: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   226: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   229: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   232: aload_3
    //   233: invokevirtual 488	java/io/File:getPath	()Ljava/lang/String;
    //   236: iconst_1
    //   237: aload 17
    //   239: invokevirtual 382	java/lang/String:length	()I
    //   242: iadd
    //   243: invokevirtual 990	java/lang/String:substring	(I)Ljava/lang/String;
    //   246: astore 18
    //   248: iconst_3
    //   249: new 224	java/lang/StringBuilder
    //   252: dup
    //   253: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   256: ldc_w 992
    //   259: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   262: aload 18
    //   264: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   267: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   270: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   273: aload 18
    //   275: astore 8
    //   277: iconst_3
    //   278: new 224	java/lang/StringBuilder
    //   281: dup
    //   282: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   285: ldc_w 994
    //   288: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   291: aload 8
    //   293: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   296: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   299: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   302: aload_0
    //   303: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   306: invokeinterface 543 1 0
    //   311: aload 8
    //   313: invokevirtual 981	java/lang/String:isEmpty	()Z
    //   316: ifne +177 -> 493
    //   319: aload 8
    //   321: aload_0
    //   322: getfield 87	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerDataSource	Ljava/lang/String;
    //   325: invokevirtual 997	java/lang/String:equalsIgnoreCase	(Ljava/lang/String;)Z
    //   328: ifeq +165 -> 493
    //   331: aload_0
    //   332: getfield 89	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerLoaded	Z
    //   335: ifeq +85 -> 420
    //   338: iconst_3
    //   339: new 224	java/lang/StringBuilder
    //   342: dup
    //   343: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   346: ldc_w 999
    //   349: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   352: aload 8
    //   354: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   357: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   360: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   363: aload_0
    //   364: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   367: invokevirtual 867	android/media/MediaPlayer:start	()V
    //   370: aload_0
    //   371: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   374: invokeinterface 550 1 0
    //   379: goto -360 -> 19
    //   382: aload_2
    //   383: invokevirtual 1002	com/metaio/sdk/jni/PathOrURL:isPath	()Z
    //   386: ifeq +393 -> 779
    //   389: aload_2
    //   390: invokevirtual 1005	com/metaio/sdk/jni/PathOrURL:asPath	()Ljava/io/File;
    //   393: astore 19
    //   395: aload 19
    //   397: invokevirtual 1008	java/io/File:exists	()Z
    //   400: ifeq +379 -> 779
    //   403: aload 19
    //   405: invokevirtual 488	java/io/File:getPath	()Ljava/lang/String;
    //   408: astore 20
    //   410: aload 20
    //   412: astore 7
    //   414: iconst_0
    //   415: istore 6
    //   417: goto -223 -> 194
    //   420: new 224	java/lang/StringBuilder
    //   423: dup
    //   424: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   427: ldc_w 1010
    //   430: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   433: aload 8
    //   435: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   438: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   441: invokestatic 749	com/metaio/sdk/MetaioDebug:log	(Ljava/lang/String;)V
    //   444: goto -74 -> 370
    //   447: astore 10
    //   449: bipush 6
    //   451: new 224	java/lang/StringBuilder
    //   454: dup
    //   455: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   458: ldc_w 1012
    //   461: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   464: aload_1
    //   465: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   468: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   471: invokestatic 573	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   474: bipush 6
    //   476: aload 10
    //   478: invokestatic 562	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   481: aload_0
    //   482: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   485: invokeinterface 550 1 0
    //   490: goto -471 -> 19
    //   493: aload_0
    //   494: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   497: invokevirtual 835	android/media/MediaPlayer:reset	()V
    //   500: aload 8
    //   502: ldc_w 972
    //   505: invokevirtual 975	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   508: ifne +14 -> 522
    //   511: aload 8
    //   513: ldc_w 977
    //   516: invokevirtual 975	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   519: ifeq +67 -> 586
    //   522: aload_0
    //   523: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   526: aload 8
    //   528: invokevirtual 1015	android/media/MediaPlayer:setDataSource	(Ljava/lang/String;)V
    //   531: iconst_3
    //   532: new 224	java/lang/StringBuilder
    //   535: dup
    //   536: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   539: ldc_w 1017
    //   542: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   545: aload 8
    //   547: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   550: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   553: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   556: aload_0
    //   557: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   560: invokevirtual 1020	android/media/MediaPlayer:prepareAsync	()V
    //   563: aload_0
    //   564: aload 8
    //   566: putfield 87	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerDataSource	Ljava/lang/String;
    //   569: goto -199 -> 370
    //   572: astore 9
    //   574: aload_0
    //   575: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   578: invokeinterface 550 1 0
    //   583: aload 9
    //   585: athrow
    //   586: iload 6
    //   588: ifeq +109 -> 697
    //   591: iconst_3
    //   592: new 224	java/lang/StringBuilder
    //   595: dup
    //   596: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   599: ldc_w 1022
    //   602: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   605: aload 8
    //   607: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   610: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   613: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   616: aload_0
    //   617: getfield 61	com/metaio/sdk/ARELInterpreterAndroidJava:mActivity	Landroid/app/Activity;
    //   620: invokevirtual 502	android/app/Activity:getApplicationContext	()Landroid/content/Context;
    //   623: invokevirtual 1026	android/content/Context:getAssets	()Landroid/content/res/AssetManager;
    //   626: aload 8
    //   628: invokevirtual 1032	android/content/res/AssetManager:openFd	(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
    //   631: astore 15
    //   633: aload_0
    //   634: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   637: aload 15
    //   639: invokevirtual 1038	android/content/res/AssetFileDescriptor:getFileDescriptor	()Ljava/io/FileDescriptor;
    //   642: aload 15
    //   644: invokevirtual 1042	android/content/res/AssetFileDescriptor:getStartOffset	()J
    //   647: aload 15
    //   649: invokevirtual 1045	android/content/res/AssetFileDescriptor:getLength	()J
    //   652: invokevirtual 1048	android/media/MediaPlayer:setDataSource	(Ljava/io/FileDescriptor;JJ)V
    //   655: aload 15
    //   657: invokevirtual 1051	android/content/res/AssetFileDescriptor:close	()V
    //   660: goto -104 -> 556
    //   663: astore 14
    //   665: bipush 6
    //   667: aload 14
    //   669: invokestatic 562	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   672: goto -116 -> 556
    //   675: astore 16
    //   677: aload 15
    //   679: invokevirtual 1051	android/content/res/AssetFileDescriptor:close	()V
    //   682: aload 16
    //   684: athrow
    //   685: astore 13
    //   687: bipush 6
    //   689: aload 13
    //   691: invokestatic 562	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   694: goto -138 -> 556
    //   697: iconst_3
    //   698: new 224	java/lang/StringBuilder
    //   701: dup
    //   702: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   705: ldc_w 1053
    //   708: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   711: aload 8
    //   713: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   716: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   719: invokestatic 950	com/metaio/sdk/MetaioDebug:logPrivate	(ILjava/lang/String;)V
    //   722: new 1055	java/io/FileInputStream
    //   725: dup
    //   726: new 485	java/io/File
    //   729: dup
    //   730: aload 8
    //   732: invokespecial 1056	java/io/File:<init>	(Ljava/lang/String;)V
    //   735: invokespecial 1059	java/io/FileInputStream:<init>	(Ljava/io/File;)V
    //   738: astore 12
    //   740: aload_0
    //   741: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   744: aload 12
    //   746: invokevirtual 1062	java/io/FileInputStream:getFD	()Ljava/io/FileDescriptor;
    //   749: invokevirtual 1065	android/media/MediaPlayer:setDataSource	(Ljava/io/FileDescriptor;)V
    //   752: aload 12
    //   754: invokevirtual 1066	java/io/FileInputStream:close	()V
    //   757: goto -201 -> 556
    //   760: astore 11
    //   762: bipush 6
    //   764: aload 11
    //   766: invokestatic 562	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   769: goto -213 -> 556
    //   772: aload 7
    //   774: astore 8
    //   776: goto -499 -> 277
    //   779: iload 5
    //   781: istore 6
    //   783: ldc 71
    //   785: astore 7
    //   787: goto -593 -> 194
    //   790: ldc 71
    //   792: astore 22
    //   794: goto +10 -> 804
    //   797: iconst_0
    //   798: istore 5
    //   800: aload 21
    //   802: astore 22
    //   804: iload 5
    //   806: istore 23
    //   808: aload 22
    //   810: astore 7
    //   812: iload 23
    //   814: istore 6
    //   816: goto -622 -> 194
    //
    // Exception table:
    //   from	to	target	type
    //   2	19	135	finally
    //   22	132	135	finally
    //   145	191	135	finally
    //   194	273	135	finally
    //   277	311	135	finally
    //   370	379	135	finally
    //   382	410	135	finally
    //   481	490	135	finally
    //   574	586	135	finally
    //   311	370	447	java/lang/Exception
    //   420	444	447	java/lang/Exception
    //   493	522	447	java/lang/Exception
    //   522	556	447	java/lang/Exception
    //   556	569	447	java/lang/Exception
    //   591	633	447	java/lang/Exception
    //   655	660	447	java/lang/Exception
    //   665	672	447	java/lang/Exception
    //   677	685	447	java/lang/Exception
    //   687	694	447	java/lang/Exception
    //   697	757	447	java/lang/Exception
    //   762	769	447	java/lang/Exception
    //   311	370	572	finally
    //   420	444	572	finally
    //   449	481	572	finally
    //   493	522	572	finally
    //   522	556	572	finally
    //   556	569	572	finally
    //   591	633	572	finally
    //   655	660	572	finally
    //   665	672	572	finally
    //   677	685	572	finally
    //   687	694	572	finally
    //   697	757	572	finally
    //   762	769	572	finally
    //   591	633	663	java/lang/IllegalArgumentException
    //   655	660	663	java/lang/IllegalArgumentException
    //   677	685	663	java/lang/IllegalArgumentException
    //   697	757	663	java/lang/IllegalArgumentException
    //   633	655	675	finally
    //   591	633	685	java/lang/IllegalStateException
    //   655	660	685	java/lang/IllegalStateException
    //   677	685	685	java/lang/IllegalStateException
    //   697	757	685	java/lang/IllegalStateException
    //   591	633	760	java/io/IOException
    //   655	660	760	java/io/IOException
    //   677	685	760	java/io/IOException
    //   697	757	760	java/io/IOException
  }

  protected void playVideo(final String paramString, final PathOrURL paramPathOrURL)
  {
    while (true)
    {
      try
      {
        MetaioDebug.log("ARELInterpreterAndroidJava.Playing Video: " + paramPathOrURL.asStringForLogging());
        if (this.mPOIManagerCallback != null)
        {
          this.mPOIManagerCallback.playVideo(paramString, paramPathOrURL);
          return;
        }
        IARELInterpreterCallback localIARELInterpreterCallback = getCallback();
        if (localIARELInterpreterCallback == null)
          break label183;
        bool1 = localIARELInterpreterCallback.playVideo(paramPathOrURL);
        if (bool1)
          continue;
        if ((paramPathOrURL.isURL()) && (URLUtil.isValidUrl(paramPathOrURL.asURL())))
        {
          bool2 = true;
          if (!paramPathOrURL.isPath())
            break label151;
          localFile = paramPathOrURL.asPath();
          if ((!paramPathOrURL.empty()) && ((bool2) || ((localFile != null) && (localFile.exists()))))
            break label157;
          MetaioDebug.log(6, "Cannot play video from the location specified. You can stream videos via http or can place it in the assets folder of the application or on the external storage (AREL configuration xml file has to be located on the external storage in this case)");
          continue;
        }
      }
      finally
      {
      }
      final boolean bool2 = false;
      continue;
      label151: File localFile = null;
      continue;
      label157: Runnable local2 = new Runnable()
      {
        public void run()
        {
          while (true)
          {
            Intent localIntent;
            try
            {
              InputStream localInputStream;
              FileOutputStream localFileOutputStream;
              if ((paramPathOrURL.isPath()) && (paramPathOrURL.asPath().getPath().startsWith(Environment.getDataDirectory().getAbsolutePath())))
              {
                String str1 = paramPathOrURL.asPath().getPath();
                AssetManager localAssetManager = ARELInterpreterAndroidJava.this.mActivity.getApplicationContext().getAssets();
                String str2 = str1.substring(1 + str1.lastIndexOf('/'));
                if (ARELInterpreterAndroidJava.this.mVideoPath != null)
                  new File(ARELInterpreterAndroidJava.this.mVideoPath).delete();
                try
                {
                  localInputStream = localAssetManager.open(str1.replace(AssetsManager.getAbsolutePath() + "/", ""));
                  ARELInterpreterAndroidJava.access$002(ARELInterpreterAndroidJava.this, ARELInterpreterAndroidJava.this.mActivity.getApplicationContext().getExternalFilesDir(null) + "/" + str2);
                  localFileOutputStream = new FileOutputStream(new File(ARELInterpreterAndroidJava.this.mActivity.getApplicationContext().getExternalFilesDir(null), str2));
                  byte[] arrayOfByte = new byte[1024];
                  int i = localInputStream.read(arrayOfByte);
                  if (i == -1)
                    continue;
                  localFileOutputStream.write(arrayOfByte, 0, i);
                  continue;
                }
                catch (IOException localIOException)
                {
                  Log.e("tag", "Failed to copy asset file: " + str2, localIOException);
                }
              }
              else
              {
                localIntent = new Intent("android.intent.action.VIEW");
                if (!ARELInterpreterAndroidJava.this.mVideoPath.isEmpty())
                  break label433;
                if (!bool2)
                  break label413;
                localIntent.setDataAndType(Uri.parse(paramPathOrURL.asURL()), "video/*");
                MetaioDebug.logPrivate(3, "Launching default media player... ");
                ARELInterpreterAndroidJava.this.mActivity.startActivity(localIntent);
                ARELInterpreterAndroidJava.access$102(ARELInterpreterAndroidJava.this, paramString);
                return;
              }
              localInputStream.close();
              localFileOutputStream.flush();
              localFileOutputStream.close();
              continue;
            }
            catch (Exception localException)
            {
              MetaioDebug.log(6, "Error starting external media player, probably invalid URL/path: " + paramPathOrURL.asStringForLogging());
              MetaioDebug.printStackTrace(6, localException);
              return;
            }
            label413: localIntent.setDataAndType(Uri.fromFile(paramPathOrURL.asPath()), "video/*");
            continue;
            label433: localIntent.setDataAndType(Uri.fromFile(new File(ARELInterpreterAndroidJava.this.mVideoPath)), "video/*");
          }
        }
      };
      this.mActivity.runOnUiThread(local2);
      continue;
      label183: boolean bool1 = false;
    }
  }

  public void release()
  {
    try
    {
      if (this.mWebView != null)
      {
        this.mWebView.setWebChromeClient(null);
        this.mWebView.setWebViewClient(null);
        this.mWebView = null;
      }
      this.mActivity = null;
      this.mFullscreenVideoOpened = "";
      this.mWebviewOpened = "";
      if (this.mAnnotationBackground != null)
      {
        this.mAnnotationBackground.recycle();
        this.mAnnotationBackground = null;
      }
      if (this.mEmptyStarImage != null)
      {
        this.mEmptyStarImage.recycle();
        this.mEmptyStarImage = null;
      }
      if (this.mFullStarImage != null)
      {
        this.mFullStarImage.recycle();
        this.mFullStarImage = null;
      }
      this.mLockMediaPlayer.lock();
      this.mMediaPlayerDataSource = null;
      this.mMediaPlayerLoaded = false;
      if (this.mMediaPlayer != null)
      {
        this.mMediaPlayer.release();
        this.mMediaPlayer = null;
        this.mMediaPlayerDataSource = null;
        this.mMediaPlayerLoaded = false;
      }
      this.mLockMediaPlayer.unlock();
      if (!this.mVideoPath.isEmpty())
      {
        boolean bool = new File(this.mVideoPath).delete();
        this.mVideoPath = "";
        MetaioDebug.logPrivate(3, "ARELInterpreterAndroid.onDestroy: the video file has been deleted: " + bool);
      }
      if (this.mTextToSpeechHelper != null)
      {
        this.mTextToSpeechHelper.shutdown();
        this.mTextToSpeechHelper = null;
      }
      return;
    }
    finally
    {
    }
  }

  public void setMetaioWorldPOIManagerCallback(MetaioWorldPOIManagerCallback paramMetaioWorldPOIManagerCallback)
  {
    try
    {
      this.mPOIManagerCallback = paramMetaioWorldPOIManagerCallback;
      return;
    }
    finally
    {
      localObject = finally;
      throw localObject;
    }
  }

  // ERROR //
  protected void stopSound(String paramString, PathOrURL paramPathOrURL, File paramFile, boolean paramBoolean)
  {
    // Byte code:
    //   0: aload_0
    //   1: monitorenter
    //   2: aload_0
    //   3: getfield 128	com/metaio/sdk/ARELInterpreterAndroidJava:mPOIManagerCallback	Lcom/metaio/sdk/MetaioWorldPOIManagerCallback;
    //   6: ifnull +18 -> 24
    //   9: aload_0
    //   10: getfield 128	com/metaio/sdk/ARELInterpreterAndroidJava:mPOIManagerCallback	Lcom/metaio/sdk/MetaioWorldPOIManagerCallback;
    //   13: aload_1
    //   14: aload_2
    //   15: aload_3
    //   16: iload 4
    //   18: invokevirtual 1111	com/metaio/sdk/MetaioWorldPOIManagerCallback:stopSound	(Ljava/lang/String;Lcom/metaio/sdk/jni/PathOrURL;Ljava/io/File;Z)V
    //   21: aload_0
    //   22: monitorexit
    //   23: return
    //   24: aload_0
    //   25: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   28: invokeinterface 543 1 0
    //   33: aload_0
    //   34: getfield 89	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerLoaded	Z
    //   37: ifeq +22 -> 59
    //   40: aload_0
    //   41: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   44: ifnull +15 -> 59
    //   47: iload 4
    //   49: ifeq +29 -> 78
    //   52: aload_0
    //   53: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   56: invokevirtual 856	android/media/MediaPlayer:pause	()V
    //   59: aload_0
    //   60: getfield 85	com/metaio/sdk/ARELInterpreterAndroidJava:mLockMediaPlayer	Ljava/util/concurrent/locks/Lock;
    //   63: invokeinterface 550 1 0
    //   68: goto -47 -> 21
    //   71: astore 5
    //   73: aload_0
    //   74: monitorexit
    //   75: aload 5
    //   77: athrow
    //   78: aload_0
    //   79: getfield 80	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayer	Landroid/media/MediaPlayer;
    //   82: invokevirtual 1114	android/media/MediaPlayer:stop	()V
    //   85: aload_0
    //   86: aconst_null
    //   87: putfield 87	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerDataSource	Ljava/lang/String;
    //   90: aload_0
    //   91: iconst_0
    //   92: putfield 89	com/metaio/sdk/ARELInterpreterAndroidJava:mMediaPlayerLoaded	Z
    //   95: goto -36 -> 59
    //   98: astore 6
    //   100: bipush 6
    //   102: new 224	java/lang/StringBuilder
    //   105: dup
    //   106: invokespecial 225	java/lang/StringBuilder:<init>	()V
    //   109: ldc_w 1116
    //   112: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   115: aload 6
    //   117: invokevirtual 914	java/lang/Exception:getMessage	()Ljava/lang/String;
    //   120: invokevirtual 229	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   123: invokevirtual 242	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   126: invokestatic 573	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   129: goto -70 -> 59
    //
    // Exception table:
    //   from	to	target	type
    //   2	21	71	finally
    //   24	33	71	finally
    //   33	47	71	finally
    //   52	59	71	finally
    //   59	68	71	finally
    //   78	95	71	finally
    //   100	129	71	finally
    //   33	47	98	java/lang/Exception
    //   52	59	98	java/lang/Exception
    //   78	95	98	java/lang/Exception
  }

  protected void textToSpeech(String paramString)
  {
    try
    {
      if (this.mTextToSpeechHelper == null)
        this.mTextToSpeechHelper = new TextToSpeechHelper(this.mActivity);
      this.mTextToSpeechHelper.speak(paramString);
      return;
    }
    finally
    {
    }
  }

  public class ARELInterpreterAndroidJavaClient extends WebViewClient
  {
    public ARELInterpreterAndroidJavaClient()
    {
    }

    public void onLoadResource(WebView paramWebView, String paramString)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava.onLoadResource: " + paramString);
      ARELInterpreterAndroidJava.this.arelEnabled = true;
      super.onLoadResource(paramWebView, paramString);
    }

    public void onPageFinished(WebView paramWebView, String paramString)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava.onPageFinished: " + paramString);
      if (ARELInterpreterAndroidJava.this.mPOIManagerCallback != null)
        ARELInterpreterAndroidJava.this.mPOIManagerCallback.onLoadArelComplete();
      while (true)
      {
        super.onPageFinished(paramWebView, paramString);
        return;
        ARELInterpreterAndroidJava.this.loadFinished();
      }
    }

    public void onPageStarted(WebView paramWebView, String paramString, Bitmap paramBitmap)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava.onPageStarted: " + paramString);
      super.onPageStarted(paramWebView, paramString, paramBitmap);
    }

    public void onReceivedError(WebView paramWebView, int paramInt, String paramString1, String paramString2)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava.onReceivedError: " + paramString1 + "errorCode" + paramInt + " url " + paramString2);
      super.onReceivedError(paramWebView, paramInt, paramString1, paramString2);
      if (paramString1.contains("arel is not defined"))
        ARELInterpreterAndroidJava.this.arelEnabled = false;
      if (ARELInterpreterAndroidJava.this.arelEnabled)
        paramWebView.loadUrl("javascript:arel.Debug.error(\"" + paramString1 + "\")");
      if (paramString1.toLowerCase(Locale.US).contains("the url could not be found"))
        paramWebView.loadUrl("about:blank");
    }

    public void onReceivedSslError(WebView paramWebView, SslErrorHandler paramSslErrorHandler, SslError paramSslError)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava.onReceivedSslError: " + paramSslError);
      paramSslErrorHandler.proceed();
    }

    public boolean shouldOverrideKeyEvent(WebView paramWebView, KeyEvent paramKeyEvent)
    {
      MetaioDebug.log("ARELInterpreterAndroidJava shouldOverrideKeyEvent: " + paramKeyEvent);
      return super.shouldOverrideKeyEvent(paramWebView, paramKeyEvent);
    }

    public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString)
    {
      boolean bool1 = true;
      while (true)
      {
        try
        {
          MetaioDebug.log("ARELInterpreterAndroidJava.shouldOverrideUrlLoading: " + paramString);
          if ((paramString.startsWith("arel://")) || (paramString.startsWith("junaio://")))
          {
            if (ARELInterpreterAndroidJava.this.mPOIManagerCallback != null)
            {
              ARELInterpreterAndroidJava.this.mPOIManagerCallback.processURL(paramString);
              paramWebView.loadUrl("javascript:(function(){arel.flush();})();");
              return bool1;
            }
            ARELInterpreterAndroidJava.this.processURL(paramString);
            continue;
          }
        }
        finally
        {
        }
        Intent localIntent;
        if (!paramString.startsWith("http"))
        {
          boolean bool2 = paramString.startsWith("www");
          if (!bool2)
            try
            {
              localIntent = new Intent("android.intent.action.VIEW", Uri.parse(paramString));
              localIntent.addFlags(131072);
              if (paramWebView.getContext().getPackageManager().queryIntentActivities(localIntent, 65536).size() > 0)
                paramWebView.getContext().startActivity(localIntent);
            }
            catch (Exception localException)
            {
              MetaioDebug.log(6, "Invalid URI: " + paramString);
            }
        }
        else
        {
          do
          {
            bool1 = false;
            break;
          }
          while (paramWebView.getContext().getPackageManager().queryIntentServices(localIntent, 65536).size() <= 0);
          paramWebView.getContext().startService(localIntent);
        }
      }
    }
  }

  public class ARELJavascriptInterface
  {
    public ARELJavascriptInterface()
    {
    }

    @JavascriptInterface
    public void flush(String paramString)
    {
      ReentrantLock localReentrantLock = new ReentrantLock();
      MetaioDebug.log("flush: " + paramString);
      if (ARELInterpreterAndroidJava.this.mPOIManagerCallback != null)
      {
        localReentrantLock.lock();
        ARELInterpreterAndroidJava.this.mPOIManagerCallback.processURL(paramString);
        localReentrantLock.unlock();
        return;
      }
      ARELInterpreterAndroidJava.this.processURL(paramString);
    }
  }

  public class ARELWebChromeClient extends WebChromeClient
  {
    public ARELWebChromeClient()
    {
    }

    private String stupidEscapeStringForJS(String paramString)
    {
      if (paramString == null)
        return "<null>";
      return paramString.replace("\\", "\\\\").replace("\"", "\\\"").replace("'", "\\'");
    }

    public boolean onConsoleMessage(ConsoleMessage paramConsoleMessage)
    {
      MetaioDebug.log("ARELWebChromeClient onConsoleMessage (" + paramConsoleMessage.sourceId() + "):" + paramConsoleMessage.lineNumber() + ":" + paramConsoleMessage.message());
      if (paramConsoleMessage.message().contains("arel is not defined"))
        ARELInterpreterAndroidJava.this.arelEnabled = false;
      if (ARELInterpreterAndroidJava.this.arelEnabled)
      {
        String str = "javascript:arel.Debug.log(\"" + stupidEscapeStringForJS(paramConsoleMessage.sourceId()) + ":" + paramConsoleMessage.lineNumber() + ":" + stupidEscapeStringForJS(paramConsoleMessage.message()) + "\")";
        ARELInterpreterAndroidJava.this.mWebView.loadUrl(str);
      }
      return super.onConsoleMessage(paramConsoleMessage);
    }

    public void onExceededDatabaseQuota(String paramString1, String paramString2, long paramLong1, long paramLong2, long paramLong3, WebStorage.QuotaUpdater paramQuotaUpdater)
    {
      MetaioDebug.log("ARELWebChromeClient.onExceededDatabaseQuota: " + paramString1 + ", " + paramString2 + ", " + paramLong1 + ", " + paramLong2 + ", " + paramLong3);
      paramQuotaUpdater.updateQuota(2L * paramLong2);
    }

    public void onGeolocationPermissionsShowPrompt(String paramString, GeolocationPermissions.Callback paramCallback)
    {
      paramCallback.invoke(paramString, true, false);
    }

    public boolean onJsAlert(WebView paramWebView, String paramString1, String paramString2, JsResult paramJsResult)
    {
      MetaioDebug.log("ARELWebChromeClient.onJsAlert " + paramString1 + ":" + paramString2);
      return super.onJsAlert(paramWebView, paramString1, paramString2, paramJsResult);
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.metaio.sdk.ARELInterpreterAndroidJava
 * JD-Core Version:    0.6.2
 */