public class android.net.wifi.WifiNetworkScoreCache extends android.net.INetworkScoreCache$Stub
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.wifi.WifiNetworkScoreCache
  super_class: android.net.INetworkScoreCache$Stub
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "WifiNetworkScoreCache"

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

  public static final int INVALID_NETWORK_SCORE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -128

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

  private android.net.wifi.WifiNetworkScoreCache$CacheListener mListener;
    descriptor: Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
    flags: (0x0002) ACC_PRIVATE
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")

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

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

  private final android.util.LruCache<java.lang.String, android.net.ScoredNetwork> mCache;
    descriptor: Landroid/util/LruCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/LruCache<Ljava/lang/String;Landroid/net/ScoredNetwork;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            ldc "WifiNetworkScoreCache"
            iconst_3
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            putstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
         1: .line 53
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.content.Context context
         0: .line 69
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.net.wifi.WifiNetworkScoreCache.<init>:(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
         1: .line 70
            return
        end local 1 // android.content.Context context
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    2     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, android.net.wifi.WifiNetworkScoreCache$CacheListener);
    descriptor: (Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.content.Context context
        start local 2 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
         0: .line 79
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* listener */
            bipush 100
            invokespecial android.net.wifi.WifiNetworkScoreCache.<init>:(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;I)V
         1: .line 80
            return
        end local 2 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
        end local 1 // android.content.Context context
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    2     1   context  Landroid/content/Context;
            0    2     2  listener  Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
    MethodParameters:
          Name  Flags
      context   
      listener  

  public void <init>(android.content.Context, android.net.wifi.WifiNetworkScoreCache$CacheListener, int);
    descriptor: (Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.content.Context context
        start local 2 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
        start local 3 // int maxCacheSize
         0: .line 82
            aload 0 /* this */
            invokespecial android.net.INetworkScoreCache$Stub.<init>:()V
         1: .line 61
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
         2: .line 84
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getApplicationContext:()Landroid/content/Context;
            putfield android.net.wifi.WifiNetworkScoreCache.mContext:Landroid/content/Context;
         3: .line 85
            aload 0 /* this */
            aload 2 /* listener */
            putfield android.net.wifi.WifiNetworkScoreCache.mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
         4: .line 86
            aload 0 /* this */
            new android.util.LruCache
            dup
            iload 3 /* maxCacheSize */
            invokespecial android.util.LruCache.<init>:(I)V
            putfield android.net.wifi.WifiNetworkScoreCache.mCache:Landroid/util/LruCache;
         5: .line 87
            return
        end local 3 // int maxCacheSize
        end local 2 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
        end local 1 // android.content.Context context
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    6     1       context  Landroid/content/Context;
            0    6     2      listener  Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
            0    6     3  maxCacheSize  I
    MethodParameters:
              Name  Flags
      context       
      listener      
      maxCacheSize  

  public final void updateScores(java.util.List<android.net.ScoredNetwork>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // java.util.List networks
         0: .line 90
            aload 1 /* networks */
            ifnull 1
            aload 1 /* networks */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 91
      StackMap locals:
      StackMap stack:
            return
         2: .line 93
      StackMap locals:
      StackMap stack:
            getstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
            ifeq 4
         3: .line 94
            ldc "WifiNetworkScoreCache"
            new java.lang.StringBuilder
            dup
            ldc "updateScores list size="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* networks */
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* changed */
        start local 2 // boolean changed
         5: .line 99
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         6: .line 100
            aload 1 /* networks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.util.List int java.lang.Object top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.net.ScoredNetwork
            astore 4 /* network */
        start local 4 // android.net.ScoredNetwork network
         8: .line 101
            aload 0 /* this */
            aload 4 /* network */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.buildNetworkKey:(Landroid/net/ScoredNetwork;)Ljava/lang/String;
            astore 6 /* networkKey */
        start local 6 // java.lang.String networkKey
         9: .line 102
            aload 6 /* networkKey */
            ifnonnull 13
        10: .line 103
            getstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
            ifeq 15
        11: .line 104
            ldc "WifiNetworkScoreCache"
            new java.lang.StringBuilder
            dup
            ldc "Failed to build network key for ScoredNetwork"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* network */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        12: .line 106
            goto 15
        13: .line 108
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.util.List int java.lang.Object android.net.ScoredNetwork java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mCache:Landroid/util/LruCache;
            aload 6 /* networkKey */
            aload 4 /* network */
            invokevirtual android.util.LruCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 109
            iconst_1
            istore 2 /* changed */
        end local 6 // java.lang.String networkKey
        end local 4 // android.net.ScoredNetwork network
        15: .line 100
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.util.List int java.lang.Object top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        16: .line 112
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
            ifnull 18
            iload 2 /* changed */
            ifeq 18
        17: .line 113
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
            aload 1 /* networks */
            invokevirtual android.net.wifi.WifiNetworkScoreCache$CacheListener.post:(Ljava/util/List;)V
        18: .line 99
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.util.List int java.lang.Object
      StackMap stack:
            aload 3
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 3
            monitorexit
        21: athrow
        22: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean changed
        end local 1 // java.util.List networks
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Landroid/net/wifi/WifiNetworkScoreCache;
            0   23     1    networks  Ljava/util/List<Landroid/net/ScoredNetwork;>;
            5   23     2     changed  Z
            8   15     4     network  Landroid/net/ScoredNetwork;
            9   15     6  networkKey  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6    19      20  any
          20    21      20  any
    Signature: (Ljava/util/List<Landroid/net/ScoredNetwork;>;)V
    MethodParameters:
          Name  Flags
      networks  

  public final void clearScores();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
         0: .line 119
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 120
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mCache:Landroid/util/LruCache;
            invokevirtual android.util.LruCache.evictAll:()V
         2: .line 119
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/net/wifi/WifiNetworkScoreCache;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public boolean isScoredNetwork(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 131
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.getScoredNetwork:(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    2     1  result  Landroid/net/wifi/ScanResult;
    MethodParameters:
        Name  Flags
      result  

  public boolean hasScoreCurve(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 141
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.getScoredNetwork:(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
            astore 2 /* network */
        start local 2 // android.net.ScoredNetwork network
         1: .line 142
            aload 2 /* network */
            ifnull 2
            aload 2 /* network */
            getfield android.net.ScoredNetwork.rssiCurve:Landroid/net/RssiCurve;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals: android.net.ScoredNetwork
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // android.net.ScoredNetwork network
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    3     1   result  Landroid/net/wifi/ScanResult;
            1    3     2  network  Landroid/net/ScoredNetwork;
    MethodParameters:
        Name  Flags
      result  

  public int getNetworkScore(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 146
            bipush -128
            istore 2 /* score */
        start local 2 // int score
         1: .line 148
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.getScoredNetwork:(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
            astore 3 /* network */
        start local 3 // android.net.ScoredNetwork network
         2: .line 149
            aload 3 /* network */
            ifnull 9
            aload 3 /* network */
            getfield android.net.ScoredNetwork.rssiCurve:Landroid/net/RssiCurve;
            ifnull 9
         3: .line 150
            aload 3 /* network */
            getfield android.net.ScoredNetwork.rssiCurve:Landroid/net/RssiCurve;
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.level:I
            invokevirtual android.net.RssiCurve.lookupScore:(I)B
            istore 2 /* score */
         4: .line 151
            getstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
            ifeq 9
         5: .line 152
            ldc "WifiNetworkScoreCache"
            new java.lang.StringBuilder
            dup
            ldc "getNetworkScore found scored network "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* network */
            getfield android.net.ScoredNetwork.networkKey:Landroid/net/NetworkKey;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 153
            ldc " score "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* score */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 154
            ldc " RSSI "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.level:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 152
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 157
      StackMap locals: int android.net.ScoredNetwork
      StackMap stack:
            iload 2 /* score */
            ireturn
        end local 3 // android.net.ScoredNetwork network
        end local 2 // int score
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0   10     1   result  Landroid/net/wifi/ScanResult;
            1   10     2    score  I
            2   10     3  network  Landroid/net/ScoredNetwork;
    MethodParameters:
        Name  Flags
      result  

  public boolean getMeteredHint(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 166
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.getScoredNetwork:(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
            astore 2 /* network */
        start local 2 // android.net.ScoredNetwork network
         1: .line 167
            aload 2 /* network */
            ifnull 2
            aload 2 /* network */
            getfield android.net.ScoredNetwork.meteredHint:Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: android.net.ScoredNetwork
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // android.net.ScoredNetwork network
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    3     1   result  Landroid/net/wifi/ScanResult;
            1    3     2  network  Landroid/net/ScoredNetwork;
    MethodParameters:
        Name  Flags
      result  

  public int getNetworkScore(android.net.wifi.ScanResult, boolean);
    descriptor: (Landroid/net/wifi/ScanResult;Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
        start local 2 // boolean isActiveNetwork
         0: .line 171
            bipush -128
            istore 3 /* score */
        start local 3 // int score
         1: .line 173
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.getScoredNetwork:(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
            astore 4 /* network */
        start local 4 // android.net.ScoredNetwork network
         2: .line 174
            aload 4 /* network */
            ifnull 10
            aload 4 /* network */
            getfield android.net.ScoredNetwork.rssiCurve:Landroid/net/RssiCurve;
            ifnull 10
         3: .line 175
            aload 4 /* network */
            getfield android.net.ScoredNetwork.rssiCurve:Landroid/net/RssiCurve;
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.level:I
            iload 2 /* isActiveNetwork */
            invokevirtual android.net.RssiCurve.lookupScore:(IZ)B
            istore 3 /* score */
         4: .line 176
            getstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
            ifeq 10
         5: .line 177
            ldc "WifiNetworkScoreCache"
            new java.lang.StringBuilder
            dup
            ldc "getNetworkScore found scored network "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* network */
            getfield android.net.ScoredNetwork.networkKey:Landroid/net/NetworkKey;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 178
            ldc " score "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* score */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 179
            ldc " RSSI "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.level:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 180
            ldc " isActiveNetwork "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* isActiveNetwork */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 177
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 183
      StackMap locals: int android.net.ScoredNetwork
      StackMap stack:
            iload 3 /* score */
            ireturn
        end local 4 // android.net.ScoredNetwork network
        end local 3 // int score
        end local 2 // boolean isActiveNetwork
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Landroid/net/wifi/WifiNetworkScoreCache;
            0   11     1           result  Landroid/net/wifi/ScanResult;
            0   11     2  isActiveNetwork  Z
            1   11     3            score  I
            2   11     4          network  Landroid/net/ScoredNetwork;
    MethodParameters:
                 Name  Flags
      result           
      isActiveNetwork  

  public android.net.ScoredNetwork getScoredNetwork(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 188
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.buildNetworkKey:(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 189
            aload 2 /* key */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 191
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 192
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mCache:Landroid/util/LruCache;
            aload 2 /* key */
            invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.net.ScoredNetwork
            astore 4 /* network */
        start local 4 // android.net.ScoredNetwork network
         4: .line 193
            aload 4 /* network */
            aload 3
            monitorexit
         5: areturn
        end local 4 // android.net.ScoredNetwork network
         6: .line 191
      StackMap locals: android.net.wifi.WifiNetworkScoreCache android.net.wifi.ScanResult java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         7: athrow
        end local 2 // java.lang.String key
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    8     1   result  Landroid/net/wifi/ScanResult;
            1    8     2      key  Ljava/lang/String;
            4    6     4  network  Landroid/net/ScoredNetwork;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      result  

  public android.net.ScoredNetwork getScoredNetwork(android.net.NetworkKey);
    descriptor: (Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.NetworkKey networkKey
         0: .line 200
            aload 0 /* this */
            aload 1 /* networkKey */
            invokevirtual android.net.wifi.WifiNetworkScoreCache.buildNetworkKey:(Landroid/net/NetworkKey;)Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 201
            aload 2 /* key */
            ifnonnull 5
         2: .line 202
            getstatic android.net.wifi.WifiNetworkScoreCache.DBG:Z
            ifeq 4
         3: .line 203
            ldc "WifiNetworkScoreCache"
            new java.lang.StringBuilder
            dup
            ldc "Could not build key string for Network Key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* networkKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 205
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            areturn
         5: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         6: .line 208
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mCache:Landroid/util/LruCache;
            aload 2 /* key */
            invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.net.ScoredNetwork
            aload 3
            monitorexit
         7: areturn
         8: .line 207
      StackMap locals: android.net.wifi.WifiNetworkScoreCache android.net.NetworkKey java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         9: athrow
        end local 2 // java.lang.String key
        end local 1 // android.net.NetworkKey networkKey
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/net/wifi/WifiNetworkScoreCache;
            0   10     1  networkKey  Landroid/net/NetworkKey;
            1   10     2         key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  any
           8     9       8  any
    MethodParameters:
            Name  Flags
      networkKey  

  private java.lang.String buildNetworkKey(android.net.ScoredNetwork);
    descriptor: (Landroid/net/ScoredNetwork;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.ScoredNetwork network
         0: .line 213
            aload 1 /* network */
            ifnonnull 2
         1: .line 214
            aconst_null
            areturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* network */
            getfield android.net.ScoredNetwork.networkKey:Landroid/net/NetworkKey;
            invokevirtual android.net.wifi.WifiNetworkScoreCache.buildNetworkKey:(Landroid/net/NetworkKey;)Ljava/lang/String;
            areturn
        end local 1 // android.net.ScoredNetwork network
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    3     1  network  Landroid/net/ScoredNetwork;
    MethodParameters:
         Name  Flags
      network  

  private java.lang.String buildNetworkKey(android.net.NetworkKey);
    descriptor: (Landroid/net/NetworkKey;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.NetworkKey networkKey
         0: .line 220
            aload 1 /* networkKey */
            ifnonnull 2
         1: .line 221
            aconst_null
            areturn
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* networkKey */
            getfield android.net.NetworkKey.wifiKey:Landroid/net/WifiKey;
            ifnonnull 3
            aconst_null
            areturn
         3: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* networkKey */
            getfield android.net.NetworkKey.type:I
            iconst_1
            if_icmpne 9
         4: .line 225
            aload 1 /* networkKey */
            getfield android.net.NetworkKey.wifiKey:Landroid/net/WifiKey;
            getfield android.net.WifiKey.ssid:Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         5: .line 226
            aload 2 /* key */
            ifnonnull 6
            aconst_null
            areturn
         6: .line 227
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* networkKey */
            getfield android.net.NetworkKey.wifiKey:Landroid/net/WifiKey;
            getfield android.net.WifiKey.bssid:Ljava/lang/String;
            ifnull 8
         7: .line 228
            new java.lang.StringBuilder
            dup
            aload 2 /* key */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* networkKey */
            getfield android.net.NetworkKey.wifiKey:Landroid/net/WifiKey;
            getfield android.net.WifiKey.bssid:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* key */
         8: .line 230
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            areturn
        end local 2 // java.lang.String key
         9: .line 232
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // android.net.NetworkKey networkKey
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/net/wifi/WifiNetworkScoreCache;
            0   10     1  networkKey  Landroid/net/NetworkKey;
            5    9     2         key  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      networkKey  

  private java.lang.String buildNetworkKey(android.net.wifi.ScanResult);
    descriptor: (Landroid/net/wifi/ScanResult;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.ScanResult result
         0: .line 236
            aload 1 /* result */
            ifnull 1
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.SSID:Ljava/lang/String;
            ifnonnull 2
         1: .line 237
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 239
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* key */
        start local 2 // java.lang.StringBuilder key
         3: .line 240
            aload 2 /* key */
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.SSID:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 241
            aload 2 /* key */
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 242
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.BSSID:Ljava/lang/String;
            ifnull 7
         6: .line 243
            aload 2 /* key */
            aload 1 /* result */
            getfield android.net.wifi.ScanResult.BSSID:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 245
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder key
        end local 1 // android.net.wifi.ScanResult result
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    8     1  result  Landroid/net/wifi/ScanResult;
            3    8     2     key  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      result  

  protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
         0: .line 249
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tpermission cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/wifi/WifiNetworkScoreCache;
    MethodParameters:
        Name  Flags
      fd      
      writer  
      args    

  public void registerListener(android.net.wifi.WifiNetworkScoreCache$CacheListener);
    descriptor: (Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
        start local 1 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
         0: .line 269
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 270
            aload 0 /* this */
            aload 1 /* listener */
            putfield android.net.wifi.WifiNetworkScoreCache.mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
         2: .line 269
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.net.wifi.WifiNetworkScoreCache android.net.wifi.WifiNetworkScoreCache$CacheListener java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 272
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.net.wifi.WifiNetworkScoreCache$CacheListener listener
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/net/wifi/WifiNetworkScoreCache;
            0    7     1  listener  Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      listener  

  public void unregisterListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.wifi.WifiNetworkScoreCache this
         0: .line 276
            aload 0 /* this */
            getfield android.net.wifi.WifiNetworkScoreCache.mLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 277
            aload 0 /* this */
            aconst_null
            putfield android.net.wifi.WifiNetworkScoreCache.mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
         2: .line 276
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: android.net.wifi.WifiNetworkScoreCache java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.net.wifi.WifiNetworkScoreCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/net/wifi/WifiNetworkScoreCache;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
}
SourceFile: "WifiNetworkScoreCache.java"
NestMembers:
  android.net.wifi.WifiNetworkScoreCache$CacheListener  android.net.wifi.WifiNetworkScoreCache$CacheListener$1
InnerClasses:
  public abstract Stub = android.net.INetworkScoreCache$Stub of android.net.INetworkScoreCache
  public abstract CacheListener = android.net.wifi.WifiNetworkScoreCache$CacheListener of android.net.wifi.WifiNetworkScoreCache