public class com.android.settingslib.bluetooth.HeadsetProfile implements com.android.settingslib.bluetooth.LocalBluetoothProfile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.settingslib.bluetooth.HeadsetProfile
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "HeadsetProfile"

  private static boolean V;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private android.bluetooth.BluetoothHeadset mService;
    descriptor: Landroid/bluetooth/BluetoothHeadset;
    flags: (0x0002) ACC_PRIVATE

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

  private final com.android.settingslib.bluetooth.LocalBluetoothAdapter mLocalAdapter;
    descriptor: Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.android.settingslib.bluetooth.CachedBluetoothDeviceManager mDeviceManager;
    descriptor: Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.android.settingslib.bluetooth.LocalBluetoothProfileManager mProfileManager;
    descriptor: Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final android.os.ParcelUuid[] UUIDS;
    descriptor: [Landroid/os/ParcelUuid;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "HEADSET"

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 39
            iconst_1
            putstatic com.android.settingslib.bluetooth.HeadsetProfile.V:Z
         1: .line 48
            iconst_2
            anewarray android.os.ParcelUuid
            dup
            iconst_0
         2: .line 49
            getstatic android.bluetooth.BluetoothUuid.HSP:Landroid/os/ParcelUuid;
            aastore
            dup
            iconst_1
         3: .line 50
            getstatic android.bluetooth.BluetoothUuid.Handsfree:Landroid/os/ParcelUuid;
            aastore
         4: .line 48
            putstatic com.android.settingslib.bluetooth.HeadsetProfile.UUIDS:[Landroid/os/ParcelUuid;
         5: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isProfileReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 92
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mIsProfileReady:Z
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public int getProfileId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 97
            iconst_1
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  void <init>(android.content.Context, com.android.settingslib.bluetooth.LocalBluetoothAdapter, com.android.settingslib.bluetooth.CachedBluetoothDeviceManager, com.android.settingslib.bluetooth.LocalBluetoothProfileManager);
    descriptor: (Landroid/content/Context;Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.content.Context context
        start local 2 // com.android.settingslib.bluetooth.LocalBluetoothAdapter adapter
        start local 3 // com.android.settingslib.bluetooth.CachedBluetoothDeviceManager deviceManager
        start local 4 // com.android.settingslib.bluetooth.LocalBluetoothProfileManager profileManager
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            aload 2 /* adapter */
            putfield com.android.settingslib.bluetooth.HeadsetProfile.mLocalAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
         2: .line 104
            aload 0 /* this */
            aload 3 /* deviceManager */
            putfield com.android.settingslib.bluetooth.HeadsetProfile.mDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
         3: .line 105
            aload 0 /* this */
            aload 4 /* profileManager */
            putfield com.android.settingslib.bluetooth.HeadsetProfile.mProfileManager:Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
         4: .line 106
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mLocalAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            aload 1 /* context */
            new com.android.settingslib.bluetooth.HeadsetProfile$HeadsetServiceListener
            dup
            aload 0 /* this */
            invokespecial com.android.settingslib.bluetooth.HeadsetProfile$HeadsetServiceListener.<init>:(Lcom/android/settingslib/bluetooth/HeadsetProfile;)V
         5: .line 107
            iconst_1
         6: .line 106
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.getProfileProxy:(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)V
         7: .line 108
            return
        end local 4 // com.android.settingslib.bluetooth.LocalBluetoothProfileManager profileManager
        end local 3 // com.android.settingslib.bluetooth.CachedBluetoothDeviceManager deviceManager
        end local 2 // com.android.settingslib.bluetooth.LocalBluetoothAdapter adapter
        end local 1 // android.content.Context context
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    8     1         context  Landroid/content/Context;
            0    8     2         adapter  Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            0    8     3   deviceManager  Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            0    8     4  profileManager  Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
    MethodParameters:
                Name  Flags
      context         
      adapter         
      deviceManager   
      profileManager  

  public boolean isConnectable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 111
            iconst_1
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public boolean isAutoConnectable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 115
            iconst_1
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public boolean connect(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 119
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            invokevirtual android.bluetooth.BluetoothHeadset.getConnectedDevices:()Ljava/util/List;
            astore 2 /* sinks */
        start local 2 // java.util.List sinks
         2: .line 121
            aload 2 /* sinks */
            ifnull 7
         3: .line 122
            aload 2 /* sinks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.bluetooth.BluetoothDevice
            astore 3 /* sink */
        start local 3 // android.bluetooth.BluetoothDevice sink
         5: .line 123
            ldc "HeadsetProfile"
            new java.lang.StringBuilder
            dup
            ldc "Not disconnecting device = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* sink */
            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
        end local 3 // android.bluetooth.BluetoothDevice sink
         6: .line 122
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 126
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.connect:(Landroid/bluetooth/BluetoothDevice;)Z
            ireturn
        end local 2 // java.util.List sinks
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    8     1  device  Landroid/bluetooth/BluetoothDevice;
            2    8     2   sinks  Ljava/util/List<Landroid/bluetooth/BluetoothDevice;>;
            5    6     3    sink  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public boolean disconnect(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 130
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            invokevirtual android.bluetooth.BluetoothHeadset.getConnectedDevices:()Ljava/util/List;
            astore 2 /* deviceList */
        start local 2 // java.util.List deviceList
         2: .line 132
            aload 2 /* deviceList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
         3: .line 133
            aload 2 /* deviceList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.bluetooth.BluetoothDevice
            astore 3 /* dev */
        start local 3 // android.bluetooth.BluetoothDevice dev
         5: .line 134
            aload 3 /* dev */
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothDevice.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 135
            getstatic com.android.settingslib.bluetooth.HeadsetProfile.V:Z
            ifeq 7
            ldc "HeadsetProfile"
            ldc "Downgrade priority as useris disconnecting the headset"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 138
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List android.bluetooth.BluetoothDevice java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getPriority:(Landroid/bluetooth/BluetoothDevice;)I
            bipush 100
            if_icmple 9
         8: .line 139
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            bipush 100
            invokevirtual android.bluetooth.BluetoothHeadset.setPriority:(Landroid/bluetooth/BluetoothDevice;I)Z
            pop
         9: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.disconnect:(Landroid/bluetooth/BluetoothDevice;)Z
            ireturn
        end local 3 // android.bluetooth.BluetoothDevice dev
        10: .line 133
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 145
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.util.List deviceList
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0   12     1      device  Landroid/bluetooth/BluetoothDevice;
            2   12     2  deviceList  Ljava/util/List<Landroid/bluetooth/BluetoothDevice;>;
            5   10     3         dev  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public int getConnectionStatus(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 149
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            invokevirtual android.bluetooth.BluetoothHeadset.getConnectedDevices:()Ljava/util/List;
            astore 2 /* deviceList */
        start local 2 // java.util.List deviceList
         2: .line 151
            aload 2 /* deviceList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
         3: .line 152
            aload 2 /* deviceList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.bluetooth.BluetoothDevice
            astore 3 /* dev */
        start local 3 // android.bluetooth.BluetoothDevice dev
         5: .line 153
            aload 3 /* dev */
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothDevice.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 154
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getConnectionState:(Landroid/bluetooth/BluetoothDevice;)I
            ireturn
        end local 3 // android.bluetooth.BluetoothDevice dev
         7: .line 152
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 158
      StackMap locals: com.android.settingslib.bluetooth.HeadsetProfile android.bluetooth.BluetoothDevice java.util.List
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.util.List deviceList
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    9     1      device  Landroid/bluetooth/BluetoothDevice;
            2    9     2  deviceList  Ljava/util/List<Landroid/bluetooth/BluetoothDevice;>;
            5    7     3         dev  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public boolean setActiveDevice(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 162
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.setActiveDevice:(Landroid/bluetooth/BluetoothDevice;)Z
            ireturn
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    2     1  device  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public android.bluetooth.BluetoothDevice getActiveDevice();
    descriptor: ()Landroid/bluetooth/BluetoothDevice;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 167
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            invokevirtual android.bluetooth.BluetoothHeadset.getActiveDevice:()Landroid/bluetooth/BluetoothDevice;
            areturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public boolean isAudioOn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 172
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            invokevirtual android.bluetooth.BluetoothHeadset.isAudioOn:()Z
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public int getAudioState(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 177
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            bipush 10
            ireturn
         1: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getAudioState:(Landroid/bluetooth/BluetoothDevice;)I
            ireturn
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    2     1  device  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public boolean isPreferred(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 182
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getPriority:(Landroid/bluetooth/BluetoothDevice;)I
            ifle 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    3     1  device  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public int getPreferred(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
         0: .line 187
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getPriority:(Landroid/bluetooth/BluetoothDevice;)I
            ireturn
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    2     1  device  Landroid/bluetooth/BluetoothDevice;
    MethodParameters:
        Name  Flags
      device  

  public void setPreferred(android.bluetooth.BluetoothDevice, boolean);
    descriptor: (Landroid/bluetooth/BluetoothDevice;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
        start local 1 // android.bluetooth.BluetoothDevice device
        start local 2 // boolean preferred
         0: .line 192
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            return
         1: .line 193
      StackMap locals:
      StackMap stack:
            iload 2 /* preferred */
            ifeq 5
         2: .line 194
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            invokevirtual android.bluetooth.BluetoothHeadset.getPriority:(Landroid/bluetooth/BluetoothDevice;)I
            bipush 100
            if_icmpge 6
         3: .line 195
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            bipush 100
            invokevirtual android.bluetooth.BluetoothHeadset.setPriority:(Landroid/bluetooth/BluetoothDevice;I)Z
            pop
         4: .line 197
            goto 6
         5: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            aload 1 /* device */
            iconst_0
            invokevirtual android.bluetooth.BluetoothHeadset.setPriority:(Landroid/bluetooth/BluetoothDevice;I)Z
            pop
         6: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean preferred
        end local 1 // android.bluetooth.BluetoothDevice device
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            0    7     1     device  Landroid/bluetooth/BluetoothDevice;
            0    7     2  preferred  Z
    MethodParameters:
           Name  Flags
      device     
      preferred  

  public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 203
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnonnull 1
            new java.util.ArrayList
            dup
            iconst_0
            invokespecial java.util.ArrayList.<init>:(I)V
            areturn
         1: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
         2: .line 205
            iconst_3
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
         3: .line 206
            iconst_1
            iastore
            dup
            iconst_2
         4: .line 207
            iconst_3
            iastore
         5: .line 204
            invokevirtual android.bluetooth.BluetoothHeadset.getDevicesMatchingConnectionStates:([I)Ljava/util/List;
            areturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
    Signature: ()Ljava/util/List<Landroid/bluetooth/BluetoothDevice;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 211
            ldc "HEADSET"
            areturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public int getOrdinal();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 215
            iconst_0
            ireturn
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;

  public int getNameResource(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 219
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
    MethodParameters:
        Name  Flags
      device  

  public int getSummaryResourceForDevice(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 226
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
    MethodParameters:
        Name  Flags
      device  

  public int getDrawableResource(android.bluetooth.BluetoothClass);
    descriptor: (Landroid/bluetooth/BluetoothClass;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 237
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
    MethodParameters:
         Name  Flags
      btClass  

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
         0: .line 241
            getstatic com.android.settingslib.bluetooth.HeadsetProfile.V:Z
            ifeq 1
            ldc "HeadsetProfile"
            ldc "finalize()"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
            ifnull 9
         2: .line 244
            invokestatic android.bluetooth.BluetoothAdapter.getDefaultAdapter:()Landroid/bluetooth/BluetoothAdapter;
            iconst_1
         3: .line 245
            aload 0 /* this */
            getfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
         4: .line 244
            invokevirtual android.bluetooth.BluetoothAdapter.closeProfileProxy:(ILandroid/bluetooth/BluetoothProfile;)V
         5: .line 246
            aload 0 /* this */
            aconst_null
            putfield com.android.settingslib.bluetooth.HeadsetProfile.mService:Landroid/bluetooth/BluetoothHeadset;
         6: .line 247
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 1 /* t */
        start local 1 // java.lang.Throwable t
         8: .line 248
            ldc "HeadsetProfile"
            ldc "Error cleaning up HID proxy"
            aload 1 /* t */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 1 // java.lang.Throwable t
         9: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.settingslib.bluetooth.HeadsetProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/android/settingslib/bluetooth/HeadsetProfile;
            8    9     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Throwable
}
SourceFile: "HeadsetProfile.java"
NestMembers:
  com.android.settingslib.bluetooth.HeadsetProfile$HeadsetServiceListener
InnerClasses:
  public abstract ServiceListener = android.bluetooth.BluetoothProfile$ServiceListener of android.bluetooth.BluetoothProfile
  private final HeadsetServiceListener = com.android.settingslib.bluetooth.HeadsetProfile$HeadsetServiceListener of com.android.settingslib.bluetooth.HeadsetProfile