public class com.android.systemui.keyboard.KeyboardUI extends com.android.systemui.SystemUI implements android.hardware.input.InputManager$OnTabletModeChangedListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.systemui.keyboard.KeyboardUI
  super_class: com.android.systemui.SystemUI
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyboardUI"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private volatile com.android.systemui.keyboard.KeyboardUI$KeyboardHandler mHandler;
    descriptor: Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler mUIHandler;
    descriptor: Lcom/android/systemui/keyboard/KeyboardUI$KeyboardUIHandler;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  protected volatile android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

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

  private java.lang.String mKeyboardName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.android.settingslib.bluetooth.CachedBluetoothDeviceManager mCachedDeviceManager;
    descriptor: Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
    flags: (0x0002) ACC_PRIVATE

  private com.android.settingslib.bluetooth.LocalBluetoothAdapter mLocalBluetoothAdapter;
    descriptor: Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
    flags: (0x0002) ACC_PRIVATE

  private com.android.settingslib.bluetooth.LocalBluetoothProfileManager mProfileManager;
    descriptor: Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
    flags: (0x0002) ACC_PRIVATE

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

  private long mBootCompletedTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int mInTabletMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mScanAttempt;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.bluetooth.le.ScanCallback mScanCallback;
    descriptor: Landroid/bluetooth/le/ScanCallback;
    flags: (0x0002) ACC_PRIVATE

  private com.android.systemui.keyboard.BluetoothDialog mDialog;
    descriptor: Lcom/android/systemui/keyboard/BluetoothDialog;
    flags: (0x0002) ACC_PRIVATE

  private int mState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 62
            aload 0 /* this */
            invokespecial com.android.systemui.SystemUI.<init>:()V
         1: .line 112
            aload 0 /* this */
            iconst_m1
            putfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
         2: .line 113
            aload 0 /* this */
            iconst_0
            putfield com.android.systemui.keyboard.KeyboardUI.mScanAttempt:I
         3: .line 62
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/systemui/keyboard/KeyboardUI;

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 121
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.systemui.SystemUI.mContext:Landroid/content/Context;
            putfield com.android.systemui.keyboard.KeyboardUI.mContext:Landroid/content/Context;
         1: .line 122
            new android.os.HandlerThread
            dup
            ldc "Keyboard"
            bipush 10
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
            astore 1 /* thread */
        start local 1 // android.os.HandlerThread thread
         2: .line 123
            aload 1 /* thread */
            invokevirtual android.os.HandlerThread.start:()V
         3: .line 124
            aload 0 /* this */
            new com.android.systemui.keyboard.KeyboardUI$KeyboardHandler
            dup
            aload 0 /* this */
            aload 1 /* thread */
            invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
            invokespecial com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.<init>:(Lcom/android/systemui/keyboard/KeyboardUI;Landroid/os/Looper;)V
            putfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
         4: .line 125
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            iconst_0
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.sendEmptyMessage:(I)Z
            pop
         5: .line 126
            return
        end local 1 // android.os.HandlerThread thread
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/android/systemui/keyboard/KeyboardUI;
            2    6     1  thread  Landroid/os/HandlerThread;

  protected void onConfigurationChanged(android.content.res.Configuration);
    descriptor: (Landroid/content/res/Configuration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // android.content.res.Configuration newConfig
         0: .line 130
            return
        end local 1 // android.content.res.Configuration newConfig
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    1     1  newConfig  Landroid/content/res/Configuration;
    MethodParameters:
           Name  Flags
      newConfig  

  public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.io.PrintWriter pw
        start local 3 // java.lang.String[] args
         0: .line 134
            aload 2 /* pw */
            ldc "KeyboardUI:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 135
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mEnabled="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mEnabled:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 136
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mBootCompleted="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mEnabled:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 137
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mBootCompletedTime="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mBootCompletedTime:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 138
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mKeyboardName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 139
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mInTabletMode="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 140
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  mState="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            invokestatic com.android.systemui.keyboard.KeyboardUI.stateToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 141
            return
        end local 3 // java.lang.String[] args
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.FileDescriptor fd
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    8     1    fd  Ljava/io/FileDescriptor;
            0    8     2    pw  Ljava/io/PrintWriter;
            0    8     3  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      fd    
      pw    
      args  

  protected void onBootCompleted();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 145
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            iconst_1
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.sendEmptyMessage:(I)Z
            pop
         1: .line 146
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/systemui/keyboard/KeyboardUI;

  public void onTabletModeChanged(long, boolean);
    descriptor: (JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // long whenNanos
        start local 3 // boolean inTabletMode
         0: .line 154
            iload 3 /* inTabletMode */
            ifeq 1
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
            iconst_1
            if_icmpne 2
         1: .line 155
      StackMap locals:
      StackMap stack:
            iload 3 /* inTabletMode */
            ifne 7
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
            ifeq 7
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* inTabletMode */
            ifeq 4
         3: .line 157
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: com.android.systemui.keyboard.KeyboardUI
         4: iconst_0
         5: .line 156
      StackMap locals: com.android.systemui.keyboard.KeyboardUI long int
      StackMap stack: com.android.systemui.keyboard.KeyboardUI int
            putfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
         6: .line 158
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.processKeyboardState:()V
         7: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean inTabletMode
        end local 1 // long whenNanos
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    8     1     whenNanos  J
            0    8     3  inTabletMode  Z
    MethodParameters:
              Name  Flags
      whenNanos     
      inTabletMode  

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 166
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/systemui/keyboard/KeyboardUI;

  private void processKeyboardState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 198
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            iconst_2
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.removeMessages:(I)V
         1: .line 200
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mEnabled:Z
            ifne 4
         2: .line 201
            aload 0 /* this */
            iconst_m1
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         3: .line 202
            return
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mBootCompleted:Z
            ifne 7
         5: .line 206
            aload 0 /* this */
            iconst_1
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         6: .line 207
            return
         7: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mInTabletMode:I
            ifeq 15
         8: .line 211
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_3
            if_icmpne 11
         9: .line 212
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.stopScanning:()V
        10: .line 213
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_4
            if_icmpne 13
        12: .line 214
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mUIHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardUIHandler;
            bipush 9
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler.sendEmptyMessage:(I)Z
            pop
        13: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        14: .line 217
            return
        15: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.getState:()I
            istore 1 /* btState */
        start local 1 // int btState
        16: .line 221
            iload 1 /* btState */
            bipush 11
            if_icmpeq 17
            iload 1 /* btState */
            bipush 12
            if_icmpne 19
        17: .line 222
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_4
            if_icmpne 19
        18: .line 225
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mUIHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardUIHandler;
            bipush 9
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler.sendEmptyMessage:(I)Z
            pop
        19: .line 228
      StackMap locals:
      StackMap stack:
            iload 1 /* btState */
            bipush 11
            if_icmpne 22
        20: .line 229
            aload 0 /* this */
            iconst_4
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        21: .line 231
            return
        22: .line 234
      StackMap locals:
      StackMap stack:
            iload 1 /* btState */
            bipush 12
            if_icmpeq 26
        23: .line 235
            aload 0 /* this */
            iconst_4
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        24: .line 236
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.showBluetoothDialog:()V
        25: .line 237
            return
        26: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.getPairedKeyboard:()Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 2 /* device */
        start local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice device
        27: .line 241
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_2
            if_icmpeq 28
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_4
            if_icmpne 33
        28: .line 242
      StackMap locals: com.android.settingslib.bluetooth.CachedBluetoothDevice
      StackMap stack:
            aload 2 /* device */
            ifnull 32
        29: .line 249
            aload 0 /* this */
            bipush 6
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        30: .line 250
            aload 2 /* device */
            iconst_0
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.connect:(Z)V
        31: .line 251
            return
        32: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mCachedDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.clearNonBondedDevices:()V
        33: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.getDiscoveredKeyboard:()Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 2 /* device */
        34: .line 257
            aload 2 /* device */
            ifnull 38
        35: .line 258
            aload 0 /* this */
            iconst_5
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        36: .line 259
            aload 2 /* device */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.startPairing:()Z
            pop
        37: .line 260
            goto 40
        38: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
        39: .line 262
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.startScanning:()V
        40: .line 264
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice device
        end local 1 // int btState
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   41     0     this  Lcom/android/systemui/keyboard/KeyboardUI;
           16   41     1  btState  I
           27   41     2   device  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;

  public void onBootCompletedInternal();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 268
            aload 0 /* this */
            iconst_1
            putfield com.android.systemui.keyboard.KeyboardUI.mBootCompleted:Z
         1: .line 269
            aload 0 /* this */
            invokestatic android.os.SystemClock.uptimeMillis:()J
            putfield com.android.systemui.keyboard.KeyboardUI.mBootCompletedTime:J
         2: .line 270
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_1
            if_icmpne 4
         3: .line 271
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.processKeyboardState:()V
         4: .line 273
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/systemui/keyboard/KeyboardUI;

  private void showBluetoothDialog();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 277
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.isUserSetupComplete:()Z
            ifeq 8
         1: .line 278
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lstore 1 /* now */
        start local 1 // long now
         2: .line 279
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mBootCompletedTime:J
            ldc 10000
            ladd
            lstore 3 /* earliestDialogTime */
        start local 3 // long earliestDialogTime
         3: .line 280
            lload 3 /* earliestDialogTime */
            lload 1 /* now */
            lcmp
            ifge 6
         4: .line 281
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mUIHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardUIHandler;
            bipush 8
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler.sendEmptyMessage:(I)Z
            pop
         5: .line 282
            goto 9
         6: .line 283
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            iconst_2
            lload 3 /* earliestDialogTime */
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.sendEmptyMessageAtTime:(IJ)Z
            pop
        end local 3 // long earliestDialogTime
        end local 1 // long now
         7: .line 285
            goto 9
         8: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.enable:()Z
            pop
         9: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lcom/android/systemui/keyboard/KeyboardUI;
            2    7     1                 now  J
            3    7     3  earliestDialogTime  J

  private boolean isUserSetupComplete();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 292
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            astore 1 /* resolver */
        start local 1 // android.content.ContentResolver resolver
         1: .line 294
            aload 1 /* resolver */
            ldc "user_setup_complete"
            iconst_0
            bipush -2
         2: .line 293
            invokestatic android.provider.Settings$Secure.getIntForUser:(Landroid/content/ContentResolver;Ljava/lang/String;II)I
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: android.content.ContentResolver
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // android.content.ContentResolver resolver
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/android/systemui/keyboard/KeyboardUI;
            1    4     1  resolver  Landroid/content/ContentResolver;

  private com.android.settingslib.bluetooth.CachedBluetoothDevice getPairedKeyboard();
    descriptor: ()Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 298
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.getBondedDevices:()Ljava/util/Set;
            astore 1 /* devices */
        start local 1 // java.util.Set devices
         1: .line 299
            aload 1 /* devices */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.android.systemui.keyboard.KeyboardUI java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.bluetooth.BluetoothDevice
            astore 2 /* d */
        start local 2 // android.bluetooth.BluetoothDevice d
         3: .line 300
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            aload 2 /* d */
            invokevirtual android.bluetooth.BluetoothDevice.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 301
            aload 0 /* this */
            aload 2 /* d */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.getCachedBluetoothDevice:(Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            areturn
        end local 2 // android.bluetooth.BluetoothDevice d
         5: .line 299
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 304
            aconst_null
            areturn
        end local 1 // java.util.Set devices
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/android/systemui/keyboard/KeyboardUI;
            1    7     1  devices  Ljava/util/Set<Landroid/bluetooth/BluetoothDevice;>;
            3    5     2        d  Landroid/bluetooth/BluetoothDevice;

  private com.android.settingslib.bluetooth.CachedBluetoothDevice getDiscoveredKeyboard();
    descriptor: ()Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 308
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mCachedDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.getCachedDevicesCopy:()Ljava/util/Collection;
            astore 1 /* devices */
        start local 1 // java.util.Collection devices
         1: .line 309
            aload 1 /* devices */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.android.systemui.keyboard.KeyboardUI java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.android.settingslib.bluetooth.CachedBluetoothDevice
            astore 2 /* d */
        start local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
         3: .line 310
            aload 2 /* d */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 311
            aload 2 /* d */
            areturn
        end local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
         5: .line 309
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 314
            aconst_null
            areturn
        end local 1 // java.util.Collection devices
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/android/systemui/keyboard/KeyboardUI;
            1    7     1  devices  Ljava/util/Collection<Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;>;
            3    5     2        d  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;

  private com.android.settingslib.bluetooth.CachedBluetoothDevice getCachedBluetoothDevice(android.bluetooth.BluetoothDevice);
    descriptor: (Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // android.bluetooth.BluetoothDevice d
         0: .line 319
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mCachedDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
            aload 1 /* d */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDeviceManager.findDevice:(Landroid/bluetooth/BluetoothDevice;)Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            astore 2 /* cachedDevice */
        start local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice cachedDevice
         1: .line 320
            aload 2 /* cachedDevice */
            ifnonnull 5
         2: .line 321
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mCachedDeviceManager:Lcom/android/settingslib/bluetooth/CachedBluetoothDeviceManager;
         3: .line 322
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mProfileManager:Lcom/android/settingslib/bluetooth/LocalBluetoothProfileManager;
            aload 1 /* d */
         4: .line 321
            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 2 /* cachedDevice */
         5: .line 324
      StackMap locals: com.android.settingslib.bluetooth.CachedBluetoothDevice
      StackMap stack:
            aload 2 /* cachedDevice */
            areturn
        end local 2 // com.android.settingslib.bluetooth.CachedBluetoothDevice cachedDevice
        end local 1 // android.bluetooth.BluetoothDevice d
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    6     1             d  Landroid/bluetooth/BluetoothDevice;
            1    6     2  cachedDevice  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
    MethodParameters:
      Name  Flags
      d     

  private void startScanning();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 328
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.getBluetoothLeScanner:()Landroid/bluetooth/le/BluetoothLeScanner;
            astore 1 /* scanner */
        start local 1 // android.bluetooth.le.BluetoothLeScanner scanner
         1: .line 329
            new android.bluetooth.le.ScanFilter$Builder
            dup
            invokespecial android.bluetooth.le.ScanFilter$Builder.<init>:()V
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            invokevirtual android.bluetooth.le.ScanFilter$Builder.setDeviceName:(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;
            invokevirtual android.bluetooth.le.ScanFilter$Builder.build:()Landroid/bluetooth/le/ScanFilter;
            astore 2 /* filter */
        start local 2 // android.bluetooth.le.ScanFilter filter
         2: .line 330
            new android.bluetooth.le.ScanSettings$Builder
            dup
            invokespecial android.bluetooth.le.ScanSettings$Builder.<init>:()V
         3: .line 331
            iconst_1
            invokevirtual android.bluetooth.le.ScanSettings$Builder.setCallbackType:(I)Landroid/bluetooth/le/ScanSettings$Builder;
         4: .line 332
            iconst_1
            invokevirtual android.bluetooth.le.ScanSettings$Builder.setNumOfMatches:(I)Landroid/bluetooth/le/ScanSettings$Builder;
         5: .line 333
            iconst_2
            invokevirtual android.bluetooth.le.ScanSettings$Builder.setScanMode:(I)Landroid/bluetooth/le/ScanSettings$Builder;
         6: .line 334
            lconst_0
            invokevirtual android.bluetooth.le.ScanSettings$Builder.setReportDelay:(J)Landroid/bluetooth/le/ScanSettings$Builder;
         7: .line 335
            invokevirtual android.bluetooth.le.ScanSettings$Builder.build:()Landroid/bluetooth/le/ScanSettings;
         8: .line 330
            astore 3 /* settings */
        start local 3 // android.bluetooth.le.ScanSettings settings
         9: .line 336
            aload 0 /* this */
            new com.android.systemui.keyboard.KeyboardUI$KeyboardScanCallback
            dup
            aload 0 /* this */
            invokespecial com.android.systemui.keyboard.KeyboardUI$KeyboardScanCallback.<init>:(Lcom/android/systemui/keyboard/KeyboardUI;)V
            putfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
        10: .line 337
            aload 1 /* scanner */
            iconst_1
            anewarray android.bluetooth.le.ScanFilter
            dup
            iconst_0
            aload 2 /* filter */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* settings */
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
            invokevirtual android.bluetooth.le.BluetoothLeScanner.startScan:(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V
        11: .line 339
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            bipush 10
            aload 0 /* this */
            dup
            getfield com.android.systemui.keyboard.KeyboardUI.mScanAttempt:I
            iconst_1
            iadd
            dup_x1
            putfield com.android.systemui.keyboard.KeyboardUI.mScanAttempt:I
            iconst_0
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.obtainMessage:(III)Landroid/os/Message;
            astore 4 /* abortMsg */
        start local 4 // android.os.Message abortMsg
        12: .line 340
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mHandler:Lcom/android/systemui/keyboard/KeyboardUI$KeyboardHandler;
            aload 4 /* abortMsg */
            ldc 30000
            invokevirtual com.android.systemui.keyboard.KeyboardUI$KeyboardHandler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
        13: .line 341
            return
        end local 4 // android.os.Message abortMsg
        end local 3 // android.bluetooth.le.ScanSettings settings
        end local 2 // android.bluetooth.le.ScanFilter filter
        end local 1 // android.bluetooth.le.BluetoothLeScanner scanner
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/android/systemui/keyboard/KeyboardUI;
            1   14     1   scanner  Landroid/bluetooth/le/BluetoothLeScanner;
            2   14     2    filter  Landroid/bluetooth/le/ScanFilter;
            9   14     3  settings  Landroid/bluetooth/le/ScanSettings;
           12   14     4  abortMsg  Landroid/os/Message;

  private void stopScanning();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 344
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
            ifnull 5
         1: .line 345
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mLocalBluetoothAdapter:Lcom/android/settingslib/bluetooth/LocalBluetoothAdapter;
            invokevirtual com.android.settingslib.bluetooth.LocalBluetoothAdapter.getBluetoothLeScanner:()Landroid/bluetooth/le/BluetoothLeScanner;
            astore 1 /* scanner */
        start local 1 // android.bluetooth.le.BluetoothLeScanner scanner
         2: .line 346
            aload 1 /* scanner */
            ifnull 4
         3: .line 347
            aload 1 /* scanner */
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
            invokevirtual android.bluetooth.le.BluetoothLeScanner.stopScan:(Landroid/bluetooth/le/ScanCallback;)V
         4: .line 349
      StackMap locals: android.bluetooth.le.BluetoothLeScanner
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
        end local 1 // android.bluetooth.le.BluetoothLeScanner scanner
         5: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/android/systemui/keyboard/KeyboardUI;
            2    5     1  scanner  Landroid/bluetooth/le/BluetoothLeScanner;

  private void bleAbortScanInternal(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // int scanAttempt
         0: .line 355
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_3
            if_icmpne 3
            iload 1 /* scanAttempt */
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mScanAttempt:I
            if_icmpne 3
         1: .line 359
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.stopScanning:()V
         2: .line 362
            aload 0 /* this */
            bipush 9
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         3: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int scanAttempt
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    4     1  scanAttempt  I
    MethodParameters:
             Name  Flags
      scanAttempt  

  private void onDeviceAddedInternal(com.android.settingslib.bluetooth.CachedBluetoothDevice);
    descriptor: (Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
         0: .line 368
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_3
            if_icmpne 4
            aload 1 /* d */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 369
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.stopScanning:()V
         2: .line 370
            aload 1 /* d */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.startPairing:()Z
            pop
         3: .line 371
            aload 0 /* this */
            iconst_5
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         4: .line 373
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    5     1     d  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
    MethodParameters:
      Name  Flags
      d     

  private void onBluetoothStateChangedInternal(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // int bluetoothState
         0: .line 377
            iload 1 /* bluetoothState */
            bipush 12
            if_icmpne 2
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_4
            if_icmpne 2
         1: .line 378
            aload 0 /* this */
            invokevirtual com.android.systemui.keyboard.KeyboardUI.processKeyboardState:()V
         2: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int bluetoothState
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    3     1  bluetoothState  I
    MethodParameters:
                Name  Flags
      bluetoothState  

  private void onDeviceBondStateChangedInternal(com.android.settingslib.bluetooth.CachedBluetoothDevice, int);
    descriptor: (Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
        start local 2 // int bondState
         0: .line 384
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_5
            if_icmpne 6
            aload 1 /* d */
            invokevirtual com.android.settingslib.bluetooth.CachedBluetoothDevice.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 385
            iload 2 /* bondState */
            bipush 12
            if_icmpne 4
         2: .line 388
            aload 0 /* this */
            bipush 6
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         3: .line 389
            goto 6
      StackMap locals:
      StackMap stack:
         4: iload 2 /* bondState */
            bipush 10
            if_icmpne 6
         5: .line 390
            aload 0 /* this */
            bipush 7
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         6: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int bondState
        end local 1 // com.android.settingslib.bluetooth.CachedBluetoothDevice d
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    7     1          d  Lcom/android/settingslib/bluetooth/CachedBluetoothDevice;
            0    7     2  bondState  I
    MethodParameters:
           Name  Flags
      d          
      bondState  

  private void onBleScanFailedInternal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
         0: .line 397
            aload 0 /* this */
            aconst_null
            putfield com.android.systemui.keyboard.KeyboardUI.mScanCallback:Landroid/bluetooth/le/ScanCallback;
         1: .line 398
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_3
            if_icmpne 3
         2: .line 399
            aload 0 /* this */
            bipush 9
            putfield com.android.systemui.keyboard.KeyboardUI.mState:I
         3: .line 401
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/systemui/keyboard/KeyboardUI;

  private void onShowErrorInternal(android.content.Context, java.lang.String, int);
    descriptor: (Landroid/content/Context;Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.android.systemui.keyboard.KeyboardUI this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // int messageResId
         0: .line 407
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            iconst_5
            if_icmpeq 1
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mState:I
            bipush 7
            if_icmpne 4
         1: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.keyboard.KeyboardUI.mKeyboardName:Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 409
            aload 1 /* context */
            iload 3 /* messageResId */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* name */
            aastore
            invokevirtual android.content.Context.getString:(I[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         3: .line 410
            aload 1 /* context */
            aload 4 /* message */
            iconst_0
            invokestatic android.widget.Toast.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
            invokevirtual android.widget.Toast.show:()V
        end local 4 // java.lang.String message
         4: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int messageResId
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // com.android.systemui.keyboard.KeyboardUI this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/android/systemui/keyboard/KeyboardUI;
            0    5     1       context  Landroid/content/Context;
            0    5     2          name  Ljava/lang/String;
            0    5     3  messageResId  I
            3    4     4       message  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      context       
      name          
      messageResId  

  private static java.lang.String stateToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int state
         0: .line 627
            iload 0 /* state */
            tableswitch { // -1 - 9
                   -1: 1
                    0: 11
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 8
                    8: 9
                    9: 10
              default: 11
          }
         1: .line 629
      StackMap locals:
      StackMap stack:
            ldc "STATE_NOT_ENABLED"
            areturn
         2: .line 631
      StackMap locals:
      StackMap stack:
            ldc "STATE_WAITING_FOR_BOOT_COMPLETED"
            areturn
         3: .line 633
      StackMap locals:
      StackMap stack:
            ldc "STATE_WAITING_FOR_TABLET_MODE_EXIT"
            areturn
         4: .line 635
      StackMap locals:
      StackMap stack:
            ldc "STATE_WAITING_FOR_DEVICE_DISCOVERY"
            areturn
         5: .line 637
      StackMap locals:
      StackMap stack:
            ldc "STATE_WAITING_FOR_BLUETOOTH"
            areturn
         6: .line 639
      StackMap locals:
      StackMap stack:
            ldc "STATE_PAIRING"
            areturn
         7: .line 641
      StackMap locals:
      StackMap stack:
            ldc "STATE_PAIRED"
            areturn
         8: .line 643
      StackMap locals:
      StackMap stack:
            ldc "STATE_PAIRING_FAILED"
            areturn
         9: .line 645
      StackMap locals:
      StackMap stack:
            ldc "STATE_USER_CANCELLED"
            areturn
        10: .line 647
      StackMap locals:
      StackMap stack:
            ldc "STATE_DEVICE_NOT_FOUND"
            areturn
        11: .line 650
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "STATE_UNKNOWN ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* state */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  state  I
    MethodParameters:
       Name  Flags
      state  
}
SourceFile: "KeyboardUI.java"
NestMembers:
  com.android.systemui.keyboard.KeyboardUI$BluetoothCallbackHandler  com.android.systemui.keyboard.KeyboardUI$BluetoothDialogClickListener  com.android.systemui.keyboard.KeyboardUI$BluetoothDialogDismissListener  com.android.systemui.keyboard.KeyboardUI$BluetoothErrorListener  com.android.systemui.keyboard.KeyboardUI$KeyboardHandler  com.android.systemui.keyboard.KeyboardUI$KeyboardScanCallback  com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler
InnerClasses:
  public final Builder = android.bluetooth.le.ScanFilter$Builder of android.bluetooth.le.ScanFilter
  public final Builder = android.bluetooth.le.ScanSettings$Builder of android.bluetooth.le.ScanSettings
  public abstract OnTabletModeChangedListener = android.hardware.input.InputManager$OnTabletModeChangedListener of android.hardware.input.InputManager
  public final Secure = android.provider.Settings$Secure of android.provider.Settings
  private final BluetoothCallbackHandler = com.android.systemui.keyboard.KeyboardUI$BluetoothCallbackHandler of com.android.systemui.keyboard.KeyboardUI
  private final BluetoothDialogClickListener = com.android.systemui.keyboard.KeyboardUI$BluetoothDialogClickListener of com.android.systemui.keyboard.KeyboardUI
  private final BluetoothDialogDismissListener = com.android.systemui.keyboard.KeyboardUI$BluetoothDialogDismissListener of com.android.systemui.keyboard.KeyboardUI
  private final BluetoothErrorListener = com.android.systemui.keyboard.KeyboardUI$BluetoothErrorListener of com.android.systemui.keyboard.KeyboardUI
  private final KeyboardHandler = com.android.systemui.keyboard.KeyboardUI$KeyboardHandler of com.android.systemui.keyboard.KeyboardUI
  private final KeyboardScanCallback = com.android.systemui.keyboard.KeyboardUI$KeyboardScanCallback of com.android.systemui.keyboard.KeyboardUI
  private final KeyboardUIHandler = com.android.systemui.keyboard.KeyboardUI$KeyboardUIHandler of com.android.systemui.keyboard.KeyboardUI