public abstract class android.net.NetworkAgent extends android.os.Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.net.NetworkAgent
  super_class: android.os.Handler
{
  public final int netId;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private volatile com.android.internal.util.AsyncChannel mAsyncChannel;
    descriptor: Lcom/android/internal/util/AsyncChannel;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList<android.os.Message> mPreConnectedQueue;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/os/Message;>;

  private volatile long mLastBwRefreshTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final long BW_REFRESH_MIN_WIN_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 500

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

  private java.util.concurrent.atomic.AtomicBoolean mPollLcePending;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 118
            ldc "redirect URL"
            putstatic android.net.NetworkAgent.REDIRECT_URL_KEY:Ljava/lang/String;
         1: .line 192
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.os.Looper, android.content.Context, java.lang.String, android.net.NetworkInfo, android.net.NetworkCapabilities, android.net.LinkProperties, int);
    descriptor: (Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Looper looper
        start local 2 // android.content.Context context
        start local 3 // java.lang.String logTag
        start local 4 // android.net.NetworkInfo ni
        start local 5 // android.net.NetworkCapabilities nc
        start local 6 // android.net.LinkProperties lp
        start local 7 // int score
         0: .line 196
            aload 0 /* this */
            aload 1 /* looper */
            aload 2 /* context */
            aload 3 /* logTag */
            aload 4 /* ni */
            aload 5 /* nc */
            aload 6 /* lp */
            iload 7 /* score */
            aconst_null
            invokespecial android.net.NetworkAgent.<init>:(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
         1: .line 197
            return
        end local 7 // int score
        end local 6 // android.net.LinkProperties lp
        end local 5 // android.net.NetworkCapabilities nc
        end local 4 // android.net.NetworkInfo ni
        end local 3 // java.lang.String logTag
        end local 2 // android.content.Context context
        end local 1 // android.os.Looper looper
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/net/NetworkAgent;
            0    2     1   looper  Landroid/os/Looper;
            0    2     2  context  Landroid/content/Context;
            0    2     3   logTag  Ljava/lang/String;
            0    2     4       ni  Landroid/net/NetworkInfo;
            0    2     5       nc  Landroid/net/NetworkCapabilities;
            0    2     6       lp  Landroid/net/LinkProperties;
            0    2     7    score  I
    MethodParameters:
         Name  Flags
      looper   
      context  
      logTag   
      ni       
      nc       
      lp       
      score    

  public void <init>(android.os.Looper, android.content.Context, java.lang.String, android.net.NetworkInfo, android.net.NetworkCapabilities, android.net.LinkProperties, int, android.net.NetworkMisc);
    descriptor: (Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=9
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Looper looper
        start local 2 // android.content.Context context
        start local 3 // java.lang.String logTag
        start local 4 // android.net.NetworkInfo ni
        start local 5 // android.net.NetworkCapabilities nc
        start local 6 // android.net.LinkProperties lp
        start local 7 // int score
        start local 8 // android.net.NetworkMisc misc
         0: .line 201
            aload 0 /* this */
            aload 1 /* looper */
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
         1: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
         2: .line 55
            aload 0 /* this */
            lconst_0
            putfield android.net.NetworkAgent.mLastBwRefreshTime:J
         3: .line 57
            aload 0 /* this */
            iconst_0
            putfield android.net.NetworkAgent.mPollLceScheduled:Z
         4: .line 58
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield android.net.NetworkAgent.mPollLcePending:Ljava/util/concurrent/atomic/AtomicBoolean;
         5: .line 202
            aload 0 /* this */
            aload 3 /* logTag */
            putfield android.net.NetworkAgent.LOG_TAG:Ljava/lang/String;
         6: .line 203
            aload 0 /* this */
            aload 2 /* context */
            putfield android.net.NetworkAgent.mContext:Landroid/content/Context;
         7: .line 204
            aload 4 /* ni */
            ifnull 8
            aload 5 /* nc */
            ifnull 8
            aload 6 /* lp */
            ifnonnull 9
         8: .line 205
      StackMap locals: android.net.NetworkAgent android.os.Looper android.content.Context java.lang.String android.net.NetworkInfo android.net.NetworkCapabilities android.net.LinkProperties int android.net.NetworkMisc
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         9: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.NetworkAgent.mContext:Landroid/content/Context;
        10: .line 210
            ldc "connectivity"
        11: .line 209
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.net.ConnectivityManager
            astore 9 /* cm */
        start local 9 // android.net.ConnectivityManager cm
        12: .line 211
            aload 0 /* this */
            aload 9 /* cm */
            new android.os.Messenger
            dup
            aload 0 /* this */
            invokespecial android.os.Messenger.<init>:(Landroid/os/Handler;)V
            new android.net.NetworkInfo
            dup
            aload 4 /* ni */
            invokespecial android.net.NetworkInfo.<init>:(Landroid/net/NetworkInfo;)V
        13: .line 212
            new android.net.LinkProperties
            dup
            aload 6 /* lp */
            invokespecial android.net.LinkProperties.<init>:(Landroid/net/LinkProperties;)V
            new android.net.NetworkCapabilities
            dup
            aload 5 /* nc */
            invokespecial android.net.NetworkCapabilities.<init>:(Landroid/net/NetworkCapabilities;)V
            iload 7 /* score */
            aload 8 /* misc */
        14: .line 211
            invokevirtual android.net.ConnectivityManager.registerNetworkAgent:(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
            putfield android.net.NetworkAgent.netId:I
        15: .line 213
            return
        end local 9 // android.net.ConnectivityManager cm
        end local 8 // android.net.NetworkMisc misc
        end local 7 // int score
        end local 6 // android.net.LinkProperties lp
        end local 5 // android.net.NetworkCapabilities nc
        end local 4 // android.net.NetworkInfo ni
        end local 3 // java.lang.String logTag
        end local 2 // android.content.Context context
        end local 1 // android.os.Looper looper
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Landroid/net/NetworkAgent;
            0   16     1   looper  Landroid/os/Looper;
            0   16     2  context  Landroid/content/Context;
            0   16     3   logTag  Ljava/lang/String;
            0   16     4       ni  Landroid/net/NetworkInfo;
            0   16     5       nc  Landroid/net/NetworkCapabilities;
            0   16     6       lp  Landroid/net/LinkProperties;
            0   16     7    score  I
            0   16     8     misc  Landroid/net/NetworkMisc;
           12   16     9       cm  Landroid/net/ConnectivityManager;
    MethodParameters:
         Name  Flags
      looper   
      context  
      logTag   
      ni       
      nc       
      lp       
      score    
      misc     

  public void handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Message msg
         0: .line 217
            aload 1 /* msg */
            getfield android.os.Message.what:I
            lookupswitch { // 11
                69633: 1
                69635: 20
                69636: 22
               528384: 30
               528391: 48
               528393: 51
               528394: 32
               528395: 55
               528396: 57
               528398: 59
               528399: 71
              default: 72
          }
         1: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
            ifnull 4
         2: .line 220
            aload 0 /* this */
            ldc "Received new connection while already connected!"
            invokevirtual android.net.NetworkAgent.log:(Ljava/lang/String;)V
         3: .line 221
            goto 72
         4: .line 223
      StackMap locals:
      StackMap stack:
            new com.android.internal.util.AsyncChannel
            dup
            invokespecial com.android.internal.util.AsyncChannel.<init>:()V
            astore 2 /* ac */
        start local 2 // com.android.internal.util.AsyncChannel ac
         5: .line 224
            aload 2 /* ac */
            aconst_null
            aload 0 /* this */
            aload 1 /* msg */
            getfield android.os.Message.replyTo:Landroid/os/Messenger;
            invokevirtual com.android.internal.util.AsyncChannel.connected:(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
         6: .line 225
            aload 2 /* ac */
            aload 1 /* msg */
            ldc 69634
         7: .line 226
            iconst_0
         8: .line 225
            invokevirtual com.android.internal.util.AsyncChannel.replyToMessage:(Landroid/os/Message;II)V
         9: .line 227
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            dup
            astore 3
            monitorenter
        10: .line 228
            aload 0 /* this */
            aload 2 /* ac */
            putfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
        11: .line 229
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: android.net.NetworkAgent android.os.Message com.android.internal.util.AsyncChannel java.util.ArrayList top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.os.Message
            astore 4 /* m */
        start local 4 // android.os.Message m
        13: .line 230
            aload 2 /* ac */
            aload 4 /* m */
            invokevirtual com.android.internal.util.AsyncChannel.sendMessage:(Landroid/os/Message;)V
        end local 4 // android.os.Message m
        14: .line 229
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 232
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        16: .line 227
            aload 3
            monitorexit
        17: goto 72
      StackMap locals: android.net.NetworkAgent android.os.Message com.android.internal.util.AsyncChannel java.util.ArrayList
      StackMap stack: java.lang.Throwable
        18: aload 3
            monitorexit
        19: athrow
        end local 2 // com.android.internal.util.AsyncChannel ac
        20: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
            ifnull 72
            aload 0 /* this */
            getfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
            invokevirtual com.android.internal.util.AsyncChannel.disconnect:()V
        21: .line 240
            goto 72
        22: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "NetworkAgent channel lost"
            invokevirtual android.net.NetworkAgent.log:(Ljava/lang/String;)V
        23: .line 245
            aload 0 /* this */
            invokevirtual android.net.NetworkAgent.unwanted:()V
        24: .line 246
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
        25: .line 247
            aload 0 /* this */
            aconst_null
            putfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
        26: .line 246
            aload 2
            monitorexit
        27: goto 72
      StackMap locals: android.net.NetworkAgent android.os.Message java.util.ArrayList
      StackMap stack: java.lang.Throwable
        28: aload 2
            monitorexit
        29: athrow
        30: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Unhandled Message "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual android.net.NetworkAgent.log:(Ljava/lang/String;)V
        31: .line 253
            goto 72
        32: .line 256
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* currentTimeMs */
        start local 2 // long currentTimeMs
        33: .line 260
            lload 2 /* currentTimeMs */
            aload 0 /* this */
            getfield android.net.NetworkAgent.mLastBwRefreshTime:J
            ldc 500
            ladd
            lcmp
            iflt 38
        34: .line 261
            aload 0 /* this */
            iconst_0
            putfield android.net.NetworkAgent.mPollLceScheduled:Z
        35: .line 262
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPollLcePending:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ifne 72
        36: .line 263
            aload 0 /* this */
            invokevirtual android.net.NetworkAgent.pollLceData:()V
        37: .line 265
            goto 72
        38: .line 267
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPollLceScheduled:Z
            ifne 72
        39: .line 268
            aload 0 /* this */
            getfield android.net.NetworkAgent.mLastBwRefreshTime:J
            ldc 500
            ladd
        40: .line 269
            lload 2 /* currentTimeMs */
        41: .line 268
            lsub
        42: .line 269
            lconst_1
        43: .line 268
            ladd
            lstore 4 /* waitTime */
        start local 4 // long waitTime
        44: .line 270
            aload 0 /* this */
            aload 0 /* this */
        45: .line 271
            ldc 528394
            lload 4 /* waitTime */
        46: .line 270
            invokevirtual android.net.NetworkAgent.sendEmptyMessageDelayed:(IJ)Z
            putfield android.net.NetworkAgent.mPollLceScheduled:Z
        end local 4 // long waitTime
        47: .line 274
            goto 72
        end local 2 // long currentTimeMs
        48: .line 277
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.Bundle
            getstatic android.net.NetworkAgent.REDIRECT_URL_KEY:Ljava/lang/String;
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* redirectUrl */
        start local 2 // java.lang.String redirectUrl
        49: .line 282
            aload 0 /* this */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 2 /* redirectUrl */
            invokevirtual android.net.NetworkAgent.networkStatus:(ILjava/lang/String;)V
        50: .line 283
            goto 72
        end local 2 // java.lang.String redirectUrl
        51: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            ifeq 52
            iconst_1
            goto 53
      StackMap locals:
      StackMap stack: android.net.NetworkAgent
        52: iconst_0
      StackMap locals: android.net.NetworkAgent android.os.Message
      StackMap stack: android.net.NetworkAgent int
        53: invokevirtual android.net.NetworkAgent.saveAcceptUnvalidated:(Z)V
        54: .line 287
            goto 72
        55: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual android.net.NetworkAgent.startPacketKeepalive:(Landroid/os/Message;)V
        56: .line 291
            goto 72
        57: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual android.net.NetworkAgent.stopPacketKeepalive:(Landroid/os/Message;)V
        58: .line 295
            goto 72
        59: .line 300
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.Bundle
            ldc "thresholds"
            invokevirtual android.os.Bundle.getIntegerArrayList:(Ljava/lang/String;)Ljava/util/ArrayList;
        60: .line 299
            astore 2 /* thresholds */
        start local 2 // java.util.ArrayList thresholds
        61: .line 303
            aload 2 /* thresholds */
            ifnull 62
            aload 2 /* thresholds */
            invokevirtual java.util.ArrayList.size:()I
            goto 63
      StackMap locals: java.util.ArrayList
      StackMap stack:
        62: iconst_0
      StackMap locals:
      StackMap stack: int
        63: newarray 10
            astore 3 /* intThresholds */
        start local 3 // int[] intThresholds
        64: .line 304
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        65: goto 68
        66: .line 305
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* intThresholds */
            iload 4 /* i */
            aload 2 /* thresholds */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        67: .line 304
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 4 /* i */
            aload 3 /* intThresholds */
            arraylength
            if_icmplt 66
        end local 4 // int i
        69: .line 307
            aload 0 /* this */
            aload 3 /* intThresholds */
            invokevirtual android.net.NetworkAgent.setSignalStrengthThresholds:([I)V
        70: .line 308
            goto 72
        end local 3 // int[] intThresholds
        end local 2 // java.util.ArrayList thresholds
        71: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.net.NetworkAgent.preventAutomaticReconnect:()V
        72: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.Message msg
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   73     0           this  Landroid/net/NetworkAgent;
            0   73     1            msg  Landroid/os/Message;
            5   20     2             ac  Lcom/android/internal/util/AsyncChannel;
           13   14     4              m  Landroid/os/Message;
           33   48     2  currentTimeMs  J
           44   47     4       waitTime  J
           49   51     2    redirectUrl  Ljava/lang/String;
           61   71     2     thresholds  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           64   71     3  intThresholds  [I
           65   69     4              i  I
      Exception table:
        from    to  target  type
          10    17      18  any
          18    19      18  any
          25    27      28  any
          28    29      28  any
    MethodParameters:
      Name  Flags
      msg   

  private void queueOrSendMessage(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.net.NetworkAgent this
        start local 1 // int what
        start local 2 // java.lang.Object obj
         0: .line 318
            aload 0 /* this */
            iload 1 /* what */
            iconst_0
            iconst_0
            aload 2 /* obj */
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(IIILjava/lang/Object;)V
         1: .line 319
            return
        end local 2 // java.lang.Object obj
        end local 1 // int what
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/NetworkAgent;
            0    2     1  what  I
            0    2     2   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      what  
      obj   

  private void queueOrSendMessage(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.net.NetworkAgent this
        start local 1 // int what
        start local 2 // int arg1
        start local 3 // int arg2
         0: .line 322
            aload 0 /* this */
            iload 1 /* what */
            iload 2 /* arg1 */
            iload 3 /* arg2 */
            aconst_null
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(IIILjava/lang/Object;)V
         1: .line 323
            return
        end local 3 // int arg2
        end local 2 // int arg1
        end local 1 // int what
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/NetworkAgent;
            0    2     1  what  I
            0    2     2  arg1  I
            0    2     3  arg2  I
    MethodParameters:
      Name  Flags
      what  
      arg1  
      arg2  

  private void queueOrSendMessage(int, int, int, java.lang.Object);
    descriptor: (IIILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // android.net.NetworkAgent this
        start local 1 // int what
        start local 2 // int arg1
        start local 3 // int arg2
        start local 4 // java.lang.Object obj
         0: .line 326
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 5 /* msg */
        start local 5 // android.os.Message msg
         1: .line 327
            aload 5 /* msg */
            iload 1 /* what */
            putfield android.os.Message.what:I
         2: .line 328
            aload 5 /* msg */
            iload 2 /* arg1 */
            putfield android.os.Message.arg1:I
         3: .line 329
            aload 5 /* msg */
            iload 3 /* arg2 */
            putfield android.os.Message.arg2:I
         4: .line 330
            aload 5 /* msg */
            aload 4 /* obj */
            putfield android.os.Message.obj:Ljava/lang/Object;
         5: .line 331
            aload 0 /* this */
            aload 5 /* msg */
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(Landroid/os/Message;)V
         6: .line 332
            return
        end local 5 // android.os.Message msg
        end local 4 // java.lang.Object obj
        end local 3 // int arg2
        end local 2 // int arg1
        end local 1 // int what
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/net/NetworkAgent;
            0    7     1  what  I
            0    7     2  arg1  I
            0    7     3  arg2  I
            0    7     4   obj  Ljava/lang/Object;
            1    7     5   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      what  
      arg1  
      arg2  
      obj   

  private void queueOrSendMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Message msg
         0: .line 335
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 336
            aload 0 /* this */
            getfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
            ifnull 4
         2: .line 337
            aload 0 /* this */
            getfield android.net.NetworkAgent.mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
            aload 1 /* msg */
            invokevirtual com.android.internal.util.AsyncChannel.sendMessage:(Landroid/os/Message;)V
         3: .line 338
            goto 5
         4: .line 339
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPreConnectedQueue:Ljava/util/ArrayList;
            aload 1 /* msg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 335
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.Message msg
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/net/NetworkAgent;
            0   10     1   msg  Landroid/os/Message;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      msg   

  public void sendLinkProperties(android.net.LinkProperties);
    descriptor: (Landroid/net/LinkProperties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.net.LinkProperties linkProperties
         0: .line 348
            aload 0 /* this */
            ldc 528387
            new android.net.LinkProperties
            dup
            aload 1 /* linkProperties */
            invokespecial android.net.LinkProperties.<init>:(Landroid/net/LinkProperties;)V
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(ILjava/lang/Object;)V
         1: .line 349
            return
        end local 1 // android.net.LinkProperties linkProperties
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/net/NetworkAgent;
            0    2     1  linkProperties  Landroid/net/LinkProperties;
    MethodParameters:
                Name  Flags
      linkProperties  

  public void sendNetworkInfo(android.net.NetworkInfo);
    descriptor: (Landroid/net/NetworkInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.net.NetworkInfo networkInfo
         0: .line 355
            aload 0 /* this */
            ldc 528385
            new android.net.NetworkInfo
            dup
            aload 1 /* networkInfo */
            invokespecial android.net.NetworkInfo.<init>:(Landroid/net/NetworkInfo;)V
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(ILjava/lang/Object;)V
         1: .line 356
            return
        end local 1 // android.net.NetworkInfo networkInfo
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/net/NetworkAgent;
            0    2     1  networkInfo  Landroid/net/NetworkInfo;
    MethodParameters:
             Name  Flags
      networkInfo  

  public void sendNetworkCapabilities(android.net.NetworkCapabilities);
    descriptor: (Landroid/net/NetworkCapabilities;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.net.NetworkCapabilities networkCapabilities
         0: .line 362
            aload 0 /* this */
            getfield android.net.NetworkAgent.mPollLcePending:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         1: .line 363
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield android.net.NetworkAgent.mLastBwRefreshTime:J
         2: .line 364
            aload 0 /* this */
            ldc 528386
         3: .line 365
            new android.net.NetworkCapabilities
            dup
            aload 1 /* networkCapabilities */
            invokespecial android.net.NetworkCapabilities.<init>:(Landroid/net/NetworkCapabilities;)V
         4: .line 364
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(ILjava/lang/Object;)V
         5: .line 366
            return
        end local 1 // android.net.NetworkCapabilities networkCapabilities
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Landroid/net/NetworkAgent;
            0    6     1  networkCapabilities  Landroid/net/NetworkCapabilities;
    MethodParameters:
                     Name  Flags
      networkCapabilities  

  public void sendNetworkScore(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // int score
         0: .line 372
            iload 1 /* score */
            ifge 2
         1: .line 373
            new java.lang.IllegalArgumentException
            dup
            ldc "Score must be >= 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 528388
            new java.lang.Integer
            dup
            iload 1 /* score */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(ILjava/lang/Object;)V
         3: .line 376
            return
        end local 1 // int score
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/net/NetworkAgent;
            0    4     1  score  I
    MethodParameters:
       Name  Flags
      score  

  public void explicitlySelected(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // boolean acceptUnvalidated
         0: .line 390
            aload 0 /* this */
            ldc 528392
            iload 1 /* acceptUnvalidated */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(ILjava/lang/Object;)V
         1: .line 391
            return
        end local 1 // boolean acceptUnvalidated
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Landroid/net/NetworkAgent;
            0    2     1  acceptUnvalidated  Z
    MethodParameters:
                   Name  Flags
      acceptUnvalidated  

  protected abstract void unwanted();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void pollLceData();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.net.NetworkAgent this
         0: .line 406
            return
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/NetworkAgent;

  protected void networkStatus(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // android.net.NetworkAgent this
        start local 1 // int status
        start local 2 // java.lang.String redirectUrl
         0: .line 428
            return
        end local 2 // java.lang.String redirectUrl
        end local 1 // int status
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/net/NetworkAgent;
            0    1     1       status  I
            0    1     2  redirectUrl  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      status       
      redirectUrl  

  protected void saveAcceptUnvalidated(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // boolean accept
         0: .line 438
            return
        end local 1 // boolean accept
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/net/NetworkAgent;
            0    1     1  accept  Z
    MethodParameters:
        Name  Flags
      accept  

  protected void startPacketKeepalive(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Message msg
         0: .line 444
            aload 0 /* this */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            bipush -30
            invokevirtual android.net.NetworkAgent.onPacketKeepaliveEvent:(II)V
         1: .line 445
            return
        end local 1 // android.os.Message msg
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/NetworkAgent;
            0    2     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  protected void stopPacketKeepalive(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // android.os.Message msg
         0: .line 451
            aload 0 /* this */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            bipush -30
            invokevirtual android.net.NetworkAgent.onPacketKeepaliveEvent:(II)V
         1: .line 452
            return
        end local 1 // android.os.Message msg
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/NetworkAgent;
            0    2     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  public void onPacketKeepaliveEvent(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.net.NetworkAgent this
        start local 1 // int slot
        start local 2 // int reason
         0: .line 458
            aload 0 /* this */
            ldc 528397
            iload 1 /* slot */
            iload 2 /* reason */
            invokevirtual android.net.NetworkAgent.queueOrSendMessage:(III)V
         1: .line 459
            return
        end local 2 // int reason
        end local 1 // int slot
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/net/NetworkAgent;
            0    2     1    slot  I
            0    2     2  reason  I
    MethodParameters:
        Name  Flags
      slot    
      reason  

  protected void setSignalStrengthThresholds(int[]);
    descriptor: ([I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // int[] thresholds
         0: .line 466
            return
        end local 1 // int[] thresholds
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/net/NetworkAgent;
            0    1     1  thresholds  [I
    MethodParameters:
            Name  Flags
      thresholds  

  protected void preventAutomaticReconnect();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.net.NetworkAgent this
         0: .line 475
            return
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/NetworkAgent;

  protected void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.net.NetworkAgent this
        start local 1 // java.lang.String s
         0: .line 478
            aload 0 /* this */
            getfield android.net.NetworkAgent.LOG_TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "NetworkAgent: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 479
            return
        end local 1 // java.lang.String s
        end local 0 // android.net.NetworkAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/NetworkAgent;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "NetworkAgent.java"