public final class android.hardware.display.DisplayManagerGlobal
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.hardware.display.DisplayManagerGlobal
  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: "DisplayManager"

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

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

  public static final int EVENT_DISPLAY_ADDED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int EVENT_DISPLAY_CHANGED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int EVENT_DISPLAY_REMOVED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static android.hardware.display.DisplayManagerGlobal sInstance;
    descriptor: Landroid/hardware/display/DisplayManagerGlobal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private final android.hardware.display.IDisplayManager mDm;
    descriptor: Landroid/hardware/display/IDisplayManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback mCallback;
    descriptor: Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.ArrayList<android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate> mDisplayListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;>;

  private final android.util.SparseArray<android.view.DisplayInfo> mDisplayInfoCache;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/view/DisplayInfo;>;

  private int[] mDisplayIdCache;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

  private void <init>(android.hardware.display.IDisplayManager);
    descriptor: (Landroid/hardware/display/IDisplayManager;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.IDisplayManager dm
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
         2: .line 76
            aload 0 /* this */
         3: .line 77
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
         4: .line 79
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.hardware.display.DisplayManagerGlobal.mDisplayInfoCache:Landroid/util/SparseArray;
         5: .line 85
            aload 0 /* this */
            aload 1 /* dm */
            putfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
         6: .line 86
            return
        end local 1 // android.hardware.display.IDisplayManager dm
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            0    7     1    dm  Landroid/hardware/display/IDisplayManager;
    MethodParameters:
      Name  Flags
      dm    

  public static android.hardware.display.DisplayManagerGlobal getInstance();
    descriptor: ()Landroid/hardware/display/DisplayManagerGlobal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 95
            ldc Landroid/hardware/display/DisplayManagerGlobal;
            dup
            astore 0
            monitorenter
         1: .line 96
            getstatic android.hardware.display.DisplayManagerGlobal.sInstance:Landroid/hardware/display/DisplayManagerGlobal;
            ifnonnull 5
         2: .line 97
            ldc "display"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
            astore 1 /* b */
        start local 1 // android.os.IBinder b
         3: .line 98
            aload 1 /* b */
            ifnull 5
         4: .line 99
            new android.hardware.display.DisplayManagerGlobal
            dup
            aload 1 /* b */
            invokestatic android.hardware.display.IDisplayManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager;
            invokespecial android.hardware.display.DisplayManagerGlobal.<init>:(Landroid/hardware/display/IDisplayManager;)V
            putstatic android.hardware.display.DisplayManagerGlobal.sInstance:Landroid/hardware/display/DisplayManagerGlobal;
        end local 1 // android.os.IBinder b
         5: .line 102
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic android.hardware.display.DisplayManagerGlobal.sInstance:Landroid/hardware/display/DisplayManagerGlobal;
            aload 0
            monitorexit
         6: areturn
         7: .line 95
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         8: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    5     1     b  Landroid/os/IBinder;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any

  public android.view.DisplayInfo getDisplayInfo(int);
    descriptor: (I)Landroid/view/DisplayInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
         0: .line 115
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 124
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            iload 1 /* displayId */
            invokeinterface android.hardware.display.IDisplayManager.getDisplayInfo:(I)Landroid/view/DisplayInfo;
            astore 3 /* info */
        start local 3 // android.view.DisplayInfo info
         2: .line 125
            aload 3 /* info */
            ifnonnull 5
         3: .line 126
            aload 2
            monitorexit
         4: aconst_null
            areturn
         5: .line 132
      StackMap locals: java.lang.Object android.view.DisplayInfo
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.hardware.display.DisplayManagerGlobal.registerCallbackIfNeededLocked:()V
         6: .line 137
            aload 3 /* info */
            aload 2
            monitorexit
         7: areturn
        end local 3 // android.view.DisplayInfo info
         8: .line 115
      StackMap locals: android.hardware.display.DisplayManagerGlobal int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         9: athrow
        10: .line 139
      StackMap locals: android.hardware.display.DisplayManagerGlobal int
      StackMap stack: android.os.RemoteException
            astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
        11: .line 140
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Landroid/hardware/display/DisplayManagerGlobal;
            0   12     1  displayId  I
            2    8     3       info  Landroid/view/DisplayInfo;
           11   12     2         ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     4       8  any
           5     7       8  any
           8     9       8  any
           0     4      10  Class android.os.RemoteException
           5     7      10  Class android.os.RemoteException
           8    10      10  Class android.os.RemoteException
    MethodParameters:
           Name  Flags
      displayId  

  public int[] getDisplayIds();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 151
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 158
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getDisplayIds:()[I
            astore 2 /* displayIds */
        start local 2 // int[] displayIds
         2: .line 162
            aload 0 /* this */
            invokevirtual android.hardware.display.DisplayManagerGlobal.registerCallbackIfNeededLocked:()V
         3: .line 163
            aload 2 /* displayIds */
            aload 1
            monitorexit
         4: areturn
        end local 2 // int[] displayIds
         5: .line 151
      StackMap locals: android.hardware.display.DisplayManagerGlobal java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
         7: .line 165
      StackMap locals: android.hardware.display.DisplayManagerGlobal
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         8: .line 166
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Landroid/hardware/display/DisplayManagerGlobal;
            2    5     2  displayIds  [I
            8    9     1          ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
           0     4       7  Class android.os.RemoteException
           5     7       7  Class android.os.RemoteException

  public android.view.Display getCompatibleDisplay(int, android.view.DisplayAdjustments);
    descriptor: (ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
        start local 2 // android.view.DisplayAdjustments daj
         0: .line 181
            aload 0 /* this */
            iload 1 /* displayId */
            invokevirtual android.hardware.display.DisplayManagerGlobal.getDisplayInfo:(I)Landroid/view/DisplayInfo;
            astore 3 /* displayInfo */
        start local 3 // android.view.DisplayInfo displayInfo
         1: .line 182
            aload 3 /* displayInfo */
            ifnonnull 3
         2: .line 183
            aconst_null
            areturn
         3: .line 185
      StackMap locals: android.view.DisplayInfo
      StackMap stack:
            new android.view.Display
            dup
            aload 0 /* this */
            iload 1 /* displayId */
            aload 3 /* displayInfo */
            aload 2 /* daj */
            invokespecial android.view.Display.<init>:(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V
            areturn
        end local 3 // android.view.DisplayInfo displayInfo
        end local 2 // android.view.DisplayAdjustments daj
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/hardware/display/DisplayManagerGlobal;
            0    4     1    displayId  I
            0    4     2          daj  Landroid/view/DisplayAdjustments;
            1    4     3  displayInfo  Landroid/view/DisplayInfo;
    MethodParameters:
           Name  Flags
      displayId  
      daj        

  public android.view.Display getCompatibleDisplay(int, android.content.res.Resources);
    descriptor: (ILandroid/content/res/Resources;)Landroid/view/Display;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
        start local 2 // android.content.res.Resources resources
         0: .line 199
            aload 0 /* this */
            iload 1 /* displayId */
            invokevirtual android.hardware.display.DisplayManagerGlobal.getDisplayInfo:(I)Landroid/view/DisplayInfo;
            astore 3 /* displayInfo */
        start local 3 // android.view.DisplayInfo displayInfo
         1: .line 200
            aload 3 /* displayInfo */
            ifnonnull 3
         2: .line 201
            aconst_null
            areturn
         3: .line 203
      StackMap locals: android.view.DisplayInfo
      StackMap stack:
            new android.view.Display
            dup
            aload 0 /* this */
            iload 1 /* displayId */
            aload 3 /* displayInfo */
            aload 2 /* resources */
            invokespecial android.view.Display.<init>:(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V
            areturn
        end local 3 // android.view.DisplayInfo displayInfo
        end local 2 // android.content.res.Resources resources
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/hardware/display/DisplayManagerGlobal;
            0    4     1    displayId  I
            0    4     2    resources  Landroid/content/res/Resources;
            1    4     3  displayInfo  Landroid/view/DisplayInfo;
    MethodParameters:
           Name  Flags
      displayId  
      resources  

  public android.view.Display getRealDisplay(int);
    descriptor: (I)Landroid/view/Display;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
         0: .line 213
            aload 0 /* this */
            iload 1 /* displayId */
            getstatic android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS:Landroid/view/DisplayAdjustments;
            invokevirtual android.hardware.display.DisplayManagerGlobal.getCompatibleDisplay:(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
            areturn
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/hardware/display/DisplayManagerGlobal;
            0    1     1  displayId  I
    MethodParameters:
           Name  Flags
      displayId  

  public void registerDisplayListener(android.hardware.display.DisplayManager$DisplayListener, android.os.Handler);
    descriptor: (Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.DisplayManager$DisplayListener listener
        start local 2 // android.os.Handler handler
         0: .line 217
            aload 1 /* listener */
            ifnonnull 2
         1: .line 218
            new java.lang.IllegalArgumentException
            dup
            ldc "listener must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 222
            aload 0 /* this */
            aload 1 /* listener */
            invokevirtual android.hardware.display.DisplayManagerGlobal.findDisplayListenerLocked:(Landroid/hardware/display/DisplayManager$DisplayListener;)I
            istore 4 /* index */
        start local 4 // int index
         4: .line 223
            iload 4 /* index */
            ifge 7
         5: .line 224
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            new android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
            dup
            aload 1 /* listener */
            aload 2 /* handler */
            invokespecial android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.<init>:(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 225
            aload 0 /* this */
            invokevirtual android.hardware.display.DisplayManagerGlobal.registerCallbackIfNeededLocked:()V
        end local 4 // int index
         7: .line 221
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.os.Handler handler
        end local 1 // android.hardware.display.DisplayManager$DisplayListener listener
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/hardware/display/DisplayManagerGlobal;
            0   12     1  listener  Landroid/hardware/display/DisplayManager$DisplayListener;
            0   12     2   handler  Landroid/os/Handler;
            4    7     4     index  I
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    MethodParameters:
          Name  Flags
      listener  
      handler   

  public void unregisterDisplayListener(android.hardware.display.DisplayManager$DisplayListener);
    descriptor: (Landroid/hardware/display/DisplayManager$DisplayListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.DisplayManager$DisplayListener listener
         0: .line 231
            aload 1 /* listener */
            ifnonnull 2
         1: .line 232
            new java.lang.IllegalArgumentException
            dup
            ldc "listener must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 236
            aload 0 /* this */
            aload 1 /* listener */
            invokevirtual android.hardware.display.DisplayManagerGlobal.findDisplayListenerLocked:(Landroid/hardware/display/DisplayManager$DisplayListener;)I
            istore 3 /* index */
        start local 3 // int index
         4: .line 237
            iload 3 /* index */
            iflt 8
         5: .line 238
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            iload 3 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
            astore 4 /* d */
        start local 4 // android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate d
         6: .line 239
            aload 4 /* d */
            invokevirtual android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.clearEvents:()V
         7: .line 240
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            iload 3 /* index */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            pop
        end local 4 // android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate d
        end local 3 // int index
         8: .line 235
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.display.DisplayManager$DisplayListener listener
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Landroid/hardware/display/DisplayManagerGlobal;
            0   13     1  listener  Landroid/hardware/display/DisplayManager$DisplayListener;
            4    8     3     index  I
            6    8     4         d  Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;
      Exception table:
        from    to  target  type
           3     9      10  any
          10    11      10  any
    MethodParameters:
          Name  Flags
      listener  

  private int findDisplayListenerLocked(android.hardware.display.DisplayManager$DisplayListener);
    descriptor: (Landroid/hardware/display/DisplayManager$DisplayListener;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.DisplayManager$DisplayListener listener
         0: .line 246
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         1: .line 247
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 248
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
            getfield android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.mListener:Landroid/hardware/display/DisplayManager$DisplayListener;
            aload 1 /* listener */
            if_acmpne 5
         4: .line 249
            iload 3 /* i */
            ireturn
         5: .line 247
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 3
        end local 3 // int i
         7: .line 252
            iconst_m1
            ireturn
        end local 2 // int numListeners
        end local 1 // android.hardware.display.DisplayManager$DisplayListener listener
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/hardware/display/DisplayManagerGlobal;
            0    8     1      listener  Landroid/hardware/display/DisplayManager$DisplayListener;
            1    8     2  numListeners  I
            2    7     3             i  I
    MethodParameters:
          Name  Flags
      listener  

  private void registerCallbackIfNeededLocked();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 256
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mCallback:Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
            ifnonnull 6
         1: .line 257
            aload 0 /* this */
            new android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
            dup
            aload 0 /* this */
            invokespecial android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.<init>:(Landroid/hardware/display/DisplayManagerGlobal;)V
            putfield android.hardware.display.DisplayManagerGlobal.mCallback:Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
         2: .line 259
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mCallback:Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
            invokeinterface android.hardware.display.IDisplayManager.registerCallback:(Landroid/hardware/display/IDisplayManagerCallback;)V
         3: .line 260
            goto 6
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         5: .line 261
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
         6: .line 264
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            5    6     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  private void handleDisplayEvent(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
        start local 2 // int event
         0: .line 267
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 276
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* numListeners */
        start local 4 // int numListeners
         2: .line 277
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 278
      StackMap locals: java.lang.Object int int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDisplayListeners:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
            iload 1 /* displayId */
            iload 2 /* event */
            invokevirtual android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent:(II)V
         5: .line 277
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 4 /* numListeners */
            if_icmplt 4
        end local 5 // int i
        end local 4 // int numListeners
         7: .line 267
            aload 3
            monitorexit
         8: goto 11
      StackMap locals: android.hardware.display.DisplayManagerGlobal int int java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int event
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Landroid/hardware/display/DisplayManagerGlobal;
            0   12     1     displayId  I
            0   12     2         event  I
            2    7     4  numListeners  I
            3    7     5             i  I
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
           Name  Flags
      displayId  
      event      

  public void startWifiDisplayScan();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 284
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 285
            aload 0 /* this */
            dup
            getfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            dup_x1
            iconst_1
            iadd
            putfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            ifne 7
         2: .line 286
            aload 0 /* this */
            invokevirtual android.hardware.display.DisplayManagerGlobal.registerCallbackIfNeededLocked:()V
         3: .line 288
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.startWifiDisplayScan:()V
         4: .line 289
            goto 7
      StackMap locals: android.hardware.display.DisplayManagerGlobal java.lang.Object
      StackMap stack: android.os.RemoteException
         5: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         6: .line 290
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         7: .line 284
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            6    7     2    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           3     4       5  Class android.os.RemoteException
           1     8       9  any
           9    10       9  any

  public void stopWifiDisplayScan();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 297
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 298
            aload 0 /* this */
            dup
            getfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            iconst_1
            isub
            dup_x1
            putfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            ifne 6
         2: .line 300
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.stopWifiDisplayScan:()V
         3: .line 301
            goto 11
      StackMap locals: android.hardware.display.DisplayManagerGlobal java.lang.Object
      StackMap stack: android.os.RemoteException
         4: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         5: .line 302
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         6: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            ifge 11
         7: .line 305
            ldc "DisplayManager"
            new java.lang.StringBuilder
            dup
            ldc "Wifi display scan nest count became negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 306
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 305
            invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 307
            aload 0 /* this */
            iconst_0
            putfield android.hardware.display.DisplayManagerGlobal.mWifiDisplayScanNestCount:I
        11: .line 297
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            5    6     2    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
           1    12      13  any
          13    14      13  any

  public void connectWifiDisplay(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // java.lang.String deviceAddress
         0: .line 313
            aload 1 /* deviceAddress */
            ifnonnull 2
         1: .line 314
            new java.lang.IllegalArgumentException
            dup
            ldc "deviceAddress must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* deviceAddress */
            invokeinterface android.hardware.display.IDisplayManager.connectWifiDisplay:(Ljava/lang/String;)V
         3: .line 319
            goto 6
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         5: .line 320
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         6: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String deviceAddress
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Landroid/hardware/display/DisplayManagerGlobal;
            0    7     1  deviceAddress  Ljava/lang/String;
            5    6     2             ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
               Name  Flags
      deviceAddress  

  public void pauseWifiDisplay();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 326
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.pauseWifiDisplay:()V
         1: .line 327
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 328
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
         4: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void resumeWifiDisplay();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 334
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.resumeWifiDisplay:()V
         1: .line 335
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 336
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
         4: .line 338
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void disconnectWifiDisplay();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 342
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.disconnectWifiDisplay:()V
         1: .line 343
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 344
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
         4: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void renameWifiDisplay(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // java.lang.String deviceAddress
        start local 2 // java.lang.String alias
         0: .line 349
            aload 1 /* deviceAddress */
            ifnonnull 2
         1: .line 350
            new java.lang.IllegalArgumentException
            dup
            ldc "deviceAddress must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* deviceAddress */
            aload 2 /* alias */
            invokeinterface android.hardware.display.IDisplayManager.renameWifiDisplay:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 355
            goto 6
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 3 /* ex */
        start local 3 // android.os.RemoteException ex
         5: .line 356
            aload 3 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // android.os.RemoteException ex
         6: .line 358
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String alias
        end local 1 // java.lang.String deviceAddress
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Landroid/hardware/display/DisplayManagerGlobal;
            0    7     1  deviceAddress  Ljava/lang/String;
            0    7     2          alias  Ljava/lang/String;
            5    6     3             ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
               Name  Flags
      deviceAddress  
      alias          

  public void forgetWifiDisplay(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // java.lang.String deviceAddress
         0: .line 361
            aload 1 /* deviceAddress */
            ifnonnull 2
         1: .line 362
            new java.lang.IllegalArgumentException
            dup
            ldc "deviceAddress must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* deviceAddress */
            invokeinterface android.hardware.display.IDisplayManager.forgetWifiDisplay:(Ljava/lang/String;)V
         3: .line 367
            goto 6
      StackMap locals:
      StackMap stack: android.os.RemoteException
         4: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         5: .line 368
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         6: .line 370
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String deviceAddress
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Landroid/hardware/display/DisplayManagerGlobal;
            0    7     1  deviceAddress  Ljava/lang/String;
            5    6     2             ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
               Name  Flags
      deviceAddress  

  public android.hardware.display.WifiDisplayStatus getWifiDisplayStatus();
    descriptor: ()Landroid/hardware/display/WifiDisplayStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 374
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getWifiDisplayStatus:()Landroid/hardware/display/WifiDisplayStatus;
         1: areturn
         2: .line 375
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 376
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void requestColorMode(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int displayId
        start local 2 // int colorMode
         0: .line 382
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            iload 1 /* displayId */
            iload 2 /* colorMode */
            invokeinterface android.hardware.display.IDisplayManager.requestColorMode:(II)V
         1: .line 383
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 3 /* ex */
        start local 3 // android.os.RemoteException ex
         3: .line 384
            aload 3 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // android.os.RemoteException ex
         4: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int colorMode
        end local 1 // int displayId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1  displayId  I
            0    5     2  colorMode  I
            3    4     3         ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
           Name  Flags
      displayId  
      colorMode  

  public void setSaturationLevel(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // float level
         0: .line 393
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            fload 1 /* level */
            invokeinterface android.hardware.display.IDisplayManager.setSaturationLevel:(F)V
         1: .line 394
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         3: .line 395
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         4: .line 397
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float level
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1  level  F
            3    4     2     ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      level  

  public android.hardware.display.VirtualDisplay createVirtualDisplay(android.content.Context, android.media.projection.MediaProjection, java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay$Callback, android.os.Handler, java.lang.String);
    descriptor: (Landroid/content/Context;Landroid/media/projection/MediaProjection;Ljava/lang/String;IIILandroid/view/Surface;ILandroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;Ljava/lang/String;)Landroid/hardware/display/VirtualDisplay;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=17, args_size=12
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.content.Context context
        start local 2 // android.media.projection.MediaProjection projection
        start local 3 // java.lang.String name
        start local 4 // int width
        start local 5 // int height
        start local 6 // int densityDpi
        start local 7 // android.view.Surface surface
        start local 8 // int flags
        start local 9 // android.hardware.display.VirtualDisplay$Callback callback
        start local 10 // android.os.Handler handler
        start local 11 // java.lang.String uniqueId
         0: .line 402
            aload 3 /* name */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 403
            new java.lang.IllegalArgumentException
            dup
            ldc "name must be non-null and non-empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 405
      StackMap locals:
      StackMap stack:
            iload 4 /* width */
            ifle 3
            iload 5 /* height */
            ifle 3
            iload 6 /* densityDpi */
            ifgt 4
         3: .line 406
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "width, height, and densityDpi must be greater than 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 410
      StackMap locals:
      StackMap stack:
            new android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback
            dup
            aload 9 /* callback */
            aload 10 /* handler */
            invokespecial android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback.<init>:(Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)V
            astore 12 /* callbackWrapper */
        start local 12 // android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback callbackWrapper
         5: .line 411
            aload 2 /* projection */
            ifnull 6
            aload 2 /* projection */
            invokevirtual android.media.projection.MediaProjection.getProjection:()Landroid/media/projection/IMediaProjection;
            goto 7
      StackMap locals: android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: android.media.projection.IMediaProjection
         7: astore 13 /* projectionToken */
        start local 13 // android.media.projection.IMediaProjection projectionToken
         8: .line 414
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 12 /* callbackWrapper */
            aload 13 /* projectionToken */
         9: .line 415
            aload 1 /* context */
            invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
            aload 3 /* name */
            iload 4 /* width */
            iload 5 /* height */
            iload 6 /* densityDpi */
            aload 7 /* surface */
            iload 8 /* flags */
        10: .line 416
            aload 11 /* uniqueId */
        11: .line 414
            invokeinterface android.hardware.display.IDisplayManager.createVirtualDisplay:(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
            istore 14 /* displayId */
        start local 14 // int displayId
        12: .line 417
            goto 15
        end local 14 // int displayId
      StackMap locals: android.hardware.display.DisplayManagerGlobal android.content.Context android.media.projection.MediaProjection java.lang.String int int int android.view.Surface int android.hardware.display.VirtualDisplay$Callback android.os.Handler java.lang.String android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback android.media.projection.IMediaProjection
      StackMap stack: android.os.RemoteException
        13: astore 15 /* ex */
        start local 15 // android.os.RemoteException ex
        14: .line 418
            aload 15 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 15 // android.os.RemoteException ex
        start local 14 // int displayId
        15: .line 420
      StackMap locals: int
      StackMap stack:
            iload 14 /* displayId */
            ifge 18
        16: .line 421
            ldc "DisplayManager"
            new java.lang.StringBuilder
            dup
            ldc "Could not create virtual display: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        17: .line 422
            aconst_null
            areturn
        18: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 14 /* displayId */
            invokevirtual android.hardware.display.DisplayManagerGlobal.getRealDisplay:(I)Landroid/view/Display;
            astore 15 /* display */
        start local 15 // android.view.Display display
        19: .line 425
            aload 15 /* display */
            ifnonnull 28
        20: .line 426
            ldc "DisplayManager"
            new java.lang.StringBuilder
            dup
            ldc "Could not obtain display info for newly created virtual display: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 427
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 426
            invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        23: .line 429
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 12 /* callbackWrapper */
            invokeinterface android.hardware.display.IDisplayManager.releaseVirtualDisplay:(Landroid/hardware/display/IVirtualDisplayCallback;)V
        24: .line 430
            goto 27
      StackMap locals: android.hardware.display.DisplayManagerGlobal android.content.Context android.media.projection.MediaProjection java.lang.String int int int android.view.Surface int android.hardware.display.VirtualDisplay$Callback android.os.Handler java.lang.String android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback android.media.projection.IMediaProjection int android.view.Display
      StackMap stack: android.os.RemoteException
        25: astore 16 /* ex */
        start local 16 // android.os.RemoteException ex
        26: .line 431
            aload 16 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 16 // android.os.RemoteException ex
        27: .line 433
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        28: .line 435
      StackMap locals:
      StackMap stack:
            new android.hardware.display.VirtualDisplay
            dup
            aload 0 /* this */
            aload 15 /* display */
            aload 12 /* callbackWrapper */
            aload 7 /* surface */
            invokespecial android.hardware.display.VirtualDisplay.<init>:(Landroid/hardware/display/DisplayManagerGlobal;Landroid/view/Display;Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
            areturn
        end local 15 // android.view.Display display
        end local 14 // int displayId
        end local 13 // android.media.projection.IMediaProjection projectionToken
        end local 12 // android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback callbackWrapper
        end local 11 // java.lang.String uniqueId
        end local 10 // android.os.Handler handler
        end local 9 // android.hardware.display.VirtualDisplay$Callback callback
        end local 8 // int flags
        end local 7 // android.view.Surface surface
        end local 6 // int densityDpi
        end local 5 // int height
        end local 4 // int width
        end local 3 // java.lang.String name
        end local 2 // android.media.projection.MediaProjection projection
        end local 1 // android.content.Context context
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Landroid/hardware/display/DisplayManagerGlobal;
            0   29     1          context  Landroid/content/Context;
            0   29     2       projection  Landroid/media/projection/MediaProjection;
            0   29     3             name  Ljava/lang/String;
            0   29     4            width  I
            0   29     5           height  I
            0   29     6       densityDpi  I
            0   29     7          surface  Landroid/view/Surface;
            0   29     8            flags  I
            0   29     9         callback  Landroid/hardware/display/VirtualDisplay$Callback;
            0   29    10          handler  Landroid/os/Handler;
            0   29    11         uniqueId  Ljava/lang/String;
            5   29    12  callbackWrapper  Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;
            8   29    13  projectionToken  Landroid/media/projection/IMediaProjection;
           12   13    14        displayId  I
           15   29    14        displayId  I
           14   15    15               ex  Landroid/os/RemoteException;
           19   29    15          display  Landroid/view/Display;
           26   27    16               ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           8    12      13  Class android.os.RemoteException
          23    24      25  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      context     
      projection  
      name        
      width       
      height      
      densityDpi  
      surface     
      flags       
      callback    
      handler     
      uniqueId    

  public void setVirtualDisplaySurface(android.hardware.display.IVirtualDisplayCallback, android.view.Surface);
    descriptor: (Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.IVirtualDisplayCallback token
        start local 2 // android.view.Surface surface
         0: .line 440
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* token */
            aload 2 /* surface */
            invokeinterface android.hardware.display.IDisplayManager.setVirtualDisplaySurface:(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
         1: .line 441
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 3 /* ex */
        start local 3 // android.os.RemoteException ex
         3: .line 442
            aload 3 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // android.os.RemoteException ex
         4: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.Surface surface
        end local 1 // android.hardware.display.IVirtualDisplayCallback token
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1    token  Landroid/hardware/display/IVirtualDisplayCallback;
            0    5     2  surface  Landroid/view/Surface;
            3    4     3       ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
         Name  Flags
      token    
      surface  

  public void resizeVirtualDisplay(android.hardware.display.IVirtualDisplayCallback, int, int, int);
    descriptor: (Landroid/hardware/display/IVirtualDisplayCallback;III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.IVirtualDisplayCallback token
        start local 2 // int width
        start local 3 // int height
        start local 4 // int densityDpi
         0: .line 449
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* token */
            iload 2 /* width */
            iload 3 /* height */
            iload 4 /* densityDpi */
            invokeinterface android.hardware.display.IDisplayManager.resizeVirtualDisplay:(Landroid/hardware/display/IVirtualDisplayCallback;III)V
         1: .line 450
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 5 /* ex */
        start local 5 // android.os.RemoteException ex
         3: .line 451
            aload 5 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // android.os.RemoteException ex
         4: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int densityDpi
        end local 3 // int height
        end local 2 // int width
        end local 1 // android.hardware.display.IVirtualDisplayCallback token
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1       token  Landroid/hardware/display/IVirtualDisplayCallback;
            0    5     2       width  I
            0    5     3      height  I
            0    5     4  densityDpi  I
            3    4     5          ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      token       
      width       
      height      
      densityDpi  

  public void releaseVirtualDisplay(android.hardware.display.IVirtualDisplayCallback);
    descriptor: (Landroid/hardware/display/IVirtualDisplayCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.IVirtualDisplayCallback token
         0: .line 457
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* token */
            invokeinterface android.hardware.display.IDisplayManager.releaseVirtualDisplay:(Landroid/hardware/display/IVirtualDisplayCallback;)V
         1: .line 458
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         3: .line 459
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         4: .line 461
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.display.IVirtualDisplayCallback token
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1  token  Landroid/hardware/display/IVirtualDisplayCallback;
            3    4     2     ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      token  

  public android.graphics.Point getStableDisplaySize();
    descriptor: ()Landroid/graphics/Point;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 468
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getStableDisplaySize:()Landroid/graphics/Point;
         1: areturn
         2: .line 469
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 470
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // java.lang.String callingPackage
         0: .line 480
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* callingPackage */
            invokeinterface android.hardware.display.IDisplayManager.getBrightnessEvents:(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
         1: .line 479
            astore 2 /* events */
        start local 2 // android.content.pm.ParceledListSlice events
         2: .line 481
            aload 2 /* events */
            ifnonnull 5
         3: .line 482
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         4: areturn
         5: .line 484
      StackMap locals: android.content.pm.ParceledListSlice
      StackMap stack:
            aload 2 /* events */
            invokevirtual android.content.pm.ParceledListSlice.getList:()Ljava/util/List;
         6: areturn
        end local 2 // android.content.pm.ParceledListSlice events
         7: .line 485
      StackMap locals: android.hardware.display.DisplayManagerGlobal java.lang.String
      StackMap stack: android.os.RemoteException
            astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         8: .line 486
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
        end local 1 // java.lang.String callingPackage
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Landroid/hardware/display/DisplayManagerGlobal;
            0    9     1  callingPackage  Ljava/lang/String;
            2    7     2          events  Landroid/content/pm/ParceledListSlice<Landroid/hardware/display/BrightnessChangeEvent;>;
            8    9     2              ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     4       7  Class android.os.RemoteException
           5     6       7  Class android.os.RemoteException
    Signature: (Ljava/lang/String;)Ljava/util/List<Landroid/hardware/display/BrightnessChangeEvent;>;
    MethodParameters:
                Name  Flags
      callingPackage  

  public void setBrightnessConfigurationForUser(android.hardware.display.BrightnessConfiguration, int, java.lang.String);
    descriptor: (Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // android.hardware.display.BrightnessConfiguration c
        start local 2 // int userId
        start local 3 // java.lang.String packageName
         0: .line 498
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            aload 1 /* c */
            iload 2 /* userId */
            aload 3 /* packageName */
            invokeinterface android.hardware.display.IDisplayManager.setBrightnessConfigurationForUser:(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
         1: .line 499
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 4 /* ex */
        start local 4 // android.os.RemoteException ex
         3: .line 500
            aload 4 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // android.os.RemoteException ex
         4: .line 502
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String packageName
        end local 2 // int userId
        end local 1 // android.hardware.display.BrightnessConfiguration c
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1            c  Landroid/hardware/display/BrightnessConfiguration;
            0    5     2       userId  I
            0    5     3  packageName  Ljava/lang/String;
            3    4     4           ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      c            
      userId       
      packageName  

  public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForUser(int);
    descriptor: (I)Landroid/hardware/display/BrightnessConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int userId
         0: .line 511
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            iload 1 /* userId */
            invokeinterface android.hardware.display.IDisplayManager.getBrightnessConfigurationForUser:(I)Landroid/hardware/display/BrightnessConfiguration;
         1: areturn
         2: .line 512
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         3: .line 513
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
        end local 1 // int userId
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/hardware/display/DisplayManagerGlobal;
            0    4     1  userId  I
            3    4     2      ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      userId  

  public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
    descriptor: ()Landroid/hardware/display/BrightnessConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 524
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getDefaultBrightnessConfiguration:()Landroid/hardware/display/BrightnessConfiguration;
         1: areturn
         2: .line 525
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         3: .line 526
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/hardware/display/DisplayManagerGlobal;
            3    4     1    ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void setTemporaryBrightness(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // int brightness
         0: .line 542
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            iload 1 /* brightness */
            invokeinterface android.hardware.display.IDisplayManager.setTemporaryBrightness:(I)V
         1: .line 543
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         3: .line 544
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         4: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int brightness
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1  brightness  I
            3    4     2          ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      brightness  

  public void setTemporaryAutoBrightnessAdjustment(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.DisplayManagerGlobal this
        start local 1 // float adjustment
         0: .line 560
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            fload 1 /* adjustment */
            invokeinterface android.hardware.display.IDisplayManager.setTemporaryAutoBrightnessAdjustment:(F)V
         1: .line 561
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: astore 2 /* ex */
        start local 2 // android.os.RemoteException ex
         3: .line 562
            aload 2 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException ex
         4: .line 564
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float adjustment
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/hardware/display/DisplayManagerGlobal;
            0    5     1  adjustment  F
            3    4     2          ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      adjustment  

  public android.util.Pair<float[], float[]> getMinimumBrightnessCurve();
    descriptor: ()Landroid/util/Pair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 577
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getMinimumBrightnessCurve:()Landroid/hardware/display/Curve;
            astore 1 /* curve */
        start local 1 // android.hardware.display.Curve curve
         1: .line 578
            aload 1 /* curve */
            invokevirtual android.hardware.display.Curve.getX:()[F
            aload 1 /* curve */
            invokevirtual android.hardware.display.Curve.getY:()[F
            invokestatic android.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
         2: areturn
        end local 1 // android.hardware.display.Curve curve
         3: .line 579
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         4: .line 580
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/hardware/display/DisplayManagerGlobal;
            1    3     1  curve  Landroid/hardware/display/Curve;
            4    5     1     ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     2       3  Class android.os.RemoteException
    Signature: ()Landroid/util/Pair<[F[F>;

  public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.display.DisplayManagerGlobal this
         0: .line 589
            aload 0 /* this */
            getfield android.hardware.display.DisplayManagerGlobal.mDm:Landroid/hardware/display/IDisplayManager;
            invokeinterface android.hardware.display.IDisplayManager.getAmbientBrightnessStats:()Landroid/content/pm/ParceledListSlice;
            astore 1 /* stats */
        start local 1 // android.content.pm.ParceledListSlice stats
         1: .line 590
            aload 1 /* stats */
            ifnonnull 4
         2: .line 591
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         3: areturn
         4: .line 593
      StackMap locals: android.content.pm.ParceledListSlice
      StackMap stack:
            aload 1 /* stats */
            invokevirtual android.content.pm.ParceledListSlice.getList:()Ljava/util/List;
         5: areturn
        end local 1 // android.content.pm.ParceledListSlice stats
         6: .line 594
      StackMap locals: android.hardware.display.DisplayManagerGlobal
      StackMap stack: android.os.RemoteException
            astore 1 /* ex */
        start local 1 // android.os.RemoteException ex
         7: .line 595
            aload 1 /* ex */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException ex
        end local 0 // android.hardware.display.DisplayManagerGlobal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/hardware/display/DisplayManagerGlobal;
            1    6     1  stats  Landroid/content/pm/ParceledListSlice<Landroid/hardware/display/AmbientBrightnessDayStats;>;
            7    8     1     ex  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     3       6  Class android.os.RemoteException
           4     5       6  Class android.os.RemoteException
    Signature: ()Ljava/util/List<Landroid/hardware/display/AmbientBrightnessDayStats;>;
}
SourceFile: "DisplayManagerGlobal.java"
NestMembers:
  android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate  android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback  android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback  android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallbackDelegate
InnerClasses:
  public abstract DisplayListener = android.hardware.display.DisplayManager$DisplayListener of android.hardware.display.DisplayManager
  private final DisplayListenerDelegate = android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate of android.hardware.display.DisplayManagerGlobal
  private final DisplayManagerCallback = android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback of android.hardware.display.DisplayManagerGlobal
  private final VirtualDisplayCallback = android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallback of android.hardware.display.DisplayManagerGlobal
  private final VirtualDisplayCallbackDelegate = android.hardware.display.DisplayManagerGlobal$VirtualDisplayCallbackDelegate of android.hardware.display.DisplayManagerGlobal
  public abstract Stub = android.hardware.display.IDisplayManager$Stub of android.hardware.display.IDisplayManager
  public abstract Callback = android.hardware.display.VirtualDisplay$Callback of android.hardware.display.VirtualDisplay