public class com.android.carrierdefaultapp.CaptivePortalLoginActivity extends android.app.Activity
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.carrierdefaultapp.CaptivePortalLoginActivity
  super_class: android.app.Activity
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean DBG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int SOCKET_TIMEOUT_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  private static final int NETWORK_REQUEST_TIMEOUT_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private java.net.URL mUrl;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  private android.net.Network mNetwork;
    descriptor: Landroid/net/Network;
    flags: (0x0002) ACC_PRIVATE

  private android.net.ConnectivityManager$NetworkCallback mNetworkCallback;
    descriptor: Landroid/net/ConnectivityManager$NetworkCallback;
    flags: (0x0002) ACC_PRIVATE

  private android.net.ConnectivityManager mCm;
    descriptor: Landroid/net/ConnectivityManager;
    flags: (0x0002) ACC_PRIVATE

  private android.webkit.WebView mWebView;
    descriptor: Landroid/webkit/WebView;
    flags: (0x0002) ACC_PRIVATE

  private com.android.carrierdefaultapp.CaptivePortalLoginActivity$MyWebViewClient mWebViewClient;
    descriptor: Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity$MyWebViewClient;
    flags: (0x0002) ACC_PRIVATE

  private boolean mLaunchBrowser;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Thread mTestingThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  private boolean mReload;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            ldc Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.TAG:Ljava/lang/String;
         1: .line 76
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 71
            aload 0 /* this */
            invokespecial android.app.Activity.<init>:()V
         1: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mLaunchBrowser:Z
         2: .line 85
            aload 0 /* this */
            aconst_null
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mTestingThread:Ljava/lang/Thread;
         3: .line 86
            aload 0 /* this */
            iconst_0
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mReload:Z
         4: .line 71
            return
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;

  protected void onCreate(android.os.Bundle);
    descriptor: (Landroid/os/Bundle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 98
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
    MethodParameters:
                    Name  Flags
      savedInstanceState  

  public void onBackPressed();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 127
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;

  public void onDestroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 137
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mLaunchBrowser:Z
            ifeq 12
         1: .line 139
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 8
         3: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetwork:Landroid/net/Network;
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            invokevirtual android.net.ConnectivityManager.getActiveNetwork:()Landroid/net/Network;
            invokevirtual android.net.Network.equals:(Ljava/lang/Object;)Z
            ifeq 4
            goto 9
         4: .line 143
      StackMap locals:
      StackMap stack:
            ldc 100
            invokestatic java.lang.Thread.sleep:(J)V
         5: .line 144
            goto 7
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         6: pop
         7: .line 139
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            iconst_5
            if_icmplt 3
        end local 1 // int i
         9: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mUrl:Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 1 /* url */
        start local 1 // java.lang.String url
        10: .line 148
            new java.lang.StringBuilder
            dup
            ldc "starting activity with intent ACTION_VIEW for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.logd:(Ljava/lang/String;)V
        11: .line 149
            aload 0 /* this */
            new android.content.Intent
            dup
            ldc "android.intent.action.VIEW"
            aload 1 /* url */
            invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;Landroid/net/Uri;)V
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.startActivity:(Landroid/content/Intent;)V
        end local 1 // java.lang.String url
        12: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mTestingThread:Ljava/lang/Thread;
            ifnull 14
        13: .line 153
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mTestingThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        14: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mWebView:Landroid/webkit/WebView;
            invokevirtual android.webkit.WebView.destroy:()V
        15: .line 156
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.releaseNetworkRequest:()V
        16: .line 157
            aload 0 /* this */
            invokespecial android.app.Activity.onDestroy:()V
        17: .line 158
            return
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            2    9     1     i  I
           10   12     1   url  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.InterruptedException

  private void setNetwork(android.net.Network);
    descriptor: (Landroid/net/Network;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 164
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tResolvUtil cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
    MethodParameters:
         Name  Flags
      network  

  private void setWebViewProxy();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 171
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplication:()Landroid/app/Application;
            getfield android.app.Application.mLoadedApk:Landroid/app/LoadedApk;
            astore 1 /* loadedApk */
        start local 1 // android.app.LoadedApk loadedApk
         1: .line 173
            ldc Landroid/app/LoadedApk;
            ldc "mReceivers"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 2 /* receiversField */
        start local 2 // java.lang.reflect.Field receiversField
         2: .line 174
            aload 2 /* receiversField */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         3: .line 175
            aload 2 /* receiversField */
            aload 1 /* loadedApk */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.util.ArrayMap
            astore 3 /* receivers */
        start local 3 // android.util.ArrayMap receivers
         4: .line 176
            aload 3 /* receivers */
            invokevirtual android.util.ArrayMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.app.LoadedApk java.lang.reflect.Field android.util.ArrayMap top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* receiverMap */
        start local 4 // java.lang.Object receiverMap
         6: .line 177
            aload 4 /* receiverMap */
            checkcast android.util.ArrayMap
            invokevirtual android.util.ArrayMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.app.LoadedApk java.lang.reflect.Field android.util.ArrayMap java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* rec */
        start local 6 // java.lang.Object rec
         8: .line 178
            aload 6 /* rec */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
         9: .line 179
            aload 8 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "ProxyChangeListener"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 16
        10: .line 180
            aload 8 /* clazz */
            ldc "onReceive"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Landroid/content/Context;
            aastore
            dup
            iconst_1
        11: .line 181
            ldc Landroid/content/Intent;
            aastore
        12: .line 180
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 9 /* onReceiveMethod */
        start local 9 // java.lang.reflect.Method onReceiveMethod
        13: .line 182
            new android.content.Intent
            dup
            ldc "android.intent.action.PROXY_CHANGE"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            astore 10 /* intent */
        start local 10 // android.content.Intent intent
        14: .line 183
            aload 9 /* onReceiveMethod */
            aload 6 /* rec */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
            aastore
            dup
            iconst_1
            aload 10 /* intent */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 184
            getstatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.TAG:Ljava/lang/String;
            ldc "Prompting WebView proxy reload."
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 10 // android.content.Intent intent
        end local 9 // java.lang.reflect.Method onReceiveMethod
        end local 8 // java.lang.Class clazz
        end local 6 // java.lang.Object rec
        16: .line 177
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // java.lang.Object receiverMap
        17: .line 176
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.app.LoadedApk java.lang.reflect.Field android.util.ArrayMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // android.util.ArrayMap receivers
        end local 2 // java.lang.reflect.Field receiversField
        18: .line 188
            goto 21
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.app.LoadedApk
      StackMap stack: java.lang.Exception
        19: astore 2 /* e */
        start local 2 // java.lang.Exception e
        20: .line 189
            new java.lang.StringBuilder
            dup
            ldc "Exception while setting WebView proxy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.loge:(Ljava/lang/String;)V
        end local 2 // java.lang.Exception e
        21: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.app.LoadedApk loadedApk
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            1   22     1        loadedApk  Landroid/app/LoadedApk;
            2   18     2   receiversField  Ljava/lang/reflect/Field;
            4   18     3        receivers  Landroid/util/ArrayMap;
            6   17     4      receiverMap  Ljava/lang/Object;
            8   16     6              rec  Ljava/lang/Object;
            9   16     8            clazz  Ljava/lang/Class;
           13   16     9  onReceiveMethod  Ljava/lang/reflect/Method;
           14   16    10           intent  Landroid/content/Intent;
           20   21     2                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    18      19  Class java.lang.Exception

  private void done(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
        start local 1 // boolean success
         0: .line 194
            ldc "Result success %b for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
         1: .line 195
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mUrl:Ljava/net/URL;
            ifnull 2
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mUrl:Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            goto 3
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity int
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
         2: ldc "null"
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity int
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         3: aastore
         4: .line 194
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.logd:(Ljava/lang/String;)V
         5: .line 196
            iload 1 /* success */
            ifeq 21
         6: .line 199
            iconst_3
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
         7: .line 200
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
         8: .line 198
            invokestatic com.android.carrierdefaultapp.CarrierActionUtils.applyCarrierAction:(ILandroid/content/Intent;Landroid/content/Context;)V
         9: .line 202
            iconst_0
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
        10: .line 203
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
        11: .line 201
            invokestatic com.android.carrierdefaultapp.CarrierActionUtils.applyCarrierAction:(ILandroid/content/Intent;Landroid/content/Context;)V
        12: .line 205
            bipush 6
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
        13: .line 206
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
        14: .line 204
            invokestatic com.android.carrierdefaultapp.CarrierActionUtils.applyCarrierAction:(ILandroid/content/Intent;Landroid/content/Context;)V
        15: .line 208
            bipush 8
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
        16: .line 209
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
        17: .line 207
            invokestatic com.android.carrierdefaultapp.CarrierActionUtils.applyCarrierAction:(ILandroid/content/Intent;Landroid/content/Context;)V
        18: .line 211
            bipush 10
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
        19: .line 212
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
        20: .line 210
            invokestatic com.android.carrierdefaultapp.CarrierActionUtils.applyCarrierAction:(ILandroid/content/Intent;Landroid/content/Context;)V
        21: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.finishAndRemoveTask:()V
        22: .line 215
            return
        end local 1 // boolean success
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            0   23     1  success  Z
    MethodParameters:
         Name  Flags
      success  

  private java.net.URL getUrlForCaptivePortal();
    descriptor: ()Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 218
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
            ldc "redirectionUrl"
            invokevirtual android.content.Intent.getStringExtra:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* url */
        start local 1 // java.lang.String url
         1: .line 219
            aload 1 /* url */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            invokevirtual android.net.ConnectivityManager.getCaptivePortalServerUrl:()Ljava/lang/String;
            astore 1 /* url */
         2: .line 220
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getApplicationContext:()Landroid/content/Context;
         3: .line 221
            ldc Landroid/telephony/CarrierConfigManager;
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.telephony.CarrierConfigManager
         4: .line 220
            astore 2 /* configManager */
        start local 2 // android.telephony.CarrierConfigManager configManager
         5: .line 222
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.getIntent:()Landroid/content/Intent;
            ldc "subscription"
         6: .line 223
            invokestatic android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId:()I
         7: .line 222
            invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
            istore 3 /* subId */
        start local 3 // int subId
         8: .line 224
            aload 2 /* configManager */
            iload 3 /* subId */
            invokevirtual android.telephony.CarrierConfigManager.getConfigForSubId:(I)Landroid/os/PersistableBundle;
         9: .line 225
            ldc "carrier_default_redirection_url_string_array"
        10: .line 224
            invokevirtual android.os.PersistableBundle.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* portalURLs */
        start local 4 // java.lang.String[] portalURLs
        11: .line 226
            aload 4 /* portalURLs */
            invokestatic com.android.internal.util.ArrayUtils.isEmpty:([Ljava/lang/Object;)Z
            ifne 19
        12: .line 227
            aload 4 /* portalURLs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 17
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity java.lang.String android.telephony.CarrierConfigManager int java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        13: aload 8
            iload 6
            aaload
            astore 5 /* portalUrl */
        start local 5 // java.lang.String portalUrl
        14: .line 228
            aload 1 /* url */
            aload 5 /* portalUrl */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 229
            goto 18
        end local 5 // java.lang.String portalUrl
        16: .line 227
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        17: iload 6
            iload 7
            if_icmplt 13
        18: .line 232
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity java.lang.String android.telephony.CarrierConfigManager int java.lang.String[]
      StackMap stack:
            aconst_null
            astore 1 /* url */
        19: .line 235
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 1 /* url */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        20: areturn
        21: .line 236
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        22: .line 237
            new java.lang.StringBuilder
            dup
            ldc "Invalid captive portal URL "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.loge:(Ljava/lang/String;)V
        23: .line 239
            aconst_null
            areturn
        end local 4 // java.lang.String[] portalURLs
        end local 3 // int subId
        end local 2 // android.telephony.CarrierConfigManager configManager
        end local 1 // java.lang.String url
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            1   24     1            url  Ljava/lang/String;
            5   24     2  configManager  Landroid/telephony/CarrierConfigManager;
            8   24     3          subId  I
           11   24     4     portalURLs  [Ljava/lang/String;
           14   16     5      portalUrl  Ljava/lang/String;
      Exception table:
        from    to  target  type
          19    20      21  Class java.net.MalformedURLException

  private void testForCaptivePortal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 243
            aload 0 /* this */
            new java.lang.Thread
            dup
            new com.android.carrierdefaultapp.CaptivePortalLoginActivity$1
            dup
            aload 0 /* this */
            invokespecial com.android.carrierdefaultapp.CaptivePortalLoginActivity$1.<init>:(Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;)V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mTestingThread:Ljava/lang/Thread;
         1: .line 275
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mTestingThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         2: .line 276
            return
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;

  private android.net.Network getNetworkForCaptivePortal();
    descriptor: ()Landroid/net/Network;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 279
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            invokevirtual android.net.ConnectivityManager.getAllNetworks:()[Landroid/net/Network;
            astore 1 /* info */
        start local 1 // android.net.Network[] info
         1: .line 280
            aload 1 /* info */
            invokestatic com.android.internal.util.ArrayUtils.isEmpty:([Ljava/lang/Object;)Z
            ifne 10
         2: .line 281
            aload 1 /* info */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.net.Network[] top int int android.net.Network[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* nw */
        start local 2 // android.net.Network nw
         4: .line 282
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            aload 2 /* nw */
            invokevirtual android.net.ConnectivityManager.getNetworkCapabilities:(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
            astore 6 /* nc */
        start local 6 // android.net.NetworkCapabilities nc
         5: .line 283
            aload 6 /* nc */
            iconst_0
            invokevirtual android.net.NetworkCapabilities.hasTransport:(I)Z
            ifeq 8
         6: .line 284
            aload 6 /* nc */
            bipush 12
            invokevirtual android.net.NetworkCapabilities.hasCapability:(I)Z
            ifeq 8
         7: .line 285
            aload 2 /* nw */
            areturn
        end local 6 // android.net.NetworkCapabilities nc
        end local 2 // android.net.Network nw
         8: .line 281
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 3
        10: .line 289
      StackMap locals: com.android.carrierdefaultapp.CaptivePortalLoginActivity android.net.Network[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // android.net.Network[] info
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            1   11     1  info  [Landroid/net/Network;
            4    8     2    nw  Landroid/net/Network;
            5    8     6    nc  Landroid/net/NetworkCapabilities;

  private void requestNetworkForCaptivePortal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 293
            new android.net.NetworkRequest$Builder
            dup
            invokespecial android.net.NetworkRequest$Builder.<init>:()V
         1: .line 294
            iconst_0
            invokevirtual android.net.NetworkRequest$Builder.addTransportType:(I)Landroid/net/NetworkRequest$Builder;
         2: .line 295
            bipush 12
            invokevirtual android.net.NetworkRequest$Builder.addCapability:(I)Landroid/net/NetworkRequest$Builder;
         3: .line 296
            bipush 13
            invokevirtual android.net.NetworkRequest$Builder.removeCapability:(I)Landroid/net/NetworkRequest$Builder;
         4: .line 297
            invokevirtual android.net.NetworkRequest$Builder.build:()Landroid/net/NetworkRequest;
         5: .line 293
            astore 1 /* request */
        start local 1 // android.net.NetworkRequest request
         6: .line 299
            aload 0 /* this */
            new com.android.carrierdefaultapp.CaptivePortalLoginActivity$2
            dup
            aload 0 /* this */
            invokespecial com.android.carrierdefaultapp.CaptivePortalLoginActivity$2.<init>:(Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;)V
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
         7: .line 331
            ldc "request Network for captive portal"
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.logd:(Ljava/lang/String;)V
         8: .line 332
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            aload 1 /* request */
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
            sipush 5000
            invokevirtual android.net.ConnectivityManager.requestNetwork:(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;I)V
         9: .line 333
            return
        end local 1 // android.net.NetworkRequest request
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            6   10     1  request  Landroid/net/NetworkRequest;

  private void releaseNetworkRequest();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
         0: .line 336
            ldc "release Network for captive portal"
            invokestatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.logd:(Ljava/lang/String;)V
         1: .line 337
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
            ifnull 5
         2: .line 338
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mCm:Landroid/net/ConnectivityManager;
            aload 0 /* this */
            getfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
            invokevirtual android.net.ConnectivityManager.unregisterNetworkCallback:(Landroid/net/ConnectivityManager$NetworkCallback;)V
         3: .line 339
            aload 0 /* this */
            aconst_null
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
         4: .line 340
            aload 0 /* this */
            aconst_null
            putfield com.android.carrierdefaultapp.CaptivePortalLoginActivity.mNetwork:Landroid/net/Network;
         5: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;

  private void runOnUiThreadIfNotFinishing(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
        start local 1 // java.lang.Runnable r
         0: .line 464
            aload 0 /* this */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.isFinishing:()Z
            ifne 2
         1: .line 465
            aload 0 /* this */
            aload 1 /* r */
            invokevirtual com.android.carrierdefaultapp.CaptivePortalLoginActivity.runOnUiThread:(Ljava/lang/Runnable;)V
         2: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable r
        end local 0 // com.android.carrierdefaultapp.CaptivePortalLoginActivity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            0    3     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public static java.lang.String getAlias(android.content.Context);
    descriptor: (Landroid/content/Context;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // android.content.Context context
         0: .line 476
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
         1: .line 477
            sipush 513
         2: .line 476
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
            astore 1 /* p */
        start local 1 // android.content.pm.PackageInfo p
         3: .line 478
            aload 1 /* p */
            getfield android.content.pm.PackageInfo.activities:[Landroid/content/pm/ActivityInfo;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: android.content.Context android.content.pm.PackageInfo top int int android.content.pm.ActivityInfo[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* activityInfo */
        start local 2 // android.content.pm.ActivityInfo activityInfo
         5: .line 479
            aload 2 /* activityInfo */
            getfield android.content.pm.ActivityInfo.targetActivity:Ljava/lang/String;
            astore 6 /* targetActivity */
        start local 6 // java.lang.String targetActivity
         6: .line 480
            ldc Lcom/android/carrierdefaultapp/CaptivePortalLoginActivity;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 6 /* targetActivity */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 481
            aload 2 /* activityInfo */
            getfield android.content.pm.ActivityInfo.name:Ljava/lang/String;
         8: areturn
        end local 6 // java.lang.String targetActivity
        end local 2 // android.content.pm.ActivityInfo activityInfo
         9: .line 478
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 4
        end local 1 // android.content.pm.PackageInfo p
        11: .line 484
            goto 14
      StackMap locals: android.content.Context
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        12: astore 1 /* e */
        start local 1 // android.content.pm.PackageManager$NameNotFoundException e
        13: .line 485
            aload 1 /* e */
            invokevirtual android.content.pm.PackageManager$NameNotFoundException.printStackTrace:()V
        end local 1 // android.content.pm.PackageManager$NameNotFoundException e
        14: .line 487
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0         context  Landroid/content/Context;
            3   11     1               p  Landroid/content/pm/PackageInfo;
            5    9     2    activityInfo  Landroid/content/pm/ActivityInfo;
            6    9     6  targetActivity  Ljava/lang/String;
           13   14     1               e  Landroid/content/pm/PackageManager$NameNotFoundException;
      Exception table:
        from    to  target  type
           0     8      12  Class android.content.pm.PackageManager$NameNotFoundException
           9    11      12  Class android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
         Name  Flags
      context  

  private static void logd(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 491
            getstatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.TAG:Ljava/lang/String;
            aload 0 /* s */
            invokestatic android.telephony.Rlog.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 492
            return
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static void loge(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 495
            getstatic com.android.carrierdefaultapp.CaptivePortalLoginActivity.TAG:Ljava/lang/String;
            aload 0 /* s */
            invokestatic android.telephony.Rlog.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 496
            return
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "CaptivePortalLoginActivity.java"
NestMembers:
  com.android.carrierdefaultapp.CaptivePortalLoginActivity$1  com.android.carrierdefaultapp.CaptivePortalLoginActivity$2  com.android.carrierdefaultapp.CaptivePortalLoginActivity$MyWebChromeClient  com.android.carrierdefaultapp.CaptivePortalLoginActivity$MyWebViewClient
InnerClasses:
  public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
  public NetworkCallback = android.net.ConnectivityManager$NetworkCallback of android.net.ConnectivityManager
  public Builder = android.net.NetworkRequest$Builder of android.net.NetworkRequest
  com.android.carrierdefaultapp.CaptivePortalLoginActivity$1
  com.android.carrierdefaultapp.CaptivePortalLoginActivity$2
  private MyWebChromeClient = com.android.carrierdefaultapp.CaptivePortalLoginActivity$MyWebChromeClient of com.android.carrierdefaultapp.CaptivePortalLoginActivity
  private MyWebViewClient = com.android.carrierdefaultapp.CaptivePortalLoginActivity$MyWebViewClient of com.android.carrierdefaultapp.CaptivePortalLoginActivity