public class com.android.keyguard.EmergencyButton extends android.widget.Button
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.keyguard.EmergencyButton
  super_class: android.widget.Button
{
  private static final android.content.Intent INTENT_EMERGENCY_DIAL;
    descriptor: Landroid/content/Intent;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "EmergencyButton"

  private final com.android.internal.util.EmergencyAffordanceManager mEmergencyAffordanceManager;
    descriptor: Lcom/android/internal/util/EmergencyAffordanceManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  com.android.keyguard.KeyguardUpdateMonitorCallback mInfoCallback;
    descriptor: Lcom/android/keyguard/KeyguardUpdateMonitorCallback;
    flags: (0x0000) 

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

  private com.android.internal.widget.LockPatternUtils mLockPatternUtils;
    descriptor: Lcom/android/internal/widget/LockPatternUtils;
    flags: (0x0002) ACC_PRIVATE

  private android.os.PowerManager mPowerManager;
    descriptor: Landroid/os/PowerManager;
    flags: (0x0002) ACC_PRIVATE

  private com.android.keyguard.EmergencyButton$EmergencyButtonCallback mEmergencyButtonCallback;
    descriptor: Lcom/android/keyguard/EmergencyButton$EmergencyButtonCallback;
    flags: (0x0002) ACC_PRIVATE

  private final boolean mIsVoiceCapable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean mEnableEmergencyCallWhileSimLocked;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 50
            new android.content.Intent
            dup
            invokespecial android.content.Intent.<init>:()V
         1: .line 51
            ldc "com.android.phone.EmergencyDialer.DIAL"
            invokevirtual android.content.Intent.setAction:(Ljava/lang/String;)Landroid/content/Intent;
         2: .line 52
            ldc "com.android.phone"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
         3: .line 53
            ldc 343932928
            invokevirtual android.content.Intent.setFlags:(I)Landroid/content/Intent;
         4: .line 56
            ldc "com.android.phone.EmergencyDialer.extra.ENTRY_TYPE"
         5: .line 57
            iconst_1
         6: .line 56
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
         7: .line 50
            putstatic com.android.keyguard.EmergencyButton.INTENT_EMERGENCY_DIAL:Landroid/content/Intent;
         8: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.keyguard.EmergencyButton this
        start local 1 // android.content.Context context
         0: .line 90
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial com.android.keyguard.EmergencyButton.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
         1: .line 91
            return
        end local 1 // android.content.Context context
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/android/keyguard/EmergencyButton;
            0    2     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, android.util.AttributeSet);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 37
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.logging.nano cannot be resolved\n\tcom.android.internal.R.bool cannot be resolved to a variable\n\tcom.android.internal.R.bool cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\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.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;
    MethodParameters:
         Name  Flags
      context  
      attrs    

  protected void onAttachedToWindow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 104
            aload 0 /* this */
            invokespecial android.widget.Button.onAttachedToWindow:()V
         1: .line 105
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            invokestatic com.android.keyguard.KeyguardUpdateMonitor.getInstance:(Landroid/content/Context;)Lcom/android/keyguard/KeyguardUpdateMonitor;
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mInfoCallback:Lcom/android/keyguard/KeyguardUpdateMonitorCallback;
            invokevirtual com.android.keyguard.KeyguardUpdateMonitor.registerCallback:(Lcom/android/keyguard/KeyguardUpdateMonitorCallback;)V
         2: .line 106
            return
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/keyguard/EmergencyButton;

  protected void onDetachedFromWindow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 110
            aload 0 /* this */
            invokespecial android.widget.Button.onDetachedFromWindow:()V
         1: .line 111
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            invokestatic com.android.keyguard.KeyguardUpdateMonitor.getInstance:(Landroid/content/Context;)Lcom/android/keyguard/KeyguardUpdateMonitor;
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mInfoCallback:Lcom/android/keyguard/KeyguardUpdateMonitorCallback;
            invokevirtual com.android.keyguard.KeyguardUpdateMonitor.removeCallback:(Lcom/android/keyguard/KeyguardUpdateMonitorCallback;)V
         2: .line 112
            return
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/keyguard/EmergencyButton;

  protected void onFinishInflate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 116
            aload 0 /* this */
            invokespecial android.widget.Button.onFinishInflate:()V
         1: .line 117
            aload 0 /* this */
            new com.android.internal.widget.LockPatternUtils
            dup
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            invokespecial com.android.internal.widget.LockPatternUtils.<init>:(Landroid/content/Context;)V
            putfield com.android.keyguard.EmergencyButton.mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
         2: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            ldc "power"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.os.PowerManager
            putfield com.android.keyguard.EmergencyButton.mPowerManager:Landroid/os/PowerManager;
         3: .line 119
            aload 0 /* this */
            new com.android.keyguard.EmergencyButton$2
            dup
            aload 0 /* this */
            invokespecial com.android.keyguard.EmergencyButton$2.<init>:(Lcom/android/keyguard/EmergencyButton;)V
            invokevirtual com.android.keyguard.EmergencyButton.setOnClickListener:(Landroid/view/View$OnClickListener;)V
         4: .line 124
            aload 0 /* this */
            new com.android.keyguard.EmergencyButton$3
            dup
            aload 0 /* this */
            invokespecial com.android.keyguard.EmergencyButton$3.<init>:(Lcom/android/keyguard/EmergencyButton;)V
            invokevirtual com.android.keyguard.EmergencyButton.setOnLongClickListener:(Landroid/view/View$OnLongClickListener;)V
         5: .line 135
            aload 0 /* this */
            invokevirtual com.android.keyguard.EmergencyButton.updateEmergencyCallButton:()V
         6: .line 136
            return
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/android/keyguard/EmergencyButton;

  public boolean onTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.android.keyguard.EmergencyButton this
        start local 1 // android.view.MotionEvent event
         0: .line 140
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getX:()F
            f2i
            istore 2 /* x */
        start local 2 // int x
         1: .line 141
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getY:()F
            f2i
            istore 3 /* y */
        start local 3 // int y
         2: .line 142
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getActionMasked:()I
            ifne 7
         3: .line 143
            aload 0 /* this */
            iload 2 /* x */
            putfield com.android.keyguard.EmergencyButton.mDownX:I
         4: .line 144
            aload 0 /* this */
            iload 3 /* y */
            putfield com.android.keyguard.EmergencyButton.mDownY:I
         5: .line 145
            aload 0 /* this */
            iconst_0
            putfield com.android.keyguard.EmergencyButton.mLongPressWasDragged:Z
         6: .line 146
            goto 12
         7: .line 147
      StackMap locals: int int
      StackMap stack:
            iload 2 /* x */
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mDownX:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 4 /* xDiff */
        start local 4 // int xDiff
         8: .line 148
            iload 3 /* y */
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mDownY:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 5 /* yDiff */
        start local 5 // int yDiff
         9: .line 149
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
            invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
            istore 6 /* touchSlop */
        start local 6 // int touchSlop
        10: .line 150
            iload 5 /* yDiff */
            invokestatic java.lang.Math.abs:(I)I
            iload 6 /* touchSlop */
            if_icmpgt 11
            iload 4 /* xDiff */
            invokestatic java.lang.Math.abs:(I)I
            iload 6 /* touchSlop */
            if_icmple 12
        11: .line 151
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.android.keyguard.EmergencyButton.mLongPressWasDragged:Z
        end local 6 // int touchSlop
        end local 5 // int yDiff
        end local 4 // int xDiff
        12: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.Button.onTouchEvent:(Landroid/view/MotionEvent;)Z
            ireturn
        end local 3 // int y
        end local 2 // int x
        end local 1 // android.view.MotionEvent event
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/android/keyguard/EmergencyButton;
            0   13     1      event  Landroid/view/MotionEvent;
            1   13     2          x  I
            2   13     3          y  I
            8   12     4      xDiff  I
            9   12     5      yDiff  I
           10   12     6  touchSlop  I
    MethodParameters:
       Name  Flags
      event  

  public boolean performLongClick();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 159
            aload 0 /* this */
            invokespecial android.widget.Button.performLongClick:()Z
            ireturn
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;

  protected void onConfigurationChanged(android.content.res.Configuration);
    descriptor: (Landroid/content/res/Configuration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.keyguard.EmergencyButton this
        start local 1 // android.content.res.Configuration newConfig
         0: .line 164
            aload 0 /* this */
            aload 1 /* newConfig */
            invokespecial android.widget.Button.onConfigurationChanged:(Landroid/content/res/Configuration;)V
         1: .line 165
            aload 0 /* this */
            invokevirtual com.android.keyguard.EmergencyButton.updateEmergencyCallButton:()V
         2: .line 166
            return
        end local 1 // android.content.res.Configuration newConfig
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/android/keyguard/EmergencyButton;
            0    3     1  newConfig  Landroid/content/res/Configuration;
    MethodParameters:
           Name  Flags
      newConfig  

  public void takeEmergencyCallAction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 172
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tMetricsEvent cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;

  private void updateEmergencyCallButton();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 218
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.string cannot be resolved to a variable\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.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;

  public void setCallback(com.android.keyguard.EmergencyButton$EmergencyButtonCallback);
    descriptor: (Lcom/android/keyguard/EmergencyButton$EmergencyButtonCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.keyguard.EmergencyButton this
        start local 1 // com.android.keyguard.EmergencyButton$EmergencyButtonCallback callback
         0: .line 229
            aload 0 /* this */
            aload 1 /* callback */
            putfield com.android.keyguard.EmergencyButton.mEmergencyButtonCallback:Lcom/android/keyguard/EmergencyButton$EmergencyButtonCallback;
         1: .line 230
            return
        end local 1 // com.android.keyguard.EmergencyButton$EmergencyButtonCallback callback
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/android/keyguard/EmergencyButton;
            0    2     1  callback  Lcom/android/keyguard/EmergencyButton$EmergencyButtonCallback;
    MethodParameters:
          Name  Flags
      callback  

  private void resumeCall();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 236
            aload 0 /* this */
            invokevirtual com.android.keyguard.EmergencyButton.getTelecommManager:()Landroid/telecom/TelecomManager;
            iconst_0
            invokevirtual android.telecom.TelecomManager.showInCallScreen:(Z)V
         1: .line 237
            return
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/keyguard/EmergencyButton;

  private boolean isInCall();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 243
            aload 0 /* this */
            invokevirtual com.android.keyguard.EmergencyButton.getTelecommManager:()Landroid/telecom/TelecomManager;
            invokevirtual android.telecom.TelecomManager.isInCall:()Z
            ireturn
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;

  private android.telecom.TelecomManager getTelecommManager();
    descriptor: ()Landroid/telecom/TelecomManager;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.keyguard.EmergencyButton this
         0: .line 247
            aload 0 /* this */
            getfield com.android.keyguard.EmergencyButton.mContext:Landroid/content/Context;
            ldc "telecom"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.telecom.TelecomManager
            areturn
        end local 0 // com.android.keyguard.EmergencyButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/keyguard/EmergencyButton;
}
SourceFile: "EmergencyButton.java"
NestMembers:
  com.android.keyguard.EmergencyButton$1  com.android.keyguard.EmergencyButton$2  com.android.keyguard.EmergencyButton$3  com.android.keyguard.EmergencyButton$EmergencyButtonCallback
InnerClasses:
  public abstract OnClickListener = android.view.View$OnClickListener of android.view.View
  public abstract OnLongClickListener = android.view.View$OnLongClickListener of android.view.View
  com.android.keyguard.EmergencyButton$2
  com.android.keyguard.EmergencyButton$3
  public abstract EmergencyButtonCallback = com.android.keyguard.EmergencyButton$EmergencyButtonCallback of com.android.keyguard.EmergencyButton