class com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler implements com.android.settingslib.bluetooth.BluetoothEventManager$Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler
  super_class: java.lang.Object
{
  final com.android.settingslib.bluetooth.BluetoothEventManager this$0;
    descriptor: Lcom/android/settingslib/bluetooth/BluetoothEventManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(com.android.settingslib.bluetooth.BluetoothEventManager);
    descriptor: (Lcom/android/settingslib/bluetooth/BluetoothEventManager;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
         0: .line 308
            aload 0 /* this */
            aload 1
            putfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/BluetoothEventManager$BondStateChangedHandler;
    MethodParameters:
        Name  Flags
      this$0  final

  public void onReceive(android.content.Context, android.content.Intent, android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/content/Context;Landroid/content/Intent;Landroid/bluetooth/BluetoothDevice;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
        start local 1 // android.content.Context context
        start local 2 // android.content.Intent intent
        start local 3 // android.bluetooth.BluetoothDevice device
         0: .line 311
            aload 3 /* device */
            ifnonnull 3
         1: .line 312
            ldc "BluetoothEventManager"
            ldc "ACTION_BOND_STATE_CHANGED with no EXTRA_DEVICE"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 313
            return
         3: .line 315
      StackMap locals:
      StackMap stack:
            aload 2 /* intent */
            ldc "android.bluetooth.device.extra.BOND_STATE"
         4: .line 316
            ldc -2147483648
         5: .line 315
            invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
            istore 4 /* bondState */
        start local 4 // int bondState
         6: .line 317
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            aload 3 /* device */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.findDevice:(Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 5 /* cachedDevice */
        start local 5 // com.android.settingslib.bluetooth.CachedBluetoothDevice cachedDevice
         7: .line 318
            aload 5 /* cachedDevice */
            ifnonnull 19
         8: .line 319
            ldc "BluetoothEventManager"
            new java.lang.StringBuilder
            dup
            ldc "CachedBluetoothDevice for device "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* device */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         9: .line 320
            ldc " not found, calling readPairedDevices()."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 319
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        11: .line 321
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            invokevirtual com.android.settingslib.bluetooth.BluetoothEventManager.readPairedDevices:()Z
            ifeq 13
        12: .line 322
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            aload 3 /* device */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.findDevice:(Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 5 /* cachedDevice */
        13: .line 325
      StackMap locals: int com.android.settingslib.bluetooth.CachedBluetoothDevice
      StackMap stack:
            aload 5 /* cachedDevice */
            ifnonnull 19
        14: .line 326
            ldc "BluetoothEventManager"
            new java.lang.StringBuilder
            dup
            ldc "Got bonding state changed for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* device */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        15: .line 327
            ldc ", but we have no record of that device."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 326
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        17: .line 329
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mLocalAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mProfileManager:Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
            aload 3 /* device */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.addDevice:(Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 5 /* cachedDevice */
        18: .line 330
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            aload 5 /* cachedDevice */
            invokevirtual com.android.settingslib.bluetooth.BluetoothEventManager.dispatchDeviceAdded:(Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;)V
        19: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mCallbacks:Ljava/util/Collection;
            dup
            astore 6
            monitorenter
        20: .line 335
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mCallbacks:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 23
      StackMap locals: com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler android.content.Context android.content.Intent android.bluetooth.BluetoothDevice int com.android.settingslib.bluetooth.CachedBluetoothDevice java.util.Collection top java.util.Iterator
      StackMap stack:
        21: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.android.settingslib.bluetooth.BluetoothCallback
            astore 7 /* callback */
        start local 7 // com.android.settingslib.bluetooth.BluetoothCallback callback
        22: .line 336
            aload 7 /* callback */
            aload 5 /* cachedDevice */
            iload 4 /* bondState */
            invokeinterface com.android.settingslib.bluetooth.BluetoothCallback.onDeviceBondStateChanged:(Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;I)V
        end local 7 // com.android.settingslib.bluetooth.BluetoothCallback callback
        23: .line 335
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 334
            aload 6
            monitorexit
        25: goto 28
      StackMap locals: com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler android.content.Context android.content.Intent android.bluetooth.BluetoothDevice int com.android.settingslib.bluetooth.CachedBluetoothDevice java.util.Collection
      StackMap stack: java.lang.Throwable
        26: aload 6
            monitorexit
        27: athrow
        28: .line 339
      StackMap locals:
      StackMap stack:
            aload 5 /* cachedDevice */
            iload 4 /* bondState */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.onBondingStateChanged:(I)V
        29: .line 341
            iload 4 /* bondState */
            bipush 10
            if_icmpne 36
        30: .line 343
            aload 5 /* cachedDevice */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.getHiSyncId:()J
            getstatic android.bluetooth.BluetoothHearingAid.HI_SYNC_ID_INVALID:J
            lcmp
            ifeq 32
        31: .line 344
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.this$0:Lcom/android/settingslib/bluetooth/BluetoothEventManager;
            getfield com.android.settingslib.bluetooth.BluetoothEventManager.mDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            aload 5 /* cachedDevice */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.onDeviceUnpaired:(Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;)V
        32: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* intent */
            ldc "android.bluetooth.device.extra.REASON"
        33: .line 347
            ldc -2147483648
        34: .line 346
            invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
            istore 6 /* reason */
        start local 6 // int reason
        35: .line 349
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* cachedDevice */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.getName:()Ljava/lang/String;
            iload 6 /* reason */
            invokevirtual com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler.showUnbondMessage:(Landroid/content/Context;Ljava/lang/String;I)V
        end local 6 // int reason
        36: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.android.settingslib.bluetooth.CachedBluetoothDevice cachedDevice
        end local 4 // int bondState
        end local 3 // android.bluetooth.BluetoothDevice device
        end local 2 // android.content.Intent intent
        end local 1 // android.content.Context context
        end local 0 // com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lcom/android/settingslib/bluetooth/BluetoothEventManager$BondStateChangedHandler;
            0   37     1       context  Landroid/content/Context;
            0   37     2        intent  Landroid/content/Intent;
            0   37     3        device  Landroid/bluetooth/BluetoothDevice;
            6   37     4     bondState  I
            7   37     5  cachedDevice  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
           22   23     7      callback  Lcom/android/settingslib/bluetooth/BluetoothCallback;
           35   36     6        reason  I
      Exception table:
        from    to  target  type
          20    25      26  any
          26    27      26  any
    MethodParameters:
         Name  Flags
      context  
      intent   
      device   

  private void showUnbondMessage(android.content.Context, java.lang.String, int);
    descriptor: (Landroid/content/Context;Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
         0: .line 364
            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\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.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/BluetoothEventManager$BondStateChangedHandler;
    MethodParameters:
         Name  Flags
      context  
      name     
      reason   
}
SourceFile: "BluetoothEventManager.java"
NestHost: com.android.settingslib.bluetooth.BluetoothEventManager
InnerClasses:
  private BondStateChangedHandler = com.android.settingslib.bluetooth.BluetoothEventManager$BondStateChangedHandler of com.android.settingslib.bluetooth.BluetoothEventManager
  abstract Handler = com.android.settingslib.bluetooth.BluetoothEventManager$Handler of com.android.settingslib.bluetooth.BluetoothEventManager