public final class android.view.ViewRootImpl implements android.view.ViewParent, android.view.View$AttachInfo$Callbacks, android.view.ThreadedRenderer$DrawCallbacks
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.view.ViewRootImpl
  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: "ViewRootImpl"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static final java.lang.String PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ro.emu.win_outset_bottom_px"

  static final int MAX_TRACKBALL_DELAY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 250

  static final java.lang.ThreadLocal<android.view.HandlerActionQueue> sRunQueues;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Landroid/view/HandlerActionQueue;>;

  static final java.util.ArrayList<java.lang.Runnable> sFirstDrawHandlers;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/Runnable;>;

  static boolean sFirstDrawComplete;
    descriptor: Z
    flags: (0x0008) ACC_STATIC

  private android.view.ThreadedRenderer$FrameDrawingCallback mNextRtFrameCallback;
    descriptor: Landroid/view/ThreadedRenderer$FrameDrawingCallback;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.ArrayList<android.view.ViewRootImpl$ConfigChangedCallback> sConfigCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/view/ViewRootImpl$ConfigChangedCallback;>;

  private android.view.ViewRootImpl$ActivityConfigCallback mActivityConfigCallback;
    descriptor: Landroid/view/ViewRootImpl$ActivityConfigCallback;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  final java.util.ArrayList<android.view.WindowCallbacks> mWindowCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/view/WindowCallbacks;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mWindowCallbacks")

  final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0010) ACC_FINAL

  final android.view.IWindowSession mWindowSession;
    descriptor: Landroid/view/IWindowSession;
    flags: (0x0010) ACC_FINAL

  android.view.Display mDisplay;
    descriptor: Landroid/view/Display;
    flags: (0x0000) 

  final android.hardware.display.DisplayManager mDisplayManager;
    descriptor: Landroid/hardware/display/DisplayManager;
    flags: (0x0010) ACC_FINAL

  final java.lang.String mBasePackageName;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final int[] mTmpLocation;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final android.util.TypedValue mTmpValue;
    descriptor: Landroid/util/TypedValue;
    flags: (0x0010) ACC_FINAL

  final java.lang.Thread mThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0010) ACC_FINAL

  final android.view.WindowLeaked mLocation;
    descriptor: Landroid/view/WindowLeaked;
    flags: (0x0010) ACC_FINAL

  public final android.view.WindowManager$LayoutParams mWindowAttributes;
    descriptor: Landroid/view/WindowManager$LayoutParams;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  final android.view.ViewRootImpl$W mWindow;
    descriptor: Landroid/view/ViewRootImpl$W;
    flags: (0x0010) ACC_FINAL

  final int mTargetSdkVersion;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  int mSeq;
    descriptor: I
    flags: (0x0000) 

  android.view.View mView;
    descriptor: Landroid/view/View;
    flags: (0x0000) 

  android.view.View mAccessibilityFocusedHost;
    descriptor: Landroid/view/View;
    flags: (0x0000) 

  android.view.accessibility.AccessibilityNodeInfo mAccessibilityFocusedVirtualView;
    descriptor: Landroid/view/accessibility/AccessibilityNodeInfo;
    flags: (0x0000) 

  boolean mPointerCapture;
    descriptor: Z
    flags: (0x0000) 

  int mViewVisibility;
    descriptor: I
    flags: (0x0000) 

  boolean mAppVisible;
    descriptor: Z
    flags: (0x0000) 

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

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

  int mOrigWindowType;
    descriptor: I
    flags: (0x0000) 

  boolean mHadWindowFocus;
    descriptor: Z
    flags: (0x0000) 

  boolean mLostWindowFocus;
    descriptor: Z
    flags: (0x0000) 

  boolean mStopped;
    descriptor: Z
    flags: (0x0000) 

  boolean mIsAmbientMode;
    descriptor: Z
    flags: (0x0000) 

  boolean mPausedForTransition;
    descriptor: Z
    flags: (0x0000) 

  boolean mLastInCompatMode;
    descriptor: Z
    flags: (0x0000) 

  android.view.SurfaceHolder$Callback2 mSurfaceHolderCallback;
    descriptor: Landroid/view/SurfaceHolder$Callback2;
    flags: (0x0000) 

  com.android.internal.view.BaseSurfaceHolder mSurfaceHolder;
    descriptor: Lcom/android/internal/view/BaseSurfaceHolder;
    flags: (0x0000) 

  boolean mIsCreating;
    descriptor: Z
    flags: (0x0000) 

  boolean mDrawingAllowed;
    descriptor: Z
    flags: (0x0000) 

  final android.graphics.Region mTransparentRegion;
    descriptor: Landroid/graphics/Region;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Region mPreviousTransparentRegion;
    descriptor: Landroid/graphics/Region;
    flags: (0x0010) ACC_FINAL

  int mWidth;
    descriptor: I
    flags: (0x0000) 

  int mHeight;
    descriptor: I
    flags: (0x0000) 

  android.graphics.Rect mDirty;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0000) 

  public boolean mIsAnimating;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

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

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

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

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

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

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

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

  android.content.res.CompatibilityInfo$Translator mTranslator;
    descriptor: Landroid/content/res/CompatibilityInfo$Translator;
    flags: (0x0000) 

  final android.view.View$AttachInfo mAttachInfo;
    descriptor: Landroid/view/View$AttachInfo;
    flags: (0x0010) ACC_FINAL

  android.view.InputChannel mInputChannel;
    descriptor: Landroid/view/InputChannel;
    flags: (0x0000) 

  android.view.InputQueue$Callback mInputQueueCallback;
    descriptor: Landroid/view/InputQueue$Callback;
    flags: (0x0000) 

  android.view.InputQueue mInputQueue;
    descriptor: Landroid/view/InputQueue;
    flags: (0x0000) 

  android.view.FallbackEventHandler mFallbackEventHandler;
    descriptor: Landroid/view/FallbackEventHandler;
    flags: (0x0000) 

  android.view.Choreographer mChoreographer;
    descriptor: Landroid/view/Choreographer;
    flags: (0x0000) 

  final android.graphics.Rect mTempRect;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mVisRect;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  boolean mWindowFocusChanged;
    descriptor: Z
    flags: (0x0000) 
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "this")

  boolean mUpcomingWindowFocus;
    descriptor: Z
    flags: (0x0000) 
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "this")

  boolean mUpcomingInTouchMode;
    descriptor: Z
    flags: (0x0000) 
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "this")

  public boolean mTraversalScheduled;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  int mTraversalBarrier;
    descriptor: I
    flags: (0x0000) 

  boolean mWillDrawSoon;
    descriptor: Z
    flags: (0x0000) 

  boolean mIsInTraversal;
    descriptor: Z
    flags: (0x0000) 

  boolean mApplyInsetsRequested;
    descriptor: Z
    flags: (0x0000) 

  boolean mLayoutRequested;
    descriptor: Z
    flags: (0x0000) 

  boolean mFirst;
    descriptor: Z
    flags: (0x0000) 

  boolean mReportNextDraw;
    descriptor: Z
    flags: (0x0000) 

  boolean mFullRedrawNeeded;
    descriptor: Z
    flags: (0x0000) 

  boolean mNewSurfaceNeeded;
    descriptor: Z
    flags: (0x0000) 

  boolean mHasHadWindowFocus;
    descriptor: Z
    flags: (0x0000) 

  boolean mLastWasImTarget;
    descriptor: Z
    flags: (0x0000) 

  boolean mForceNextWindowRelayout;
    descriptor: Z
    flags: (0x0000) 

  java.util.concurrent.CountDownLatch mWindowDrawCountDown;
    descriptor: Ljava/util/concurrent/CountDownLatch;
    flags: (0x0000) 

  boolean mIsDrawing;
    descriptor: Z
    flags: (0x0000) 

  int mLastSystemUiVisibility;
    descriptor: I
    flags: (0x0000) 

  int mClientWindowLayoutFlags;
    descriptor: I
    flags: (0x0000) 

  boolean mLastOverscanRequested;
    descriptor: Z
    flags: (0x0000) 

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

  private android.view.ViewRootImpl$QueuedInputEvent mQueuedInputEventPool;
    descriptor: Landroid/view/ViewRootImpl$QueuedInputEvent;
    flags: (0x0002) ACC_PRIVATE

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

  android.view.ViewRootImpl$QueuedInputEvent mPendingInputEventHead;
    descriptor: Landroid/view/ViewRootImpl$QueuedInputEvent;
    flags: (0x0000) 

  android.view.ViewRootImpl$QueuedInputEvent mPendingInputEventTail;
    descriptor: Landroid/view/ViewRootImpl$QueuedInputEvent;
    flags: (0x0000) 

  int mPendingInputEventCount;
    descriptor: I
    flags: (0x0000) 

  boolean mProcessInputEventsScheduled;
    descriptor: Z
    flags: (0x0000) 

  boolean mUnbufferedInputDispatch;
    descriptor: Z
    flags: (0x0000) 

  java.lang.String mPendingInputEventQueueLengthCounterName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  android.view.ViewRootImpl$InputStage mFirstInputStage;
    descriptor: Landroid/view/ViewRootImpl$InputStage;
    flags: (0x0000) 

  android.view.ViewRootImpl$InputStage mFirstPostImeInputStage;
    descriptor: Landroid/view/ViewRootImpl$InputStage;
    flags: (0x0000) 

  android.view.ViewRootImpl$InputStage mSyntheticInputStage;
    descriptor: Landroid/view/ViewRootImpl$InputStage;
    flags: (0x0000) 

  private final android.view.ViewRootImpl$UnhandledKeyManager mUnhandledKeyManager;
    descriptor: Landroid/view/ViewRootImpl$UnhandledKeyManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  boolean mWindowAttributesChanged;
    descriptor: Z
    flags: (0x0000) 

  int mWindowAttributesChangesFlag;
    descriptor: I
    flags: (0x0000) 

  public final android.view.Surface mSurface;
    descriptor: Landroid/view/Surface;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  boolean mAdded;
    descriptor: Z
    flags: (0x0000) 

  boolean mAddedTouchMode;
    descriptor: Z
    flags: (0x0000) 

  final android.graphics.Rect mWinFrame;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingOverscanInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingVisibleInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingStableInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingContentInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingOutsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mPendingBackDropFrame;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.view.DisplayCutout$ParcelableWrapper mPendingDisplayCutout;
    descriptor: Landroid/view/DisplayCutout$ParcelableWrapper;
    flags: (0x0010) ACC_FINAL

  boolean mPendingAlwaysConsumeNavBar;
    descriptor: Z
    flags: (0x0000) 

  final android.view.ViewTreeObserver$InternalInsetsInfo mLastGivenInsets;
    descriptor: Landroid/view/ViewTreeObserver$InternalInsetsInfo;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mDispatchContentInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  final android.graphics.Rect mDispatchStableInsets;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0010) ACC_FINAL

  android.view.DisplayCutout mDispatchDisplayCutout;
    descriptor: Landroid/view/DisplayCutout;
    flags: (0x0000) 

  private android.view.WindowInsets mLastWindowInsets;
    descriptor: Landroid/view/WindowInsets;
    flags: (0x0002) ACC_PRIVATE

  private final android.content.res.Configuration mLastConfigurationFromResources;
    descriptor: Landroid/content/res/Configuration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.util.MergedConfiguration mLastReportedMergedConfiguration;
    descriptor: Landroid/util/MergedConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.util.MergedConfiguration mPendingMergedConfiguration;
    descriptor: Landroid/util/MergedConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  boolean mScrollMayChange;
    descriptor: Z
    flags: (0x0000) 

  int mSoftInputMode;
    descriptor: I
    flags: (0x0000) 

  java.lang.ref.WeakReference<android.view.View> mLastScrolledFocus;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0000) 
    Signature: Ljava/lang/ref/WeakReference<Landroid/view/View;>;

  int mScrollY;
    descriptor: I
    flags: (0x0000) 

  int mCurScrollY;
    descriptor: I
    flags: (0x0000) 

  android.widget.Scroller mScroller;
    descriptor: Landroid/widget/Scroller;
    flags: (0x0000) 

  static final android.view.animation.Interpolator mResizeInterpolator;
    descriptor: Landroid/view/animation/Interpolator;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private java.util.ArrayList<android.animation.LayoutTransition> mPendingTransitions;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Landroid/animation/LayoutTransition;>;

  final android.view.ViewConfiguration mViewConfiguration;
    descriptor: Landroid/view/ViewConfiguration;
    flags: (0x0010) ACC_FINAL

  android.content.ClipDescription mDragDescription;
    descriptor: Landroid/content/ClipDescription;
    flags: (0x0000) 

  android.view.View mCurrentDragView;
    descriptor: Landroid/view/View;
    flags: (0x0000) 

  volatile java.lang.Object mLocalDragState;
    descriptor: Ljava/lang/Object;
    flags: (0x0040) ACC_VOLATILE

  final android.graphics.PointF mDragPoint;
    descriptor: Landroid/graphics/PointF;
    flags: (0x0010) ACC_FINAL

  final android.graphics.PointF mLastTouchPoint;
    descriptor: Landroid/graphics/PointF;
    flags: (0x0010) ACC_FINAL

  int mLastTouchSource;
    descriptor: I
    flags: (0x0000) 

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

  private android.view.Choreographer$FrameCallback mRenderProfiler;
    descriptor: Landroid/view/Choreographer$FrameCallback;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private android.view.PointerIcon mCustomPointerIcon;
    descriptor: Landroid/view/PointerIcon;
    flags: (0x0002) ACC_PRIVATE

  android.media.AudioManager mAudioManager;
    descriptor: Landroid/media/AudioManager;
    flags: (0x0000) 

  final android.view.accessibility.AccessibilityManager mAccessibilityManager;
    descriptor: Landroid/view/accessibility/AccessibilityManager;
    flags: (0x0010) ACC_FINAL

  android.view.AccessibilityInteractionController mAccessibilityInteractionController;
    descriptor: Landroid/view/AccessibilityInteractionController;
    flags: (0x0000) 

  final android.view.ViewRootImpl$AccessibilityInteractionConnectionManager mAccessibilityInteractionConnectionManager;
    descriptor: Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
    flags: (0x0010) ACC_FINAL

  final android.view.ViewRootImpl$HighContrastTextManager mHighContrastTextManager;
    descriptor: Landroid/view/ViewRootImpl$HighContrastTextManager;
    flags: (0x0010) ACC_FINAL

  android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent mSendWindowContentChangedAccessibilityEvent;
    descriptor: Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
    flags: (0x0000) 

  java.util.HashSet<android.view.View> mTempHashSet;
    descriptor: Ljava/util/HashSet;
    flags: (0x0000) 
    Signature: Ljava/util/HashSet<Landroid/view/View;>;

  private final int mDensity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mNoncompatDensity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  java.util.ArrayList<android.view.View> mLayoutRequesters;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Landroid/view/View;>;

  boolean mHandlingLayoutInLayoutRequest;
    descriptor: Z
    flags: (0x0000) 

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

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

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

  protected final android.view.InputEventConsistencyVerifier mInputEventConsistencyVerifier;
    descriptor: Landroid/view/InputEventConsistencyVerifier;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

  private final android.hardware.display.DisplayManager$DisplayListener mDisplayListener;
    descriptor: Landroid/hardware/display/DisplayManager$DisplayListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList<android.view.ViewRootImpl$WindowStoppedCallback> mWindowStoppedCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/view/ViewRootImpl$WindowStoppedCallback;>;

  int mHardwareXOffset;
    descriptor: I
    flags: (0x0000) 

  int mHardwareYOffset;
    descriptor: I
    flags: (0x0000) 

  int mDrawsNeededToReport;
    descriptor: I
    flags: (0x0000) 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  final android.view.ViewRootImpl$ViewRootHandler mHandler;
    descriptor: Landroid/view/ViewRootImpl$ViewRootHandler;
    flags: (0x0010) ACC_FINAL

  final android.view.ViewRootImpl$TraversalRunnable mTraversalRunnable;
    descriptor: Landroid/view/ViewRootImpl$TraversalRunnable;
    flags: (0x0010) ACC_FINAL

  android.view.ViewRootImpl$WindowInputEventReceiver mInputEventReceiver;
    descriptor: Landroid/view/ViewRootImpl$WindowInputEventReceiver;
    flags: (0x0000) 

  final android.view.ViewRootImpl$ConsumeBatchedInputRunnable mConsumedBatchedInputRunnable;
    descriptor: Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
    flags: (0x0010) ACC_FINAL

  boolean mConsumeBatchedInputScheduled;
    descriptor: Z
    flags: (0x0000) 

  final android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable mConsumeBatchedInputImmediatelyRunnable;
    descriptor: Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
    flags: (0x0010) ACC_FINAL

  boolean mConsumeBatchedInputImmediatelyScheduled;
    descriptor: Z
    flags: (0x0000) 

  final android.view.ViewRootImpl$InvalidateOnAnimationRunnable mInvalidateOnAnimationRunnable;
    descriptor: Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 173
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic android.view.ViewRootImpl.sRunQueues:Ljava/lang/ThreadLocal;
         1: .line 175
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
         2: .line 176
            iconst_0
            putstatic android.view.ViewRootImpl.sFirstDrawComplete:Z
         3: .line 189
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
         4: .line 223
            iconst_0
            putstatic android.view.ViewRootImpl.sCompatibilityDone:Z
         5: .line 432
            new android.view.animation.AccelerateDecelerateInterpolator
            dup
            invokespecial android.view.animation.AccelerateDecelerateInterpolator.<init>:()V
            putstatic android.view.ViewRootImpl.mResizeInterpolator:Landroid/view/animation/Interpolator;
         6: .line 4000
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context, android.view.Display);
    descriptor: (Landroid/content/Context;Landroid/view/Display;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.content.Context context
        start local 2 // android.view.Display display
         0: .line 504
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 235
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
         2: .line 242
            aload 0 /* this */
            iconst_2
            newarray 10
            putfield android.view.ViewRootImpl.mTmpLocation:[I
         3: .line 244
            aload 0 /* this */
            new android.util.TypedValue
            dup
            invokespecial android.util.TypedValue.<init>:()V
            putfield android.view.ViewRootImpl.mTmpValue:Landroid/util/TypedValue;
         4: .line 250
            aload 0 /* this */
            new android.view.WindowManager$LayoutParams
            dup
            invokespecial android.view.WindowManager$LayoutParams.<init>:()V
            putfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
         5: .line 267
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mAppVisible:Z
         6: .line 272
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mForceDecorViewVisibility:Z
         7: .line 276
            aload 0 /* this */
            iconst_m1
            putfield android.view.ViewRootImpl.mOrigWindowType:I
         8: .line 290
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mStopped:Z
         9: .line 294
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsAmbientMode:Z
        10: .line 297
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mPausedForTransition:Z
        11: .line 299
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mLastInCompatMode:Z
        12: .line 379
            aload 0 /* this */
            ldc "pq"
            putfield android.view.ViewRootImpl.mPendingInputEventQueueLengthCounterName:Ljava/lang/String;
        13: .line 385
            aload 0 /* this */
            new android.view.ViewRootImpl$UnhandledKeyManager
            dup
            invokespecial android.view.ViewRootImpl$UnhandledKeyManager.<init>:()V
            putfield android.view.ViewRootImpl.mUnhandledKeyManager:Landroid/view/ViewRootImpl$UnhandledKeyManager;
        14: .line 387
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
        15: .line 388
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        16: .line 392
            aload 0 /* this */
            new android.view.Surface
            dup
            invokespecial android.view.Surface.<init>:()V
            putfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
        17: .line 400
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
        18: .line 401
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
        19: .line 402
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
        20: .line 403
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
        21: .line 404
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingOutsets:Landroid/graphics/Rect;
        22: .line 405
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mPendingBackDropFrame:Landroid/graphics/Rect;
        23: .line 406
            aload 0 /* this */
        24: .line 407
            new android.view.DisplayCutout$ParcelableWrapper
            dup
            getstatic android.view.DisplayCutout.NO_CUTOUT:Landroid/view/DisplayCutout;
            invokespecial android.view.DisplayCutout$ParcelableWrapper.<init>:(Landroid/view/DisplayCutout;)V
            putfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
        25: .line 409
            aload 0 /* this */
        26: .line 410
            new android.view.ViewTreeObserver$InternalInsetsInfo
            dup
            invokespecial android.view.ViewTreeObserver$InternalInsetsInfo.<init>:()V
            putfield android.view.ViewRootImpl.mLastGivenInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
        27: .line 412
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mDispatchContentInsets:Landroid/graphics/Rect;
        28: .line 413
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mDispatchStableInsets:Landroid/graphics/Rect;
        29: .line 414
            aload 0 /* this */
            getstatic android.view.DisplayCutout.NO_CUTOUT:Landroid/view/DisplayCutout;
            putfield android.view.ViewRootImpl.mDispatchDisplayCutout:Landroid/view/DisplayCutout;
        30: .line 419
            aload 0 /* this */
            new android.content.res.Configuration
            dup
            invokespecial android.content.res.Configuration.<init>:()V
            putfield android.view.ViewRootImpl.mLastConfigurationFromResources:Landroid/content/res/Configuration;
        31: .line 421
            aload 0 /* this */
            new android.util.MergedConfiguration
            dup
            invokespecial android.util.MergedConfiguration.<init>:()V
            putfield android.view.ViewRootImpl.mLastReportedMergedConfiguration:Landroid/util/MergedConfiguration;
        32: .line 423
            aload 0 /* this */
            new android.util.MergedConfiguration
            dup
            invokespecial android.util.MergedConfiguration.<init>:()V
            putfield android.view.ViewRootImpl.mPendingMergedConfiguration:Landroid/util/MergedConfiguration;
        33: .line 441
            aload 0 /* this */
            new android.graphics.PointF
            dup
            invokespecial android.graphics.PointF.<init>:()V
            putfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
        34: .line 442
            aload 0 /* this */
            new android.graphics.PointF
            dup
            invokespecial android.graphics.PointF.<init>:()V
            putfield android.view.ViewRootImpl.mLastTouchPoint:Landroid/graphics/PointF;
        35: .line 450
            aload 0 /* this */
            ldc -1
            putfield android.view.ViewRootImpl.mFpsStartTime:J
        36: .line 451
            aload 0 /* this */
            ldc -1
            putfield android.view.ViewRootImpl.mFpsPrevTime:J
        37: .line 454
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mPointerIconType:I
        38: .line 455
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mCustomPointerIcon:Landroid/view/PointerIcon;
        39: .line 466
            aload 0 /* this */
        40: .line 467
            new android.view.ViewRootImpl$AccessibilityInteractionConnectionManager
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$AccessibilityInteractionConnectionManager.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
        41: .line 477
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mInLayout:Z
        42: .line 478
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
        43: .line 479
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mHandlingLayoutInLayoutRequest:Z
        44: .line 491
            aload 0 /* this */
        45: .line 492
            invokestatic android.view.InputEventConsistencyVerifier.isInstrumentationEnabled:()Z
            ifeq 47
        46: .line 493
            new android.view.InputEventConsistencyVerifier
            dup
            aload 0 /* this */
            iconst_0
            invokespecial android.view.InputEventConsistencyVerifier.<init>:(Ljava/lang/Object;I)V
            goto 48
      StackMap locals: android.view.ViewRootImpl android.content.Context android.view.Display
      StackMap stack: android.view.ViewRootImpl
        47: aconst_null
      StackMap locals: android.view.ViewRootImpl android.content.Context android.view.Display
      StackMap stack: android.view.ViewRootImpl android.view.InputEventConsistencyVerifier
        48: putfield android.view.ViewRootImpl.mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
        49: .line 502
            aload 0 /* this */
            ldc "ViewRootImpl"
            putfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
        50: .line 588
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mProfile:Z
        51: .line 1142
            aload 0 /* this */
            new android.view.ViewRootImpl$1
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$1.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
        52: .line 1326
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.view.ViewRootImpl.mWindowStoppedCallbacks:Ljava/util/ArrayList;
        53: .line 3058
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mDrawsNeededToReport:I
        54: .line 4280
            aload 0 /* this */
            new android.view.ViewRootImpl$ViewRootHandler
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$ViewRootHandler.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
        55: .line 7186
            aload 0 /* this */
            new android.view.ViewRootImpl$TraversalRunnable
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$TraversalRunnable.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mTraversalRunnable:Landroid/view/ViewRootImpl$TraversalRunnable;
        56: .line 7221
            aload 0 /* this */
        57: .line 7222
            new android.view.ViewRootImpl$ConsumeBatchedInputRunnable
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$ConsumeBatchedInputRunnable.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mConsumedBatchedInputRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
        58: .line 7231
            aload 0 /* this */
        59: .line 7232
            new android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mConsumeBatchedInputImmediatelyRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
        60: .line 7317
            aload 0 /* this */
        61: .line 7318
            new android.view.ViewRootImpl$InvalidateOnAnimationRunnable
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$InvalidateOnAnimationRunnable.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mInvalidateOnAnimationRunnable:Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
        62: .line 505
            aload 0 /* this */
            aload 1 /* context */
            putfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
        63: .line 506
            aload 0 /* this */
            invokestatic android.view.WindowManagerGlobal.getWindowSession:()Landroid/view/IWindowSession;
            putfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
        64: .line 507
            aload 0 /* this */
            aload 2 /* display */
            putfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
        65: .line 508
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getBasePackageName:()Ljava/lang/String;
            putfield android.view.ViewRootImpl.mBasePackageName:Ljava/lang/String;
        66: .line 509
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield android.view.ViewRootImpl.mThread:Ljava/lang/Thread;
        67: .line 510
            aload 0 /* this */
            new android.view.WindowLeaked
            dup
            aconst_null
            invokespecial android.view.WindowLeaked.<init>:(Ljava/lang/String;)V
            putfield android.view.ViewRootImpl.mLocation:Landroid/view/WindowLeaked;
        68: .line 511
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLocation:Landroid/view/WindowLeaked;
            invokevirtual android.view.WindowLeaked.fillInStackTrace:()Ljava/lang/Throwable;
            pop
        69: .line 512
            aload 0 /* this */
            iconst_m1
            putfield android.view.ViewRootImpl.mWidth:I
        70: .line 513
            aload 0 /* this */
            iconst_m1
            putfield android.view.ViewRootImpl.mHeight:I
        71: .line 514
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mDirty:Landroid/graphics/Rect;
        72: .line 515
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
        73: .line 516
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mVisRect:Landroid/graphics/Rect;
        74: .line 517
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
        75: .line 518
            aload 0 /* this */
            new android.view.ViewRootImpl$W
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$W.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
        76: .line 519
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            putfield android.view.ViewRootImpl.mTargetSdkVersion:I
        77: .line 520
            aload 0 /* this */
            bipush 8
            putfield android.view.ViewRootImpl.mViewVisibility:I
        78: .line 521
            aload 0 /* this */
            new android.graphics.Region
            dup
            invokespecial android.graphics.Region.<init>:()V
            putfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
        79: .line 522
            aload 0 /* this */
            new android.graphics.Region
            dup
            invokespecial android.graphics.Region.<init>:()V
            putfield android.view.ViewRootImpl.mPreviousTransparentRegion:Landroid/graphics/Region;
        80: .line 523
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFirst:Z
        81: .line 524
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mAdded:Z
        82: .line 525
            aload 0 /* this */
            new android.view.View$AttachInfo
            dup
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 2 /* display */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 0 /* this */
        83: .line 526
            aload 1 /* context */
            invokespecial android.view.View$AttachInfo.<init>:(Landroid/view/IWindowSession;Landroid/view/IWindow;Landroid/view/Display;Landroid/view/ViewRootImpl;Landroid/os/Handler;Landroid/view/View$AttachInfo$Callbacks;Landroid/content/Context;)V
        84: .line 525
            putfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
        85: .line 527
            aload 0 /* this */
            aload 1 /* context */
            invokestatic android.view.accessibility.AccessibilityManager.getInstance:(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
            putfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
        86: .line 528
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
        87: .line 529
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
        88: .line 528
            invokevirtual android.view.accessibility.AccessibilityManager.addAccessibilityStateChangeListener:(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V
        89: .line 530
            aload 0 /* this */
            new android.view.ViewRootImpl$HighContrastTextManager
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$HighContrastTextManager.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mHighContrastTextManager:Landroid/view/ViewRootImpl$HighContrastTextManager;
        90: .line 531
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
        91: .line 532
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHighContrastTextManager:Landroid/view/ViewRootImpl$HighContrastTextManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
        92: .line 531
            invokevirtual android.view.accessibility.AccessibilityManager.addHighTextContrastStateChangeListener:(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;Landroid/os/Handler;)V
        93: .line 533
            aload 0 /* this */
            aload 1 /* context */
            invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
            putfield android.view.ViewRootImpl.mViewConfiguration:Landroid/view/ViewConfiguration;
        94: .line 534
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.densityDpi:I
            putfield android.view.ViewRootImpl.mDensity:I
        95: .line 535
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.noncompatDensityDpi:I
            putfield android.view.ViewRootImpl.mNoncompatDensity:I
        96: .line 536
            aload 0 /* this */
            new com.android.internal.policy.PhoneFallbackEventHandler
            dup
            aload 1 /* context */
            invokespecial com.android.internal.policy.PhoneFallbackEventHandler.<init>:(Landroid/content/Context;)V
            putfield android.view.ViewRootImpl.mFallbackEventHandler:Landroid/view/FallbackEventHandler;
        97: .line 537
            aload 0 /* this */
            invokestatic android.view.Choreographer.getInstance:()Landroid/view/Choreographer;
            putfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
        98: .line 538
            aload 0 /* this */
            aload 1 /* context */
            ldc "display"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.hardware.display.DisplayManager
            putfield android.view.ViewRootImpl.mDisplayManager:Landroid/hardware/display/DisplayManager;
        99: .line 540
            getstatic android.view.ViewRootImpl.sCompatibilityDone:Z
            ifne 104
       100: .line 541
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTargetSdkVersion:I
            bipush 28
            if_icmpge 101
            iconst_1
            goto 102
      StackMap locals:
      StackMap stack:
       101: iconst_0
      StackMap locals:
      StackMap stack: int
       102: putstatic android.view.ViewRootImpl.sAlwaysAssignFocus:Z
       103: .line 543
            iconst_1
            putstatic android.view.ViewRootImpl.sCompatibilityDone:Z
       104: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.loadSystemProperties:()V
       105: .line 547
            return
        end local 2 // android.view.Display display
        end local 1 // android.content.Context context
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  106     0     this  Landroid/view/ViewRootImpl;
            0  106     1  context  Landroid/content/Context;
            0  106     2  display  Landroid/view/Display;
    MethodParameters:
         Name  Flags
      context  
      display  

  public static void addFirstDrawHandler(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Runnable callback
         0: .line 550
            getstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
            dup
            astore 1
            monitorenter
         1: .line 551
            getstatic android.view.ViewRootImpl.sFirstDrawComplete:Z
            ifne 3
         2: .line 552
            getstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
            aload 0 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 550
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 555
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Runnable callback
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  callback  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
          Name  Flags
      callback  

  public static void addConfigCallback(android.view.ViewRootImpl$ConfigChangedCallback);
    descriptor: (Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl$ConfigChangedCallback callback
         0: .line 559
            getstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
            dup
            astore 1
            monitorenter
         1: .line 560
            getstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
            aload 0 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 559
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: android.view.ViewRootImpl$ConfigChangedCallback java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 562
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl$ConfigChangedCallback callback
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  callback  Landroid/view/ViewRootImpl$ConfigChangedCallback;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void setActivityConfigCallback(android.view.ViewRootImpl$ActivityConfigCallback);
    descriptor: (Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$ActivityConfigCallback callback
         0: .line 566
            aload 0 /* this */
            aload 1 /* callback */
            putfield android.view.ViewRootImpl.mActivityConfigCallback:Landroid/view/ViewRootImpl$ActivityConfigCallback;
         1: .line 567
            return
        end local 1 // android.view.ViewRootImpl$ActivityConfigCallback callback
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/view/ViewRootImpl;
            0    2     1  callback  Landroid/view/ViewRootImpl$ActivityConfigCallback;
    MethodParameters:
          Name  Flags
      callback  

  public void addWindowCallbacks(android.view.WindowCallbacks);
    descriptor: (Landroid/view/WindowCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowCallbacks callback
         0: .line 570
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 571
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 570
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.view.ViewRootImpl android.view.WindowCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 573
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.WindowCallbacks callback
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/view/ViewRootImpl;
            0    7     1  callback  Landroid/view/WindowCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void removeWindowCallbacks(android.view.WindowCallbacks);
    descriptor: (Landroid/view/WindowCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowCallbacks callback
         0: .line 576
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 577
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 576
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.view.ViewRootImpl android.view.WindowCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 579
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.WindowCallbacks callback
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/view/ViewRootImpl;
            0    7     1  callback  Landroid/view/WindowCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void reportDrawFinish();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 582
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
            ifnull 2
         1: .line 583
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
         2: .line 585
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;

  public void profile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 595
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mProfile:Z
         1: .line 596
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  static boolean isInTouchMode();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 607
            invokestatic android.view.WindowManagerGlobal.peekWindowSession:()Landroid/view/IWindowSession;
            astore 0 /* windowSession */
        start local 0 // android.view.IWindowSession windowSession
         1: .line 608
            aload 0 /* windowSession */
            ifnull 5
         2: .line 610
            aload 0 /* windowSession */
            invokeinterface android.view.IWindowSession.getInTouchMode:()Z
         3: ireturn
         4: .line 611
      StackMap locals: android.view.IWindowSession
      StackMap stack: android.os.RemoteException
            pop
         5: .line 614
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.view.IWindowSession windowSession
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1    6     0  windowSession  Landroid/view/IWindowSession;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public void notifyChildRebuilt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 627
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof com.android.internal.view.RootViewSurfaceTaker
            ifeq 17
         1: .line 628
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            ifnull 3
         2: .line 629
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.removeCallback:(Landroid/view/SurfaceHolder$Callback;)V
         3: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 633
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast com.android.internal.view.RootViewSurfaceTaker
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.willYouTakeTheSurface:()Landroid/view/SurfaceHolder$Callback2;
         5: .line 632
            putfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
         6: .line 635
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            ifnull 11
         7: .line 636
            aload 0 /* this */
            new android.view.ViewRootImpl$TakenSurfaceHolder
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$TakenSurfaceHolder.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
         8: .line 637
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            iconst_0
            invokevirtual com.android.internal.view.BaseSurfaceHolder.setFormat:(I)V
         9: .line 638
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.addCallback:(Landroid/view/SurfaceHolder$Callback;)V
        10: .line 639
            goto 12
        11: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
        12: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        13: .line 644
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast com.android.internal.view.RootViewSurfaceTaker
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.willYouTakeTheInputQueue:()Landroid/view/InputQueue$Callback;
        14: .line 643
            putfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
        15: .line 645
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            ifnull 17
        16: .line 646
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
            invokeinterface android.view.InputQueue$Callback.onInputQueueCreated:(Landroid/view/InputQueue;)V
        17: .line 649
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Landroid/view/ViewRootImpl;

  public void setView(android.view.View, android.view.WindowManager$LayoutParams, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=15, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
        start local 2 // android.view.WindowManager$LayoutParams attrs
        start local 3 // android.view.View panelParentView
         0: .line 655
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 656
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 192
         2: .line 657
            aload 0 /* this */
            aload 1 /* view */
            putfield android.view.ViewRootImpl.mView:Landroid/view/View;
         3: .line 659
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getState:()I
            putfield android.view.View$AttachInfo.mDisplayState:I
         4: .line 660
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplayManager:Landroid/hardware/display/DisplayManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            invokevirtual android.hardware.display.DisplayManager.registerDisplayListener:(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
         5: .line 662
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getRawLayoutDirection:()I
            putfield android.view.ViewRootImpl.mViewLayoutDirectionInitial:I
         6: .line 663
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFallbackEventHandler:Landroid/view/FallbackEventHandler;
            aload 1 /* view */
            invokeinterface android.view.FallbackEventHandler.setView:(Landroid/view/View;)V
         7: .line 664
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            aload 2 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.copyFrom:(Landroid/view/WindowManager$LayoutParams;)I
            pop
         8: .line 665
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.packageName:Ljava/lang/String;
            ifnonnull 10
         9: .line 666
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mBasePackageName:Ljava/lang/String;
            putfield android.view.WindowManager$LayoutParams.packageName:Ljava/lang/String;
        10: .line 668
      StackMap locals: android.view.ViewRootImpl
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            astore 2 /* attrs */
        11: .line 669
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.setTag:()V
        12: .line 677
            aload 0 /* this */
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.flags:I
            putfield android.view.ViewRootImpl.mClientWindowLayoutFlags:I
        13: .line 679
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
        14: .line 681
            aload 1 /* view */
            instanceof com.android.internal.view.RootViewSurfaceTaker
            ifeq 22
        15: .line 682
            aload 0 /* this */
        16: .line 683
            aload 1 /* view */
            checkcast com.android.internal.view.RootViewSurfaceTaker
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.willYouTakeTheSurface:()Landroid/view/SurfaceHolder$Callback2;
        17: .line 682
            putfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
        18: .line 684
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            ifnull 22
        19: .line 685
            aload 0 /* this */
            new android.view.ViewRootImpl$TakenSurfaceHolder
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$TakenSurfaceHolder.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
        20: .line 686
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            iconst_0
            invokevirtual com.android.internal.view.BaseSurfaceHolder.setFormat:(I)V
        21: .line 687
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.addCallback:(Landroid/view/SurfaceHolder$Callback;)V
        22: .line 693
      StackMap locals:
      StackMap stack:
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.hasManualSurfaceInsets:Z
            ifne 24
        23: .line 694
            aload 2 /* attrs */
            aload 1 /* view */
            iconst_0
            iconst_1
            invokevirtual android.view.WindowManager$LayoutParams.setSurfaceInsets:(Landroid/view/View;ZZ)V
        24: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayAdjustments:()Landroid/view/DisplayAdjustments;
            invokevirtual android.view.DisplayAdjustments.getCompatibilityInfo:()Landroid/content/res/CompatibilityInfo;
        25: .line 697
            astore 5 /* compatibilityInfo */
        start local 5 // android.content.res.CompatibilityInfo compatibilityInfo
        26: .line 699
            aload 0 /* this */
            aload 5 /* compatibilityInfo */
            invokevirtual android.content.res.CompatibilityInfo.getTranslator:()Landroid/content/res/CompatibilityInfo$Translator;
            putfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
        27: .line 702
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnonnull 36
        28: .line 705
            aload 0 /* this */
            aload 2 /* attrs */
            invokevirtual android.view.ViewRootImpl.enableHardwareAcceleration:(Landroid/view/WindowManager$LayoutParams;)V
        29: .line 707
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 31
        30: .line 706
            iconst_1
            goto 32
      StackMap locals: android.content.res.CompatibilityInfo
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 6 /* useMTRenderer */
        start local 6 // boolean useMTRenderer
        33: .line 708
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            iload 6 /* useMTRenderer */
            if_icmpeq 36
        34: .line 711
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.endDragResizing:()V
        35: .line 712
            aload 0 /* this */
            iload 6 /* useMTRenderer */
            putfield android.view.ViewRootImpl.mUseMTRenderer:Z
        end local 6 // boolean useMTRenderer
        36: .line 716
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* restore */
        start local 6 // boolean restore
        37: .line 717
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 42
        38: .line 718
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            invokevirtual android.view.Surface.setCompatibilityTranslator:(Landroid/content/res/CompatibilityInfo$Translator;)V
        39: .line 719
            iconst_1
            istore 6 /* restore */
        40: .line 720
            aload 2 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.backup:()V
        41: .line 721
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 2 /* attrs */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateWindowLayout:(Landroid/view/WindowManager$LayoutParams;)V
        42: .line 725
      StackMap locals: int
      StackMap stack:
            aload 5 /* compatibilityInfo */
            invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
            ifne 45
        43: .line 726
            aload 2 /* attrs */
            dup
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
            sipush 128
            ior
            putfield android.view.WindowManager$LayoutParams.privateFlags:I
        44: .line 727
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLastInCompatMode:Z
        45: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
            putfield android.view.ViewRootImpl.mSoftInputMode:I
        46: .line 731
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
        47: .line 732
            aload 0 /* this */
            iconst_m1
            putfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        48: .line 733
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 1 /* view */
            putfield android.view.View$AttachInfo.mRootView:Landroid/view/View;
        49: .line 734
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 50
            iconst_1
            goto 51
      StackMap locals:
      StackMap stack: android.view.View$AttachInfo
        50: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int
      StackMap stack: android.view.View$AttachInfo int
        51: putfield android.view.View$AttachInfo.mScalingRequired:Z
        52: .line 735
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
        53: .line 736
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnonnull 54
            fconst_1
            goto 55
      StackMap locals:
      StackMap stack: android.view.View$AttachInfo
        54: aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            getfield android.content.res.CompatibilityInfo$Translator.applicationScale:F
        55: .line 735
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int
      StackMap stack: android.view.View$AttachInfo float
            putfield android.view.View$AttachInfo.mApplicationScale:F
        56: .line 737
            aload 3 /* panelParentView */
            ifnull 60
        57: .line 738
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
        58: .line 739
            aload 3 /* panelParentView */
            invokevirtual android.view.View.getApplicationWindowToken:()Landroid/os/IBinder;
        59: .line 738
            putfield android.view.View$AttachInfo.mPanelParentWindowToken:Landroid/os/IBinder;
        60: .line 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mAdded:Z
        61: .line 747
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.requestLayout:()V
        62: .line 748
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.inputFeatures:I
        63: .line 749
            iconst_2
        64: .line 748
            iand
            ifne 66
        65: .line 750
            aload 0 /* this */
            new android.view.InputChannel
            dup
            invokespecial android.view.InputChannel.<init>:()V
            putfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
        66: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
        67: .line 753
            sipush 16384
            iand
            ifeq 68
            iconst_1
            goto 69
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl
        68: iconst_0
        69: .line 752
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int
      StackMap stack: android.view.ViewRootImpl int
            putfield android.view.ViewRootImpl.mForceDecorViewVisibility:Z
        70: .line 755
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.type:I
            putfield android.view.ViewRootImpl.mOrigWindowType:I
        71: .line 756
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
        72: .line 757
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.collectViewAttributes:()Z
            pop
        73: .line 758
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSeq:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
        74: .line 759
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.getHostVisibility:()I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayId:()I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
        75: .line 760
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
        76: .line 761
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOutsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
        77: .line 758
            invokeinterface android.view.IWindowSession.addToDisplay:(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;)I
            istore 7 /* res */
        start local 7 // int res
        78: .line 762
            goto 92
        end local 7 // int res
      StackMap locals:
      StackMap stack: android.os.RemoteException
        79: astore 8 /* e */
        start local 8 // android.os.RemoteException e
        80: .line 763
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mAdded:Z
        81: .line 764
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mView:Landroid/view/View;
        82: .line 765
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mRootView:Landroid/view/View;
        83: .line 766
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
        84: .line 767
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFallbackEventHandler:Landroid/view/FallbackEventHandler;
            aconst_null
            invokeinterface android.view.FallbackEventHandler.setView:(Landroid/view/View;)V
        85: .line 768
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.unscheduleTraversals:()V
        86: .line 769
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
        87: .line 770
            new java.lang.RuntimeException
            dup
            ldc "Adding window failed"
            aload 8 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // android.os.RemoteException e
        88: .line 771
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        89: .line 772
            iload 6 /* restore */
            ifeq 91
        90: .line 773
            aload 2 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.restore:()V
        91: .line 775
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        start local 7 // int res
        92: .line 772
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int int
      StackMap stack:
            iload 6 /* restore */
            ifeq 94
        93: .line 773
            aload 2 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.restore:()V
        94: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 96
        95: .line 778
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        96: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual android.graphics.Rect.set:(IIII)V
        97: .line 781
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
        98: .line 782
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
        99: .line 783
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.set:(Landroid/view/DisplayCutout$ParcelableWrapper;)V
       100: .line 784
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual android.graphics.Rect.set:(IIII)V
       101: .line 785
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
       102: .line 786
            iload 7 /* res */
            iconst_4
            iand
            ifeq 103
            iconst_1
            goto 104
      StackMap locals:
      StackMap stack: android.view.View$AttachInfo
       103: iconst_0
       104: .line 785
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int int
      StackMap stack: android.view.View$AttachInfo int
            putfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
       105: .line 787
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
            putfield android.view.ViewRootImpl.mPendingAlwaysConsumeNavBar:Z
       106: .line 789
            iload 7 /* res */
            ifge 153
       107: .line 790
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mRootView:Landroid/view/View;
       108: .line 791
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mAdded:Z
       109: .line 792
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFallbackEventHandler:Landroid/view/FallbackEventHandler;
            aconst_null
            invokeinterface android.view.FallbackEventHandler.setView:(Landroid/view/View;)V
       110: .line 793
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.unscheduleTraversals:()V
       111: .line 794
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
       112: .line 795
            iload 7 /* res */
            tableswitch { // -10 - -1
                  -10: 146
                   -9: 143
                   -8: 139
                   -7: 135
                   -6: 133
                   -5: 128
                   -4: 123
                   -3: 118
                   -2: 113
                   -1: 113
              default: 150
          }
       113: .line 798
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
       114: .line 799
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window -- token "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.token:Landroid/os/IBinder;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       115: .line 800
            ldc " is not valid; is your activity running?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       116: .line 799
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       117: .line 798
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       118: .line 802
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
       119: .line 803
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window -- token "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.token:Landroid/os/IBinder;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       120: .line 804
            ldc " is not for an application"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       121: .line 803
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       122: .line 802
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 806
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
       124: .line 807
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window -- app for token "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* attrs */
            getfield android.view.WindowManager$LayoutParams.token:Landroid/os/IBinder;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       125: .line 808
            ldc " is exiting"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       126: .line 807
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       127: .line 806
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       128: .line 810
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
       129: .line 811
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window -- window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       130: .line 812
            ldc " has already been added"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       131: .line 811
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       132: .line 810
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       133: .line 816
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
       134: return
       135: .line 818
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       136: .line 819
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -- another window of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       137: .line 820
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.type:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " already exists"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       138: .line 818
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       139: .line 822
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$BadTokenException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       140: .line 823
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -- permission denied for window type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       141: .line 824
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.type:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       142: .line 822
            invokespecial android.view.WindowManager$BadTokenException.<init>:(Ljava/lang/String;)V
            athrow
       143: .line 826
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$InvalidDisplayException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       144: .line 827
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -- the specified display can not be found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       145: .line 826
            invokespecial android.view.WindowManager$InvalidDisplayException.<init>:(Ljava/lang/String;)V
            athrow
       146: .line 829
      StackMap locals:
      StackMap stack:
            new android.view.WindowManager$InvalidDisplayException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       147: .line 830
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -- the specified window type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       148: .line 831
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.type:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not valid"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       149: .line 829
            invokespecial android.view.WindowManager$InvalidDisplayException.<init>:(Ljava/lang/String;)V
            athrow
       150: .line 833
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
       151: .line 834
            new java.lang.StringBuilder
            dup
            ldc "Unable to add window -- unknown error code "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* res */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       152: .line 833
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
       153: .line 837
      StackMap locals:
      StackMap stack:
            aload 1 /* view */
            instanceof com.android.internal.view.RootViewSurfaceTaker
            ifeq 157
       154: .line 838
            aload 0 /* this */
       155: .line 839
            aload 1 /* view */
            checkcast com.android.internal.view.RootViewSurfaceTaker
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.willYouTakeTheInputQueue:()Landroid/view/InputQueue$Callback;
       156: .line 838
            putfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
       157: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
            ifnull 164
       158: .line 842
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            ifnull 161
       159: .line 843
            aload 0 /* this */
            new android.view.InputQueue
            dup
            invokespecial android.view.InputQueue.<init>:()V
            putfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
       160: .line 844
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
            invokeinterface android.view.InputQueue$Callback.onInputQueueCreated:(Landroid/view/InputQueue;)V
       161: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.view.ViewRootImpl$WindowInputEventReceiver
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
       162: .line 847
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            invokespecial android.view.ViewRootImpl$WindowInputEventReceiver.<init>:(Landroid/view/ViewRootImpl;Landroid/view/InputChannel;Landroid/os/Looper;)V
       163: .line 846
            putfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
       164: .line 850
      StackMap locals:
      StackMap stack:
            aload 1 /* view */
            aload 0 /* this */
            invokevirtual android.view.View.assignParent:(Landroid/view/ViewParent;)V
       165: .line 851
            aload 0 /* this */
            iload 7 /* res */
            iconst_1
            iand
            ifeq 166
            iconst_1
            goto 167
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl
       166: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int int
      StackMap stack: android.view.ViewRootImpl int
       167: putfield android.view.ViewRootImpl.mAddedTouchMode:Z
       168: .line 852
            aload 0 /* this */
            iload 7 /* res */
            iconst_2
            iand
            ifeq 169
            iconst_1
            goto 170
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl
       169: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.WindowManager$LayoutParams android.view.View android.view.ViewRootImpl android.content.res.CompatibilityInfo int int
      StackMap stack: android.view.ViewRootImpl int
       170: putfield android.view.ViewRootImpl.mAppVisible:Z
       171: .line 854
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 173
       172: .line 855
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
            invokevirtual android.view.ViewRootImpl$AccessibilityInteractionConnectionManager.ensureConnection:()V
       173: .line 858
      StackMap locals:
      StackMap stack:
            aload 1 /* view */
            invokevirtual android.view.View.getImportantForAccessibility:()I
            ifne 175
       174: .line 859
            aload 1 /* view */
            iconst_1
            invokevirtual android.view.View.setImportantForAccessibility:(I)V
       175: .line 863
      StackMap locals:
      StackMap stack:
            aload 2 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.getTitle:()Ljava/lang/CharSequence;
            astore 8 /* counterSuffix */
        start local 8 // java.lang.CharSequence counterSuffix
       176: .line 864
            aload 0 /* this */
            new android.view.ViewRootImpl$SyntheticInputStage
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$SyntheticInputStage.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mSyntheticInputStage:Landroid/view/ViewRootImpl$InputStage;
       177: .line 865
            new android.view.ViewRootImpl$ViewPostImeInputStage
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSyntheticInputStage:Landroid/view/ViewRootImpl$InputStage;
            invokespecial android.view.ViewRootImpl$ViewPostImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V
            astore 9 /* viewPostImeStage */
        start local 9 // android.view.ViewRootImpl$InputStage viewPostImeStage
       178: .line 866
            new android.view.ViewRootImpl$NativePostImeInputStage
            dup
            aload 0 /* this */
            aload 9 /* viewPostImeStage */
       179: .line 867
            new java.lang.StringBuilder
            dup
            ldc "aq:native-post-ime:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* counterSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       180: .line 866
            invokespecial android.view.ViewRootImpl$NativePostImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
            astore 10 /* nativePostImeStage */
        start local 10 // android.view.ViewRootImpl$InputStage nativePostImeStage
       181: .line 868
            new android.view.ViewRootImpl$EarlyPostImeInputStage
            dup
            aload 0 /* this */
            aload 10 /* nativePostImeStage */
            invokespecial android.view.ViewRootImpl$EarlyPostImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V
            astore 11 /* earlyPostImeStage */
        start local 11 // android.view.ViewRootImpl$InputStage earlyPostImeStage
       182: .line 869
            new android.view.ViewRootImpl$ImeInputStage
            dup
            aload 0 /* this */
            aload 11 /* earlyPostImeStage */
       183: .line 870
            new java.lang.StringBuilder
            dup
            ldc "aq:ime:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* counterSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       184: .line 869
            invokespecial android.view.ViewRootImpl$ImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
            astore 12 /* imeStage */
        start local 12 // android.view.ViewRootImpl$InputStage imeStage
       185: .line 871
            new android.view.ViewRootImpl$ViewPreImeInputStage
            dup
            aload 0 /* this */
            aload 12 /* imeStage */
            invokespecial android.view.ViewRootImpl$ViewPreImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V
            astore 13 /* viewPreImeStage */
        start local 13 // android.view.ViewRootImpl$InputStage viewPreImeStage
       186: .line 872
            new android.view.ViewRootImpl$NativePreImeInputStage
            dup
            aload 0 /* this */
            aload 13 /* viewPreImeStage */
       187: .line 873
            new java.lang.StringBuilder
            dup
            ldc "aq:native-pre-ime:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* counterSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       188: .line 872
            invokespecial android.view.ViewRootImpl$NativePreImeInputStage.<init>:(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
            astore 14 /* nativePreImeStage */
        start local 14 // android.view.ViewRootImpl$InputStage nativePreImeStage
       189: .line 875
            aload 0 /* this */
            aload 14 /* nativePreImeStage */
            putfield android.view.ViewRootImpl.mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
       190: .line 876
            aload 0 /* this */
            aload 11 /* earlyPostImeStage */
            putfield android.view.ViewRootImpl.mFirstPostImeInputStage:Landroid/view/ViewRootImpl$InputStage;
       191: .line 877
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "aq:pending:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* counterSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield android.view.ViewRootImpl.mPendingInputEventQueueLengthCounterName:Ljava/lang/String;
        end local 14 // android.view.ViewRootImpl$InputStage nativePreImeStage
        end local 13 // android.view.ViewRootImpl$InputStage viewPreImeStage
        end local 12 // android.view.ViewRootImpl$InputStage imeStage
        end local 11 // android.view.ViewRootImpl$InputStage earlyPostImeStage
        end local 10 // android.view.ViewRootImpl$InputStage nativePostImeStage
        end local 9 // android.view.ViewRootImpl$InputStage viewPostImeStage
        end local 8 // java.lang.CharSequence counterSuffix
        end local 7 // int res
        end local 6 // boolean restore
        end local 5 // android.content.res.CompatibilityInfo compatibilityInfo
       192: .line 655
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
       193: goto 196
      StackMap locals:
      StackMap stack: java.lang.Throwable
       194: aload 4
            monitorexit
       195: athrow
       196: .line 880
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.view.View panelParentView
        end local 2 // android.view.WindowManager$LayoutParams attrs
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  197     0                this  Landroid/view/ViewRootImpl;
            0  197     1                view  Landroid/view/View;
            0  197     2               attrs  Landroid/view/WindowManager$LayoutParams;
            0  197     3     panelParentView  Landroid/view/View;
           26  192     5   compatibilityInfo  Landroid/content/res/CompatibilityInfo;
           33   36     6       useMTRenderer  Z
           37  192     6             restore  Z
           78   79     7                 res  I
           92  192     7                 res  I
           80   88     8                   e  Landroid/os/RemoteException;
          176  192     8       counterSuffix  Ljava/lang/CharSequence;
          178  192     9    viewPostImeStage  Landroid/view/ViewRootImpl$InputStage;
          181  192    10  nativePostImeStage  Landroid/view/ViewRootImpl$InputStage;
          182  192    11   earlyPostImeStage  Landroid/view/ViewRootImpl$InputStage;
          185  192    12            imeStage  Landroid/view/ViewRootImpl$InputStage;
          186  192    13     viewPreImeStage  Landroid/view/ViewRootImpl$InputStage;
          189  192    14   nativePreImeStage  Landroid/view/ViewRootImpl$InputStage;
      Exception table:
        from    to  target  type
          70    78      79  Class android.os.RemoteException
          70    88      88  any
           1   134     194  any
         135   193     194  any
         194   195     194  any
    MethodParameters:
                 Name  Flags
      view             
      attrs            
      panelParentView  

  private void setTag();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 883
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            invokevirtual android.view.WindowManager$LayoutParams.getTitle:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* split */
        start local 1 // java.lang.String[] split
         1: .line 884
            aload 1 /* split */
            arraylength
            ifle 3
         2: .line 885
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "ViewRootImpl["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* split */
            aload 1 /* split */
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
         3: .line 887
      StackMap locals: java.lang.String[]
      StackMap stack:
            return
        end local 1 // java.lang.String[] split
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/view/ViewRootImpl;
            1    4     1  split  [Ljava/lang/String;

  private boolean isInLocalFocusMode();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 891
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
            ldc 268435456
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  public int getWindowFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 895
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getDisplayId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 899
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayId:()I
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public java.lang.CharSequence getTitle();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 903
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            invokevirtual android.view.WindowManager$LayoutParams.getTitle:()Ljava/lang/CharSequence;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 913
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getHeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 923
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  void destroyHardwareResources();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 927
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 3
         1: .line 928
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.ThreadedRenderer.destroyHardwareResources:(Landroid/view/View;)V
         2: .line 929
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.destroy:()V
         3: .line 931
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  public void detachFunctor(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // long functor
         0: .line 934
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 2
         1: .line 937
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.stopDrawing:()V
         2: .line 939
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long functor
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/view/ViewRootImpl;
            0    3     1  functor  J
    MethodParameters:
         Name  Flags
      functor  

  public static void invokeFunctor(long, boolean);
    descriptor: (JZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // long functor
        start local 2 // boolean waitForCompletion
         0: .line 951
            lload 0 /* functor */
            iload 2 /* waitForCompletion */
            invokestatic android.view.ThreadedRenderer.invokeFunctor:(JZ)V
         1: .line 952
            return
        end local 2 // boolean waitForCompletion
        end local 0 // long functor
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0            functor  J
            0    2     2  waitForCompletion  Z
    MethodParameters:
                   Name  Flags
      functor            
      waitForCompletion  

  public void registerAnimatingRenderNode(android.view.RenderNode);
    descriptor: (Landroid/view/RenderNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.RenderNode animator
         0: .line 955
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 3
         1: .line 956
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 1 /* animator */
            invokevirtual android.view.ThreadedRenderer.registerAnimatingRenderNode:(Landroid/view/RenderNode;)V
         2: .line 957
            goto 6
         3: .line 958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            ifnonnull 5
         4: .line 959
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
         5: .line 961
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            aload 1 /* animator */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 963
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.RenderNode animator
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/view/ViewRootImpl;
            0    7     1  animator  Landroid/view/RenderNode;
    MethodParameters:
          Name  Flags
      animator  

  public void registerVectorDrawableAnimator(android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT);
    descriptor: (Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT animator
         0: .line 967
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 2
         1: .line 968
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 1 /* animator */
            invokevirtual android.view.ThreadedRenderer.registerVectorDrawableAnimator:(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
         2: .line 970
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT animator
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/view/ViewRootImpl;
            0    3     1  animator  Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;
    MethodParameters:
          Name  Flags
      animator  

  public void registerRtFrameCallback(android.view.ThreadedRenderer$FrameDrawingCallback);
    descriptor: (Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ThreadedRenderer$FrameDrawingCallback callback
         0: .line 980
            aload 0 /* this */
            aload 1 /* callback */
            putfield android.view.ViewRootImpl.mNextRtFrameCallback:Landroid/view/ThreadedRenderer$FrameDrawingCallback;
         1: .line 981
            return
        end local 1 // android.view.ThreadedRenderer$FrameDrawingCallback callback
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/view/ViewRootImpl;
            0    2     1  callback  Landroid/view/ThreadedRenderer$FrameDrawingCallback;
    MethodParameters:
          Name  Flags
      callback  

  private void enableHardwareAcceleration(android.view.WindowManager$LayoutParams);
    descriptor: (Landroid/view/WindowManager$LayoutParams;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams attrs
         0: .line 984
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mHardwareAccelerated:Z
         1: .line 985
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mHardwareAccelerationRequested:Z
         2: .line 988
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 3
            return
         3: .line 992
      StackMap locals:
      StackMap stack:
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.flags:I
            ldc 16777216
            iand
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
         5: .line 991
      StackMap locals:
      StackMap stack: int
            istore 2 /* hardwareAccelerated */
        start local 2 // boolean hardwareAccelerated
         6: .line 994
            iload 2 /* hardwareAccelerated */
            ifeq 48
         7: .line 995
            invokestatic android.view.ThreadedRenderer.isAvailable:()Z
            ifne 9
         8: .line 996
            return
         9: .line 1008
      StackMap locals: int
      StackMap stack:
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
        10: .line 1009
            iconst_1
        11: .line 1008
            iand
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* fakeHwAccelerated */
        start local 3 // boolean fakeHwAccelerated
        14: .line 1010
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
        15: .line 1011
            iconst_2
        16: .line 1010
            iand
            ifeq 17
            iconst_1
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 4 /* forceHwAccelerated */
        start local 4 // boolean forceHwAccelerated
        19: .line 1013
            iload 3 /* fakeHwAccelerated */
            ifeq 22
        20: .line 1017
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mHardwareAccelerationRequested:Z
        21: .line 1018
            goto 48
      StackMap locals: int
      StackMap stack:
        22: getstatic android.view.ThreadedRenderer.sRendererDisabled:Z
            ifeq 24
        23: .line 1019
            getstatic android.view.ThreadedRenderer.sSystemRendererDisabled:Z
            ifeq 48
            iload 4 /* forceHwAccelerated */
            ifeq 48
        24: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 26
        25: .line 1021
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.destroy:()V
        26: .line 1024
      StackMap locals:
      StackMap stack:
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            astore 5 /* insets */
        start local 5 // android.graphics.Rect insets
        27: .line 1025
            aload 5 /* insets */
            getfield android.graphics.Rect.left:I
            ifne 30
            aload 5 /* insets */
            getfield android.graphics.Rect.right:I
            ifne 30
        28: .line 1026
            aload 5 /* insets */
            getfield android.graphics.Rect.top:I
            ifne 30
            aload 5 /* insets */
            getfield android.graphics.Rect.bottom:I
            ifne 30
        29: .line 1025
            iconst_0
            goto 31
      StackMap locals: android.graphics.Rect
      StackMap stack:
        30: iconst_1
      StackMap locals:
      StackMap stack: int
        31: istore 6 /* hasSurfaceInsets */
        start local 6 // boolean hasSurfaceInsets
        32: .line 1027
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.format:I
            iconst_m1
            if_icmpne 33
            iload 6 /* hasSurfaceInsets */
            ifne 33
            iconst_0
            goto 34
      StackMap locals: int
      StackMap stack:
        33: iconst_1
      StackMap locals:
      StackMap stack: int
        34: istore 7 /* translucent */
        start local 7 // boolean translucent
        35: .line 1029
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            invokevirtual android.content.res.Configuration.isScreenWideColorGamut:()Z
            ifeq 38
        36: .line 1030
            aload 1 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.getColorMode:()I
            iconst_1
            if_icmpne 38
        37: .line 1028
            iconst_1
            goto 39
      StackMap locals: int
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: istore 8 /* wideGamut */
        start local 8 // boolean wideGamut
        40: .line 1032
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            iload 7 /* translucent */
        41: .line 1033
            aload 1 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.getTitle:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
        42: .line 1032
            invokestatic android.view.ThreadedRenderer.create:(Landroid/content/Context;ZLjava/lang/String;)Landroid/view/ThreadedRenderer;
            putfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
        43: .line 1034
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            iload 8 /* wideGamut */
            invokevirtual android.view.ThreadedRenderer.setWideGamut:(Z)V
        44: .line 1035
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 48
        45: .line 1036
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
        46: .line 1037
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            dup_x1
            putfield android.view.View$AttachInfo.mHardwareAccelerationRequested:Z
        47: .line 1036
            putfield android.view.View$AttachInfo.mHardwareAccelerated:Z
        end local 8 // boolean wideGamut
        end local 7 // boolean translucent
        end local 6 // boolean hasSurfaceInsets
        end local 5 // android.graphics.Rect insets
        end local 4 // boolean forceHwAccelerated
        end local 3 // boolean fakeHwAccelerated
        48: .line 1041
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int
      StackMap stack:
            return
        end local 2 // boolean hardwareAccelerated
        end local 1 // android.view.WindowManager$LayoutParams attrs
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   49     0                 this  Landroid/view/ViewRootImpl;
            0   49     1                attrs  Landroid/view/WindowManager$LayoutParams;
            6   49     2  hardwareAccelerated  Z
           14   48     3    fakeHwAccelerated  Z
           19   48     4   forceHwAccelerated  Z
           27   48     5               insets  Landroid/graphics/Rect;
           32   48     6     hasSurfaceInsets  Z
           35   48     7          translucent  Z
           40   48     8            wideGamut  Z
    MethodParameters:
       Name  Flags
      attrs  

  public android.view.View getView();
    descriptor: ()Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1044
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  final android.view.WindowLeaked getLocation();
    descriptor: ()Landroid/view/WindowLeaked;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1048
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLocation:Landroid/view/WindowLeaked;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  void setLayoutParams(android.view.WindowManager$LayoutParams, boolean);
    descriptor: (Landroid/view/WindowManager$LayoutParams;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams attrs
        start local 2 // boolean newView
         0: .line 1052
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 1053
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            istore 4 /* oldInsetLeft */
        start local 4 // int oldInsetLeft
         2: .line 1054
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 5 /* oldInsetTop */
        start local 5 // int oldInsetTop
         3: .line 1055
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            istore 6 /* oldInsetRight */
        start local 6 // int oldInsetRight
         4: .line 1056
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            istore 7 /* oldInsetBottom */
        start local 7 // int oldInsetBottom
         5: .line 1057
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
            istore 8 /* oldSoftInputMode */
        start local 8 // int oldSoftInputMode
         6: .line 1058
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.hasManualSurfaceInsets:Z
            istore 9 /* oldHasManualSurfaceInsets */
        start local 9 // boolean oldHasManualSurfaceInsets
         7: .line 1067
            aload 0 /* this */
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.flags:I
            putfield android.view.ViewRootImpl.mClientWindowLayoutFlags:I
         8: .line 1070
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
         9: .line 1071
            sipush 128
        10: .line 1070
            iand
            istore 10 /* compatibleWindowFlag */
        start local 10 // int compatibleWindowFlag
        11: .line 1074
            aload 1 /* attrs */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.systemUiVisibility:I
            putfield android.view.WindowManager$LayoutParams.systemUiVisibility:I
        12: .line 1075
            aload 1 /* attrs */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.subtreeSystemUiVisibility:I
            putfield android.view.WindowManager$LayoutParams.subtreeSystemUiVisibility:I
        13: .line 1077
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            aload 1 /* attrs */
            invokevirtual android.view.WindowManager$LayoutParams.copyFrom:(Landroid/view/WindowManager$LayoutParams;)I
            putfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        14: .line 1078
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        15: .line 1079
            ldc 524288
        16: .line 1078
            iand
            ifeq 18
        17: .line 1081
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
        18: .line 1083
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int android.view.ViewRootImpl int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        19: .line 1084
            iconst_1
        20: .line 1083
            iand
            ifeq 22
        21: .line 1086
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mNeedsUpdateLightCenter:Z
        22: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.packageName:Ljava/lang/String;
            ifnonnull 24
        23: .line 1089
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mBasePackageName:Ljava/lang/String;
            putfield android.view.WindowManager$LayoutParams.packageName:Ljava/lang/String;
        24: .line 1091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            dup
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
            iload 10 /* compatibleWindowFlag */
            ior
            putfield android.view.WindowManager$LayoutParams.privateFlags:I
        25: .line 1093
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.preservePreviousSurfaceInsets:Z
            ifeq 31
        26: .line 1095
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
        27: .line 1096
            iload 4 /* oldInsetLeft */
            iload 5 /* oldInsetTop */
            iload 6 /* oldInsetRight */
            iload 7 /* oldInsetBottom */
        28: .line 1095
            invokevirtual android.graphics.Rect.set:(IIII)V
        29: .line 1097
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            iload 9 /* oldHasManualSurfaceInsets */
            putfield android.view.WindowManager$LayoutParams.hasManualSurfaceInsets:Z
        30: .line 1098
            goto 36
      StackMap locals:
      StackMap stack:
        31: aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iload 4 /* oldInsetLeft */
            if_icmpne 35
        32: .line 1099
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 5 /* oldInsetTop */
            if_icmpne 35
        33: .line 1100
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iload 6 /* oldInsetRight */
            if_icmpne 35
        34: .line 1101
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iload 7 /* oldInsetBottom */
            if_icmpeq 36
        35: .line 1102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mNeedsRendererSetup:Z
        36: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            invokevirtual android.view.ViewRootImpl.applyKeepScreenOnFlag:(Landroid/view/WindowManager$LayoutParams;)V
        37: .line 1107
            iload 2 /* newView */
            ifeq 40
        38: .line 1108
            aload 0 /* this */
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
            putfield android.view.ViewRootImpl.mSoftInputMode:I
        39: .line 1109
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.requestLayout:()V
        40: .line 1113
      StackMap locals:
      StackMap stack:
            aload 1 /* attrs */
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
            sipush 240
            iand
            ifne 45
        41: .line 1115
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
        42: .line 1116
            sipush -241
            iand
        43: .line 1117
            iload 8 /* oldSoftInputMode */
            sipush 240
            iand
            ior
        44: .line 1115
            putfield android.view.WindowManager$LayoutParams.softInputMode:I
        45: .line 1120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
        46: .line 1121
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
        end local 10 // int compatibleWindowFlag
        end local 9 // boolean oldHasManualSurfaceInsets
        end local 8 // int oldSoftInputMode
        end local 7 // int oldInsetBottom
        end local 6 // int oldInsetRight
        end local 5 // int oldInsetTop
        end local 4 // int oldInsetLeft
        47: .line 1052
            aload 3
            monitorexit
        48: goto 51
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int android.view.ViewRootImpl
      StackMap stack: java.lang.Throwable
        49: aload 3
            monitorexit
        50: athrow
        51: .line 1123
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean newView
        end local 1 // android.view.WindowManager$LayoutParams attrs
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   52     0                       this  Landroid/view/ViewRootImpl;
            0   52     1                      attrs  Landroid/view/WindowManager$LayoutParams;
            0   52     2                    newView  Z
            2   47     4               oldInsetLeft  I
            3   47     5                oldInsetTop  I
            4   47     6              oldInsetRight  I
            5   47     7             oldInsetBottom  I
            6   47     8           oldSoftInputMode  I
            7   47     9  oldHasManualSurfaceInsets  Z
           11   47    10       compatibleWindowFlag  I
      Exception table:
        from    to  target  type
           1    48      49  any
          49    50      49  any
    MethodParameters:
         Name  Flags
      attrs    
      newView  

  void handleAppVisibility(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean visible
         0: .line 1126
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAppVisible:Z
            iload 1 /* visible */
            if_icmpeq 6
         1: .line 1127
            aload 0 /* this */
            iload 1 /* visible */
            putfield android.view.ViewRootImpl.mAppVisible:Z
         2: .line 1128
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mAppVisibilityChanged:Z
         3: .line 1129
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         4: .line 1130
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAppVisible:Z
            ifne 6
         5: .line 1131
            invokestatic android.view.WindowManagerGlobal.trimForeground:()V
         6: .line 1134
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean visible
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/view/ViewRootImpl;
            0    7     1  visible  Z
    MethodParameters:
         Name  Flags
      visible  

  void handleGetNewSurface();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1137
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mNewSurfaceNeeded:Z
         1: .line 1138
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
         2: .line 1139
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         3: .line 1140
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  public void onMovedToDisplay(int, android.content.res.Configuration);
    descriptor: (ILandroid/content/res/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int displayId
        start local 2 // android.content.res.Configuration config
         0: .line 1189
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayId:()I
            iload 1 /* displayId */
            if_icmpne 2
         1: .line 1190
            return
         2: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic android.app.ResourcesManager.getInstance:()Landroid/app/ResourcesManager;
            iload 1 /* displayId */
         3: .line 1196
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getResources:()Landroid/content/res/Resources;
         4: .line 1195
            invokevirtual android.app.ResourcesManager.getAdjustedDisplay:(ILandroid/content/res/Resources;)Landroid/view/Display;
            putfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
         5: .line 1197
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getState:()I
            putfield android.view.View$AttachInfo.mDisplayState:I
         6: .line 1199
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            aload 2 /* config */
            invokevirtual android.view.View.dispatchMovedToDisplay:(Landroid/view/Display;Landroid/content/res/Configuration;)V
         7: .line 1200
            return
        end local 2 // android.content.res.Configuration config
        end local 1 // int displayId
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/view/ViewRootImpl;
            0    8     1  displayId  I
            0    8     2     config  Landroid/content/res/Configuration;
    MethodParameters:
           Name  Flags
      displayId  
      config     

  void pokeDrawLockIfNeeded();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1203
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayState:I
            istore 1 /* displayState */
        start local 1 // int displayState
         1: .line 1204
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 7
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifeq 7
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            ifeq 7
         2: .line 1205
            iload 1 /* displayState */
            getstatic android.view.Display.STATE_DOZE:I
            if_icmpeq 4
         3: .line 1206
            iload 1 /* displayState */
            getstatic android.view.Display.STATE_DOZE_SUSPEND:I
            if_icmpne 7
         4: .line 1208
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.pokeDrawLock:(Landroid/os/IBinder;)V
         5: .line 1209
            goto 7
      StackMap locals:
      StackMap stack: android.os.RemoteException
         6: pop
         7: .line 1213
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int displayState
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/view/ViewRootImpl;
            1    8     1  displayState  I
      Exception table:
        from    to  target  type
           4     5       6  Class android.os.RemoteException

  public void requestFitSystemWindows();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1217
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 1218
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mApplyInsetsRequested:Z
         2: .line 1219
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         3: .line 1220
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  public void requestLayout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1224
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandlingLayoutInLayoutRequest:Z
            ifne 4
         1: .line 1225
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         2: .line 1226
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
         3: .line 1227
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         4: .line 1229
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;

  public boolean isLayoutRequested();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1233
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequested:Z
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public void onDescendantInvalidated(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.View descendant
         0: .line 1238
            aload 2 /* descendant */
            getfield android.view.View.mPrivateFlags:I
            bipush 64
            iand
            ifeq 2
         1: .line 1239
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mIsAnimating:Z
         2: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.invalidate:()V
         3: .line 1242
            return
        end local 2 // android.view.View descendant
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/view/ViewRootImpl;
            0    4     1       child  Landroid/view/View;
            0    4     2  descendant  Landroid/view/View;
    MethodParameters:
            Name  Flags
      child       
      descendant  

  void invalidate();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1245
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDirty:Landroid/graphics/Rect;
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            invokevirtual android.graphics.Rect.set:(IIII)V
         1: .line 1246
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWillDrawSoon:Z
            ifne 3
         2: .line 1247
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         3: .line 1249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  void invalidateWorld(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
         0: .line 1252
            aload 1 /* view */
            invokevirtual android.view.View.invalidate:()V
         1: .line 1253
            aload 1 /* view */
            instanceof android.view.ViewGroup
            ifeq 8
         2: .line 1254
            aload 1 /* view */
            checkcast android.view.ViewGroup
            astore 2 /* parent */
        start local 2 // android.view.ViewGroup parent
         3: .line 1255
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 1256
      StackMap locals: android.view.ViewGroup int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parent */
            iload 3 /* i */
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.ViewRootImpl.invalidateWorld:(Landroid/view/View;)V
         6: .line 1255
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 2 /* parent */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            if_icmplt 5
        end local 3 // int i
        end local 2 // android.view.ViewGroup parent
         8: .line 1259
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/view/ViewRootImpl;
            0    9     1    view  Landroid/view/View;
            3    8     2  parent  Landroid/view/ViewGroup;
            4    8     3       i  I
    MethodParameters:
      Name  Flags
      view  

  public void invalidateChild(android.view.View, android.graphics.Rect);
    descriptor: (Landroid/view/View;Landroid/graphics/Rect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.graphics.Rect dirty
         0: .line 1263
            aload 0 /* this */
            aconst_null
            aload 2 /* dirty */
            invokevirtual android.view.ViewRootImpl.invalidateChildInParent:([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
            pop
         1: .line 1264
            return
        end local 2 // android.graphics.Rect dirty
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/view/ViewRootImpl;
            0    2     1  child  Landroid/view/View;
            0    2     2  dirty  Landroid/graphics/Rect;
    MethodParameters:
       Name  Flags
      child  
      dirty  

  public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
    descriptor: ([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int[] location
        start local 2 // android.graphics.Rect dirty
         0: .line 1268
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 1271
            aload 2 /* dirty */
            ifnonnull 4
         2: .line 1272
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.invalidate:()V
         3: .line 1273
            aconst_null
            areturn
         4: .line 1274
      StackMap locals:
      StackMap stack:
            aload 2 /* dirty */
            invokevirtual android.graphics.Rect.isEmpty:()Z
            ifeq 6
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsAnimating:Z
            ifne 6
         5: .line 1275
            aconst_null
            areturn
         6: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ifne 7
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 15
         7: .line 1279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            aload 2 /* dirty */
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
         8: .line 1280
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            astore 2 /* dirty */
         9: .line 1281
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ifeq 11
        10: .line 1282
            aload 2 /* dirty */
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ineg
            invokevirtual android.graphics.Rect.offset:(II)V
        11: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 13
        12: .line 1285
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 2 /* dirty */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInAppWindowToScreen:(Landroid/graphics/Rect;)V
        13: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mScalingRequired:Z
            ifeq 15
        14: .line 1288
            aload 2 /* dirty */
            iconst_m1
            iconst_m1
            invokevirtual android.graphics.Rect.inset:(II)V
        15: .line 1292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dirty */
            invokevirtual android.view.ViewRootImpl.invalidateRectOnScreen:(Landroid/graphics/Rect;)V
        16: .line 1294
            aconst_null
            areturn
        end local 2 // android.graphics.Rect dirty
        end local 1 // int[] location
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Landroid/view/ViewRootImpl;
            0   17     1  location  [I
            0   17     2     dirty  Landroid/graphics/Rect;
    MethodParameters:
          Name  Flags
      location  
      dirty     

  private void invalidateRectOnScreen(android.graphics.Rect);
    descriptor: (Landroid/graphics/Rect;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect dirty
         0: .line 1298
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDirty:Landroid/graphics/Rect;
            astore 2 /* localDirty */
        start local 2 // android.graphics.Rect localDirty
         1: .line 1299
            aload 2 /* localDirty */
            invokevirtual android.graphics.Rect.isEmpty:()Z
            ifne 4
            aload 2 /* localDirty */
            aload 1 /* dirty */
            invokevirtual android.graphics.Rect.contains:(Landroid/graphics/Rect;)Z
            ifne 4
         2: .line 1300
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mSetIgnoreDirtyState:Z
         3: .line 1301
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mIgnoreDirtyState:Z
         4: .line 1305
      StackMap locals: android.graphics.Rect
      StackMap stack:
            aload 2 /* localDirty */
            aload 1 /* dirty */
            getfield android.graphics.Rect.left:I
            aload 1 /* dirty */
            getfield android.graphics.Rect.top:I
            aload 1 /* dirty */
            getfield android.graphics.Rect.right:I
            aload 1 /* dirty */
            getfield android.graphics.Rect.bottom:I
            invokevirtual android.graphics.Rect.union:(IIII)V
         5: .line 1308
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mApplicationScale:F
            fstore 3 /* appScale */
        start local 3 // float appScale
         6: .line 1309
            aload 2 /* localDirty */
            iconst_0
            iconst_0
         7: .line 1310
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            i2f
            fload 3 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            i2f
            fload 3 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
         8: .line 1309
            invokevirtual android.graphics.Rect.intersect:(IIII)Z
            istore 4 /* intersected */
        start local 4 // boolean intersected
         9: .line 1311
            iload 4 /* intersected */
            ifne 11
        10: .line 1312
            aload 2 /* localDirty */
            invokevirtual android.graphics.Rect.setEmpty:()V
        11: .line 1314
      StackMap locals: float int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWillDrawSoon:Z
            ifne 13
            iload 4 /* intersected */
            ifne 12
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsAnimating:Z
            ifeq 13
        12: .line 1315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
        13: .line 1317
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean intersected
        end local 3 // float appScale
        end local 2 // android.graphics.Rect localDirty
        end local 1 // android.graphics.Rect dirty
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Landroid/view/ViewRootImpl;
            0   14     1        dirty  Landroid/graphics/Rect;
            1   14     2   localDirty  Landroid/graphics/Rect;
            6   14     3     appScale  F
            9   14     4  intersected  Z
    MethodParameters:
       Name  Flags
      dirty  

  public void setIsAmbientMode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean ambient
         0: .line 1320
            aload 0 /* this */
            iload 1 /* ambient */
            putfield android.view.ViewRootImpl.mIsAmbientMode:Z
         1: .line 1321
            return
        end local 1 // boolean ambient
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/view/ViewRootImpl;
            0    2     1  ambient  Z
    MethodParameters:
         Name  Flags
      ambient  

  void addWindowStoppedCallback(android.view.ViewRootImpl$WindowStoppedCallback);
    descriptor: (Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$WindowStoppedCallback c
         0: .line 1329
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowStoppedCallbacks:Ljava/util/ArrayList;
            aload 1 /* c */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1330
            return
        end local 1 // android.view.ViewRootImpl$WindowStoppedCallback c
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1     c  Landroid/view/ViewRootImpl$WindowStoppedCallback;
    MethodParameters:
      Name  Flags
      c     

  void removeWindowStoppedCallback(android.view.ViewRootImpl$WindowStoppedCallback);
    descriptor: (Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$WindowStoppedCallback c
         0: .line 1333
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowStoppedCallbacks:Ljava/util/ArrayList;
            aload 1 /* c */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 1334
            return
        end local 1 // android.view.ViewRootImpl$WindowStoppedCallback c
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1     c  Landroid/view/ViewRootImpl$WindowStoppedCallback;
    MethodParameters:
      Name  Flags
      c     

  void setWindowStopped(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean stopped
         0: .line 1337
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            iload 1 /* stopped */
            if_icmpeq 17
         1: .line 1338
            aload 0 /* this */
            iload 1 /* stopped */
            putfield android.view.ViewRootImpl.mStopped:Z
         2: .line 1339
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            astore 2 /* renderer */
        start local 2 // android.view.ThreadedRenderer renderer
         3: .line 1340
            aload 2 /* renderer */
            ifnull 5
         4: .line 1342
            aload 2 /* renderer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            invokevirtual android.view.ThreadedRenderer.setStopped:(Z)V
         5: .line 1344
      StackMap locals: android.view.ThreadedRenderer
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifne 8
         6: .line 1345
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         7: .line 1346
            goto 10
         8: .line 1347
      StackMap locals:
      StackMap stack:
            aload 2 /* renderer */
            ifnull 10
         9: .line 1348
            aload 2 /* renderer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.ThreadedRenderer.destroyHardwareResources:(Landroid/view/View;)V
        10: .line 1352
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        11: goto 14
        12: .line 1353
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowStoppedCallbacks:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.ViewRootImpl$WindowStoppedCallback
            iload 1 /* stopped */
            invokeinterface android.view.ViewRootImpl$WindowStoppedCallback.windowStopped:(Z)V
        13: .line 1352
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowStoppedCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 12
        end local 3 // int i
        15: .line 1356
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifeq 17
        16: .line 1357
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.release:()V
        end local 2 // android.view.ThreadedRenderer renderer
        17: .line 1360
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean stopped
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Landroid/view/ViewRootImpl;
            0   18     1   stopped  Z
            3   17     2  renderer  Landroid/view/ThreadedRenderer;
           11   15     3         i  I
    MethodParameters:
         Name  Flags
      stopped  

  public void setPausedForTransition(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean paused
         0: .line 1369
            aload 0 /* this */
            iload 1 /* paused */
            putfield android.view.ViewRootImpl.mPausedForTransition:Z
         1: .line 1370
            return
        end local 1 // boolean paused
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/view/ViewRootImpl;
            0    2     1  paused  Z
    MethodParameters:
        Name  Flags
      paused  

  public android.view.ViewParent getParent();
    descriptor: ()Landroid/view/ViewParent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1374
            aconst_null
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
    descriptor: (Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.graphics.Rect r
        start local 3 // android.graphics.Point offset
         0: .line 1379
            aload 1 /* child */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            if_acmpeq 2
         1: .line 1380
            new java.lang.RuntimeException
            dup
            ldc "child is not mine, honest!"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1384
      StackMap locals:
      StackMap stack:
            aload 2 /* r */
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            invokevirtual android.graphics.Rect.intersect:(IIII)Z
            ireturn
        end local 3 // android.graphics.Point offset
        end local 2 // android.graphics.Rect r
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/view/ViewRootImpl;
            0    3     1   child  Landroid/view/View;
            0    3     2       r  Landroid/graphics/Rect;
            0    3     3  offset  Landroid/graphics/Point;
    MethodParameters:
        Name  Flags
      child   
      r       
      offset  

  public void bringChildToFront(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
         0: .line 1389
            return
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/view/ViewRootImpl;
            0    1     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  int getHostVisibility();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1392
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAppVisible:Z
            ifne 1
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mForceDecorViewVisibility:Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getVisibility:()I
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 8
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  public void requestTransitionStart(android.animation.LayoutTransition);
    descriptor: (Landroid/animation/LayoutTransition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.animation.LayoutTransition transition
         0: .line 1409
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            ifnull 1
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            aload 1 /* transition */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 4
         1: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            ifnonnull 3
         2: .line 1411
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
         3: .line 1413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            aload 1 /* transition */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1415
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.animation.LayoutTransition transition
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/view/ViewRootImpl;
            0    5     1  transition  Landroid/animation/LayoutTransition;
    MethodParameters:
            Name  Flags
      transition  

  void notifyRendererOfFramePending();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1423
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 2
         1: .line 1424
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.notifyFramePending:()V
         2: .line 1426
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;

  void scheduleTraversals();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1429
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            ifne 10
         1: .line 1430
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mTraversalScheduled:Z
         2: .line 1431
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.getLooper:()Landroid/os/Looper;
            invokevirtual android.os.Looper.getQueue:()Landroid/os/MessageQueue;
            invokevirtual android.os.MessageQueue.postSyncBarrier:()I
            putfield android.view.ViewRootImpl.mTraversalBarrier:I
         3: .line 1432
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
         4: .line 1433
            iconst_2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalRunnable:Landroid/view/ViewRootImpl$TraversalRunnable;
            aconst_null
         5: .line 1432
            invokevirtual android.view.Choreographer.postCallback:(ILjava/lang/Runnable;Ljava/lang/Object;)V
         6: .line 1434
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUnbufferedInputDispatch:Z
            ifne 8
         7: .line 1435
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleConsumeBatchedInput:()V
         8: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.notifyRendererOfFramePending:()V
         9: .line 1438
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.pokeDrawLockIfNeeded:()V
        10: .line 1440
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/view/ViewRootImpl;

  void unscheduleTraversals();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1443
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            ifeq 6
         1: .line 1444
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mTraversalScheduled:Z
         2: .line 1445
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.getLooper:()Landroid/os/Looper;
            invokevirtual android.os.Looper.getQueue:()Landroid/os/MessageQueue;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalBarrier:I
            invokevirtual android.os.MessageQueue.removeSyncBarrier:(I)V
         3: .line 1446
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
         4: .line 1447
            iconst_2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalRunnable:Landroid/view/ViewRootImpl$TraversalRunnable;
            aconst_null
         5: .line 1446
            invokevirtual android.view.Choreographer.removeCallbacks:(ILjava/lang/Runnable;Ljava/lang/Object;)V
         6: .line 1449
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/view/ViewRootImpl;

  void doTraversal();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1452
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            ifeq 9
         1: .line 1453
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mTraversalScheduled:Z
         2: .line 1454
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.getLooper:()Landroid/os/Looper;
            invokevirtual android.os.Looper.getQueue:()Landroid/os/MessageQueue;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalBarrier:I
            invokevirtual android.os.MessageQueue.removeSyncBarrier:(I)V
         3: .line 1456
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProfile:Z
            ifeq 5
         4: .line 1457
            ldc "ViewAncestor"
            invokestatic android.os.Debug.startMethodTracing:(Ljava/lang/String;)V
         5: .line 1460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.performTraversals:()V
         6: .line 1462
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProfile:Z
            ifeq 9
         7: .line 1463
            invokestatic android.os.Debug.stopMethodTracing:()V
         8: .line 1464
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mProfile:Z
         9: .line 1467
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/view/ViewRootImpl;

  private void applyKeepScreenOnFlag(android.view.WindowManager$LayoutParams);
    descriptor: (Landroid/view/WindowManager$LayoutParams;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams params
         0: .line 1473
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mKeepScreenOn:Z
            ifeq 3
         1: .line 1474
            aload 1 /* params */
            dup
            getfield android.view.WindowManager$LayoutParams.flags:I
            sipush 128
            ior
            putfield android.view.WindowManager$LayoutParams.flags:I
         2: .line 1475
            goto 6
         3: .line 1476
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            aload 1 /* params */
            getfield android.view.WindowManager$LayoutParams.flags:I
            sipush -129
            iand
         4: .line 1477
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mClientWindowLayoutFlags:I
            sipush 128
            iand
            ior
         5: .line 1476
            putfield android.view.WindowManager$LayoutParams.flags:I
         6: .line 1479
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.WindowManager$LayoutParams params
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/view/ViewRootImpl;
            0    7     1  params  Landroid/view/WindowManager$LayoutParams;
    MethodParameters:
        Name  Flags
      params  

  private boolean collectViewAttributes();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1482
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
            ifeq 18
         1: .line 1484
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
         2: .line 1485
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mKeepScreenOn:Z
            istore 1 /* oldScreenOn */
        start local 1 // boolean oldScreenOn
         3: .line 1486
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mKeepScreenOn:Z
         4: .line 1487
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mSystemUiVisibility:I
         5: .line 1488
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mHasSystemUiListeners:Z
         6: .line 1489
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            invokevirtual android.view.View.dispatchCollectViewAttributes:(Landroid/view/View$AttachInfo;I)V
         7: .line 1490
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            dup
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisabledSystemUiVisibility:I
            iconst_m1
            ixor
            iand
            putfield android.view.View$AttachInfo.mSystemUiVisibility:I
         8: .line 1491
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            astore 2 /* params */
        start local 2 // android.view.WindowManager$LayoutParams params
         9: .line 1492
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            dup
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual android.view.ViewRootImpl.getImpliedSystemUiVisibility:(Landroid/view/WindowManager$LayoutParams;)I
            ior
            putfield android.view.View$AttachInfo.mSystemUiVisibility:I
        10: .line 1493
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mKeepScreenOn:Z
            iload 1 /* oldScreenOn */
            if_icmpne 13
        11: .line 1494
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            aload 2 /* params */
            getfield android.view.WindowManager$LayoutParams.subtreeSystemUiVisibility:I
            if_icmpne 13
        12: .line 1495
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mHasSystemUiListeners:Z
            aload 2 /* params */
            getfield android.view.WindowManager$LayoutParams.hasSystemUiListeners:Z
            if_icmpeq 18
        13: .line 1496
      StackMap locals: int android.view.WindowManager$LayoutParams
      StackMap stack:
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual android.view.ViewRootImpl.applyKeepScreenOnFlag:(Landroid/view/WindowManager$LayoutParams;)V
        14: .line 1497
            aload 2 /* params */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            putfield android.view.WindowManager$LayoutParams.subtreeSystemUiVisibility:I
        15: .line 1498
            aload 2 /* params */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mHasSystemUiListeners:Z
            putfield android.view.WindowManager$LayoutParams.hasSystemUiListeners:Z
        16: .line 1499
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            invokevirtual android.view.View.dispatchWindowSystemUiVisiblityChanged:(I)V
        17: .line 1500
            iconst_1
            ireturn
        end local 2 // android.view.WindowManager$LayoutParams params
        end local 1 // boolean oldScreenOn
        18: .line 1503
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Landroid/view/ViewRootImpl;
            3   18     1  oldScreenOn  Z
            9   18     2       params  Landroid/view/WindowManager$LayoutParams;

  private int getImpliedSystemUiVisibility(android.view.WindowManager$LayoutParams);
    descriptor: (Landroid/view/WindowManager$LayoutParams;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams params
         0: .line 1507
            iconst_0
            istore 2 /* vis */
        start local 2 // int vis
         1: .line 1509
            aload 1 /* params */
            getfield android.view.WindowManager$LayoutParams.flags:I
            ldc 67108864
            iand
            ifeq 3
         2: .line 1510
            iload 2 /* vis */
            sipush 1280
            ior
            istore 2 /* vis */
         3: .line 1512
      StackMap locals: int
      StackMap stack:
            aload 1 /* params */
            getfield android.view.WindowManager$LayoutParams.flags:I
            ldc 134217728
            iand
            ifeq 5
         4: .line 1513
            iload 2 /* vis */
            sipush 768
            ior
            istore 2 /* vis */
         5: .line 1515
      StackMap locals:
      StackMap stack:
            iload 2 /* vis */
            ireturn
        end local 2 // int vis
        end local 1 // android.view.WindowManager$LayoutParams params
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/view/ViewRootImpl;
            0    6     1  params  Landroid/view/WindowManager$LayoutParams;
            1    6     2     vis  I
    MethodParameters:
        Name  Flags
      params  

  private boolean measureHierarchy(android.view.View, android.view.WindowManager$LayoutParams, android.content.res.Resources, int, int);
    descriptor: (Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // android.view.ViewRootImpl this
         0: .line 1535
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.dimen cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;
    MethodParameters:
                     Name  Flags
      host                 final
      lp                   final
      res                  final
      desiredWindowWidth   final
      desiredWindowHeight  final

  void transformMatrixToGlobal(android.graphics.Matrix);
    descriptor: (Landroid/graphics/Matrix;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Matrix m
         0: .line 1594
            aload 1 /* m */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowLeft:I
            i2f
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowTop:I
            i2f
            invokevirtual android.graphics.Matrix.preTranslate:(FF)Z
            pop
         1: .line 1595
            return
        end local 1 // android.graphics.Matrix m
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1     m  Landroid/graphics/Matrix;
    MethodParameters:
      Name  Flags
      m     

  void transformMatrixToLocal(android.graphics.Matrix);
    descriptor: (Landroid/graphics/Matrix;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Matrix m
         0: .line 1604
            aload 1 /* m */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowLeft:I
            ineg
            i2f
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowTop:I
            ineg
            i2f
            invokevirtual android.graphics.Matrix.postTranslate:(FF)Z
            pop
         1: .line 1605
            return
        end local 1 // android.graphics.Matrix m
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1     m  Landroid/graphics/Matrix;
    MethodParameters:
      Name  Flags
      m     

  android.view.WindowInsets getWindowInsets(boolean);
    descriptor: (Z)Landroid/view/WindowInsets;
    flags: (0x0000) 
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean forceConstruct
         0: .line 1608
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastWindowInsets:Landroid/view/WindowInsets;
            ifnull 1
            iload 1 /* forceConstruct */
            ifeq 27
         1: .line 1609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDispatchContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
         2: .line 1610
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDispatchStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
         3: .line 1611
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.get:()Landroid/view/DisplayCutout;
            putfield android.view.ViewRootImpl.mDispatchDisplayCutout:Landroid/view/DisplayCutout;
         4: .line 1613
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDispatchContentInsets:Landroid/graphics/Rect;
            astore 2 /* contentInsets */
        start local 2 // android.graphics.Rect contentInsets
         5: .line 1614
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDispatchStableInsets:Landroid/graphics/Rect;
            astore 3 /* stableInsets */
        start local 3 // android.graphics.Rect stableInsets
         6: .line 1615
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDispatchDisplayCutout:Landroid/view/DisplayCutout;
            astore 4 /* displayCutout */
        start local 4 // android.view.DisplayCutout displayCutout
         7: .line 1618
            iload 1 /* forceConstruct */
            ifne 14
         8: .line 1619
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            aload 2 /* contentInsets */
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1620
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            aload 3 /* stableInsets */
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1621
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.get:()Landroid/view/DisplayCutout;
            aload 4 /* displayCutout */
            invokevirtual android.view.DisplayCutout.equals:(Ljava/lang/Object;)Z
            ifne 14
        11: .line 1622
      StackMap locals: android.graphics.Rect android.graphics.Rect android.view.DisplayCutout
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            astore 2 /* contentInsets */
        12: .line 1623
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            astore 3 /* stableInsets */
        13: .line 1624
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.get:()Landroid/view/DisplayCutout;
            astore 4 /* displayCutout */
        14: .line 1626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOutsets:Landroid/graphics/Rect;
            astore 5 /* outsets */
        start local 5 // android.graphics.Rect outsets
        15: .line 1627
            aload 5 /* outsets */
            getfield android.graphics.Rect.left:I
            ifgt 16
            aload 5 /* outsets */
            getfield android.graphics.Rect.top:I
            ifgt 16
            aload 5 /* outsets */
            getfield android.graphics.Rect.right:I
            ifgt 16
            aload 5 /* outsets */
            getfield android.graphics.Rect.bottom:I
            ifle 20
        16: .line 1628
      StackMap locals: android.graphics.Rect
      StackMap stack:
            new android.graphics.Rect
            dup
            aload 2 /* contentInsets */
            getfield android.graphics.Rect.left:I
            aload 5 /* outsets */
            getfield android.graphics.Rect.left:I
            iadd
        17: .line 1629
            aload 2 /* contentInsets */
            getfield android.graphics.Rect.top:I
            aload 5 /* outsets */
            getfield android.graphics.Rect.top:I
            iadd
            aload 2 /* contentInsets */
            getfield android.graphics.Rect.right:I
            aload 5 /* outsets */
            getfield android.graphics.Rect.right:I
            iadd
        18: .line 1630
            aload 2 /* contentInsets */
            getfield android.graphics.Rect.bottom:I
            aload 5 /* outsets */
            getfield android.graphics.Rect.bottom:I
            iadd
        19: .line 1628
            invokespecial android.graphics.Rect.<init>:(IIII)V
            astore 2 /* contentInsets */
        20: .line 1632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* contentInsets */
            ldc "content"
            invokevirtual android.view.ViewRootImpl.ensureInsetsNonNegative:(Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
            astore 2 /* contentInsets */
        21: .line 1633
            aload 0 /* this */
            aload 3 /* stableInsets */
            ldc "stable"
            invokevirtual android.view.ViewRootImpl.ensureInsetsNonNegative:(Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
            astore 3 /* stableInsets */
        22: .line 1634
            aload 0 /* this */
            new android.view.WindowInsets
            dup
            aload 2 /* contentInsets */
        23: .line 1635
            aconst_null
            aload 3 /* stableInsets */
        24: .line 1636
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            invokevirtual android.content.res.Configuration.isScreenRound:()Z
        25: .line 1637
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
            aload 4 /* displayCutout */
            invokespecial android.view.WindowInsets.<init>:(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;)V
        26: .line 1634
            putfield android.view.ViewRootImpl.mLastWindowInsets:Landroid/view/WindowInsets;
        end local 5 // android.graphics.Rect outsets
        end local 4 // android.view.DisplayCutout displayCutout
        end local 3 // android.graphics.Rect stableInsets
        end local 2 // android.graphics.Rect contentInsets
        27: .line 1639
      StackMap locals: android.view.ViewRootImpl int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastWindowInsets:Landroid/view/WindowInsets;
            areturn
        end local 1 // boolean forceConstruct
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0            this  Landroid/view/ViewRootImpl;
            0   28     1  forceConstruct  Z
            5   27     2   contentInsets  Landroid/graphics/Rect;
            6   27     3    stableInsets  Landroid/graphics/Rect;
            7   27     4   displayCutout  Landroid/view/DisplayCutout;
           15   27     5         outsets  Landroid/graphics/Rect;
    MethodParameters:
                Name  Flags
      forceConstruct  

  private android.graphics.Rect ensureInsetsNonNegative(android.graphics.Rect, java.lang.String);
    descriptor: (Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect insets
        start local 2 // java.lang.String kind
         0: .line 1643
            aload 1 /* insets */
            getfield android.graphics.Rect.left:I
            iflt 1
            aload 1 /* insets */
            getfield android.graphics.Rect.top:I
            iflt 1
            aload 1 /* insets */
            getfield android.graphics.Rect.right:I
            iflt 1
            aload 1 /* insets */
            getfield android.graphics.Rect.bottom:I
            ifge 6
         1: .line 1644
      StackMap locals:
      StackMap stack:
            new android.graphics.Rect
            dup
            iconst_0
            aload 1 /* insets */
            getfield android.graphics.Rect.left:I
            invokestatic java.lang.Math.max:(II)I
         2: .line 1645
            iconst_0
            aload 1 /* insets */
            getfield android.graphics.Rect.top:I
            invokestatic java.lang.Math.max:(II)I
         3: .line 1646
            iconst_0
            aload 1 /* insets */
            getfield android.graphics.Rect.right:I
            invokestatic java.lang.Math.max:(II)I
         4: .line 1647
            iconst_0
            aload 1 /* insets */
            getfield android.graphics.Rect.bottom:I
            invokestatic java.lang.Math.max:(II)I
         5: .line 1644
            invokespecial android.graphics.Rect.<init>:(IIII)V
            areturn
         6: .line 1649
      StackMap locals:
      StackMap stack:
            aload 1 /* insets */
            areturn
        end local 2 // java.lang.String kind
        end local 1 // android.graphics.Rect insets
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/view/ViewRootImpl;
            0    7     1  insets  Landroid/graphics/Rect;
            0    7     2    kind  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      insets  
      kind    

  void dispatchApplyInsets(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View host
         0: .line 1653
            aload 0 /* this */
            iconst_1
            invokevirtual android.view.ViewRootImpl.getWindowInsets:(Z)Landroid/view/WindowInsets;
            astore 2 /* insets */
        start local 2 // android.view.WindowInsets insets
         1: .line 1654
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.layoutInDisplayCutoutMode:I
         2: .line 1655
            iconst_1
         3: .line 1654
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: android.view.WindowInsets
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* dispatchCutout */
        start local 3 // boolean dispatchCutout
         6: .line 1656
            iload 3 /* dispatchCutout */
            ifne 8
         7: .line 1659
            aload 2 /* insets */
            invokevirtual android.view.WindowInsets.consumeDisplayCutout:()Landroid/view/WindowInsets;
            astore 2 /* insets */
         8: .line 1661
      StackMap locals: int
      StackMap stack:
            aload 1 /* host */
            aload 2 /* insets */
            invokevirtual android.view.View.dispatchApplyWindowInsets:(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
            pop
         9: .line 1662
            return
        end local 3 // boolean dispatchCutout
        end local 2 // android.view.WindowInsets insets
        end local 1 // android.view.View host
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Landroid/view/ViewRootImpl;
            0   10     1            host  Landroid/view/View;
            1   10     2          insets  Landroid/view/WindowInsets;
            6   10     3  dispatchCutout  Z
    MethodParameters:
      Name  Flags
      host  

  private static boolean shouldUseDisplaySize(android.view.WindowManager$LayoutParams);
    descriptor: (Landroid/view/WindowManager$LayoutParams;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.WindowManager$LayoutParams lp
         0: .line 1665
            aload 0 /* lp */
            getfield android.view.WindowManager$LayoutParams.type:I
            sipush 2014
            if_icmpeq 4
         1: .line 1666
            aload 0 /* lp */
            getfield android.view.WindowManager$LayoutParams.type:I
            sipush 2011
            if_icmpeq 4
         2: .line 1667
            aload 0 /* lp */
            getfield android.view.WindowManager$LayoutParams.type:I
            sipush 2020
            if_icmpeq 4
         3: .line 1665
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // android.view.WindowManager$LayoutParams lp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    lp  Landroid/view/WindowManager$LayoutParams;
    MethodParameters:
      Name  Flags
      lp    final

  private int dipToPx(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int dip
         0: .line 1671
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            astore 2 /* displayMetrics */
        start local 2 // android.util.DisplayMetrics displayMetrics
         1: .line 1672
            aload 2 /* displayMetrics */
            getfield android.util.DisplayMetrics.density:F
            iload 1 /* dip */
            i2f
            fmul
            ldc 0.5
            fadd
            f2i
            ireturn
        end local 2 // android.util.DisplayMetrics displayMetrics
        end local 1 // int dip
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/view/ViewRootImpl;
            0    2     1             dip  I
            1    2     2  displayMetrics  Landroid/util/DisplayMetrics;
    MethodParameters:
      Name  Flags
      dip   

  private void performTraversals();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=37, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 1677
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            astore 1 /* host */
        start local 1 // android.view.View host
         1: .line 1685
            aload 1 /* host */
            ifnull 2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifne 3
         2: .line 1686
      StackMap locals: android.view.View
      StackMap stack:
            return
         3: .line 1688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mIsInTraversal:Z
         4: .line 1689
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mWillDrawSoon:Z
         5: .line 1690
            iconst_0
            istore 2 /* windowSizeMayChange */
        start local 2 // boolean windowSizeMayChange
         6: .line 1691
            iconst_0
            istore 3 /* newSurface */
        start local 3 // boolean newSurface
         7: .line 1692
            iconst_0
            istore 4 /* surfaceChanged */
        start local 4 // boolean surfaceChanged
         8: .line 1693
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            astore 5 /* lp */
        start local 5 // android.view.WindowManager$LayoutParams lp
         9: .line 1698
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.getHostVisibility:()I
            istore 8 /* viewVisibility */
        start local 8 // int viewVisibility
        10: .line 1699
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 14
        11: .line 1700
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mViewVisibility:I
            iload 8 /* viewVisibility */
            if_icmpne 13
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNewSurfaceNeeded:Z
            ifne 13
        12: .line 1703
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAppVisibilityChanged:Z
            ifeq 14
        13: .line 1699
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams top top int
      StackMap stack:
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* viewVisibilityChanged */
        start local 9 // boolean viewVisibilityChanged
        16: .line 1704
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mAppVisibilityChanged:Z
        17: .line 1705
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 24
        18: .line 1706
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mViewVisibility:I
            ifne 19
            iconst_1
            goto 20
      StackMap locals: int
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: iload 8 /* viewVisibility */
            ifne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack: int
        21: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams top top int int
      StackMap stack: int int
        22: if_icmpeq 24
        23: .line 1705
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 10 /* viewUserVisibilityChanged */
        start local 10 // boolean viewUserVisibilityChanged
        26: .line 1708
            aconst_null
            astore 11 /* params */
        start local 11 // android.view.WindowManager$LayoutParams params
        27: .line 1709
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
            ifeq 31
        28: .line 1710
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
        29: .line 1711
            iconst_1
            istore 4 /* surfaceChanged */
        30: .line 1712
            aload 5 /* lp */
            astore 11 /* params */
        31: .line 1715
      StackMap locals: int android.view.WindowManager$LayoutParams
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayAdjustments:()Landroid/view/DisplayAdjustments;
            invokevirtual android.view.DisplayAdjustments.getCompatibilityInfo:()Landroid/content/res/CompatibilityInfo;
        32: .line 1714
            astore 12 /* compatibilityInfo */
        start local 12 // android.content.res.CompatibilityInfo compatibilityInfo
        33: .line 1716
            aload 12 /* compatibilityInfo */
            invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastInCompatMode:Z
            if_icmpne 43
        34: .line 1717
            aload 5 /* lp */
            astore 11 /* params */
        35: .line 1718
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
        36: .line 1719
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        37: .line 1720
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastInCompatMode:Z
            ifeq 41
        38: .line 1721
            aload 11 /* params */
            dup
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
            sipush -129
            iand
            putfield android.view.WindowManager$LayoutParams.privateFlags:I
        39: .line 1722
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mLastInCompatMode:Z
        40: .line 1723
            goto 43
        41: .line 1724
      StackMap locals: android.content.res.CompatibilityInfo
      StackMap stack:
            aload 11 /* params */
            dup
            getfield android.view.WindowManager$LayoutParams.privateFlags:I
            sipush 128
            ior
            putfield android.view.WindowManager$LayoutParams.privateFlags:I
        42: .line 1725
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLastInCompatMode:Z
        43: .line 1729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
        44: .line 1731
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            astore 13 /* frame */
        start local 13 // android.graphics.Rect frame
        45: .line 1732
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifeq 69
        46: .line 1733
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
        47: .line 1734
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        48: .line 1736
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            astore 14 /* config */
        start local 14 // android.content.res.Configuration config
        49: .line 1737
            aload 5 /* lp */
            invokestatic android.view.ViewRootImpl.shouldUseDisplaySize:(Landroid/view/WindowManager$LayoutParams;)Z
            ifeq 55
        50: .line 1739
            new android.graphics.Point
            dup
            invokespecial android.graphics.Point.<init>:()V
            astore 15 /* size */
        start local 15 // android.graphics.Point size
        51: .line 1740
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            aload 15 /* size */
            invokevirtual android.view.Display.getRealSize:(Landroid/graphics/Point;)V
        52: .line 1741
            aload 15 /* size */
            getfield android.graphics.Point.x:I
            istore 6 /* desiredWindowWidth */
        start local 6 // int desiredWindowWidth
        53: .line 1742
            aload 15 /* size */
            getfield android.graphics.Point.y:I
            istore 7 /* desiredWindowHeight */
        end local 15 // android.graphics.Point size
        start local 7 // int desiredWindowHeight
        54: .line 1743
            goto 57
        end local 7 // int desiredWindowHeight
        end local 6 // int desiredWindowWidth
        55: .line 1744
      StackMap locals: android.graphics.Rect android.content.res.Configuration
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.width:()I
            istore 6 /* desiredWindowWidth */
        start local 6 // int desiredWindowWidth
        56: .line 1745
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.height:()I
            istore 7 /* desiredWindowHeight */
        start local 7 // int desiredWindowHeight
        57: .line 1751
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect android.content.res.Configuration
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mUse32BitDrawingCache:Z
        58: .line 1752
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mHasWindowFocus:Z
        59: .line 1753
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 8 /* viewVisibility */
            putfield android.view.View$AttachInfo.mWindowVisibility:I
        60: .line 1754
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
        61: .line 1755
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastConfigurationFromResources:Landroid/content/res/Configuration;
            aload 14 /* config */
            invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
        62: .line 1756
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            putfield android.view.ViewRootImpl.mLastSystemUiVisibility:I
        63: .line 1758
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mViewLayoutDirectionInitial:I
            iconst_2
            if_icmpne 65
        64: .line 1759
            aload 1 /* host */
            aload 14 /* config */
            invokevirtual android.content.res.Configuration.getLayoutDirection:()I
            invokevirtual android.view.View.setLayoutDirection:(I)V
        65: .line 1761
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            invokevirtual android.view.View.dispatchAttachedToWindow:(Landroid/view/View$AttachInfo;I)V
        66: .line 1762
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            iconst_1
            invokevirtual android.view.ViewTreeObserver.dispatchOnWindowAttachedChange:(Z)V
        67: .line 1763
            aload 0 /* this */
            aload 1 /* host */
            invokevirtual android.view.ViewRootImpl.dispatchApplyInsets:(Landroid/view/View;)V
        end local 14 // android.content.res.Configuration config
        68: .line 1764
            goto 75
        end local 7 // int desiredWindowHeight
        end local 6 // int desiredWindowWidth
        69: .line 1765
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams top top int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect
      StackMap stack:
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.width:()I
            istore 6 /* desiredWindowWidth */
        start local 6 // int desiredWindowWidth
        70: .line 1766
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.height:()I
            istore 7 /* desiredWindowHeight */
        start local 7 // int desiredWindowHeight
        71: .line 1767
            iload 6 /* desiredWindowWidth */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            if_icmpne 72
            iload 7 /* desiredWindowHeight */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            if_icmpeq 75
        72: .line 1769
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
        73: .line 1770
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        74: .line 1771
            iconst_1
            istore 2 /* windowSizeMayChange */
        75: .line 1775
      StackMap locals:
      StackMap stack:
            iload 9 /* viewVisibilityChanged */
            ifeq 87
        76: .line 1776
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 8 /* viewVisibility */
            putfield android.view.View$AttachInfo.mWindowVisibility:I
        77: .line 1777
            aload 1 /* host */
            iload 8 /* viewVisibility */
            invokevirtual android.view.View.dispatchWindowVisibilityChanged:(I)V
        78: .line 1778
            iload 10 /* viewUserVisibilityChanged */
            ifeq 82
        79: .line 1779
            aload 1 /* host */
            iload 8 /* viewVisibility */
            ifne 80
            iconst_1
            goto 81
      StackMap locals:
      StackMap stack: android.view.View
        80: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect
      StackMap stack: android.view.View int
        81: invokevirtual android.view.View.dispatchVisibilityAggregated:(Z)Z
            pop
        82: .line 1781
      StackMap locals:
      StackMap stack:
            iload 8 /* viewVisibility */
            ifne 83
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNewSurfaceNeeded:Z
            ifeq 85
        83: .line 1782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.endDragResizing:()V
        84: .line 1783
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.destroyHardwareResources:()V
        85: .line 1785
      StackMap locals:
      StackMap stack:
            iload 8 /* viewVisibility */
            bipush 8
            if_icmpne 87
        86: .line 1788
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mHasHadWindowFocus:Z
        87: .line 1793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowVisibility:I
            ifeq 89
        88: .line 1794
            aload 1 /* host */
            invokevirtual android.view.View.clearAccessibilityFocus:()V
        89: .line 1798
      StackMap locals:
      StackMap stack:
            invokestatic android.view.ViewRootImpl.getRunQueue:()Landroid/view/HandlerActionQueue;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mHandler:Landroid/os/Handler;
            invokevirtual android.view.HandlerActionQueue.executeActions:(Landroid/os/Handler;)V
        90: .line 1800
            iconst_0
            istore 14 /* insetsChanged */
        start local 14 // boolean insetsChanged
        91: .line 1802
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequested:Z
            ifeq 93
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifeq 92
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 93
      StackMap locals: int
      StackMap stack:
        92: iconst_1
            goto 94
      StackMap locals:
      StackMap stack:
        93: iconst_0
      StackMap locals:
      StackMap stack: int
        94: istore 15 /* layoutRequested */
        start local 15 // boolean layoutRequested
        95: .line 1803
            iload 15 /* layoutRequested */
            ifeq 132
        96: .line 1805
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            astore 16 /* res */
        start local 16 // android.content.res.Resources res
        97: .line 1807
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifeq 103
        98: .line 1810
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAddedTouchMode:Z
            ifeq 99
            iconst_0
            goto 100
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int android.content.res.Resources
      StackMap stack: android.view.View$AttachInfo
        99: iconst_1
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int android.content.res.Resources
      StackMap stack: android.view.View$AttachInfo int
       100: putfield android.view.View$AttachInfo.mInTouchMode:Z
       101: .line 1811
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAddedTouchMode:Z
            invokevirtual android.view.ViewRootImpl.ensureTouchModeLocally:(Z)Z
            pop
       102: .line 1812
            goto 129
       103: .line 1813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 105
       104: .line 1814
            iconst_1
            istore 14 /* insetsChanged */
       105: .line 1816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 107
       106: .line 1817
            iconst_1
            istore 14 /* insetsChanged */
       107: .line 1819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 109
       108: .line 1820
            iconst_1
            istore 14 /* insetsChanged */
       109: .line 1822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.equals:(Ljava/lang/Object;)Z
            ifne 111
       110: .line 1823
            iconst_1
            istore 14 /* insetsChanged */
       111: .line 1825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mVisibleInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 113
       112: .line 1826
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mVisibleInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       113: .line 1830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOutsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOutsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 115
       114: .line 1831
            iconst_1
            istore 14 /* insetsChanged */
       115: .line 1833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingAlwaysConsumeNavBar:Z
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
            if_icmpeq 117
       116: .line 1834
            iconst_1
            istore 14 /* insetsChanged */
       117: .line 1836
      StackMap locals:
      StackMap stack:
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.width:I
            bipush -2
            if_icmpeq 119
       118: .line 1837
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.height:I
            bipush -2
            if_icmpne 129
       119: .line 1838
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* windowSizeMayChange */
       120: .line 1840
            aload 5 /* lp */
            invokestatic android.view.ViewRootImpl.shouldUseDisplaySize:(Landroid/view/WindowManager$LayoutParams;)Z
            ifeq 126
       121: .line 1842
            new android.graphics.Point
            dup
            invokespecial android.graphics.Point.<init>:()V
            astore 17 /* size */
        start local 17 // android.graphics.Point size
       122: .line 1843
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            aload 17 /* size */
            invokevirtual android.view.Display.getRealSize:(Landroid/graphics/Point;)V
       123: .line 1844
            aload 17 /* size */
            getfield android.graphics.Point.x:I
            istore 6 /* desiredWindowWidth */
       124: .line 1845
            aload 17 /* size */
            getfield android.graphics.Point.y:I
            istore 7 /* desiredWindowHeight */
        end local 17 // android.graphics.Point size
       125: .line 1846
            goto 129
       126: .line 1847
      StackMap locals:
      StackMap stack:
            aload 16 /* res */
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            astore 17 /* config */
        start local 17 // android.content.res.Configuration config
       127: .line 1848
            aload 0 /* this */
            aload 17 /* config */
            getfield android.content.res.Configuration.screenWidthDp:I
            invokevirtual android.view.ViewRootImpl.dipToPx:(I)I
            istore 6 /* desiredWindowWidth */
       128: .line 1849
            aload 0 /* this */
            aload 17 /* config */
            getfield android.content.res.Configuration.screenHeightDp:I
            invokevirtual android.view.ViewRootImpl.dipToPx:(I)I
            istore 7 /* desiredWindowHeight */
        end local 17 // android.content.res.Configuration config
       129: .line 1855
      StackMap locals:
      StackMap stack:
            iload 2 /* windowSizeMayChange */
            aload 0 /* this */
            aload 1 /* host */
            aload 5 /* lp */
            aload 16 /* res */
       130: .line 1856
            iload 6 /* desiredWindowWidth */
            iload 7 /* desiredWindowHeight */
       131: .line 1855
            invokevirtual android.view.ViewRootImpl.measureHierarchy:(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
            ior
            istore 2 /* windowSizeMayChange */
        end local 16 // android.content.res.Resources res
       132: .line 1859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.collectViewAttributes:()Z
            ifeq 134
       133: .line 1860
            aload 5 /* lp */
            astore 11 /* params */
       134: .line 1862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mForceReportNewAttributes:Z
            ifeq 137
       135: .line 1863
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mForceReportNewAttributes:Z
       136: .line 1864
            aload 5 /* lp */
            astore 11 /* params */
       137: .line 1867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 138
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mViewVisibilityChanged:Z
            ifeq 162
       138: .line 1868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mViewVisibilityChanged:Z
       139: .line 1869
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSoftInputMode:I
       140: .line 1870
            sipush 240
       141: .line 1869
            iand
            istore 16 /* resizeMode */
        start local 16 // int resizeMode
       142: .line 1873
            iload 16 /* resizeMode */
            ifne 162
       143: .line 1874
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mScrollContainers:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 17 /* N */
        start local 17 // int N
       144: .line 1875
            iconst_0
            istore 18 /* i */
        start local 18 // int i
       145: goto 149
       146: .line 1876
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mScrollContainers:Ljava/util/ArrayList;
            iload 18 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.View
            invokevirtual android.view.View.isShown:()Z
            ifeq 148
       147: .line 1877
            bipush 16
            istore 16 /* resizeMode */
       148: .line 1875
      StackMap locals:
      StackMap stack:
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
       149: iload 18 /* i */
            iload 17 /* N */
            if_icmplt 146
        end local 18 // int i
       150: .line 1880
            iload 16 /* resizeMode */
            ifne 152
       151: .line 1881
            bipush 32
            istore 16 /* resizeMode */
       152: .line 1883
      StackMap locals:
      StackMap stack:
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
       153: .line 1884
            sipush 240
       154: .line 1883
            iand
       155: .line 1884
            iload 16 /* resizeMode */
       156: .line 1883
            if_icmpeq 162
       157: .line 1885
            aload 5 /* lp */
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
       158: .line 1886
            sipush -241
            iand
       159: .line 1887
            iload 16 /* resizeMode */
            ior
       160: .line 1885
            putfield android.view.WindowManager$LayoutParams.softInputMode:I
       161: .line 1888
            aload 5 /* lp */
            astore 11 /* params */
        end local 17 // int N
        end local 16 // int resizeMode
       162: .line 1893
      StackMap locals:
      StackMap stack:
            aload 11 /* params */
            ifnull 170
       163: .line 1894
            aload 1 /* host */
            getfield android.view.View.mPrivateFlags:I
            sipush 512
            iand
            ifeq 166
       164: .line 1895
            aload 11 /* params */
            getfield android.view.WindowManager$LayoutParams.format:I
            invokestatic android.graphics.PixelFormat.formatHasAlpha:(I)Z
            ifne 166
       165: .line 1896
            aload 11 /* params */
            bipush -3
            putfield android.view.WindowManager$LayoutParams.format:I
       166: .line 1899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 11 /* params */
            getfield android.view.WindowManager$LayoutParams.flags:I
       167: .line 1900
            ldc 33554432
            iand
            ifeq 168
            iconst_1
            goto 169
      StackMap locals:
      StackMap stack: android.view.View$AttachInfo
       168: iconst_0
       169: .line 1899
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int
      StackMap stack: android.view.View$AttachInfo int
            putfield android.view.View$AttachInfo.mOverscanRequested:Z
       170: .line 1903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mApplyInsetsRequested:Z
            ifeq 179
       171: .line 1904
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mApplyInsetsRequested:Z
       172: .line 1905
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanRequested:Z
            putfield android.view.ViewRootImpl.mLastOverscanRequested:Z
       173: .line 1906
            aload 0 /* this */
            aload 1 /* host */
            invokevirtual android.view.ViewRootImpl.dispatchApplyInsets:(Landroid/view/View;)V
       174: .line 1907
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequested:Z
            ifeq 179
       175: .line 1911
            iload 2 /* windowSizeMayChange */
            aload 0 /* this */
            aload 1 /* host */
            aload 5 /* lp */
       176: .line 1912
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
       177: .line 1913
            iload 6 /* desiredWindowWidth */
            iload 7 /* desiredWindowHeight */
       178: .line 1911
            invokevirtual android.view.ViewRootImpl.measureHierarchy:(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
            ior
            istore 2 /* windowSizeMayChange */
       179: .line 1917
      StackMap locals:
      StackMap stack:
            iload 15 /* layoutRequested */
            ifeq 181
       180: .line 1921
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
       181: .line 1924
      StackMap locals:
      StackMap stack:
            iload 15 /* layoutRequested */
            ifeq 188
            iload 2 /* windowSizeMayChange */
            ifeq 188
       182: .line 1925
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredWidth:()I
            if_icmpne 187
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredHeight:()I
            if_icmpne 187
       183: .line 1926
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.width:I
            bipush -2
            if_icmpne 185
       184: .line 1927
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.width:()I
            iload 6 /* desiredWindowWidth */
            if_icmpge 185
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.width:()I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            if_icmpne 187
       185: .line 1928
      StackMap locals:
      StackMap stack:
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.height:I
            bipush -2
            if_icmpne 188
       186: .line 1929
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.height:()I
            iload 7 /* desiredWindowHeight */
            if_icmpge 188
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.height:()I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            if_icmpeq 188
       187: .line 1924
      StackMap locals:
      StackMap stack:
            iconst_1
            goto 189
      StackMap locals:
      StackMap stack:
       188: iconst_0
      StackMap locals:
      StackMap stack: int
       189: istore 16 /* windowShouldResize */
        start local 16 // boolean windowShouldResize
       190: .line 1930
            iload 16 /* windowShouldResize */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            ifeq 191
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mResizeMode:I
            ifne 191
            iconst_1
            goto 192
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int
      StackMap stack: int
       191: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int
      StackMap stack: int int
       192: ior
            istore 16 /* windowShouldResize */
       193: .line 1935
            iload 16 /* windowShouldResize */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mActivityRelaunched:Z
            ior
            istore 16 /* windowShouldResize */
       194: .line 1941
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.hasComputeInternalInsetsListeners:()Z
            ifne 197
       195: .line 1942
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mHasNonEmptyGivenInternalInsets:Z
            ifne 197
       196: .line 1940
            iconst_0
            goto 198
      StackMap locals:
      StackMap stack:
       197: iconst_1
      StackMap locals:
      StackMap stack: int
       198: istore 17 /* computesInternalInsets */
        start local 17 // boolean computesInternalInsets
       199: .line 1944
            iconst_0
            istore 18 /* insetsPending */
        start local 18 // boolean insetsPending
       200: .line 1945
            iconst_0
            istore 19 /* relayoutResult */
        start local 19 // int relayoutResult
       201: .line 1946
            iconst_0
            istore 20 /* updatedConfiguration */
        start local 20 // boolean updatedConfiguration
       202: .line 1948
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.getGenerationId:()I
            istore 21 /* surfaceGenerationId */
        start local 21 // int surfaceGenerationId
       203: .line 1950
            iload 8 /* viewVisibility */
            ifne 204
            iconst_1
            goto 205
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int
      StackMap stack:
       204: iconst_0
      StackMap locals:
      StackMap stack: int
       205: istore 22 /* isViewVisible */
        start local 22 // boolean isViewVisible
       206: .line 1951
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mForceNextWindowRelayout:Z
            istore 23 /* windowRelayoutWasForced */
        start local 23 // boolean windowRelayoutWasForced
       207: .line 1952
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 209
            iload 16 /* windowShouldResize */
            ifne 209
            iload 14 /* insetsChanged */
            ifne 209
       208: .line 1953
            iload 9 /* viewVisibilityChanged */
            ifne 209
            aload 11 /* params */
            ifnonnull 209
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mForceNextWindowRelayout:Z
            ifeq 464
       209: .line 1954
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mForceNextWindowRelayout:Z
       210: .line 1956
            iload 22 /* isViewVisible */
            ifeq 215
       211: .line 1966
            iload 17 /* computesInternalInsets */
            ifeq 213
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 212
            iload 9 /* viewVisibilityChanged */
            ifeq 213
      StackMap locals:
      StackMap stack:
       212: iconst_1
            goto 214
      StackMap locals:
      StackMap stack:
       213: iconst_0
      StackMap locals:
      StackMap stack: int
       214: istore 18 /* insetsPending */
       215: .line 1969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnull 218
       216: .line 1970
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            getfield com.android.internal.view.BaseSurfaceHolder.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
       217: .line 1971
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mDrawingAllowed:Z
       218: .line 1974
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 24 /* hwInitialized */
        start local 24 // boolean hwInitialized
       219: .line 1975
            iconst_0
            istore 25 /* contentInsetsChanged */
        start local 25 // boolean contentInsetsChanged
       220: .line 1976
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            istore 26 /* hadSurface */
        start local 26 // boolean hadSurface
       221: .line 1984
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 225
       222: .line 1988
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.ThreadedRenderer.pauseSurface:(Landroid/view/Surface;)Z
            ifeq 224
       223: .line 1991
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDirty:Landroid/graphics/Rect;
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            invokevirtual android.graphics.Rect.set:(IIII)V
       224: .line 1993
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            getfield android.view.Choreographer.mFrameInfo:Landroid/view/FrameInfo;
            lconst_1
            invokevirtual android.view.FrameInfo.addFlags:(J)V
       225: .line 1995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* params */
            iload 8 /* viewVisibility */
            iload 18 /* insetsPending */
            invokevirtual android.view.ViewRootImpl.relayoutWindow:(Landroid/view/WindowManager$LayoutParams;IZ)I
            istore 19 /* relayoutResult */
       226: .line 2011
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingMergedConfiguration:Landroid/util/MergedConfiguration;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastReportedMergedConfiguration:Landroid/util/MergedConfiguration;
            invokevirtual android.util.MergedConfiguration.equals:(Ljava/lang/Object;)Z
            ifne 232
       227: .line 2014
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingMergedConfiguration:Landroid/util/MergedConfiguration;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifeq 228
            iconst_0
            goto 229
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int
      StackMap stack: android.view.ViewRootImpl android.util.MergedConfiguration
       228: iconst_1
       229: .line 2015
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int
      StackMap stack: android.view.ViewRootImpl android.util.MergedConfiguration int
            iconst_m1
       230: .line 2014
            invokevirtual android.view.ViewRootImpl.performConfigurationChange:(Landroid/util/MergedConfiguration;ZI)V
       231: .line 2016
            iconst_1
            istore 20 /* updatedConfiguration */
       232: .line 2019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
       233: .line 2020
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanInsets:Landroid/graphics/Rect;
       234: .line 2019
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
       235: .line 2020
            ifeq 237
       236: .line 2019
            iconst_0
            goto 238
      StackMap locals:
      StackMap stack:
       237: iconst_1
      StackMap locals:
      StackMap stack: int
       238: istore 27 /* overscanInsetsChanged */
        start local 27 // boolean overscanInsetsChanged
       239: .line 2021
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
       240: .line 2022
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
       241: .line 2021
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
       242: .line 2022
            ifeq 244
       243: .line 2021
            iconst_0
            goto 245
      StackMap locals: int
      StackMap stack:
       244: iconst_1
      StackMap locals:
      StackMap stack: int
       245: istore 25 /* contentInsetsChanged */
       246: .line 2023
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
       247: .line 2024
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mVisibleInsets:Landroid/graphics/Rect;
       248: .line 2023
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
       249: .line 2024
            ifeq 251
       250: .line 2023
            iconst_0
            goto 252
      StackMap locals:
      StackMap stack:
       251: iconst_1
      StackMap locals:
      StackMap stack: int
       252: istore 28 /* visibleInsetsChanged */
        start local 28 // boolean visibleInsetsChanged
       253: .line 2025
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
       254: .line 2026
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
       255: .line 2025
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
       256: .line 2026
            ifeq 258
       257: .line 2025
            iconst_0
            goto 259
      StackMap locals: int
      StackMap stack:
       258: iconst_1
      StackMap locals:
      StackMap stack: int
       259: istore 29 /* stableInsetsChanged */
        start local 29 // boolean stableInsetsChanged
       260: .line 2027
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
       261: .line 2028
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
       262: .line 2027
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.equals:(Ljava/lang/Object;)Z
       263: .line 2028
            ifeq 265
       264: .line 2027
            iconst_0
            goto 266
      StackMap locals: int
      StackMap stack:
       265: iconst_1
      StackMap locals:
      StackMap stack: int
       266: istore 30 /* cutoutChanged */
        start local 30 // boolean cutoutChanged
       267: .line 2029
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOutsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOutsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifeq 268
            iconst_0
            goto 269
      StackMap locals: int
      StackMap stack:
       268: iconst_1
      StackMap locals:
      StackMap stack: int
       269: istore 31 /* outsetsChanged */
        start local 31 // boolean outsetsChanged
       270: .line 2030
            iload 19 /* relayoutResult */
       271: .line 2031
            bipush 32
       272: .line 2030
            iand
            ifeq 273
            iconst_1
            goto 274
      StackMap locals: int
      StackMap stack:
       273: iconst_0
      StackMap locals:
      StackMap stack: int
       274: istore 32 /* surfaceSizeChanged */
        start local 32 // boolean surfaceSizeChanged
       275: .line 2032
            iload 4 /* surfaceChanged */
            iload 32 /* surfaceSizeChanged */
            ior
            istore 4 /* surfaceChanged */
       276: .line 2034
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingAlwaysConsumeNavBar:Z
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
            ixor
       277: .line 2033
            istore 33 /* alwaysConsumeNavBarChanged */
        start local 33 // boolean alwaysConsumeNavBarChanged
       278: .line 2035
            iload 25 /* contentInsetsChanged */
            ifeq 280
       279: .line 2036
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       280: .line 2040
      StackMap locals: int int
      StackMap stack:
            iload 27 /* overscanInsetsChanged */
            ifeq 283
       281: .line 2041
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       282: .line 2045
            iconst_1
            istore 25 /* contentInsetsChanged */
       283: .line 2047
      StackMap locals:
      StackMap stack:
            iload 29 /* stableInsetsChanged */
            ifeq 286
       284: .line 2048
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       285: .line 2052
            iconst_1
            istore 25 /* contentInsetsChanged */
       286: .line 2054
      StackMap locals:
      StackMap stack:
            iload 30 /* cutoutChanged */
            ifeq 289
       287: .line 2055
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.set:(Landroid/view/DisplayCutout$ParcelableWrapper;)V
       288: .line 2060
            iconst_1
            istore 25 /* contentInsetsChanged */
       289: .line 2062
      StackMap locals:
      StackMap stack:
            iload 33 /* alwaysConsumeNavBarChanged */
            ifeq 292
       290: .line 2063
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingAlwaysConsumeNavBar:Z
            putfield android.view.View$AttachInfo.mAlwaysConsumeNavBar:Z
       291: .line 2064
            iconst_1
            istore 25 /* contentInsetsChanged */
       292: .line 2066
      StackMap locals:
      StackMap stack:
            iload 25 /* contentInsetsChanged */
            ifne 296
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastSystemUiVisibility:I
       293: .line 2067
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            if_icmpne 296
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mApplyInsetsRequested:Z
            ifne 296
       294: .line 2068
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastOverscanRequested:Z
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanRequested:Z
            if_icmpne 296
       295: .line 2069
            iload 31 /* outsetsChanged */
            ifeq 301
       296: .line 2070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mSystemUiVisibility:I
            putfield android.view.ViewRootImpl.mLastSystemUiVisibility:I
       297: .line 2071
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOverscanRequested:Z
            putfield android.view.ViewRootImpl.mLastOverscanRequested:Z
       298: .line 2072
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mOutsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOutsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       299: .line 2073
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mApplyInsetsRequested:Z
       300: .line 2074
            aload 0 /* this */
            aload 1 /* host */
            invokevirtual android.view.ViewRootImpl.dispatchApplyInsets:(Landroid/view/View;)V
       301: .line 2076
      StackMap locals:
      StackMap stack:
            iload 28 /* visibleInsetsChanged */
            ifeq 303
       302: .line 2077
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mVisibleInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
       303: .line 2082
      StackMap locals:
      StackMap stack:
            iload 26 /* hadSurface */
            ifne 319
       304: .line 2083
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 341
       305: .line 2091
            iconst_1
            istore 3 /* newSurface */
       306: .line 2092
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
       307: .line 2093
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPreviousTransparentRegion:Landroid/graphics/Region;
            invokevirtual android.graphics.Region.setEmpty:()V
       308: .line 2098
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 341
       309: .line 2100
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
       310: .line 2101
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
       311: .line 2100
            invokevirtual android.view.ThreadedRenderer.initialize:(Landroid/view/Surface;)Z
            istore 24 /* hwInitialized */
       312: .line 2102
            iload 24 /* hwInitialized */
            ifeq 341
            aload 1 /* host */
            getfield android.view.View.mPrivateFlags:I
       313: .line 2103
            sipush 512
            iand
            ifne 341
       314: .line 2106
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.ThreadedRenderer.allocateBuffers:(Landroid/view/Surface;)V
       315: .line 2108
            goto 341
      StackMap locals:
      StackMap stack: android.view.Surface$OutOfResourcesException
       316: astore 34 /* e */
        start local 34 // android.view.Surface$OutOfResourcesException e
       317: .line 2109
            aload 0 /* this */
            aload 34 /* e */
            invokevirtual android.view.ViewRootImpl.handleOutOfResourcesException:(Landroid/view/Surface$OutOfResourcesException;)V
       318: .line 2110
            return
        end local 34 // android.view.Surface$OutOfResourcesException e
       319: .line 2114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifne 331
       320: .line 2117
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastScrolledFocus:Ljava/lang/ref/WeakReference;
            ifnull 322
       321: .line 2118
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastScrolledFocus:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.clear:()V
       322: .line 2120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield android.view.ViewRootImpl.mCurScrollY:I
            putfield android.view.ViewRootImpl.mScrollY:I
       323: .line 2121
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof com.android.internal.view.RootViewSurfaceTaker
            ifeq 325
       324: .line 2122
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast com.android.internal.view.RootViewSurfaceTaker
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.onRootViewScrollYChanged:(I)V
       325: .line 2124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            ifnull 327
       326: .line 2125
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            invokevirtual android.widget.Scroller.abortAnimation:()V
       327: .line 2128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 341
       328: .line 2129
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isEnabled:()Z
            ifeq 341
       329: .line 2130
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.destroy:()V
       330: .line 2132
            goto 341
      StackMap locals:
      StackMap stack:
       331: iload 21 /* surfaceGenerationId */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.getGenerationId:()I
            if_icmpne 333
       332: .line 2133
            iload 32 /* surfaceSizeChanged */
            ifne 333
            iload 23 /* windowRelayoutWasForced */
            ifeq 341
       333: .line 2134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnonnull 341
       334: .line 2135
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 341
       335: .line 2136
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
       336: .line 2146
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.ThreadedRenderer.updateSurface:(Landroid/view/Surface;)V
       337: .line 2147
            goto 341
      StackMap locals:
      StackMap stack: android.view.Surface$OutOfResourcesException
       338: astore 34 /* e */
        start local 34 // android.view.Surface$OutOfResourcesException e
       339: .line 2148
            aload 0 /* this */
            aload 34 /* e */
            invokevirtual android.view.ViewRootImpl.handleOutOfResourcesException:(Landroid/view/Surface$OutOfResourcesException;)V
       340: .line 2149
            return
        end local 34 // android.view.Surface$OutOfResourcesException e
       341: .line 2153
      StackMap locals:
      StackMap stack:
            iload 19 /* relayoutResult */
       342: .line 2154
            bipush 16
       343: .line 2153
            iand
            ifeq 344
            iconst_1
            goto 345
      StackMap locals:
      StackMap stack:
       344: iconst_0
      StackMap locals:
      StackMap stack: int
       345: istore 34 /* freeformResizing */
        start local 34 // boolean freeformResizing
       346: .line 2155
            iload 19 /* relayoutResult */
       347: .line 2156
            bipush 8
       348: .line 2155
            iand
            ifeq 349
            iconst_1
            goto 350
      StackMap locals: int
      StackMap stack:
       349: iconst_0
      StackMap locals:
      StackMap stack: int
       350: istore 35 /* dockedResizing */
        start local 35 // boolean dockedResizing
       351: .line 2157
            iload 34 /* freeformResizing */
            ifne 352
            iload 35 /* dockedResizing */
            ifne 352
            iconst_0
            goto 353
      StackMap locals: int
      StackMap stack:
       352: iconst_1
      StackMap locals:
      StackMap stack: int
       353: istore 36 /* dragResizing */
        start local 36 // boolean dragResizing
       354: .line 2158
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            iload 36 /* dragResizing */
            if_icmpeq 366
       355: .line 2159
            iload 36 /* dragResizing */
            ifeq 365
       356: .line 2160
            aload 0 /* this */
            iload 34 /* freeformResizing */
            ifeq 358
       357: .line 2161
            iconst_0
            goto 359
       358: .line 2162
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int int int int int int int int int int int
      StackMap stack: android.view.ViewRootImpl
            iconst_1
       359: .line 2160
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int int int int int int int int int int int
      StackMap stack: android.view.ViewRootImpl int
            putfield android.view.ViewRootImpl.mResizeMode:I
       360: .line 2164
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingBackDropFrame:Landroid/graphics/Rect;
       361: .line 2165
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingBackDropFrame:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
       362: .line 2166
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mResizeMode:I
       363: .line 2164
            invokevirtual android.view.ViewRootImpl.startDragResizing:(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
       364: .line 2167
            goto 366
       365: .line 2169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.endDragResizing:()V
       366: .line 2172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifne 374
       367: .line 2173
            iload 36 /* dragResizing */
            ifeq 371
       368: .line 2174
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            putfield android.view.ViewRootImpl.mCanvasOffsetX:I
       369: .line 2175
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            putfield android.view.ViewRootImpl.mCanvasOffsetY:I
       370: .line 2176
            goto 374
       371: .line 2177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield android.view.ViewRootImpl.mCanvasOffsetY:I
            putfield android.view.ViewRootImpl.mCanvasOffsetX:I
        end local 36 // boolean dragResizing
        end local 35 // boolean dockedResizing
        end local 34 // boolean freeformResizing
        end local 33 // boolean alwaysConsumeNavBarChanged
        end local 32 // boolean surfaceSizeChanged
        end local 31 // boolean outsetsChanged
        end local 30 // boolean cutoutChanged
        end local 29 // boolean stableInsetsChanged
        end local 28 // boolean visibleInsetsChanged
        end local 27 // boolean overscanInsetsChanged
       372: .line 2180
            goto 374
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int
      StackMap stack: android.os.RemoteException
       373: pop
       374: .line 2186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 13 /* frame */
            getfield android.graphics.Rect.left:I
            putfield android.view.View$AttachInfo.mWindowLeft:I
       375: .line 2187
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 13 /* frame */
            getfield android.graphics.Rect.top:I
            putfield android.view.View$AttachInfo.mWindowTop:I
       376: .line 2192
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.width:()I
            if_icmpne 377
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.height:()I
            if_icmpeq 379
       377: .line 2193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.width:()I
            putfield android.view.ViewRootImpl.mWidth:I
       378: .line 2194
            aload 0 /* this */
            aload 13 /* frame */
            invokevirtual android.graphics.Rect.height:()I
            putfield android.view.ViewRootImpl.mHeight:I
       379: .line 2197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnull 424
       380: .line 2199
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 382
       381: .line 2202
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            putfield com.android.internal.view.BaseSurfaceHolder.mSurface:Landroid/view/Surface;
       382: .line 2204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            invokevirtual com.android.internal.view.BaseSurfaceHolder.setSurfaceFrameSize:(II)V
       383: .line 2205
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            getfield com.android.internal.view.BaseSurfaceHolder.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
       384: .line 2206
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 408
       385: .line 2207
            iload 26 /* hadSurface */
            ifne 396
       386: .line 2208
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.ungetCallbacks:()V
       387: .line 2210
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mIsCreating:Z
       388: .line 2211
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.getCallbacks:()[Landroid/view/SurfaceHolder$Callback;
            astore 27 /* callbacks */
        start local 27 // android.view.SurfaceHolder$Callback[] callbacks
       389: .line 2212
            aload 27 /* callbacks */
            ifnull 395
       390: .line 2213
            aload 27 /* callbacks */
            dup
            astore 31
            arraylength
            istore 30
            iconst_0
            istore 29
            goto 394
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.SurfaceHolder$Callback[] top int int android.view.SurfaceHolder$Callback[]
      StackMap stack:
       391: aload 31
            iload 29
            aaload
            astore 28 /* c */
        start local 28 // android.view.SurfaceHolder$Callback c
       392: .line 2214
            aload 28 /* c */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokeinterface android.view.SurfaceHolder$Callback.surfaceCreated:(Landroid/view/SurfaceHolder;)V
        end local 28 // android.view.SurfaceHolder$Callback c
       393: .line 2213
            iinc 29 1
      StackMap locals:
      StackMap stack:
       394: iload 29
            iload 30
            if_icmplt 391
       395: .line 2217
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.SurfaceHolder$Callback[]
      StackMap stack:
            iconst_1
            istore 4 /* surfaceChanged */
        end local 27 // android.view.SurfaceHolder$Callback[] callbacks
       396: .line 2219
      StackMap locals:
      StackMap stack:
            iload 4 /* surfaceChanged */
            ifne 397
            iload 21 /* surfaceGenerationId */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.getGenerationId:()I
            if_icmpeq 406
       397: .line 2220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.getCallbacks:()[Landroid/view/SurfaceHolder$Callback;
            astore 27 /* callbacks */
        start local 27 // android.view.SurfaceHolder$Callback[] callbacks
       398: .line 2221
            aload 27 /* callbacks */
            ifnull 406
       399: .line 2222
            aload 27 /* callbacks */
            dup
            astore 31
            arraylength
            istore 30
            iconst_0
            istore 29
            goto 405
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.SurfaceHolder$Callback[] top int int android.view.SurfaceHolder$Callback[]
      StackMap stack:
       400: aload 31
            iload 29
            aaload
            astore 28 /* c */
        start local 28 // android.view.SurfaceHolder$Callback c
       401: .line 2223
            aload 28 /* c */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.format:I
       402: .line 2224
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
       403: .line 2223
            invokeinterface android.view.SurfaceHolder$Callback.surfaceChanged:(Landroid/view/SurfaceHolder;III)V
        end local 28 // android.view.SurfaceHolder$Callback c
       404: .line 2222
            iinc 29 1
      StackMap locals:
      StackMap stack:
       405: iload 29
            iload 30
            if_icmplt 400
        end local 27 // android.view.SurfaceHolder$Callback[] callbacks
       406: .line 2228
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsCreating:Z
       407: .line 2229
            goto 424
      StackMap locals:
      StackMap stack:
       408: iload 26 /* hadSurface */
            ifeq 424
       409: .line 2230
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.ungetCallbacks:()V
       410: .line 2231
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.getCallbacks:()[Landroid/view/SurfaceHolder$Callback;
            astore 27 /* callbacks */
        start local 27 // android.view.SurfaceHolder$Callback[] callbacks
       411: .line 2232
            aload 27 /* callbacks */
            ifnull 417
       412: .line 2233
            aload 27 /* callbacks */
            dup
            astore 31
            arraylength
            istore 30
            iconst_0
            istore 29
            goto 416
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.SurfaceHolder$Callback[] top int int android.view.SurfaceHolder$Callback[]
      StackMap stack:
       413: aload 31
            iload 29
            aaload
            astore 28 /* c */
        start local 28 // android.view.SurfaceHolder$Callback c
       414: .line 2234
            aload 28 /* c */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokeinterface android.view.SurfaceHolder$Callback.surfaceDestroyed:(Landroid/view/SurfaceHolder;)V
        end local 28 // android.view.SurfaceHolder$Callback c
       415: .line 2233
            iinc 29 1
      StackMap locals:
      StackMap stack:
       416: iload 29
            iload 30
            if_icmplt 413
       417: .line 2237
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.SurfaceHolder$Callback[]
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            getfield com.android.internal.view.BaseSurfaceHolder.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
       418: .line 2239
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            new android.view.Surface
            dup
            invokespecial android.view.Surface.<init>:()V
            putfield com.android.internal.view.BaseSurfaceHolder.mSurface:Landroid/view/Surface;
       419: .line 2240
            goto 423
      StackMap locals:
      StackMap stack: java.lang.Throwable
       420: astore 28
       421: .line 2241
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            getfield com.android.internal.view.BaseSurfaceHolder.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
       422: .line 2242
            aload 28
            athrow
       423: .line 2241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            getfield com.android.internal.view.BaseSurfaceHolder.mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        end local 27 // android.view.SurfaceHolder$Callback[] callbacks
       424: .line 2246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            astore 27 /* threadedRenderer */
        start local 27 // android.view.ThreadedRenderer threadedRenderer
       425: .line 2247
            aload 27 /* threadedRenderer */
            ifnull 434
            aload 27 /* threadedRenderer */
            invokevirtual android.view.ThreadedRenderer.isEnabled:()Z
            ifeq 434
       426: .line 2248
            iload 24 /* hwInitialized */
            ifne 430
       427: .line 2249
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 27 /* threadedRenderer */
            invokevirtual android.view.ThreadedRenderer.getWidth:()I
            if_icmpne 430
       428: .line 2250
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 27 /* threadedRenderer */
            invokevirtual android.view.ThreadedRenderer.getHeight:()I
            if_icmpne 430
       429: .line 2251
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNeedsRendererSetup:Z
            ifeq 434
       430: .line 2252
      StackMap locals: android.view.ThreadedRenderer
      StackMap stack:
            aload 27 /* threadedRenderer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
       431: .line 2253
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
       432: .line 2252
            invokevirtual android.view.ThreadedRenderer.setup:(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V
       433: .line 2254
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mNeedsRendererSetup:Z
       434: .line 2258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifeq 435
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 465
       435: .line 2259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       436: .line 2260
            iload 19 /* relayoutResult */
            iconst_1
            iand
            ifeq 437
            iconst_1
            goto 438
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl
       437: iconst_0
       438: .line 2259
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.ThreadedRenderer
      StackMap stack: android.view.ViewRootImpl int
            invokevirtual android.view.ViewRootImpl.ensureTouchModeLocally:(Z)Z
            istore 28 /* focusChangedDueToTouchMode */
        start local 28 // boolean focusChangedDueToTouchMode
       439: .line 2261
            iload 28 /* focusChangedDueToTouchMode */
            ifne 442
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredWidth:()I
            if_icmpne 442
       440: .line 2262
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredHeight:()I
            if_icmpne 442
            iload 25 /* contentInsetsChanged */
            ifne 442
       441: .line 2263
            iload 20 /* updatedConfiguration */
            ifeq 465
       442: .line 2264
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.width:I
            invokestatic android.view.ViewRootImpl.getRootMeasureSpec:(II)I
            istore 29 /* childWidthMeasureSpec */
        start local 29 // int childWidthMeasureSpec
       443: .line 2265
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.height:I
            invokestatic android.view.ViewRootImpl.getRootMeasureSpec:(II)I
            istore 30 /* childHeightMeasureSpec */
        start local 30 // int childHeightMeasureSpec
       444: .line 2274
            aload 0 /* this */
            iload 29 /* childWidthMeasureSpec */
            iload 30 /* childHeightMeasureSpec */
            invokevirtual android.view.ViewRootImpl.performMeasure:(II)V
       445: .line 2279
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 31 /* width */
        start local 31 // int width
       446: .line 2280
            aload 1 /* host */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 32 /* height */
        start local 32 // int height
       447: .line 2281
            iconst_0
            istore 33 /* measureAgain */
        start local 33 // boolean measureAgain
       448: .line 2283
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.horizontalWeight:F
            fconst_0
            fcmpl
            ifle 454
       449: .line 2284
            iload 31 /* width */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            iload 31 /* width */
            isub
            i2f
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.horizontalWeight:F
            fmul
            f2i
            iadd
            istore 31 /* width */
       450: .line 2285
            iload 31 /* width */
       451: .line 2286
            ldc 1073741824
       452: .line 2285
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 29 /* childWidthMeasureSpec */
       453: .line 2287
            iconst_1
            istore 33 /* measureAgain */
       454: .line 2289
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int android.view.ThreadedRenderer int int int int int int
      StackMap stack:
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.verticalWeight:F
            fconst_0
            fcmpl
            ifle 460
       455: .line 2290
            iload 32 /* height */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            iload 32 /* height */
            isub
            i2f
            aload 5 /* lp */
            getfield android.view.WindowManager$LayoutParams.verticalWeight:F
            fmul
            f2i
            iadd
            istore 32 /* height */
       456: .line 2291
            iload 32 /* height */
       457: .line 2292
            ldc 1073741824
       458: .line 2291
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 30 /* childHeightMeasureSpec */
       459: .line 2293
            iconst_1
            istore 33 /* measureAgain */
       460: .line 2296
      StackMap locals:
      StackMap stack:
            iload 33 /* measureAgain */
            ifeq 462
       461: .line 2300
            aload 0 /* this */
            iload 29 /* childWidthMeasureSpec */
            iload 30 /* childHeightMeasureSpec */
            invokevirtual android.view.ViewRootImpl.performMeasure:(II)V
       462: .line 2303
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 15 /* layoutRequested */
        end local 33 // boolean measureAgain
        end local 32 // int height
        end local 31 // int width
        end local 30 // int childHeightMeasureSpec
        end local 29 // int childWidthMeasureSpec
        end local 28 // boolean focusChangedDueToTouchMode
        end local 27 // android.view.ThreadedRenderer threadedRenderer
        end local 26 // boolean hadSurface
        end local 25 // boolean contentInsetsChanged
        end local 24 // boolean hwInitialized
       463: .line 2306
            goto 465
       464: .line 2312
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 13 /* frame */
            invokevirtual android.view.ViewRootImpl.maybeHandleWindowMove:(Landroid/graphics/Rect;)V
       465: .line 2315
      StackMap locals:
      StackMap stack:
            iload 15 /* layoutRequested */
            ifeq 467
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifeq 466
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 467
      StackMap locals:
      StackMap stack:
       466: iconst_1
            goto 468
      StackMap locals:
      StackMap stack:
       467: iconst_0
      StackMap locals:
      StackMap stack: int
       468: istore 24 /* didLayout */
        start local 24 // boolean didLayout
       469: .line 2316
            iload 24 /* didLayout */
            ifne 472
       470: .line 2317
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
            ifne 472
       471: .line 2316
            iconst_0
            goto 473
      StackMap locals: int
      StackMap stack:
       472: iconst_1
      StackMap locals:
      StackMap stack: int
       473: istore 25 /* triggerGlobalLayoutListener */
        start local 25 // boolean triggerGlobalLayoutListener
       474: .line 2318
            iload 24 /* didLayout */
            ifeq 491
       475: .line 2319
            aload 0 /* this */
            aload 5 /* lp */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            invokevirtual android.view.ViewRootImpl.performLayout:(Landroid/view/WindowManager$LayoutParams;II)V
       476: .line 2324
            aload 1 /* host */
            getfield android.view.View.mPrivateFlags:I
            sipush 512
            iand
            ifeq 491
       477: .line 2327
            aload 1 /* host */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTmpLocation:[I
            invokevirtual android.view.View.getLocationInWindow:([I)V
       478: .line 2328
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTmpLocation:[I
            iconst_0
            iaload
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTmpLocation:[I
            iconst_1
            iaload
       479: .line 2329
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTmpLocation:[I
            iconst_0
            iaload
            aload 1 /* host */
            getfield android.view.View.mRight:I
            iadd
            aload 1 /* host */
            getfield android.view.View.mLeft:I
            isub
       480: .line 2330
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTmpLocation:[I
            iconst_1
            iaload
            aload 1 /* host */
            getfield android.view.View.mBottom:I
            iadd
            aload 1 /* host */
            getfield android.view.View.mTop:I
            isub
       481: .line 2328
            invokevirtual android.graphics.Region.set:(IIII)Z
            pop
       482: .line 2332
            aload 1 /* host */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            invokevirtual android.view.View.gatherTransparentRegion:(Landroid/graphics/Region;)Z
            pop
       483: .line 2333
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 485
       484: .line 2334
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRegionInWindowToScreen:(Landroid/graphics/Region;)V
       485: .line 2337
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPreviousTransparentRegion:Landroid/graphics/Region;
            invokevirtual android.graphics.Region.equals:(Ljava/lang/Object;)Z
            ifne 491
       486: .line 2338
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPreviousTransparentRegion:Landroid/graphics/Region;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            invokevirtual android.graphics.Region.set:(Landroid/graphics/Region;)Z
            pop
       487: .line 2339
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
       488: .line 2342
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTransparentRegion:Landroid/graphics/Region;
            invokeinterface android.view.IWindowSession.setTransparentRegion:(Landroid/view/IWindow;Landroid/graphics/Region;)V
       489: .line 2343
            goto 491
      StackMap locals:
      StackMap stack: android.os.RemoteException
       490: pop
       491: .line 2355
      StackMap locals:
      StackMap stack:
            iload 25 /* triggerGlobalLayoutListener */
            ifeq 494
       492: .line 2356
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
       493: .line 2357
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.dispatchOnGlobalLayout:()V
       494: .line 2360
      StackMap locals:
      StackMap stack:
            iload 17 /* computesInternalInsets */
            ifeq 516
       495: .line 2362
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mGivenInternalInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
            astore 26 /* insets */
        start local 26 // android.view.ViewTreeObserver$InternalInsetsInfo insets
       496: .line 2363
            aload 26 /* insets */
            invokevirtual android.view.ViewTreeObserver$InternalInsetsInfo.reset:()V
       497: .line 2366
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            aload 26 /* insets */
            invokevirtual android.view.ViewTreeObserver.dispatchOnComputeInternalInsets:(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
       498: .line 2367
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 26 /* insets */
            invokevirtual android.view.ViewTreeObserver$InternalInsetsInfo.isEmpty:()Z
            ifeq 499
            iconst_0
            goto 500
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int android.view.ViewTreeObserver$InternalInsetsInfo
      StackMap stack: android.view.View$AttachInfo
       499: iconst_1
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int android.view.ViewTreeObserver$InternalInsetsInfo
      StackMap stack: android.view.View$AttachInfo int
       500: putfield android.view.View$AttachInfo.mHasNonEmptyGivenInternalInsets:Z
       501: .line 2370
            iload 18 /* insetsPending */
            ifne 502
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastGivenInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
            aload 26 /* insets */
            invokevirtual android.view.ViewTreeObserver$InternalInsetsInfo.equals:(Ljava/lang/Object;)Z
            ifne 516
       502: .line 2371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastGivenInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
            aload 26 /* insets */
            invokevirtual android.view.ViewTreeObserver$InternalInsetsInfo.set:(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
       503: .line 2377
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 508
       504: .line 2378
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.contentInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.getTranslatedContentInsets:(Landroid/graphics/Rect;)Landroid/graphics/Rect;
            astore 27 /* contentInsets */
        start local 27 // android.graphics.Rect contentInsets
       505: .line 2379
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.visibleInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.getTranslatedVisibleInsets:(Landroid/graphics/Rect;)Landroid/graphics/Rect;
            astore 28 /* visibleInsets */
        start local 28 // android.graphics.Rect visibleInsets
       506: .line 2380
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.touchableRegion:Landroid/graphics/Region;
            invokevirtual android.content.res.CompatibilityInfo$Translator.getTranslatedTouchableArea:(Landroid/graphics/Region;)Landroid/graphics/Region;
            astore 29 /* touchableRegion */
        start local 29 // android.graphics.Region touchableRegion
       507: .line 2381
            goto 511
        end local 29 // android.graphics.Region touchableRegion
        end local 28 // android.graphics.Rect visibleInsets
        end local 27 // android.graphics.Rect contentInsets
       508: .line 2382
      StackMap locals:
      StackMap stack:
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.contentInsets:Landroid/graphics/Rect;
            astore 27 /* contentInsets */
        start local 27 // android.graphics.Rect contentInsets
       509: .line 2383
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.visibleInsets:Landroid/graphics/Rect;
            astore 28 /* visibleInsets */
        start local 28 // android.graphics.Rect visibleInsets
       510: .line 2384
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.touchableRegion:Landroid/graphics/Region;
            astore 29 /* touchableRegion */
        start local 29 // android.graphics.Region touchableRegion
       511: .line 2388
      StackMap locals: android.graphics.Rect android.graphics.Rect android.graphics.Region
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 26 /* insets */
            getfield android.view.ViewTreeObserver$InternalInsetsInfo.mTouchableInsets:I
       512: .line 2389
            aload 27 /* contentInsets */
            aload 28 /* visibleInsets */
            aload 29 /* touchableRegion */
       513: .line 2388
            invokeinterface android.view.IWindowSession.setInsets:(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
       514: .line 2390
            goto 516
      StackMap locals:
      StackMap stack: android.os.RemoteException
       515: pop
        end local 29 // android.graphics.Region touchableRegion
        end local 28 // android.graphics.Rect visibleInsets
        end local 27 // android.graphics.Rect contentInsets
        end local 26 // android.view.ViewTreeObserver$InternalInsetsInfo insets
       516: .line 2395
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifeq 528
       517: .line 2396
            getstatic android.view.ViewRootImpl.sAlwaysAssignFocus:Z
            ifne 518
            invokestatic android.view.ViewRootImpl.isInTouchMode:()Z
            ifne 522
       518: .line 2401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 528
       519: .line 2402
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.hasFocus:()Z
            ifne 528
       520: .line 2403
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.restoreDefaultFocus:()Z
            pop
       521: .line 2413
            goto 528
       522: .line 2420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 26 /* focused */
        start local 26 // android.view.View focused
       523: .line 2421
            aload 26 /* focused */
            instanceof android.view.ViewGroup
            ifeq 528
       524: .line 2422
            aload 26 /* focused */
            checkcast android.view.ViewGroup
            invokevirtual android.view.ViewGroup.getDescendantFocusability:()I
       525: .line 2423
            ldc 262144
       526: .line 2422
            if_icmpne 528
       527: .line 2424
            aload 26 /* focused */
            invokevirtual android.view.View.restoreDefaultFocus:()Z
            pop
        end local 26 // android.view.View focused
       528: .line 2429
      StackMap locals:
      StackMap stack:
            iload 9 /* viewVisibilityChanged */
            ifne 529
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifeq 530
      StackMap locals:
      StackMap stack:
       529: iload 22 /* isViewVisible */
            ifeq 530
            iconst_1
            goto 531
      StackMap locals:
      StackMap stack:
       530: iconst_0
      StackMap locals:
      StackMap stack: int
       531: istore 26 /* changedVisibility */
        start local 26 // boolean changedVisibility
       532: .line 2430
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mHasWindowFocus:Z
            ifeq 533
            iload 22 /* isViewVisible */
            ifeq 533
            iconst_1
            goto 534
      StackMap locals: int
      StackMap stack:
       533: iconst_0
      StackMap locals:
      StackMap stack: int
       534: istore 27 /* hasWindowFocus */
        start local 27 // boolean hasWindowFocus
       535: .line 2431
            iload 27 /* hasWindowFocus */
            ifeq 536
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLostWindowFocus:Z
            ifeq 536
            iconst_1
            goto 537
      StackMap locals: int
      StackMap stack:
       536: iconst_0
      StackMap locals:
      StackMap stack: int
       537: istore 28 /* regainedFocus */
        start local 28 // boolean regainedFocus
       538: .line 2432
            iload 28 /* regainedFocus */
            ifeq 541
       539: .line 2433
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mLostWindowFocus:Z
       540: .line 2434
            goto 543
      StackMap locals: int
      StackMap stack:
       541: iload 27 /* hasWindowFocus */
            ifne 543
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHadWindowFocus:Z
            ifeq 543
       542: .line 2435
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLostWindowFocus:Z
       543: .line 2438
      StackMap locals:
      StackMap stack:
            iload 26 /* changedVisibility */
            ifne 544
            iload 28 /* regainedFocus */
            ifeq 550
       544: .line 2440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            ifnonnull 545
            iconst_0
            goto 547
       545: .line 2441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.type:I
            sipush 2005
            if_icmpne 546
            iconst_1
            goto 547
      StackMap locals:
      StackMap stack:
       546: iconst_0
       547: .line 2440
      StackMap locals:
      StackMap stack: int
            istore 29 /* isToast */
        start local 29 // boolean isToast
       548: .line 2442
            iload 29 /* isToast */
            ifne 550
       549: .line 2443
            aload 1 /* host */
            bipush 32
            invokevirtual android.view.View.sendAccessibilityEvent:(I)V
        end local 29 // boolean isToast
       550: .line 2447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mFirst:Z
       551: .line 2448
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWillDrawSoon:Z
       552: .line 2449
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mNewSurfaceNeeded:Z
       553: .line 2450
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mActivityRelaunched:Z
       554: .line 2451
            aload 0 /* this */
            iload 8 /* viewVisibility */
            putfield android.view.ViewRootImpl.mViewVisibility:I
       555: .line 2452
            aload 0 /* this */
            iload 27 /* hasWindowFocus */
            putfield android.view.ViewRootImpl.mHadWindowFocus:Z
       556: .line 2454
            iload 27 /* hasWindowFocus */
            ifeq 570
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.isInLocalFocusMode:()Z
            ifne 570
       557: .line 2456
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
            invokestatic android.view.WindowManager$LayoutParams.mayUseInputMethod:(I)Z
       558: .line 2455
            istore 29 /* imTarget */
        start local 29 // boolean imTarget
       559: .line 2457
            iload 29 /* imTarget */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastWasImTarget:Z
            if_icmpeq 570
       560: .line 2458
            aload 0 /* this */
            iload 29 /* imTarget */
            putfield android.view.ViewRootImpl.mLastWasImTarget:Z
       561: .line 2459
            invokestatic android.view.inputmethod.InputMethodManager.peekInstance:()Landroid/view/inputmethod/InputMethodManager;
            astore 30 /* imm */
        start local 30 // android.view.inputmethod.InputMethodManager imm
       562: .line 2460
            aload 30 /* imm */
            ifnull 570
            iload 29 /* imTarget */
            ifeq 570
       563: .line 2461
            aload 30 /* imm */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 27 /* hasWindowFocus */
            invokevirtual android.view.inputmethod.InputMethodManager.onPreWindowFocus:(Landroid/view/View;Z)V
       564: .line 2462
            aload 30 /* imm */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
       565: .line 2463
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
       566: .line 2464
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHasHadWindowFocus:Z
            ifeq 567
            iconst_0
            goto 568
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int int int int android.view.inputmethod.InputMethodManager
      StackMap stack: android.view.inputmethod.InputMethodManager android.view.View android.view.View int
       567: iconst_1
      StackMap locals: android.view.ViewRootImpl android.view.View int int int android.view.WindowManager$LayoutParams int int int int int android.view.WindowManager$LayoutParams android.content.res.CompatibilityInfo android.graphics.Rect int int int int int int int int int int int int int int int int android.view.inputmethod.InputMethodManager
      StackMap stack: android.view.inputmethod.InputMethodManager android.view.View android.view.View int int
       568: aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
       569: .line 2462
            invokevirtual android.view.inputmethod.InputMethodManager.onPostWindowFocus:(Landroid/view/View;Landroid/view/View;IZI)V
        end local 30 // android.view.inputmethod.InputMethodManager imm
        end local 29 // boolean imTarget
       570: .line 2470
      StackMap locals:
      StackMap stack:
            iload 19 /* relayoutResult */
            iconst_2
            iand
            ifeq 572
       571: .line 2471
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.reportNextDraw:()V
       572: .line 2474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.dispatchOnPreDraw:()Z
            ifne 573
            iload 22 /* isViewVisible */
            ifeq 573
            iconst_0
            goto 574
      StackMap locals:
      StackMap stack:
       573: iconst_1
      StackMap locals:
      StackMap stack: int
       574: istore 29 /* cancelDraw */
        start local 29 // boolean cancelDraw
       575: .line 2476
            iload 29 /* cancelDraw */
            ifne 585
            iload 3 /* newSurface */
            ifne 585
       576: .line 2477
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            ifnull 583
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 583
       577: .line 2478
            iconst_0
            istore 30 /* i */
        start local 30 // int i
       578: goto 581
       579: .line 2479
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            iload 30 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.animation.LayoutTransition
            invokevirtual android.animation.LayoutTransition.startChangingAnimations:()V
       580: .line 2478
            iinc 30 /* i */ 1
      StackMap locals:
      StackMap stack:
       581: iload 30 /* i */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 579
        end local 30 // int i
       582: .line 2481
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
       583: .line 2484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.performDraw:()V
       584: .line 2485
            goto 595
       585: .line 2486
      StackMap locals:
      StackMap stack:
            iload 22 /* isViewVisible */
            ifeq 588
       586: .line 2488
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
       587: .line 2489
            goto 595
      StackMap locals:
      StackMap stack:
       588: aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            ifnull 595
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 595
       589: .line 2490
            iconst_0
            istore 30 /* i */
        start local 30 // int i
       590: goto 593
       591: .line 2491
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            iload 30 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.animation.LayoutTransition
            invokevirtual android.animation.LayoutTransition.endChangingAnimations:()V
       592: .line 2490
            iinc 30 /* i */ 1
      StackMap locals:
      StackMap stack:
       593: iload 30 /* i */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 591
        end local 30 // int i
       594: .line 2493
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingTransitions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
       595: .line 2497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsInTraversal:Z
       596: .line 2498
            return
        end local 29 // boolean cancelDraw
        end local 28 // boolean regainedFocus
        end local 27 // boolean hasWindowFocus
        end local 26 // boolean changedVisibility
        end local 25 // boolean triggerGlobalLayoutListener
        end local 24 // boolean didLayout
        end local 23 // boolean windowRelayoutWasForced
        end local 22 // boolean isViewVisible
        end local 21 // int surfaceGenerationId
        end local 20 // boolean updatedConfiguration
        end local 19 // int relayoutResult
        end local 18 // boolean insetsPending
        end local 17 // boolean computesInternalInsets
        end local 16 // boolean windowShouldResize
        end local 15 // boolean layoutRequested
        end local 14 // boolean insetsChanged
        end local 13 // android.graphics.Rect frame
        end local 12 // android.content.res.CompatibilityInfo compatibilityInfo
        end local 11 // android.view.WindowManager$LayoutParams params
        end local 10 // boolean viewUserVisibilityChanged
        end local 9 // boolean viewVisibilityChanged
        end local 8 // int viewVisibility
        end local 7 // int desiredWindowHeight
        end local 6 // int desiredWindowWidth
        end local 5 // android.view.WindowManager$LayoutParams lp
        end local 4 // boolean surfaceChanged
        end local 3 // boolean newSurface
        end local 2 // boolean windowSizeMayChange
        end local 1 // android.view.View host
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  597     0                         this  Landroid/view/ViewRootImpl;
            1  597     1                         host  Landroid/view/View;
            6  597     2          windowSizeMayChange  Z
            7  597     3                   newSurface  Z
            8  597     4               surfaceChanged  Z
            9  597     5                           lp  Landroid/view/WindowManager$LayoutParams;
           53   55     6           desiredWindowWidth  I
           56   69     6           desiredWindowWidth  I
           70  597     6           desiredWindowWidth  I
           54   55     7          desiredWindowHeight  I
           57   69     7          desiredWindowHeight  I
           71  597     7          desiredWindowHeight  I
           10  597     8               viewVisibility  I
           16  597     9        viewVisibilityChanged  Z
           26  597    10    viewUserVisibilityChanged  Z
           27  597    11                       params  Landroid/view/WindowManager$LayoutParams;
           33  597    12            compatibilityInfo  Landroid/content/res/CompatibilityInfo;
           45  597    13                        frame  Landroid/graphics/Rect;
           49   68    14                       config  Landroid/content/res/Configuration;
           51   54    15                         size  Landroid/graphics/Point;
           91  597    14                insetsChanged  Z
           95  597    15              layoutRequested  Z
           97  132    16                          res  Landroid/content/res/Resources;
          122  125    17                         size  Landroid/graphics/Point;
          127  129    17                       config  Landroid/content/res/Configuration;
          142  162    16                   resizeMode  I
          144  162    17                            N  I
          145  150    18                            i  I
          190  597    16           windowShouldResize  Z
          199  597    17       computesInternalInsets  Z
          200  597    18                insetsPending  Z
          201  597    19               relayoutResult  I
          202  597    20         updatedConfiguration  Z
          203  597    21          surfaceGenerationId  I
          206  597    22                isViewVisible  Z
          207  597    23      windowRelayoutWasForced  Z
          219  463    24                hwInitialized  Z
          220  463    25         contentInsetsChanged  Z
          221  463    26                   hadSurface  Z
          239  372    27        overscanInsetsChanged  Z
          253  372    28         visibleInsetsChanged  Z
          260  372    29          stableInsetsChanged  Z
          267  372    30                cutoutChanged  Z
          270  372    31               outsetsChanged  Z
          275  372    32           surfaceSizeChanged  Z
          278  372    33   alwaysConsumeNavBarChanged  Z
          317  319    34                            e  Landroid/view/Surface$OutOfResourcesException;
          339  341    34                            e  Landroid/view/Surface$OutOfResourcesException;
          346  372    34             freeformResizing  Z
          351  372    35               dockedResizing  Z
          354  372    36                 dragResizing  Z
          389  396    27                    callbacks  [Landroid/view/SurfaceHolder$Callback;
          392  393    28                            c  Landroid/view/SurfaceHolder$Callback;
          398  406    27                    callbacks  [Landroid/view/SurfaceHolder$Callback;
          401  404    28                            c  Landroid/view/SurfaceHolder$Callback;
          411  424    27                    callbacks  [Landroid/view/SurfaceHolder$Callback;
          414  415    28                            c  Landroid/view/SurfaceHolder$Callback;
          425  463    27             threadedRenderer  Landroid/view/ThreadedRenderer;
          439  463    28   focusChangedDueToTouchMode  Z
          443  463    29        childWidthMeasureSpec  I
          444  463    30       childHeightMeasureSpec  I
          446  463    31                        width  I
          447  463    32                       height  I
          448  463    33                 measureAgain  Z
          469  597    24                    didLayout  Z
          474  597    25  triggerGlobalLayoutListener  Z
          496  516    26                       insets  Landroid/view/ViewTreeObserver$InternalInsetsInfo;
          505  508    27                contentInsets  Landroid/graphics/Rect;
          509  516    27                contentInsets  Landroid/graphics/Rect;
          506  508    28                visibleInsets  Landroid/graphics/Rect;
          510  516    28                visibleInsets  Landroid/graphics/Rect;
          507  508    29              touchableRegion  Landroid/graphics/Region;
          511  516    29              touchableRegion  Landroid/graphics/Region;
          523  528    26                      focused  Landroid/view/View;
          532  597    26            changedVisibility  Z
          535  597    27               hasWindowFocus  Z
          538  597    28                regainedFocus  Z
          548  550    29                      isToast  Z
          559  570    29                     imTarget  Z
          562  570    30                          imm  Landroid/view/inputmethod/InputMethodManager;
          575  597    29                   cancelDraw  Z
          578  582    30                            i  I
          590  594    30                            i  I
      Exception table:
        from    to  target  type
         309   315     316  Class android.view.Surface$OutOfResourcesException
         336   337     338  Class android.view.Surface$OutOfResourcesException
         221   318     373  Class android.os.RemoteException
         319   340     373  Class android.os.RemoteException
         341   372     373  Class android.os.RemoteException
         418   420     420  any
         488   489     490  Class android.os.RemoteException
         511   514     515  Class android.os.RemoteException

  private void maybeHandleWindowMove(android.graphics.Rect);
    descriptor: (Landroid/graphics/Rect;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect frame
         0: .line 2510
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowLeft:I
            aload 1 /* frame */
            getfield android.graphics.Rect.left:I
            if_icmpne 3
         1: .line 2511
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowTop:I
            aload 1 /* frame */
            getfield android.graphics.Rect.top:I
            if_icmpne 3
         2: .line 2510
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* windowMoved */
        start local 2 // boolean windowMoved
         5: .line 2512
            iload 2 /* windowMoved */
            ifeq 10
         6: .line 2513
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 8
         7: .line 2514
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 1 /* frame */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWinFrame:(Landroid/graphics/Rect;)V
         8: .line 2516
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 1 /* frame */
            getfield android.graphics.Rect.left:I
            putfield android.view.View$AttachInfo.mWindowLeft:I
         9: .line 2517
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 1 /* frame */
            getfield android.graphics.Rect.top:I
            putfield android.view.View$AttachInfo.mWindowTop:I
        10: .line 2519
      StackMap locals:
      StackMap stack:
            iload 2 /* windowMoved */
            ifne 11
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mNeedsUpdateLightCenter:Z
            ifeq 14
        11: .line 2521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 13
        12: .line 2522
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            invokevirtual android.view.ThreadedRenderer.setLightCenter:(Landroid/view/View$AttachInfo;)V
        13: .line 2524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mNeedsUpdateLightCenter:Z
        14: .line 2526
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean windowMoved
        end local 1 // android.graphics.Rect frame
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Landroid/view/ViewRootImpl;
            0   15     1        frame  Landroid/graphics/Rect;
            5   15     2  windowMoved  Z
    MethodParameters:
       Name  Flags
      frame  

  private void handleWindowFocusChanged();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 2531
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 2532
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowFocusChanged:Z
            ifne 4
         2: .line 2533
            aload 3
            monitorexit
         3: return
         4: .line 2535
      StackMap locals: android.view.ViewRootImpl top top android.view.ViewRootImpl
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowFocusChanged:Z
         5: .line 2536
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUpcomingWindowFocus:Z
            istore 1 /* hasWindowFocus */
        start local 1 // boolean hasWindowFocus
         6: .line 2537
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUpcomingInTouchMode:Z
            istore 2 /* inTouchMode */
        start local 2 // boolean inTouchMode
         7: .line 2531
            aload 3
            monitorexit
         8: goto 11
        end local 2 // boolean inTouchMode
        end local 1 // boolean hasWindowFocus
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        start local 1 // boolean hasWindowFocus
        start local 2 // boolean inTouchMode
        11: .line 2540
      StackMap locals: android.view.ViewRootImpl int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifeq 70
        12: .line 2541
            aload 0 /* this */
            iload 1 /* hasWindowFocus */
            invokevirtual android.view.ViewRootImpl.profileRendering:(Z)V
        13: .line 2543
            iload 1 /* hasWindowFocus */
            ifeq 38
        14: .line 2544
            aload 0 /* this */
            iload 2 /* inTouchMode */
            invokevirtual android.view.ViewRootImpl.ensureTouchModeLocally:(Z)Z
            pop
        15: .line 2545
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 38
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 38
        16: .line 2546
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
        17: .line 2548
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            astore 3 /* lp */
        start local 3 // android.view.WindowManager$LayoutParams lp
        18: .line 2549
            aload 3 /* lp */
            ifnull 19
            aload 3 /* lp */
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            goto 20
      StackMap locals: android.view.WindowManager$LayoutParams
      StackMap stack:
        19: aconst_null
      StackMap locals:
      StackMap stack: android.graphics.Rect
        20: astore 4 /* surfaceInsets */
        start local 4 // android.graphics.Rect surfaceInsets
        21: .line 2550
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
        22: .line 2551
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            aload 4 /* surfaceInsets */
        23: .line 2550
            invokevirtual android.view.ThreadedRenderer.initializeIfNeeded:(IILandroid/view/View$AttachInfo;Landroid/view/Surface;Landroid/graphics/Rect;)Z
            pop
        end local 4 // android.graphics.Rect surfaceInsets
        end local 3 // android.view.WindowManager$LayoutParams lp
        24: .line 2552
            goto 38
      StackMap locals: android.view.ViewRootImpl int int
      StackMap stack: android.view.Surface$OutOfResourcesException
        25: astore 3 /* e */
        start local 3 // android.view.Surface$OutOfResourcesException e
        26: .line 2553
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "OutOfResourcesException locking surface"
            aload 3 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        27: .line 2555
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.outOfMemory:(Landroid/view/IWindow;)Z
            ifne 32
        28: .line 2556
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "No processes killed for memory; killing self"
            invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        29: .line 2558
            invokestatic android.os.Process.myPid:()I
            invokestatic android.os.Process.killProcess:(I)V
        30: .line 2560
            goto 32
      StackMap locals: android.view.ViewRootImpl int int android.view.Surface$OutOfResourcesException
      StackMap stack: android.os.RemoteException
        31: pop
        32: .line 2563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
        33: .line 2564
            bipush 6
        34: .line 2563
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
        35: .line 2564
            ldc 500
        36: .line 2563
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
        37: .line 2565
            return
        end local 3 // android.view.Surface$OutOfResourcesException e
        38: .line 2570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 1 /* hasWindowFocus */
            putfield android.view.View$AttachInfo.mHasWindowFocus:Z
        39: .line 2572
            aload 0 /* this */
        40: .line 2573
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
            invokestatic android.view.WindowManager$LayoutParams.mayUseInputMethod:(I)Z
        41: .line 2572
            putfield android.view.ViewRootImpl.mLastWasImTarget:Z
        42: .line 2575
            invokestatic android.view.inputmethod.InputMethodManager.peekInstance:()Landroid/view/inputmethod/InputMethodManager;
            astore 3 /* imm */
        start local 3 // android.view.inputmethod.InputMethodManager imm
        43: .line 2576
            aload 3 /* imm */
            ifnull 45
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastWasImTarget:Z
            ifeq 45
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.isInLocalFocusMode:()Z
            ifne 45
        44: .line 2577
            aload 3 /* imm */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 1 /* hasWindowFocus */
            invokevirtual android.view.inputmethod.InputMethodManager.onPreWindowFocus:(Landroid/view/View;Z)V
        45: .line 2579
      StackMap locals: android.view.inputmethod.InputMethodManager
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 51
        46: .line 2580
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mKeyDispatchState:Landroid/view/KeyEvent$DispatcherState;
            invokevirtual android.view.KeyEvent$DispatcherState.reset:()V
        47: .line 2581
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 1 /* hasWindowFocus */
            invokevirtual android.view.View.dispatchWindowFocusChanged:(Z)V
        48: .line 2582
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            iload 1 /* hasWindowFocus */
            invokevirtual android.view.ViewTreeObserver.dispatchOnWindowFocusChange:(Z)V
        49: .line 2584
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTooltipHost:Landroid/view/View;
            ifnull 51
        50: .line 2585
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTooltipHost:Landroid/view/View;
            invokevirtual android.view.View.hideTooltip:()V
        51: .line 2591
      StackMap locals:
      StackMap stack:
            iload 1 /* hasWindowFocus */
            ifeq 68
        52: .line 2592
            aload 3 /* imm */
            ifnull 59
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastWasImTarget:Z
            ifeq 59
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.isInLocalFocusMode:()Z
            ifne 59
        53: .line 2593
            aload 3 /* imm */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
        54: .line 2594
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
        55: .line 2595
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHasHadWindowFocus:Z
            ifeq 56
            iconst_0
            goto 57
      StackMap locals: android.view.ViewRootImpl int int android.view.inputmethod.InputMethodManager
      StackMap stack: android.view.inputmethod.InputMethodManager android.view.View android.view.View int
        56: iconst_1
      StackMap locals: android.view.ViewRootImpl int int android.view.inputmethod.InputMethodManager
      StackMap stack: android.view.inputmethod.InputMethodManager android.view.View android.view.View int int
        57: aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.flags:I
        58: .line 2593
            invokevirtual android.view.inputmethod.InputMethodManager.onPostWindowFocus:(Landroid/view/View;Landroid/view/View;IZI)V
        59: .line 2599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            dup
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
        60: .line 2600
            sipush -257
            iand
        61: .line 2599
            putfield android.view.WindowManager$LayoutParams.softInputMode:I
        62: .line 2601
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.view.WindowManager$LayoutParams
            dup
            getfield android.view.WindowManager$LayoutParams.softInputMode:I
        63: .line 2603
            sipush -257
            iand
        64: .line 2601
            putfield android.view.WindowManager$LayoutParams.softInputMode:I
        65: .line 2605
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mHasHadWindowFocus:Z
        66: .line 2609
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.fireAccessibilityFocusEventIfHasFocusedNode:()V
        67: .line 2610
            goto 70
        68: .line 2611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerCapture:Z
            ifeq 70
        69: .line 2612
            aload 0 /* this */
            iconst_0
            invokevirtual android.view.ViewRootImpl.handlePointerCaptureChanged:(Z)V
        end local 3 // android.view.inputmethod.InputMethodManager imm
        70: .line 2616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
            iload 1 /* hasWindowFocus */
            invokevirtual android.view.ViewRootImpl$InputStage.onWindowFocusChanged:(Z)V
        71: .line 2617
            return
        end local 2 // boolean inTouchMode
        end local 1 // boolean hasWindowFocus
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   72     0            this  Landroid/view/ViewRootImpl;
            6    9     1  hasWindowFocus  Z
           11   72     1  hasWindowFocus  Z
            7    9     2     inTouchMode  Z
           11   72     2     inTouchMode  Z
           18   24     3              lp  Landroid/view/WindowManager$LayoutParams;
           21   24     4   surfaceInsets  Landroid/graphics/Rect;
           26   38     3               e  Landroid/view/Surface$OutOfResourcesException;
           43   70     3             imm  Landroid/view/inputmethod/InputMethodManager;
      Exception table:
        from    to  target  type
           1     3       9  any
           4     8       9  any
           9    10       9  any
          17    24      25  Class android.view.Surface$OutOfResourcesException
          27    30      31  Class android.os.RemoteException

  private void fireAccessibilityFocusEventIfHasFocusedNode();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 2620
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokestatic android.view.accessibility.AccessibilityManager.getInstance:(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifne 2
         1: .line 2621
            return
         2: .line 2623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 1 /* focusedView */
        start local 1 // android.view.View focusedView
         3: .line 2624
            aload 1 /* focusedView */
            ifnonnull 5
         4: .line 2625
            return
         5: .line 2627
      StackMap locals: android.view.View
      StackMap stack:
            aload 1 /* focusedView */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 2 /* provider */
        start local 2 // android.view.accessibility.AccessibilityNodeProvider provider
         6: .line 2628
            aload 2 /* provider */
            ifnonnull 9
         7: .line 2629
            aload 1 /* focusedView */
            bipush 8
            invokevirtual android.view.View.sendAccessibilityEvent:(I)V
         8: .line 2630
            goto 24
         9: .line 2631
      StackMap locals: android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
            aload 0 /* this */
            aload 2 /* provider */
            invokevirtual android.view.ViewRootImpl.findFocusedVirtualNode:(Landroid/view/accessibility/AccessibilityNodeProvider;)Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 3 /* focusedNode */
        start local 3 // android.view.accessibility.AccessibilityNodeInfo focusedNode
        10: .line 2632
            aload 3 /* focusedNode */
            ifnull 24
        11: .line 2634
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId:()J
        12: .line 2633
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 4 /* virtualId */
        start local 4 // int virtualId
        13: .line 2639
            bipush 8
        14: .line 2638
            invokestatic android.view.accessibility.AccessibilityEvent.obtain:(I)Landroid/view/accessibility/AccessibilityEvent;
            astore 5 /* event */
        start local 5 // android.view.accessibility.AccessibilityEvent event
        15: .line 2640
            aload 5 /* event */
            aload 1 /* focusedView */
            iload 4 /* virtualId */
            invokevirtual android.view.accessibility.AccessibilityEvent.setSource:(Landroid/view/View;I)V
        16: .line 2641
            aload 5 /* event */
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getPackageName:()Ljava/lang/CharSequence;
            invokevirtual android.view.accessibility.AccessibilityEvent.setPackageName:(Ljava/lang/CharSequence;)V
        17: .line 2642
            aload 5 /* event */
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.isChecked:()Z
            invokevirtual android.view.accessibility.AccessibilityEvent.setChecked:(Z)V
        18: .line 2643
            aload 5 /* event */
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getContentDescription:()Ljava/lang/CharSequence;
            invokevirtual android.view.accessibility.AccessibilityEvent.setContentDescription:(Ljava/lang/CharSequence;)V
        19: .line 2644
            aload 5 /* event */
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.isPassword:()Z
            invokevirtual android.view.accessibility.AccessibilityEvent.setPassword:(Z)V
        20: .line 2645
            aload 5 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getText:()Ljava/util/List;
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getText:()Ljava/lang/CharSequence;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2646
            aload 5 /* event */
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.isEnabled:()Z
            invokevirtual android.view.accessibility.AccessibilityEvent.setEnabled:(Z)V
        22: .line 2647
            aload 1 /* focusedView */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            aload 1 /* focusedView */
            aload 5 /* event */
            invokeinterface android.view.ViewParent.requestSendAccessibilityEvent:(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
            pop
        23: .line 2648
            aload 3 /* focusedNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.recycle:()V
        end local 5 // android.view.accessibility.AccessibilityEvent event
        end local 4 // int virtualId
        end local 3 // android.view.accessibility.AccessibilityNodeInfo focusedNode
        24: .line 2651
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 1 // android.view.View focusedView
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Landroid/view/ViewRootImpl;
            3   25     1  focusedView  Landroid/view/View;
            6   25     2     provider  Landroid/view/accessibility/AccessibilityNodeProvider;
           10   24     3  focusedNode  Landroid/view/accessibility/AccessibilityNodeInfo;
           13   24     4    virtualId  I
           15   24     5        event  Landroid/view/accessibility/AccessibilityEvent;

  private android.view.accessibility.AccessibilityNodeInfo findFocusedVirtualNode(android.view.accessibility.AccessibilityNodeProvider);
    descriptor: (Landroid/view/accessibility/AccessibilityNodeProvider;)Landroid/view/accessibility/AccessibilityNodeInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.accessibility.AccessibilityNodeProvider provider
         0: .line 2654
            aload 1 /* provider */
         1: .line 2655
            iconst_1
         2: .line 2654
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.findFocus:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 2 /* focusedNode */
        start local 2 // android.view.accessibility.AccessibilityNodeInfo focusedNode
         3: .line 2656
            aload 2 /* focusedNode */
            ifnull 5
         4: .line 2657
            aload 2 /* focusedNode */
            areturn
         5: .line 2660
      StackMap locals: android.view.accessibility.AccessibilityNodeInfo
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.isAutofillCompatibilityEnabled:()Z
            ifne 7
         6: .line 2661
            aconst_null
            areturn
         7: .line 2666
      StackMap locals:
      StackMap stack:
            aload 1 /* provider */
         8: .line 2667
            iconst_m1
         9: .line 2666
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.createAccessibilityNodeInfo:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 3 /* current */
        start local 3 // android.view.accessibility.AccessibilityNodeInfo current
        10: .line 2668
            aload 3 /* current */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.isFocused:()Z
            ifeq 12
        11: .line 2669
            aload 3 /* current */
            areturn
        12: .line 2672
      StackMap locals: android.view.accessibility.AccessibilityNodeInfo
      StackMap stack:
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* fringe */
        start local 4 // java.util.Queue fringe
        13: .line 2673
            aload 4 /* fringe */
            aload 3 /* current */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
        14: .line 2675
            goto 32
        15: .line 2676
      StackMap locals: java.util.Queue
      StackMap stack:
            aload 4 /* fringe */
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast android.view.accessibility.AccessibilityNodeInfo
            astore 3 /* current */
        16: .line 2677
            aload 3 /* current */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getChildNodeIds:()Landroid/util/LongArray;
            astore 5 /* childNodeIds */
        start local 5 // android.util.LongArray childNodeIds
        17: .line 2678
            aload 5 /* childNodeIds */
            ifnull 32
            aload 5 /* childNodeIds */
            invokevirtual android.util.LongArray.size:()I
            ifgt 19
        18: .line 2679
            goto 32
        19: .line 2681
      StackMap locals: android.util.LongArray
      StackMap stack:
            aload 5 /* childNodeIds */
            invokevirtual android.util.LongArray.size:()I
            istore 6 /* childCount */
        start local 6 // int childCount
        20: .line 2682
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        21: goto 30
        22: .line 2684
      StackMap locals: int int
      StackMap stack:
            aload 5 /* childNodeIds */
            iload 7 /* i */
            invokevirtual android.util.LongArray.get:(I)J
        23: .line 2683
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 8 /* virtualId */
        start local 8 // int virtualId
        24: .line 2685
            aload 1 /* provider */
            iload 8 /* virtualId */
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.createAccessibilityNodeInfo:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 9 /* child */
        start local 9 // android.view.accessibility.AccessibilityNodeInfo child
        25: .line 2686
            aload 9 /* child */
            ifnull 29
        26: .line 2687
            aload 9 /* child */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.isFocused:()Z
            ifeq 28
        27: .line 2688
            aload 9 /* child */
            areturn
        28: .line 2690
      StackMap locals: int android.view.accessibility.AccessibilityNodeInfo
      StackMap stack:
            aload 4 /* fringe */
            aload 9 /* child */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
        end local 9 // android.view.accessibility.AccessibilityNodeInfo child
        end local 8 // int virtualId
        29: .line 2682
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 7 /* i */
            iload 6 /* childCount */
            if_icmplt 22
        end local 7 // int i
        31: .line 2693
            aload 3 /* current */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.recycle:()V
        end local 6 // int childCount
        end local 5 // android.util.LongArray childNodeIds
        32: .line 2675
      StackMap locals:
      StackMap stack:
            aload 4 /* fringe */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 15
        33: .line 2696
            aconst_null
            areturn
        end local 4 // java.util.Queue fringe
        end local 3 // android.view.accessibility.AccessibilityNodeInfo current
        end local 2 // android.view.accessibility.AccessibilityNodeInfo focusedNode
        end local 1 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Landroid/view/ViewRootImpl;
            0   34     1      provider  Landroid/view/accessibility/AccessibilityNodeProvider;
            3   34     2   focusedNode  Landroid/view/accessibility/AccessibilityNodeInfo;
           10   34     3       current  Landroid/view/accessibility/AccessibilityNodeInfo;
           13   34     4        fringe  Ljava/util/Queue<Landroid/view/accessibility/AccessibilityNodeInfo;>;
           17   32     5  childNodeIds  Landroid/util/LongArray;
           20   32     6    childCount  I
           21   31     7             i  I
           24   29     8     virtualId  I
           25   29     9         child  Landroid/view/accessibility/AccessibilityNodeInfo;
    MethodParameters:
          Name  Flags
      provider  

  private void handleOutOfResourcesException(android.view.Surface$OutOfResourcesException);
    descriptor: (Landroid/view/Surface$OutOfResourcesException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.Surface$OutOfResourcesException e
         0: .line 2700
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "OutOfResourcesException initializing HW surface"
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         1: .line 2702
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.outOfMemory:(Landroid/view/IWindow;)Z
            ifne 7
         2: .line 2703
            invokestatic android.os.Process.myUid:()I
            sipush 1000
            if_icmpeq 7
         3: .line 2704
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "No processes killed for memory; killing self"
            invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 2705
            invokestatic android.os.Process.myPid:()I
            invokestatic android.os.Process.killProcess:(I)V
         5: .line 2707
            goto 7
      StackMap locals:
      StackMap stack: android.os.RemoteException
         6: pop
         7: .line 2709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
         8: .line 2710
            return
        end local 1 // android.view.Surface$OutOfResourcesException e
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/view/ViewRootImpl;
            0    9     1     e  Landroid/view/Surface$OutOfResourcesException;
      Exception table:
        from    to  target  type
           1     5       6  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      e     

  private void performMeasure(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int childWidthMeasureSpec
        start local 2 // int childHeightMeasureSpec
         0: .line 2713
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 2
         1: .line 2714
            return
         2: .line 2716
      StackMap locals:
      StackMap stack:
            ldc 8
            ldc "measure"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         3: .line 2718
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 1 /* childWidthMeasureSpec */
            iload 2 /* childHeightMeasureSpec */
            invokevirtual android.view.View.measure:(II)V
         4: .line 2719
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 2720
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
         7: .line 2721
            aload 3
            athrow
         8: .line 2720
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
         9: .line 2722
            return
        end local 2 // int childHeightMeasureSpec
        end local 1 // int childWidthMeasureSpec
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   10     0                    this  Landroid/view/ViewRootImpl;
            0   10     1   childWidthMeasureSpec  I
            0   10     2  childHeightMeasureSpec  I
      Exception table:
        from    to  target  type
           3     5       5  any
    MethodParameters:
                        Name  Flags
      childWidthMeasureSpec   
      childHeightMeasureSpec  

  boolean isInLayout();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 2731
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInLayout:Z
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  boolean requestLayoutDuringLayout(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
         0: .line 2757
            aload 1 /* view */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            ifnull 1
            aload 1 /* view */
            getfield android.view.View.mAttachInfo:Landroid/view/View$AttachInfo;
            ifnonnull 2
         1: .line 2759
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 2761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
            aload 1 /* view */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 2762
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
            aload 1 /* view */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 2764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandlingLayoutInLayoutRequest:Z
            ifne 6
         5: .line 2767
            iconst_1
            ireturn
         6: .line 2771
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/view/ViewRootImpl;
            0    7     1  view  Landroid/view/View;
    MethodParameters:
      Name  Flags
      view  final

  private void performLayout(android.view.WindowManager$LayoutParams, int, int);
    descriptor: (Landroid/view/WindowManager$LayoutParams;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams lp
        start local 2 // int desiredWindowWidth
        start local 3 // int desiredWindowHeight
         0: .line 2777
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
         1: .line 2778
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mScrollMayChange:Z
         2: .line 2779
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mInLayout:Z
         3: .line 2781
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            astore 4 /* host */
        start local 4 // android.view.View host
         4: .line 2782
            aload 4 /* host */
            ifnonnull 6
         5: .line 2783
            return
         6: .line 2790
      StackMap locals: android.view.View
      StackMap stack:
            ldc 8
            ldc "layout"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         7: .line 2792
            aload 4 /* host */
            iconst_0
            iconst_0
            aload 4 /* host */
            invokevirtual android.view.View.getMeasuredWidth:()I
            aload 4 /* host */
            invokevirtual android.view.View.getMeasuredHeight:()I
            invokevirtual android.view.View.layout:(IIII)V
         8: .line 2794
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mInLayout:Z
         9: .line 2795
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* numViewsRequestingLayout */
        start local 5 // int numViewsRequestingLayout
        10: .line 2796
            iload 5 /* numViewsRequestingLayout */
            ifle 40
        11: .line 2801
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
        12: .line 2802
            iconst_0
        13: .line 2801
            invokevirtual android.view.ViewRootImpl.getValidLayoutRequesters:(Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
            astore 6 /* validLayoutRequesters */
        start local 6 // java.util.ArrayList validLayoutRequesters
        14: .line 2803
            aload 6 /* validLayoutRequesters */
            ifnull 40
        15: .line 2807
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mHandlingLayoutInLayoutRequest:Z
        16: .line 2810
            aload 6 /* validLayoutRequesters */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* numValidRequests */
        start local 7 // int numValidRequests
        17: .line 2811
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 25
        19: .line 2812
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int android.view.View int java.util.ArrayList int int
      StackMap stack:
            aload 6 /* validLayoutRequesters */
            iload 8 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.View
            astore 9 /* view */
        start local 9 // android.view.View view
        20: .line 2813
            ldc "View"
            new java.lang.StringBuilder
            dup
            ldc "requestLayout() improperly called by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* view */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        21: .line 2814
            ldc " during layout: running second layout pass"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 2813
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        23: .line 2815
            aload 9 /* view */
            invokevirtual android.view.View.requestLayout:()V
        end local 9 // android.view.View view
        24: .line 2811
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            iload 7 /* numValidRequests */
            if_icmplt 19
        end local 8 // int i
        26: .line 2817
            aload 0 /* this */
            aload 4 /* host */
            aload 1 /* lp */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
        27: .line 2818
            iload 2 /* desiredWindowWidth */
            iload 3 /* desiredWindowHeight */
        28: .line 2817
            invokevirtual android.view.ViewRootImpl.measureHierarchy:(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
            pop
        29: .line 2819
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mInLayout:Z
        30: .line 2820
            aload 4 /* host */
            iconst_0
            iconst_0
            aload 4 /* host */
            invokevirtual android.view.View.getMeasuredWidth:()I
            aload 4 /* host */
            invokevirtual android.view.View.getMeasuredHeight:()I
            invokevirtual android.view.View.layout:(IIII)V
        31: .line 2822
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mHandlingLayoutInLayoutRequest:Z
        32: .line 2826
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLayoutRequesters:Ljava/util/ArrayList;
            iconst_1
            invokevirtual android.view.ViewRootImpl.getValidLayoutRequesters:(Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
            astore 6 /* validLayoutRequesters */
        33: .line 2827
            aload 6 /* validLayoutRequesters */
            ifnull 40
        34: .line 2828
            aload 6 /* validLayoutRequesters */
            astore 8 /* finalRequesters */
        start local 8 // java.util.ArrayList finalRequesters
        35: .line 2830
            invokestatic android.view.ViewRootImpl.getRunQueue:()Landroid/view/HandlerActionQueue;
            new android.view.ViewRootImpl$2
            dup
            aload 0 /* this */
            aload 8 /* finalRequesters */
            invokespecial android.view.ViewRootImpl$2.<init>:(Landroid/view/ViewRootImpl;Ljava/util/ArrayList;)V
            invokevirtual android.view.HandlerActionQueue.post:(Ljava/lang/Runnable;)V
        end local 8 // java.util.ArrayList finalRequesters
        end local 7 // int numValidRequests
        end local 6 // java.util.ArrayList validLayoutRequesters
        end local 5 // int numViewsRequestingLayout
        36: .line 2846
            goto 40
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int android.view.View
      StackMap stack: java.lang.Throwable
        37: astore 10
        38: .line 2847
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        39: .line 2848
            aload 10
            athrow
        40: .line 2847
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        41: .line 2849
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mInLayout:Z
        42: .line 2850
            return
        end local 4 // android.view.View host
        end local 3 // int desiredWindowHeight
        end local 2 // int desiredWindowWidth
        end local 1 // android.view.WindowManager$LayoutParams lp
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   43     0                      this  Landroid/view/ViewRootImpl;
            0   43     1                        lp  Landroid/view/WindowManager$LayoutParams;
            0   43     2        desiredWindowWidth  I
            0   43     3       desiredWindowHeight  I
            4   43     4                      host  Landroid/view/View;
           10   36     5  numViewsRequestingLayout  I
           14   36     6     validLayoutRequesters  Ljava/util/ArrayList<Landroid/view/View;>;
           17   36     7          numValidRequests  I
           18   26     8                         i  I
           20   24     9                      view  Landroid/view/View;
           35   36     8           finalRequesters  Ljava/util/ArrayList<Landroid/view/View;>;
      Exception table:
        from    to  target  type
           7    37      37  any
    MethodParameters:
                     Name  Flags
      lp                   
      desiredWindowWidth   
      desiredWindowHeight  

  private java.util.ArrayList<android.view.View> getValidLayoutRequesters(java.util.ArrayList<android.view.View>, boolean);
    descriptor: (Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // java.util.ArrayList layoutRequesters
        start local 2 // boolean secondLayoutRequests
         0: .line 2866
            aload 1 /* layoutRequesters */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* numViewsRequestingLayout */
        start local 3 // int numViewsRequestingLayout
         1: .line 2867
            aconst_null
            astore 4 /* validLayoutRequesters */
        start local 4 // java.util.ArrayList validLayoutRequesters
         2: .line 2868
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 24
         4: .line 2869
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 1 /* layoutRequesters */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.View
            astore 6 /* view */
        start local 6 // android.view.View view
         5: .line 2870
            aload 6 /* view */
            ifnull 23
            aload 6 /* view */
            getfield android.view.View.mAttachInfo:Landroid/view/View$AttachInfo;
            ifnull 23
            aload 6 /* view */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            ifnull 23
         6: .line 2871
            iload 2 /* secondLayoutRequests */
            ifne 8
            aload 6 /* view */
            getfield android.view.View.mPrivateFlags:I
            sipush 4096
            iand
         7: .line 2872
            sipush 4096
            if_icmpne 23
         8: .line 2873
      StackMap locals: android.view.View
      StackMap stack:
            iconst_0
            istore 7 /* gone */
        start local 7 // boolean gone
         9: .line 2874
            aload 6 /* view */
            astore 8 /* parent */
        start local 8 // android.view.View parent
        10: .line 2876
            goto 18
        11: .line 2877
      StackMap locals: int android.view.View
      StackMap stack:
            aload 8 /* parent */
            getfield android.view.View.mViewFlags:I
            bipush 12
            iand
            bipush 8
            if_icmpne 14
        12: .line 2878
            iconst_1
            istore 7 /* gone */
        13: .line 2879
            goto 19
        14: .line 2881
      StackMap locals:
      StackMap stack:
            aload 8 /* parent */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            instanceof android.view.View
            ifeq 17
        15: .line 2882
            aload 8 /* parent */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            checkcast android.view.View
            astore 8 /* parent */
        16: .line 2883
            goto 18
        17: .line 2884
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* parent */
        18: .line 2876
      StackMap locals:
      StackMap stack:
            aload 8 /* parent */
            ifnonnull 11
        19: .line 2887
      StackMap locals:
      StackMap stack:
            iload 7 /* gone */
            ifne 23
        20: .line 2888
            aload 4 /* validLayoutRequesters */
            ifnonnull 22
        21: .line 2889
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* validLayoutRequesters */
        22: .line 2891
      StackMap locals:
      StackMap stack:
            aload 4 /* validLayoutRequesters */
            aload 6 /* view */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // android.view.View parent
        end local 7 // boolean gone
        end local 6 // android.view.View view
        23: .line 2868
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 5 /* i */
            iload 3 /* numViewsRequestingLayout */
            if_icmplt 4
        end local 5 // int i
        25: .line 2895
            iload 2 /* secondLayoutRequests */
            ifne 39
        26: .line 2897
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        27: goto 38
        28: .line 2898
      StackMap locals:
      StackMap stack:
            aload 1 /* layoutRequesters */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.View
            astore 6 /* view */
        start local 6 // android.view.View view
        29: .line 2899
            goto 35
        30: .line 2901
      StackMap locals: android.view.View
      StackMap stack:
            aload 6 /* view */
            dup
            getfield android.view.View.mPrivateFlags:I
            sipush -4097
            iand
            putfield android.view.View.mPrivateFlags:I
        31: .line 2902
            aload 6 /* view */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            instanceof android.view.View
            ifeq 34
        32: .line 2903
            aload 6 /* view */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            checkcast android.view.View
            astore 6 /* view */
        33: .line 2904
            goto 35
        34: .line 2905
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* view */
        35: .line 2899
      StackMap locals:
      StackMap stack:
            aload 6 /* view */
            ifnull 37
        36: .line 2900
            aload 6 /* view */
            getfield android.view.View.mPrivateFlags:I
            sipush 4096
            iand
            ifne 30
        end local 6 // android.view.View view
        37: .line 2897
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            iload 3 /* numViewsRequestingLayout */
            if_icmplt 28
        end local 5 // int i
        39: .line 2910
      StackMap locals:
      StackMap stack:
            aload 1 /* layoutRequesters */
            invokevirtual java.util.ArrayList.clear:()V
        40: .line 2911
            aload 4 /* validLayoutRequesters */
            areturn
        end local 4 // java.util.ArrayList validLayoutRequesters
        end local 3 // int numViewsRequestingLayout
        end local 2 // boolean secondLayoutRequests
        end local 1 // java.util.ArrayList layoutRequesters
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   41     0                      this  Landroid/view/ViewRootImpl;
            0   41     1          layoutRequesters  Ljava/util/ArrayList<Landroid/view/View;>;
            0   41     2      secondLayoutRequests  Z
            1   41     3  numViewsRequestingLayout  I
            2   41     4     validLayoutRequesters  Ljava/util/ArrayList<Landroid/view/View;>;
            3   25     5                         i  I
            5   23     6                      view  Landroid/view/View;
            9   23     7                      gone  Z
           10   23     8                    parent  Landroid/view/View;
           27   39     5                         i  I
           29   37     6                      view  Landroid/view/View;
    Signature: (Ljava/util/ArrayList<Landroid/view/View;>;Z)Ljava/util/ArrayList<Landroid/view/View;>;
    MethodParameters:
                      Name  Flags
      layoutRequesters      
      secondLayoutRequests  

  public void requestTransparentRegion(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
         0: .line 2917
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 2918
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* child */
            if_acmpne 6
         2: .line 2919
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            dup
            getfield android.view.View.mPrivateFlags:I
            sipush 512
            ior
            putfield android.view.View.mPrivateFlags:I
         3: .line 2922
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
         4: .line 2923
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mWindowAttributesChangesFlag:I
         5: .line 2924
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.requestLayout:()V
         6: .line 2926
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/view/ViewRootImpl;
            0    7     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  private static int getRootMeasureSpec(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int windowSize
        start local 1 // int rootDimension
         0: .line 2943
            iload 1 /* rootDimension */
            tableswitch { // -2 - -1
                   -2: 3
                   -1: 1
              default: 5
          }
         1: .line 2947
      StackMap locals:
      StackMap stack:
            iload 0 /* windowSize */
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 2 /* measureSpec */
        start local 2 // int measureSpec
         2: .line 2948
            goto 6
        end local 2 // int measureSpec
         3: .line 2951
      StackMap locals:
      StackMap stack:
            iload 0 /* windowSize */
            ldc -2147483648
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 2 /* measureSpec */
        start local 2 // int measureSpec
         4: .line 2952
            goto 6
        end local 2 // int measureSpec
         5: .line 2955
      StackMap locals:
      StackMap stack:
            iload 1 /* rootDimension */
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 2 /* measureSpec */
        start local 2 // int measureSpec
         6: .line 2958
      StackMap locals: int
      StackMap stack:
            iload 2 /* measureSpec */
            ireturn
        end local 2 // int measureSpec
        end local 1 // int rootDimension
        end local 0 // int windowSize
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0     windowSize  I
            0    7     1  rootDimension  I
            2    3     2    measureSpec  I
            4    5     2    measureSpec  I
            6    7     2    measureSpec  I
    MethodParameters:
               Name  Flags
      windowSize     
      rootDimension  

  public void onPreDraw(android.view.DisplayListCanvas);
    descriptor: (Landroid/view/DisplayListCanvas;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.DisplayListCanvas canvas
         0: .line 2972
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ifeq 2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHardwareYOffset:I
            ifeq 2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isOpaque:()Z
            ifeq 2
         1: .line 2973
            aload 1 /* canvas */
            ldc -16777216
            invokevirtual android.view.DisplayListCanvas.drawColor:(I)V
         2: .line 2975
      StackMap locals:
      StackMap stack:
            aload 1 /* canvas */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHardwareXOffset:I
            ineg
            i2f
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHardwareYOffset:I
            ineg
            i2f
            invokevirtual android.view.DisplayListCanvas.translate:(FF)V
         3: .line 2976
            return
        end local 1 // android.view.DisplayListCanvas canvas
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/view/ViewRootImpl;
            0    4     1  canvas  Landroid/view/DisplayListCanvas;
    MethodParameters:
        Name  Flags
      canvas  

  public void onPostDraw(android.view.DisplayListCanvas);
    descriptor: (Landroid/view/DisplayListCanvas;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.DisplayListCanvas canvas
         0: .line 2980
            aload 0 /* this */
            aload 1 /* canvas */
            invokevirtual android.view.ViewRootImpl.drawAccessibilityFocusedDrawableIfNeeded:(Landroid/graphics/Canvas;)V
         1: .line 2981
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifeq 7
         2: .line 2982
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 2983
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
            aload 1 /* canvas */
            invokeinterface android.view.WindowCallbacks.onPostDraw:(Landroid/view/DisplayListCanvas;)V
         5: .line 2982
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            ifge 4
        end local 2 // int i
         7: .line 2986
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.DisplayListCanvas canvas
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/view/ViewRootImpl;
            0    8     1  canvas  Landroid/view/DisplayListCanvas;
            3    7     2       i  I
    MethodParameters:
        Name  Flags
      canvas  

  void outputDisplayList(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
         0: .line 2992
            aload 1 /* view */
            getfield android.view.View.mRenderNode:Landroid/view/RenderNode;
            invokevirtual android.view.RenderNode.output:()V
         1: .line 2993
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 3
         2: .line 2994
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.serializeDisplayListTree:()V
         3: .line 2996
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;
            0    4     1  view  Landroid/view/View;
    MethodParameters:
      Name  Flags
      view  

  private void profileRendering(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean enabled
         0: .line 3002
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProfileRendering:Z
            ifeq 10
         1: .line 3003
            aload 0 /* this */
            iload 1 /* enabled */
            putfield android.view.ViewRootImpl.mRenderProfilingEnabled:Z
         2: .line 3005
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
            ifnull 4
         3: .line 3006
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
            invokevirtual android.view.Choreographer.removeFrameCallback:(Landroid/view/Choreographer$FrameCallback;)V
         4: .line 3008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRenderProfilingEnabled:Z
            ifeq 9
         5: .line 3009
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
            ifnonnull 7
         6: .line 3010
            aload 0 /* this */
            new android.view.ViewRootImpl$3
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$3.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
         7: .line 3021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
            invokevirtual android.view.Choreographer.postFrameCallback:(Landroid/view/Choreographer$FrameCallback;)V
         8: .line 3022
            goto 10
         9: .line 3023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
        10: .line 3026
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Landroid/view/ViewRootImpl;
            0   11     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  private void trackFPS();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3034
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* nowTime */
        start local 1 // long nowTime
         1: .line 3035
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFpsStartTime:J
            lconst_0
            lcmp
            ifge 5
         2: .line 3036
            aload 0 /* this */
            aload 0 /* this */
            lload 1 /* nowTime */
            dup2_x1
            putfield android.view.ViewRootImpl.mFpsPrevTime:J
            putfield android.view.ViewRootImpl.mFpsStartTime:J
         3: .line 3037
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mFpsNumFrames:I
         4: .line 3038
            goto 16
         5: .line 3039
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mFpsNumFrames:I
            iconst_1
            iadd
            putfield android.view.ViewRootImpl.mFpsNumFrames:I
         6: .line 3040
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 3 /* thisHash */
        start local 3 // java.lang.String thisHash
         7: .line 3041
            lload 1 /* nowTime */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFpsPrevTime:J
            lsub
            lstore 4 /* frameTime */
        start local 4 // long frameTime
         8: .line 3042
            lload 1 /* nowTime */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFpsStartTime:J
            lsub
            lstore 6 /* totalTime */
        start local 6 // long totalTime
         9: .line 3043
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* thisHash */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\tFrame time:\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 4 /* frameTime */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 3044
            aload 0 /* this */
            lload 1 /* nowTime */
            putfield android.view.ViewRootImpl.mFpsPrevTime:J
        11: .line 3045
            lload 6 /* totalTime */
            ldc 1000
            lcmp
            ifle 16
        12: .line 3046
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFpsNumFrames:I
            i2f
            ldc 1000.0
            fmul
            lload 6 /* totalTime */
            l2f
            fdiv
            fstore 8 /* fps */
        start local 8 // float fps
        13: .line 3047
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* thisHash */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\tFPS:\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            fload 8 /* fps */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        14: .line 3048
            aload 0 /* this */
            lload 1 /* nowTime */
            putfield android.view.ViewRootImpl.mFpsStartTime:J
        15: .line 3049
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mFpsNumFrames:I
        end local 8 // float fps
        end local 6 // long totalTime
        end local 4 // long frameTime
        end local 3 // java.lang.String thisHash
        16: .line 3052
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long nowTime
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Landroid/view/ViewRootImpl;
            1   17     1    nowTime  J
            7   16     3   thisHash  Ljava/lang/String;
            8   16     4  frameTime  J
            9   16     6  totalTime  J
           13   16     8        fps  F

  void drawPending();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3065
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mDrawsNeededToReport:I
            iconst_1
            iadd
            putfield android.view.ViewRootImpl.mDrawsNeededToReport:I
         1: .line 3066
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  void pendingDrawFinished();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3069
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDrawsNeededToReport:I
            ifne 2
         1: .line 3070
            new java.lang.RuntimeException
            dup
            ldc "Unbalanced drawPending/pendingDrawFinished calls"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 3072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mDrawsNeededToReport:I
            iconst_1
            isub
            putfield android.view.ViewRootImpl.mDrawsNeededToReport:I
         3: .line 3073
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDrawsNeededToReport:I
            ifne 5
         4: .line 3074
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.reportDrawFinished:()V
         5: .line 3076
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/view/ViewRootImpl;

  private void postDrawFinished();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3079
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 29
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendEmptyMessage:(I)Z
            pop
         1: .line 3080
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  private void reportDrawFinished();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3084
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mDrawsNeededToReport:I
         1: .line 3085
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.finishDrawing:(Landroid/view/IWindow;)V
         2: .line 3086
            goto 4
      StackMap locals:
      StackMap stack: android.os.RemoteException
         3: pop
         4: .line 3089
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;
      Exception table:
        from    to  target  type
           0     2       3  Class android.os.RemoteException

  private void performDraw();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3092
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDisplayState:I
            getstatic android.view.Display.STATE_OFF:I
            if_icmpne 2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifne 2
         1: .line 3093
            return
         2: .line 3094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 4
         3: .line 3095
            return
         4: .line 3098
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
            ifne 5
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 1 /* fullRedrawNeeded */
        start local 1 // boolean fullRedrawNeeded
         7: .line 3099
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
         8: .line 3101
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mIsDrawing:Z
         9: .line 3102
            ldc 8
            ldc "draw"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
        10: .line 3104
            iconst_0
            istore 2 /* usingAsyncReport */
        start local 2 // boolean usingAsyncReport
        11: .line 3105
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 15
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 15
        12: .line 3106
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isEnabled:()Z
            ifeq 15
        13: .line 3107
            iconst_1
            istore 2 /* usingAsyncReport */
        14: .line 3108
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            invokedynamic onFrameComplete(Landroid/view/ViewRootImpl;)Landroid/view/ThreadedRenderer$FrameCompleteCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (J)V
                  android/view/ViewRootImpl.lambda$0(J)V (7)
                  (J)V
            invokevirtual android.view.ThreadedRenderer.setFrameCompleteCallback:(Landroid/view/ThreadedRenderer$FrameCompleteCallback;)V
        15: .line 3115
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fullRedrawNeeded */
            invokevirtual android.view.ViewRootImpl.draw:(Z)Z
            istore 3 /* canUseAsync */
        start local 3 // boolean canUseAsync
        16: .line 3116
            iload 2 /* usingAsyncReport */
            ifeq 24
            iload 3 /* canUseAsync */
            ifne 24
        17: .line 3117
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aconst_null
            invokevirtual android.view.ThreadedRenderer.setFrameCompleteCallback:(Landroid/view/ThreadedRenderer$FrameCompleteCallback;)V
        18: .line 3118
            iconst_0
            istore 2 /* usingAsyncReport */
        end local 3 // boolean canUseAsync
        19: .line 3120
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 4
        21: .line 3121
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsDrawing:Z
        22: .line 3122
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        23: .line 3123
            aload 4
            athrow
        24: .line 3121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsDrawing:Z
        25: .line 3122
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        26: .line 3127
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            ifnull 34
        27: .line 3128
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* count */
        start local 3 // int count
        28: .line 3129
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        29: goto 32
        30: .line 3130
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.view.RenderNode
            invokevirtual android.view.RenderNode.endAllAnimators:()V
        31: .line 3129
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 30
        end local 4 // int i
        33: .line 3132
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mPendingAnimatingRenderNodes:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        end local 3 // int count
        34: .line 3135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 53
        35: .line 3136
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mReportNextDraw:Z
        36: .line 3139
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
            ifnull 42
        37: .line 3141
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
            invokevirtual java.util.concurrent.CountDownLatch.await:()V
        38: .line 3142
            goto 41
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        39: pop
        40: .line 3143
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Window redraw count down interrupted!"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        41: .line 3145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
        42: .line 3148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 44
        43: .line 3149
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            invokevirtual android.view.ThreadedRenderer.setStopped:(Z)V
        44: .line 3156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnull 49
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 49
        45: .line 3157
            new com.android.internal.view.SurfaceCallbackHelper
            dup
            aload 0 /* this */
            invokedynamic run(Landroid/view/ViewRootImpl;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/view/ViewRootImpl.postDrawFinished()V (7)
                  ()V
            invokespecial com.android.internal.view.SurfaceCallbackHelper.<init>:(Ljava/lang/Runnable;)V
            astore 3 /* sch */
        start local 3 // com.android.internal.view.SurfaceCallbackHelper sch
        46: .line 3158
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            invokevirtual com.android.internal.view.BaseSurfaceHolder.getCallbacks:()[Landroid/view/SurfaceHolder$Callback;
            astore 5 /* callbacks */
        start local 5 // android.view.SurfaceHolder$Callback[] callbacks
        47: .line 3160
            aload 3 /* sch */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            aload 5 /* callbacks */
            invokevirtual com.android.internal.view.SurfaceCallbackHelper.dispatchSurfaceRedrawNeededAsync:(Landroid/view/SurfaceHolder;[Landroid/view/SurfaceHolder$Callback;)V
        end local 5 // android.view.SurfaceHolder$Callback[] callbacks
        end local 3 // com.android.internal.view.SurfaceCallbackHelper sch
        48: .line 3161
            goto 53
      StackMap locals:
      StackMap stack:
        49: iload 2 /* usingAsyncReport */
            ifne 53
        50: .line 3162
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 52
        51: .line 3163
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.fence:()V
        52: .line 3165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.pendingDrawFinished:()V
        53: .line 3168
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean usingAsyncReport
        end local 1 // boolean fullRedrawNeeded
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   54     0              this  Landroid/view/ViewRootImpl;
            7   54     1  fullRedrawNeeded  Z
           11   54     2  usingAsyncReport  Z
           16   19     3       canUseAsync  Z
           28   34     3             count  I
           29   33     4                 i  I
           46   48     3               sch  Lcom/android/internal/view/SurfaceCallbackHelper;
           47   48     5         callbacks  [Landroid/view/SurfaceHolder$Callback;
      Exception table:
        from    to  target  type
          15    20      20  any
          37    38      39  Class java.lang.InterruptedException

  private boolean draw(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=18, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean fullRedrawNeeded
         0: .line 3171
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            astore 2 /* surface */
        start local 2 // android.view.Surface surface
         1: .line 3172
            aload 2 /* surface */
            invokevirtual android.view.Surface.isValid:()Z
            ifne 3
         2: .line 3173
            iconst_0
            ireturn
         3: .line 3180
      StackMap locals: android.view.Surface
      StackMap stack:
            getstatic android.view.ViewRootImpl.sFirstDrawComplete:Z
            ifne 16
         4: .line 3181
            getstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
            dup
            astore 3
            monitorenter
         5: .line 3182
            iconst_1
            putstatic android.view.ViewRootImpl.sFirstDrawComplete:Z
         6: .line 3183
            getstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* count */
        start local 4 // int count
         7: .line 3184
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 3185
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            getstatic android.view.ViewRootImpl.sFirstDrawHandlers:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Runnable
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.post:(Ljava/lang/Runnable;)Z
            pop
        10: .line 3184
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 9
        end local 5 // int i
        end local 4 // int count
        12: .line 3181
            aload 3
            monitorexit
        13: goto 16
      StackMap locals: android.view.ViewRootImpl int android.view.Surface java.util.ArrayList
      StackMap stack: java.lang.Throwable
        14: aload 3
            monitorexit
        15: athrow
        16: .line 3190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_0
            invokevirtual android.view.ViewRootImpl.scrollToRectOrFocus:(Landroid/graphics/Rect;Z)Z
            pop
        17: .line 3192
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mViewScrollChanged:Z
            ifeq 20
        18: .line 3193
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mViewScrollChanged:Z
        19: .line 3194
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.dispatchOnScrollChanged:()V
        20: .line 3197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            ifnull 21
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            invokevirtual android.widget.Scroller.computeScrollOffset:()Z
            ifeq 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 3 /* animating */
        start local 3 // boolean animating
        23: .line 3199
            iload 3 /* animating */
            ifeq 26
        24: .line 3200
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            invokevirtual android.widget.Scroller.getCurrY:()I
            istore 4 /* curScrollY */
        start local 4 // int curScrollY
        25: .line 3201
            goto 27
        end local 4 // int curScrollY
        26: .line 3202
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollY:I
            istore 4 /* curScrollY */
        start local 4 // int curScrollY
        27: .line 3204
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            iload 4 /* curScrollY */
            if_icmpeq 32
        28: .line 3205
            aload 0 /* this */
            iload 4 /* curScrollY */
            putfield android.view.ViewRootImpl.mCurScrollY:I
        29: .line 3206
            iconst_1
            istore 1 /* fullRedrawNeeded */
        30: .line 3207
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof com.android.internal.view.RootViewSurfaceTaker
            ifeq 32
        31: .line 3208
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast com.android.internal.view.RootViewSurfaceTaker
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            invokeinterface com.android.internal.view.RootViewSurfaceTaker.onRootViewScrollYChanged:(I)V
        32: .line 3212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mApplicationScale:F
            fstore 5 /* appScale */
        start local 5 // float appScale
        33: .line 3213
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mScalingRequired:Z
            istore 6 /* scalingRequired */
        start local 6 // boolean scalingRequired
        34: .line 3215
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDirty:Landroid/graphics/Rect;
            astore 7 /* dirty */
        start local 7 // android.graphics.Rect dirty
        35: .line 3216
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
            ifnull 40
        36: .line 3218
            aload 7 /* dirty */
            invokevirtual android.graphics.Rect.setEmpty:()V
        37: .line 3219
            iload 3 /* animating */
            ifeq 39
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            ifnull 39
        38: .line 3220
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            invokevirtual android.widget.Scroller.abortAnimation:()V
        39: .line 3222
      StackMap locals: float int android.graphics.Rect
      StackMap stack:
            iconst_0
            ireturn
        40: .line 3225
      StackMap locals:
      StackMap stack:
            iload 1 /* fullRedrawNeeded */
            ifeq 43
        41: .line 3226
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mIgnoreDirtyState:Z
        42: .line 3227
            aload 7 /* dirty */
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            i2f
            fload 5 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            i2f
            fload 5 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
            invokevirtual android.graphics.Rect.set:(IIII)V
        43: .line 3239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.dispatchOnDraw:()V
        44: .line 3241
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCanvasOffsetX:I
            ineg
            istore 8 /* xOffset */
        start local 8 // int xOffset
        45: .line 3242
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCanvasOffsetY:I
            ineg
            iload 4 /* curScrollY */
            iadd
            istore 9 /* yOffset */
        start local 9 // int yOffset
        46: .line 3243
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            astore 10 /* params */
        start local 10 // android.view.WindowManager$LayoutParams params
        47: .line 3244
            aload 10 /* params */
            ifnull 48
            aload 10 /* params */
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            goto 49
      StackMap locals: int int android.view.WindowManager$LayoutParams
      StackMap stack:
        48: aconst_null
      StackMap locals:
      StackMap stack: android.graphics.Rect
        49: astore 11 /* surfaceInsets */
        start local 11 // android.graphics.Rect surfaceInsets
        50: .line 3245
            aload 11 /* surfaceInsets */
            ifnull 54
        51: .line 3246
            iload 8 /* xOffset */
            aload 11 /* surfaceInsets */
            getfield android.graphics.Rect.left:I
            isub
            istore 8 /* xOffset */
        52: .line 3247
            iload 9 /* yOffset */
            aload 11 /* surfaceInsets */
            getfield android.graphics.Rect.top:I
            isub
            istore 9 /* yOffset */
        53: .line 3250
            aload 7 /* dirty */
            aload 11 /* surfaceInsets */
            getfield android.graphics.Rect.left:I
            aload 11 /* surfaceInsets */
            getfield android.graphics.Rect.right:I
            invokevirtual android.graphics.Rect.offset:(II)V
        54: .line 3253
      StackMap locals: android.graphics.Rect
      StackMap stack:
            iconst_0
            istore 12 /* accessibilityFocusDirty */
        start local 12 // boolean accessibilityFocusDirty
        55: .line 3254
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAccessibilityFocusDrawable:Landroid/graphics/drawable/Drawable;
            astore 13 /* drawable */
        start local 13 // android.graphics.drawable.Drawable drawable
        56: .line 3255
            aload 13 /* drawable */
            ifnull 63
        57: .line 3256
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTmpInvalRect:Landroid/graphics/Rect;
            astore 14 /* bounds */
        start local 14 // android.graphics.Rect bounds
        58: .line 3257
            aload 0 /* this */
            aload 14 /* bounds */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedRect:(Landroid/graphics/Rect;)Z
            istore 15 /* hasFocus */
        start local 15 // boolean hasFocus
        59: .line 3258
            iload 15 /* hasFocus */
            ifne 61
        60: .line 3259
            aload 14 /* bounds */
            invokevirtual android.graphics.Rect.setEmpty:()V
        61: .line 3261
      StackMap locals: android.view.ViewRootImpl int android.view.Surface int int float int android.graphics.Rect int int android.view.WindowManager$LayoutParams android.graphics.Rect int android.graphics.drawable.Drawable android.graphics.Rect int
      StackMap stack:
            aload 14 /* bounds */
            aload 13 /* drawable */
            invokevirtual android.graphics.drawable.Drawable.getBounds:()Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 63
        62: .line 3262
            iconst_1
            istore 12 /* accessibilityFocusDirty */
        end local 15 // boolean hasFocus
        end local 14 // android.graphics.Rect bounds
        63: .line 3266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
        64: .line 3267
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            invokevirtual android.view.Choreographer.getFrameTimeNanos:()J
            ldc 1000000
            ldiv
        65: .line 3266
            putfield android.view.View$AttachInfo.mDrawingTime:J
        66: .line 3269
            iconst_0
            istore 14 /* useAsyncReport */
        start local 14 // boolean useAsyncReport
        67: .line 3270
            aload 7 /* dirty */
            invokevirtual android.graphics.Rect.isEmpty:()Z
            ifeq 68
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsAnimating:Z
            ifne 68
            iload 12 /* accessibilityFocusDirty */
            ifeq 110
        68: .line 3271
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 91
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isEnabled:()Z
            ifeq 91
        69: .line 3273
            iload 12 /* accessibilityFocusDirty */
            ifne 70
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInvalidateRootRequested:Z
            ifne 70
            iconst_0
            goto 71
      StackMap locals:
      StackMap stack:
        70: iconst_1
      StackMap locals:
      StackMap stack: int
        71: istore 15 /* invalidateRoot */
        start local 15 // boolean invalidateRoot
        72: .line 3274
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mInvalidateRootRequested:Z
        73: .line 3277
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsAnimating:Z
        74: .line 3279
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHardwareYOffset:I
            iload 9 /* yOffset */
            if_icmpne 75
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHardwareXOffset:I
            iload 8 /* xOffset */
            if_icmpeq 78
        75: .line 3280
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* yOffset */
            putfield android.view.ViewRootImpl.mHardwareYOffset:I
        76: .line 3281
            aload 0 /* this */
            iload 8 /* xOffset */
            putfield android.view.ViewRootImpl.mHardwareXOffset:I
        77: .line 3282
            iconst_1
            istore 15 /* invalidateRoot */
        78: .line 3285
      StackMap locals:
      StackMap stack:
            iload 15 /* invalidateRoot */
            ifeq 80
        79: .line 3286
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.invalidateRoot:()V
        80: .line 3289
      StackMap locals:
      StackMap stack:
            aload 7 /* dirty */
            invokevirtual android.graphics.Rect.setEmpty:()V
        81: .line 3293
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.updateContentDrawBounds:()Z
            istore 16 /* updated */
        start local 16 // boolean updated
        82: .line 3295
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 84
        83: .line 3299
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            iconst_0
            invokevirtual android.view.ThreadedRenderer.setStopped:(Z)V
        84: .line 3302
      StackMap locals: int
      StackMap stack:
            iload 16 /* updated */
            ifeq 86
        85: .line 3303
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.requestDrawWindow:()V
        86: .line 3306
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* useAsyncReport */
        87: .line 3309
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNextRtFrameCallback:Landroid/view/ThreadedRenderer$FrameDrawingCallback;
            astore 17 /* callback */
        start local 17 // android.view.ThreadedRenderer$FrameDrawingCallback callback
        88: .line 3310
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mNextRtFrameCallback:Landroid/view/ThreadedRenderer$FrameDrawingCallback;
        89: .line 3311
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            aload 17 /* callback */
            invokevirtual android.view.ThreadedRenderer.draw:(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
        end local 17 // android.view.ThreadedRenderer$FrameDrawingCallback callback
        end local 16 // boolean updated
        end local 15 // boolean invalidateRoot
        90: .line 3312
            goto 110
        91: .line 3321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 105
        92: .line 3322
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isEnabled:()Z
            ifne 105
        93: .line 3323
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.isRequested:()Z
            ifeq 105
        94: .line 3324
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 105
        95: .line 3327
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
        96: .line 3328
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            aload 11 /* surfaceInsets */
        97: .line 3327
            invokevirtual android.view.ThreadedRenderer.initializeIfNeeded:(IILandroid/view/View$AttachInfo;Landroid/view/Surface;Landroid/graphics/Rect;)Z
            pop
        98: .line 3329
            goto 102
      StackMap locals:
      StackMap stack: android.view.Surface$OutOfResourcesException
        99: astore 15 /* e */
        start local 15 // android.view.Surface$OutOfResourcesException e
       100: .line 3330
            aload 0 /* this */
            aload 15 /* e */
            invokevirtual android.view.ViewRootImpl.handleOutOfResourcesException:(Landroid/view/Surface$OutOfResourcesException;)V
       101: .line 3331
            iconst_0
            ireturn
        end local 15 // android.view.Surface$OutOfResourcesException e
       102: .line 3334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
       103: .line 3335
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
       104: .line 3336
            iconst_0
            ireturn
       105: .line 3339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* surface */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 8 /* xOffset */
            iload 9 /* yOffset */
       106: .line 3340
            iload 6 /* scalingRequired */
            aload 7 /* dirty */
            aload 11 /* surfaceInsets */
       107: .line 3339
            invokevirtual android.view.ViewRootImpl.drawSoftware:(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
       108: .line 3340
            ifne 110
       109: .line 3341
            iconst_0
            ireturn
       110: .line 3346
      StackMap locals:
      StackMap stack:
            iload 3 /* animating */
            ifeq 113
       111: .line 3347
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
       112: .line 3348
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
       113: .line 3350
      StackMap locals:
      StackMap stack:
            iload 14 /* useAsyncReport */
            ireturn
        end local 14 // boolean useAsyncReport
        end local 13 // android.graphics.drawable.Drawable drawable
        end local 12 // boolean accessibilityFocusDirty
        end local 11 // android.graphics.Rect surfaceInsets
        end local 10 // android.view.WindowManager$LayoutParams params
        end local 9 // int yOffset
        end local 8 // int xOffset
        end local 7 // android.graphics.Rect dirty
        end local 6 // boolean scalingRequired
        end local 5 // float appScale
        end local 4 // int curScrollY
        end local 3 // boolean animating
        end local 2 // android.view.Surface surface
        end local 1 // boolean fullRedrawNeeded
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  114     0                     this  Landroid/view/ViewRootImpl;
            0  114     1         fullRedrawNeeded  Z
            1  114     2                  surface  Landroid/view/Surface;
            7   12     4                    count  I
            8   12     5                        i  I
           23  114     3                animating  Z
           25   26     4               curScrollY  I
           27  114     4               curScrollY  I
           33  114     5                 appScale  F
           34  114     6          scalingRequired  Z
           35  114     7                    dirty  Landroid/graphics/Rect;
           45  114     8                  xOffset  I
           46  114     9                  yOffset  I
           47  114    10                   params  Landroid/view/WindowManager$LayoutParams;
           50  114    11            surfaceInsets  Landroid/graphics/Rect;
           55  114    12  accessibilityFocusDirty  Z
           56  114    13                 drawable  Landroid/graphics/drawable/Drawable;
           58   63    14                   bounds  Landroid/graphics/Rect;
           59   63    15                 hasFocus  Z
           67  114    14           useAsyncReport  Z
           72   90    15           invalidateRoot  Z
           82   90    16                  updated  Z
           88   90    17                 callback  Landroid/view/ThreadedRenderer$FrameDrawingCallback;
          100  102    15                        e  Landroid/view/Surface$OutOfResourcesException;
      Exception table:
        from    to  target  type
           5    13      14  any
          14    15      14  any
          95    98      99  Class android.view.Surface$OutOfResourcesException
    MethodParameters:
                  Name  Flags
      fullRedrawNeeded  

  private boolean drawSoftware(android.view.Surface, android.view.View$AttachInfo, int, int, boolean, android.graphics.Rect, android.graphics.Rect);
    descriptor: (Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=16, args_size=8
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.Surface surface
        start local 2 // android.view.View$AttachInfo attachInfo
        start local 3 // int xoff
        start local 4 // int yoff
        start local 5 // boolean scalingRequired
        start local 6 // android.graphics.Rect dirty
        start local 7 // android.graphics.Rect surfaceInsets
         0: .line 3364
            iload 3 /* xoff */
            istore 9 /* dirtyXOffset */
        start local 9 // int dirtyXOffset
         1: .line 3365
            iload 4 /* yoff */
            istore 10 /* dirtyYOffset */
        start local 10 // int dirtyYOffset
         2: .line 3366
            aload 7 /* surfaceInsets */
            ifnull 5
         3: .line 3367
            iload 9 /* dirtyXOffset */
            aload 7 /* surfaceInsets */
            getfield android.graphics.Rect.left:I
            iadd
            istore 9 /* dirtyXOffset */
         4: .line 3368
            iload 10 /* dirtyYOffset */
            aload 7 /* surfaceInsets */
            getfield android.graphics.Rect.top:I
            iadd
            istore 10 /* dirtyYOffset */
         5: .line 3372
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect top int int
      StackMap stack:
            aload 6 /* dirty */
            iload 9 /* dirtyXOffset */
            ineg
            iload 10 /* dirtyYOffset */
            ineg
            invokevirtual android.graphics.Rect.offset:(II)V
         6: .line 3373
            aload 6 /* dirty */
            getfield android.graphics.Rect.left:I
            istore 11 /* left */
        start local 11 // int left
         7: .line 3374
            aload 6 /* dirty */
            getfield android.graphics.Rect.top:I
            istore 12 /* top */
        start local 12 // int top
         8: .line 3375
            aload 6 /* dirty */
            getfield android.graphics.Rect.right:I
            istore 13 /* right */
        start local 13 // int right
         9: .line 3376
            aload 6 /* dirty */
            getfield android.graphics.Rect.bottom:I
            istore 14 /* bottom */
        start local 14 // int bottom
        10: .line 3378
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            aload 6 /* dirty */
            invokevirtual android.view.Surface.lockCanvas:(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
            astore 8 /* canvas */
        start local 8 // android.graphics.Canvas canvas
        11: .line 3382
            iload 11 /* left */
            aload 6 /* dirty */
            getfield android.graphics.Rect.left:I
            if_icmpne 13
            iload 12 /* top */
            aload 6 /* dirty */
            getfield android.graphics.Rect.top:I
            if_icmpne 13
            iload 13 /* right */
            aload 6 /* dirty */
            getfield android.graphics.Rect.right:I
            if_icmpne 13
        12: .line 3383
            iload 14 /* bottom */
            aload 6 /* dirty */
            getfield android.graphics.Rect.bottom:I
            if_icmpeq 14
        13: .line 3384
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect android.graphics.Canvas int int int int int int
      StackMap stack:
            aload 2 /* attachInfo */
            iconst_1
            putfield android.view.View$AttachInfo.mIgnoreDirtyState:Z
        14: .line 3388
      StackMap locals:
      StackMap stack:
            aload 8 /* canvas */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDensity:I
            invokevirtual android.graphics.Canvas.setDensity:(I)V
        end local 14 // int bottom
        end local 13 // int right
        end local 12 // int top
        end local 11 // int left
        15: .line 3389
            goto 28
        end local 8 // android.graphics.Canvas canvas
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect top int int
      StackMap stack: android.view.Surface$OutOfResourcesException
        16: astore 11 /* e */
        start local 11 // android.view.Surface$OutOfResourcesException e
        17: .line 3390
            aload 0 /* this */
            aload 11 /* e */
            invokevirtual android.view.ViewRootImpl.handleOutOfResourcesException:(Landroid/view/Surface$OutOfResourcesException;)V
        18: .line 3400
            aload 6 /* dirty */
            iload 9 /* dirtyXOffset */
            iload 10 /* dirtyYOffset */
            invokevirtual android.graphics.Rect.offset:(II)V
        19: .line 3391
            iconst_0
            ireturn
        end local 11 // android.view.Surface$OutOfResourcesException e
        20: .line 3392
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 11 /* e */
        start local 11 // java.lang.IllegalArgumentException e
        21: .line 3393
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Could not lock surface"
            aload 11 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        22: .line 3397
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        23: .line 3400
            aload 6 /* dirty */
            iload 9 /* dirtyXOffset */
            iload 10 /* dirtyYOffset */
            invokevirtual android.graphics.Rect.offset:(II)V
        24: .line 3398
            iconst_0
            ireturn
        end local 11 // java.lang.IllegalArgumentException e
        25: .line 3399
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        26: .line 3400
            aload 6 /* dirty */
            iload 9 /* dirtyXOffset */
            iload 10 /* dirtyYOffset */
            invokevirtual android.graphics.Rect.offset:(II)V
        27: .line 3401
            aload 15
            athrow
        start local 8 // android.graphics.Canvas canvas
        28: .line 3400
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect android.graphics.Canvas int int
      StackMap stack:
            aload 6 /* dirty */
            iload 9 /* dirtyXOffset */
            iload 10 /* dirtyYOffset */
            invokevirtual android.graphics.Rect.offset:(II)V
        29: .line 3418
            aload 8 /* canvas */
            invokevirtual android.graphics.Canvas.isOpaque:()Z
            ifeq 30
            iload 4 /* yoff */
            ifne 30
            iload 3 /* xoff */
            ifeq 31
        30: .line 3419
      StackMap locals:
      StackMap stack:
            aload 8 /* canvas */
            iconst_0
            getstatic android.graphics.PorterDuff$Mode.CLEAR:Landroid/graphics/PorterDuff$Mode;
            invokevirtual android.graphics.Canvas.drawColor:(ILandroid/graphics/PorterDuff$Mode;)V
        31: .line 3422
      StackMap locals:
      StackMap stack:
            aload 6 /* dirty */
            invokevirtual android.graphics.Rect.setEmpty:()V
        32: .line 3423
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mIsAnimating:Z
        33: .line 3424
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            dup
            getfield android.view.View.mPrivateFlags:I
            bipush 32
            ior
            putfield android.view.View.mPrivateFlags:I
        34: .line 3433
            aload 8 /* canvas */
            iload 3 /* xoff */
            ineg
            i2f
            iload 4 /* yoff */
            ineg
            i2f
            invokevirtual android.graphics.Canvas.translate:(FF)V
        35: .line 3434
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 37
        36: .line 3435
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 8 /* canvas */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateCanvas:(Landroid/graphics/Canvas;)V
        37: .line 3437
      StackMap locals:
      StackMap stack:
            aload 8 /* canvas */
            iload 5 /* scalingRequired */
            ifeq 38
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNoncompatDensity:I
            goto 39
      StackMap locals:
      StackMap stack: android.graphics.Canvas
        38: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect android.graphics.Canvas int int
      StackMap stack: android.graphics.Canvas int
        39: invokevirtual android.graphics.Canvas.setScreenDensity:(I)V
        40: .line 3438
            aload 2 /* attachInfo */
            iconst_0
            putfield android.view.View$AttachInfo.mSetIgnoreDirtyState:Z
        41: .line 3440
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 8 /* canvas */
            invokevirtual android.view.View.draw:(Landroid/graphics/Canvas;)V
        42: .line 3442
            aload 0 /* this */
            aload 8 /* canvas */
            invokevirtual android.view.ViewRootImpl.drawAccessibilityFocusedDrawableIfNeeded:(Landroid/graphics/Canvas;)V
        43: .line 3443
            goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 11
        45: .line 3444
            aload 2 /* attachInfo */
            getfield android.view.View$AttachInfo.mSetIgnoreDirtyState:Z
            ifne 47
        46: .line 3446
            aload 2 /* attachInfo */
            iconst_0
            putfield android.view.View$AttachInfo.mIgnoreDirtyState:Z
        47: .line 3448
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        48: .line 3444
      StackMap locals:
      StackMap stack:
            aload 2 /* attachInfo */
            getfield android.view.View$AttachInfo.mSetIgnoreDirtyState:Z
            ifne 59
        49: .line 3446
            aload 2 /* attachInfo */
            iconst_0
            putfield android.view.View$AttachInfo.mIgnoreDirtyState:Z
        50: .line 3449
            goto 59
      StackMap locals:
      StackMap stack: java.lang.Throwable
        51: astore 12
        52: .line 3451
            aload 1 /* surface */
            aload 8 /* canvas */
            invokevirtual android.view.Surface.unlockCanvasAndPost:(Landroid/graphics/Canvas;)V
        53: .line 3452
            goto 58
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect android.graphics.Canvas int int top java.lang.Throwable
      StackMap stack: java.lang.IllegalArgumentException
        54: astore 13 /* e */
        start local 13 // java.lang.IllegalArgumentException e
        55: .line 3453
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Could not unlock surface"
            aload 13 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        56: .line 3454
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        57: .line 3456
            iconst_0
            ireturn
        end local 13 // java.lang.IllegalArgumentException e
        58: .line 3462
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        59: .line 3451
      StackMap locals: android.view.ViewRootImpl android.view.Surface android.view.View$AttachInfo int int int android.graphics.Rect android.graphics.Rect android.graphics.Canvas int int
      StackMap stack:
            aload 1 /* surface */
            aload 8 /* canvas */
            invokevirtual android.view.Surface.unlockCanvasAndPost:(Landroid/graphics/Canvas;)V
        60: .line 3452
            goto 65
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        61: astore 13 /* e */
        start local 13 // java.lang.IllegalArgumentException e
        62: .line 3453
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Could not unlock surface"
            aload 13 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        63: .line 3454
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mLayoutRequested:Z
        64: .line 3456
            iconst_0
            ireturn
        end local 13 // java.lang.IllegalArgumentException e
        65: .line 3463
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // int dirtyYOffset
        end local 9 // int dirtyXOffset
        end local 8 // android.graphics.Canvas canvas
        end local 7 // android.graphics.Rect surfaceInsets
        end local 6 // android.graphics.Rect dirty
        end local 5 // boolean scalingRequired
        end local 4 // int yoff
        end local 3 // int xoff
        end local 2 // android.view.View$AttachInfo attachInfo
        end local 1 // android.view.Surface surface
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   66     0             this  Landroid/view/ViewRootImpl;
            0   66     1          surface  Landroid/view/Surface;
            0   66     2       attachInfo  Landroid/view/View$AttachInfo;
            0   66     3             xoff  I
            0   66     4             yoff  I
            0   66     5  scalingRequired  Z
            0   66     6            dirty  Landroid/graphics/Rect;
            0   66     7    surfaceInsets  Landroid/graphics/Rect;
           11   16     8           canvas  Landroid/graphics/Canvas;
           28   66     8           canvas  Landroid/graphics/Canvas;
            1   66     9     dirtyXOffset  I
            2   66    10     dirtyYOffset  I
            7   15    11             left  I
            8   15    12              top  I
            9   15    13            right  I
           10   15    14           bottom  I
           17   20    11                e  Landroid/view/Surface$OutOfResourcesException;
           21   25    11                e  Ljava/lang/IllegalArgumentException;
           55   58    13                e  Ljava/lang/IllegalArgumentException;
           62   65    13                e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           5    15      16  Class android.view.Surface$OutOfResourcesException
           5    15      20  Class java.lang.IllegalArgumentException
           5    18      25  any
          20    23      25  any
          34    44      44  any
          29    51      51  any
          52    53      54  Class java.lang.IllegalArgumentException
          59    60      61  Class java.lang.IllegalArgumentException
    MethodParameters:
                 Name  Flags
      surface          
      attachInfo       
      xoff             
      yoff             
      scalingRequired  
      dirty            
      surfaceInsets    

  private void drawAccessibilityFocusedDrawableIfNeeded(android.graphics.Canvas);
    descriptor: (Landroid/graphics/Canvas;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Canvas canvas
         0: .line 3477
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTmpInvalRect:Landroid/graphics/Rect;
            astore 2 /* bounds */
        start local 2 // android.graphics.Rect bounds
         1: .line 3478
            aload 0 /* this */
            aload 2 /* bounds */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedRect:(Landroid/graphics/Rect;)Z
            ifeq 7
         2: .line 3479
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedDrawable:()Landroid/graphics/drawable/Drawable;
            astore 3 /* drawable */
        start local 3 // android.graphics.drawable.Drawable drawable
         3: .line 3480
            aload 3 /* drawable */
            ifnull 9
         4: .line 3481
            aload 3 /* drawable */
            aload 2 /* bounds */
            invokevirtual android.graphics.drawable.Drawable.setBounds:(Landroid/graphics/Rect;)V
         5: .line 3482
            aload 3 /* drawable */
            aload 1 /* canvas */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
        end local 3 // android.graphics.drawable.Drawable drawable
         6: .line 3484
            goto 9
      StackMap locals: android.graphics.Rect
      StackMap stack:
         7: aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAccessibilityFocusDrawable:Landroid/graphics/drawable/Drawable;
            ifnull 9
         8: .line 3485
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mAccessibilityFocusDrawable:Landroid/graphics/drawable/Drawable;
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
         9: .line 3487
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.graphics.Rect bounds
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/view/ViewRootImpl;
            0   10     1    canvas  Landroid/graphics/Canvas;
            1   10     2    bounds  Landroid/graphics/Rect;
            3    6     3  drawable  Landroid/graphics/drawable/Drawable;
    MethodParameters:
        Name  Flags
      canvas  

  private boolean getAccessibilityFocusedRect(android.graphics.Rect);
    descriptor: (Landroid/graphics/Rect;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect bounds
         0: .line 3490
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            getfield android.view.View.mContext:Landroid/content/Context;
            invokestatic android.view.accessibility.AccessibilityManager.getInstance:(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
            astore 2 /* manager */
        start local 2 // android.view.accessibility.AccessibilityManager manager
         1: .line 3491
            aload 2 /* manager */
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 2
            aload 2 /* manager */
            invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
            ifne 3
         2: .line 3492
      StackMap locals: android.view.accessibility.AccessibilityManager
      StackMap stack:
            iconst_0
            ireturn
         3: .line 3495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            astore 3 /* host */
        start local 3 // android.view.View host
         4: .line 3496
            aload 3 /* host */
            ifnull 5
            aload 3 /* host */
            getfield android.view.View.mAttachInfo:Landroid/view/View$AttachInfo;
            ifnonnull 6
         5: .line 3497
      StackMap locals: android.view.View
      StackMap stack:
            iconst_0
            ireturn
         6: .line 3500
      StackMap locals:
      StackMap stack:
            aload 3 /* host */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 4 /* provider */
        start local 4 // android.view.accessibility.AccessibilityNodeProvider provider
         7: .line 3501
            aload 4 /* provider */
            ifnonnull 10
         8: .line 3502
            aload 3 /* host */
            aload 1 /* bounds */
            iconst_1
            invokevirtual android.view.View.getBoundsOnScreen:(Landroid/graphics/Rect;Z)V
         9: .line 3503
            goto 14
      StackMap locals: android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
        10: aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            ifnull 13
        11: .line 3504
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            aload 1 /* bounds */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInScreen:(Landroid/graphics/Rect;)V
        12: .line 3505
            goto 14
        13: .line 3506
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 3510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            astore 5 /* attachInfo */
        start local 5 // android.view.View$AttachInfo attachInfo
        15: .line 3511
            aload 1 /* bounds */
            iconst_0
            aload 5 /* attachInfo */
            getfield android.view.View$AttachInfo.mViewRootImpl:Landroid/view/ViewRootImpl;
            getfield android.view.ViewRootImpl.mScrollY:I
            invokevirtual android.graphics.Rect.offset:(II)V
        16: .line 3512
            aload 1 /* bounds */
            aload 5 /* attachInfo */
            getfield android.view.View$AttachInfo.mWindowLeft:I
            ineg
            aload 5 /* attachInfo */
            getfield android.view.View$AttachInfo.mWindowTop:I
            ineg
            invokevirtual android.graphics.Rect.offset:(II)V
        17: .line 3513
            aload 1 /* bounds */
            iconst_0
            iconst_0
            aload 5 /* attachInfo */
            getfield android.view.View$AttachInfo.mViewRootImpl:Landroid/view/ViewRootImpl;
            getfield android.view.ViewRootImpl.mWidth:I
        18: .line 3514
            aload 5 /* attachInfo */
            getfield android.view.View$AttachInfo.mViewRootImpl:Landroid/view/ViewRootImpl;
            getfield android.view.ViewRootImpl.mHeight:I
        19: .line 3513
            invokevirtual android.graphics.Rect.intersect:(IIII)Z
        20: .line 3514
            ifne 22
        21: .line 3516
            aload 1 /* bounds */
            invokevirtual android.graphics.Rect.setEmpty:()V
        22: .line 3518
      StackMap locals: android.view.View$AttachInfo
      StackMap stack:
            aload 1 /* bounds */
            invokevirtual android.graphics.Rect.isEmpty:()Z
            ifeq 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack:
        23: iconst_1
      StackMap locals:
      StackMap stack: int
        24: ireturn
        end local 5 // android.view.View$AttachInfo attachInfo
        end local 4 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 3 // android.view.View host
        end local 2 // android.view.accessibility.AccessibilityManager manager
        end local 1 // android.graphics.Rect bounds
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Landroid/view/ViewRootImpl;
            0   25     1      bounds  Landroid/graphics/Rect;
            1   25     2     manager  Landroid/view/accessibility/AccessibilityManager;
            4   25     3        host  Landroid/view/View;
            7   25     4    provider  Landroid/view/accessibility/AccessibilityNodeProvider;
           15   25     5  attachInfo  Landroid/view/View$AttachInfo;
    MethodParameters:
        Name  Flags
      bounds  

  private android.graphics.drawable.Drawable getAccessibilityFocusedDrawable();
    descriptor: ()Landroid/graphics/drawable/Drawable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3526
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public void requestInvalidateRootRenderNode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3540
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mInvalidateRootRequested:Z
         1: .line 3541
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  boolean scrollToRectOrFocus(android.graphics.Rect, boolean);
    descriptor: (Landroid/graphics/Rect;Z)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect rectangle
        start local 2 // boolean immediate
         0: .line 3544
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mContentInsets:Landroid/graphics/Rect;
            astore 3 /* ci */
        start local 3 // android.graphics.Rect ci
         1: .line 3545
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mVisibleInsets:Landroid/graphics/Rect;
            astore 4 /* vi */
        start local 4 // android.graphics.Rect vi
         2: .line 3546
            iconst_0
            istore 5 /* scrollY */
        start local 5 // int scrollY
         3: .line 3547
            iconst_0
            istore 6 /* handled */
        start local 6 // boolean handled
         4: .line 3549
            aload 4 /* vi */
            getfield android.graphics.Rect.left:I
            aload 3 /* ci */
            getfield android.graphics.Rect.left:I
            if_icmpgt 6
            aload 4 /* vi */
            getfield android.graphics.Rect.top:I
            aload 3 /* ci */
            getfield android.graphics.Rect.top:I
            if_icmpgt 6
         5: .line 3550
            aload 4 /* vi */
            getfield android.graphics.Rect.right:I
            aload 3 /* ci */
            getfield android.graphics.Rect.right:I
            if_icmpgt 6
            aload 4 /* vi */
            getfield android.graphics.Rect.bottom:I
            aload 3 /* ci */
            getfield android.graphics.Rect.bottom:I
            if_icmple 40
         6: .line 3555
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect int android.graphics.Rect android.graphics.Rect int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollY:I
            istore 5 /* scrollY */
         7: .line 3562
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 7 /* focus */
        start local 7 // android.view.View focus
         8: .line 3563
            aload 7 /* focus */
            ifnonnull 10
         9: .line 3564
            iconst_0
            ireturn
        10: .line 3566
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastScrolledFocus:Ljava/lang/ref/WeakReference;
            ifnull 11
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastScrolledFocus:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast android.view.View
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: android.view.View
        12: astore 8 /* lastScrolledFocus */
        start local 8 // android.view.View lastScrolledFocus
        13: .line 3567
            aload 7 /* focus */
            aload 8 /* lastScrolledFocus */
            if_acmpeq 15
        14: .line 3571
            aconst_null
            astore 1 /* rectangle */
        15: .line 3576
      StackMap locals: android.view.View
      StackMap stack:
            aload 7 /* focus */
            aload 8 /* lastScrolledFocus */
            if_acmpne 17
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollMayChange:Z
            ifne 17
            aload 1 /* rectangle */
            ifnonnull 17
        16: .line 3582
            goto 40
        17: .line 3586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 7 /* focus */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield android.view.ViewRootImpl.mLastScrolledFocus:Ljava/lang/ref/WeakReference;
        18: .line 3587
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mScrollMayChange:Z
        19: .line 3590
            aload 7 /* focus */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mVisRect:Landroid/graphics/Rect;
            aconst_null
            invokevirtual android.view.View.getGlobalVisibleRect:(Landroid/graphics/Rect;Landroid/graphics/Point;)Z
            ifeq 40
        20: .line 3595
            aload 1 /* rectangle */
            ifnonnull 27
        21: .line 3596
            aload 7 /* focus */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getFocusedRect:(Landroid/graphics/Rect;)V
        22: .line 3599
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof android.view.ViewGroup
            ifeq 28
        23: .line 3600
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast android.view.ViewGroup
        24: .line 3601
            aload 7 /* focus */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
        25: .line 3600
            invokevirtual android.view.ViewGroup.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
        26: .line 3607
            goto 28
        27: .line 3608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            aload 1 /* rectangle */
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
        28: .line 3614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mVisRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.intersect:(Landroid/graphics/Rect;)Z
            ifeq 40
        29: .line 3618
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.height:()I
        30: .line 3619
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            aload 4 /* vi */
            getfield android.graphics.Rect.top:I
            isub
            aload 4 /* vi */
            getfield android.graphics.Rect.bottom:I
            isub
            if_icmple 32
        31: .line 3624
            goto 39
        32: .line 3630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 4 /* vi */
            getfield android.graphics.Rect.top:I
            if_icmpge 35
        33: .line 3631
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 4 /* vi */
            getfield android.graphics.Rect.top:I
            isub
            istore 5 /* scrollY */
        34: .line 3634
            goto 39
      StackMap locals:
      StackMap stack:
        35: aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            aload 4 /* vi */
            getfield android.graphics.Rect.bottom:I
            isub
            if_icmple 38
        36: .line 3635
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            aload 4 /* vi */
            getfield android.graphics.Rect.bottom:I
            isub
            isub
            istore 5 /* scrollY */
        37: .line 3638
            goto 39
        38: .line 3639
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* scrollY */
        39: .line 3641
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* handled */
        end local 8 // android.view.View lastScrolledFocus
        end local 7 // android.view.View focus
        40: .line 3647
      StackMap locals:
      StackMap stack:
            iload 5 /* scrollY */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollY:I
            if_icmpeq 49
        41: .line 3650
            iload 2 /* immediate */
            ifne 46
        42: .line 3651
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            ifnonnull 44
        43: .line 3652
            aload 0 /* this */
            new android.widget.Scroller
            dup
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            invokespecial android.widget.Scroller.<init>:(Landroid/content/Context;)V
            putfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
        44: .line 3654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollY:I
            iconst_0
            iload 5 /* scrollY */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScrollY:I
            isub
            invokevirtual android.widget.Scroller.startScroll:(IIII)V
        45: .line 3655
            goto 48
      StackMap locals:
      StackMap stack:
        46: aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            ifnull 48
        47: .line 3656
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mScroller:Landroid/widget/Scroller;
            invokevirtual android.widget.Scroller.abortAnimation:()V
        48: .line 3658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* scrollY */
            putfield android.view.ViewRootImpl.mScrollY:I
        49: .line 3661
      StackMap locals:
      StackMap stack:
            iload 6 /* handled */
            ireturn
        end local 6 // boolean handled
        end local 5 // int scrollY
        end local 4 // android.graphics.Rect vi
        end local 3 // android.graphics.Rect ci
        end local 2 // boolean immediate
        end local 1 // android.graphics.Rect rectangle
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   50     0               this  Landroid/view/ViewRootImpl;
            0   50     1          rectangle  Landroid/graphics/Rect;
            0   50     2          immediate  Z
            1   50     3                 ci  Landroid/graphics/Rect;
            2   50     4                 vi  Landroid/graphics/Rect;
            3   50     5            scrollY  I
            4   50     6            handled  Z
            8   40     7              focus  Landroid/view/View;
           13   40     8  lastScrolledFocus  Landroid/view/View;
    MethodParameters:
           Name  Flags
      rectangle  
      immediate  

  public android.view.View getAccessibilityFocusedHost();
    descriptor: ()Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3668
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public android.view.accessibility.AccessibilityNodeInfo getAccessibilityFocusedVirtualView();
    descriptor: ()Landroid/view/accessibility/AccessibilityNodeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3675
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  void setAccessibilityFocus(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
    descriptor: (Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
        start local 2 // android.view.accessibility.AccessibilityNodeInfo node
         0: .line 3681
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            ifnull 18
         1: .line 3683
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 3 /* focusNode */
        start local 3 // android.view.accessibility.AccessibilityNodeInfo focusNode
         2: .line 3684
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            astore 4 /* focusHost */
        start local 4 // android.view.View focusHost
         3: .line 3691
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
         4: .line 3692
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
         5: .line 3696
            aload 4 /* focusHost */
         6: .line 3697
            bipush 64
         7: .line 3696
            invokevirtual android.view.View.clearAccessibilityFocusNoCallbacks:(I)V
         8: .line 3699
            aload 4 /* focusHost */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 5 /* provider */
        start local 5 // android.view.accessibility.AccessibilityNodeProvider provider
         9: .line 3700
            aload 5 /* provider */
            ifnull 17
        10: .line 3702
            aload 3 /* focusNode */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInParent:(Landroid/graphics/Rect;)V
        11: .line 3703
            aload 4 /* focusHost */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.invalidate:(Landroid/graphics/Rect;)V
        12: .line 3706
            aload 3 /* focusNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId:()J
        13: .line 3705
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 6 /* virtualNodeId */
        start local 6 // int virtualNodeId
        14: .line 3707
            aload 5 /* provider */
            iload 6 /* virtualNodeId */
        15: .line 3708
            sipush 128
            aconst_null
        16: .line 3707
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.performAction:(IILandroid/os/Bundle;)Z
            pop
        end local 6 // int virtualNodeId
        17: .line 3710
      StackMap locals: android.view.accessibility.AccessibilityNodeInfo android.view.View android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
            aload 3 /* focusNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.recycle:()V
        end local 5 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 4 // android.view.View focusHost
        end local 3 // android.view.accessibility.AccessibilityNodeInfo focusNode
        18: .line 3712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            ifnull 22
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            aload 1 /* view */
            if_acmpeq 22
        19: .line 3714
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
        20: .line 3715
            bipush 64
        21: .line 3714
            invokevirtual android.view.View.clearAccessibilityFocusNoCallbacks:(I)V
        22: .line 3719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* view */
            putfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
        23: .line 3720
            aload 0 /* this */
            aload 2 /* node */
            putfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
        24: .line 3722
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 26
        25: .line 3723
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            invokevirtual android.view.ThreadedRenderer.invalidateRoot:()V
        26: .line 3725
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.accessibility.AccessibilityNodeInfo node
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Landroid/view/ViewRootImpl;
            0   27     1           view  Landroid/view/View;
            0   27     2           node  Landroid/view/accessibility/AccessibilityNodeInfo;
            2   18     3      focusNode  Landroid/view/accessibility/AccessibilityNodeInfo;
            3   18     4      focusHost  Landroid/view/View;
            9   18     5       provider  Landroid/view/accessibility/AccessibilityNodeProvider;
           14   17     6  virtualNodeId  I
    MethodParameters:
      Name  Flags
      view  
      node  

  boolean hasPointerCapture();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3728
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerCapture:Z
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  void requestPointerCapture(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean enabled
         0: .line 3732
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerCapture:Z
            iload 1 /* enabled */
            if_icmpne 2
         1: .line 3733
            return
         2: .line 3735
      StackMap locals:
      StackMap stack:
            invokestatic android.hardware.input.InputManager.getInstance:()Landroid/hardware/input/InputManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowToken:Landroid/os/IBinder;
            iload 1 /* enabled */
            invokevirtual android.hardware.input.InputManager.requestPointerCapture:(Landroid/os/IBinder;Z)V
         3: .line 3736
            return
        end local 1 // boolean enabled
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/view/ViewRootImpl;
            0    4     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  private void handlePointerCaptureChanged(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean hasCapture
         0: .line 3739
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerCapture:Z
            iload 1 /* hasCapture */
            if_icmpne 2
         1: .line 3740
            return
         2: .line 3742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* hasCapture */
            putfield android.view.ViewRootImpl.mPointerCapture:Z
         3: .line 3743
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 5
         4: .line 3744
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 1 /* hasCapture */
            invokevirtual android.view.View.dispatchPointerCaptureChanged:(Z)V
         5: .line 3746
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean hasCapture
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/view/ViewRootImpl;
            0    6     1  hasCapture  Z
    MethodParameters:
            Name  Flags
      hasCapture  

  public void requestChildFocus(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.View focused
         0: .line 3753
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 3754
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         2: .line 3755
            return
        end local 2 // android.view.View focused
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/view/ViewRootImpl;
            0    3     1    child  Landroid/view/View;
            0    3     2  focused  Landroid/view/View;
    MethodParameters:
         Name  Flags
      child    
      focused  

  public void clearChildFocus(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
         0: .line 3762
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 3763
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         2: .line 3764
            return
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/view/ViewRootImpl;
            0    3     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  public android.view.ViewParent getParentForAccessibility();
    descriptor: ()Landroid/view/ViewParent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3768
            aconst_null
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public void focusableViewAvailable(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View v
         0: .line 3773
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 3774
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 12
         2: .line 3775
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.hasFocus:()Z
            ifne 6
         3: .line 3776
            getstatic android.view.ViewRootImpl.sAlwaysAssignFocus:Z
            ifne 4
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mInTouchMode:Z
            ifne 12
         4: .line 3777
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual android.view.View.requestFocus:()Z
            pop
         5: .line 3779
            goto 12
         6: .line 3783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 2 /* focused */
        start local 2 // android.view.View focused
         7: .line 3784
            aload 2 /* focused */
            instanceof android.view.ViewGroup
            ifeq 12
         8: .line 3785
            aload 2 /* focused */
            checkcast android.view.ViewGroup
            astore 3 /* group */
        start local 3 // android.view.ViewGroup group
         9: .line 3786
            aload 3 /* group */
            invokevirtual android.view.ViewGroup.getDescendantFocusability:()I
            ldc 262144
            if_icmpne 12
        10: .line 3787
            aload 1 /* v */
            aload 2 /* focused */
            invokestatic android.view.ViewRootImpl.isViewDescendantOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 12
        11: .line 3788
            aload 1 /* v */
            invokevirtual android.view.View.requestFocus:()Z
            pop
        end local 3 // android.view.ViewGroup group
        end local 2 // android.view.View focused
        12: .line 3793
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.View v
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/view/ViewRootImpl;
            0   13     1        v  Landroid/view/View;
            7   12     2  focused  Landroid/view/View;
            9   12     3    group  Landroid/view/ViewGroup;
    MethodParameters:
      Name  Flags
      v     

  public void recomputeViewAttributes(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
         0: .line 3797
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 3798
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* child */
            if_acmpne 5
         2: .line 3799
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mRecomputeGlobalAttributes:Z
         3: .line 3800
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWillDrawSoon:Z
            ifne 5
         4: .line 3801
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         5: .line 3804
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/view/ViewRootImpl;
            0    6     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  void dispatchDetachedFromWindow();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 3807
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
            invokevirtual android.view.ViewRootImpl$InputStage.onDetachedFromWindow:()V
         1: .line 3808
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 4
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            getfield android.view.View.mAttachInfo:Landroid/view/View$AttachInfo;
            ifnull 4
         2: .line 3809
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            iconst_0
            invokevirtual android.view.ViewTreeObserver.dispatchOnWindowAttachedChange:(Z)V
         3: .line 3810
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.dispatchDetachedFromWindow:()V
         4: .line 3813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
            invokevirtual android.view.ViewRootImpl$AccessibilityInteractionConnectionManager.ensureNoConnection:()V
         5: .line 3814
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
         6: .line 3815
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
         7: .line 3814
            invokevirtual android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener:(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
            pop
         8: .line 3816
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
         9: .line 3817
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHighContrastTextManager:Landroid/view/ViewRootImpl$HighContrastTextManager;
        10: .line 3816
            invokevirtual android.view.accessibility.AccessibilityManager.removeHighTextContrastStateChangeListener:(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;)V
        11: .line 3818
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.removeSendWindowContentChangedCallback:()V
        12: .line 3820
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.destroyHardwareRenderer:()V
        13: .line 3822
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
        14: .line 3824
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aconst_null
            invokevirtual android.view.View.assignParent:(Landroid/view/ViewParent;)V
        15: .line 3825
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mView:Landroid/view/View;
        16: .line 3826
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mRootView:Landroid/view/View;
        17: .line 3828
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.release:()V
        18: .line 3830
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            ifnull 23
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
            ifnull 23
        19: .line 3831
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
            invokeinterface android.view.InputQueue$Callback.onInputQueueDestroyed:(Landroid/view/InputQueue;)V
        20: .line 3832
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
            invokevirtual android.view.InputQueue.dispose:()V
        21: .line 3833
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mInputQueueCallback:Landroid/view/InputQueue$Callback;
        22: .line 3834
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mInputQueue:Landroid/view/InputQueue;
        23: .line 3836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
            ifnull 26
        24: .line 3837
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
            invokevirtual android.view.ViewRootImpl$WindowInputEventReceiver.dispose:()V
        25: .line 3838
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
        26: .line 3841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.remove:(Landroid/view/IWindow;)V
        27: .line 3842
            goto 29
      StackMap locals:
      StackMap stack: android.os.RemoteException
        28: pop
        29: .line 3847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
            ifnull 32
        30: .line 3848
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
            invokevirtual android.view.InputChannel.dispose:()V
        31: .line 3849
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mInputChannel:Landroid/view/InputChannel;
        32: .line 3852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplayManager:Landroid/hardware/display/DisplayManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
            invokevirtual android.hardware.display.DisplayManager.unregisterDisplayListener:(Landroid/hardware/display/DisplayManager$DisplayListener;)V
        33: .line 3854
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.unscheduleTraversals:()V
        34: .line 3855
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Landroid/view/ViewRootImpl;
      Exception table:
        from    to  target  type
          26    27      28  Class android.os.RemoteException

  private void performConfigurationChange(android.util.MergedConfiguration, boolean, int);
    descriptor: (Landroid/util/MergedConfiguration;ZI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.util.MergedConfiguration mergedConfiguration
        start local 2 // boolean force
        start local 3 // int newDisplayId
         0: .line 3868
            aload 1 /* mergedConfiguration */
            ifnonnull 2
         1: .line 3869
            new java.lang.IllegalArgumentException
            dup
            ldc "No merged config provided."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 3872
      StackMap locals:
      StackMap stack:
            aload 1 /* mergedConfiguration */
            invokevirtual android.util.MergedConfiguration.getGlobalConfiguration:()Landroid/content/res/Configuration;
            astore 4 /* globalConfig */
        start local 4 // android.content.res.Configuration globalConfig
         3: .line 3873
            aload 1 /* mergedConfiguration */
            invokevirtual android.util.MergedConfiguration.getOverrideConfiguration:()Landroid/content/res/Configuration;
            astore 5 /* overrideConfig */
        start local 5 // android.content.res.Configuration overrideConfig
         4: .line 3879
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayAdjustments:()Landroid/view/DisplayAdjustments;
            invokevirtual android.view.DisplayAdjustments.getCompatibilityInfo:()Landroid/content/res/CompatibilityInfo;
            astore 6 /* ci */
        start local 6 // android.content.res.CompatibilityInfo ci
         5: .line 3880
            aload 6 /* ci */
            getstatic android.content.res.CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO:Landroid/content/res/CompatibilityInfo;
            invokevirtual android.content.res.CompatibilityInfo.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 3881
            new android.content.res.Configuration
            dup
            aload 4 /* globalConfig */
            invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
            astore 4 /* globalConfig */
         7: .line 3882
            aload 6 /* ci */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mNoncompatDensity:I
            aload 4 /* globalConfig */
            invokevirtual android.content.res.CompatibilityInfo.applyToConfiguration:(ILandroid/content/res/Configuration;)V
         8: .line 3885
      StackMap locals: android.content.res.Configuration android.content.res.Configuration android.content.res.CompatibilityInfo
      StackMap stack:
            getstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
            dup
            astore 7
            monitorenter
         9: .line 3886
            getstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 8 /* i */
        start local 8 // int i
        10: goto 13
        11: .line 3887
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            getstatic android.view.ViewRootImpl.sConfigCallbacks:Ljava/util/ArrayList;
            iload 8 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.ViewRootImpl$ConfigChangedCallback
            aload 4 /* globalConfig */
            invokeinterface android.view.ViewRootImpl$ConfigChangedCallback.onConfigurationChanged:(Landroid/content/res/Configuration;)V
        12: .line 3886
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            ifge 11
        end local 8 // int i
        14: .line 3885
            aload 7
            monitorexit
        15: goto 18
      StackMap locals: android.view.ViewRootImpl android.util.MergedConfiguration int int android.content.res.Configuration android.content.res.Configuration android.content.res.CompatibilityInfo java.util.ArrayList
      StackMap stack: java.lang.Throwable
        16: aload 7
            monitorexit
        17: athrow
        18: .line 3891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastReportedMergedConfiguration:Landroid/util/MergedConfiguration;
            aload 4 /* globalConfig */
            aload 5 /* overrideConfig */
            invokevirtual android.util.MergedConfiguration.setConfiguration:(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
        19: .line 3893
            aload 0 /* this */
            iload 2 /* force */
            putfield android.view.ViewRootImpl.mForceNextConfigUpdate:Z
        20: .line 3894
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mActivityConfigCallback:Landroid/view/ViewRootImpl$ActivityConfigCallback;
            ifnull 23
        21: .line 3899
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mActivityConfigCallback:Landroid/view/ViewRootImpl$ActivityConfigCallback;
            aload 5 /* overrideConfig */
            iload 3 /* newDisplayId */
            invokeinterface android.view.ViewRootImpl$ActivityConfigCallback.onConfigurationChanged:(Landroid/content/res/Configuration;I)V
        22: .line 3900
            goto 24
        23: .line 3902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* newDisplayId */
            invokevirtual android.view.ViewRootImpl.updateConfiguration:(I)V
        24: .line 3904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mForceNextConfigUpdate:Z
        25: .line 3905
            return
        end local 6 // android.content.res.CompatibilityInfo ci
        end local 5 // android.content.res.Configuration overrideConfig
        end local 4 // android.content.res.Configuration globalConfig
        end local 3 // int newDisplayId
        end local 2 // boolean force
        end local 1 // android.util.MergedConfiguration mergedConfiguration
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Landroid/view/ViewRootImpl;
            0   26     1  mergedConfiguration  Landroid/util/MergedConfiguration;
            0   26     2                force  Z
            0   26     3         newDisplayId  I
            3   26     4         globalConfig  Landroid/content/res/Configuration;
            4   26     5       overrideConfig  Landroid/content/res/Configuration;
            5   26     6                   ci  Landroid/content/res/CompatibilityInfo;
           10   14     8                    i  I
      Exception table:
        from    to  target  type
           9    15      16  any
          16    17      16  any
    MethodParameters:
                     Name  Flags
      mergedConfiguration  
      force                
      newDisplayId         

  public void updateConfiguration(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int newDisplayId
         0: .line 3912
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 2
         1: .line 3913
            return
         2: .line 3919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getResources:()Landroid/content/res/Resources;
            astore 2 /* localResources */
        start local 2 // android.content.res.Resources localResources
         3: .line 3920
            aload 2 /* localResources */
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            astore 3 /* config */
        start local 3 // android.content.res.Configuration config
         4: .line 3923
            iload 1 /* newDisplayId */
            iconst_m1
            if_icmpeq 6
         5: .line 3924
            aload 0 /* this */
            iload 1 /* newDisplayId */
            aload 3 /* config */
            invokevirtual android.view.ViewRootImpl.onMovedToDisplay:(ILandroid/content/res/Configuration;)V
         6: .line 3928
      StackMap locals: android.content.res.Resources android.content.res.Configuration
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mForceNextConfigUpdate:Z
            ifne 7
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastConfigurationFromResources:Landroid/content/res/Configuration;
            aload 3 /* config */
            invokevirtual android.content.res.Configuration.diff:(Landroid/content/res/Configuration;)I
            ifeq 19
         7: .line 3930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic android.app.ResourcesManager.getInstance:()Landroid/app/ResourcesManager;
         8: .line 3931
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
            invokevirtual android.view.Display.getDisplayId:()I
            aload 2 /* localResources */
         9: .line 3930
            invokevirtual android.app.ResourcesManager.getAdjustedDisplay:(ILandroid/content/res/Resources;)Landroid/view/Display;
            putfield android.view.ViewRootImpl.mDisplay:Landroid/view/Display;
        10: .line 3933
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastConfigurationFromResources:Landroid/content/res/Configuration;
            invokevirtual android.content.res.Configuration.getLayoutDirection:()I
            istore 4 /* lastLayoutDirection */
        start local 4 // int lastLayoutDirection
        11: .line 3934
            aload 3 /* config */
            invokevirtual android.content.res.Configuration.getLayoutDirection:()I
            istore 5 /* currentLayoutDirection */
        start local 5 // int currentLayoutDirection
        12: .line 3935
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastConfigurationFromResources:Landroid/content/res/Configuration;
            aload 3 /* config */
            invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
        13: .line 3936
            iload 4 /* lastLayoutDirection */
            iload 5 /* currentLayoutDirection */
            if_icmpeq 16
        14: .line 3937
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mViewLayoutDirectionInitial:I
            iconst_2
            if_icmpne 16
        15: .line 3938
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 5 /* currentLayoutDirection */
            invokevirtual android.view.View.setLayoutDirection:(I)V
        16: .line 3940
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 3 /* config */
            invokevirtual android.view.View.dispatchConfigurationChanged:(Landroid/content/res/Configuration;)V
        17: .line 3946
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mForceNextWindowRelayout:Z
        18: .line 3947
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.requestLayout:()V
        end local 5 // int currentLayoutDirection
        end local 4 // int lastLayoutDirection
        19: .line 3949
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.content.res.Configuration config
        end local 2 // android.content.res.Resources localResources
        end local 1 // int newDisplayId
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   20     0                    this  Landroid/view/ViewRootImpl;
            0   20     1            newDisplayId  I
            3   20     2          localResources  Landroid/content/res/Resources;
            4   20     3                  config  Landroid/content/res/Configuration;
           11   19     4     lastLayoutDirection  I
           12   19     5  currentLayoutDirection  I
    MethodParameters:
              Name  Flags
      newDisplayId  

  public static boolean isViewDescendantOf(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.View child
        start local 1 // android.view.View parent
         0: .line 3955
            aload 0 /* child */
            aload 1 /* parent */
            if_acmpne 2
         1: .line 3956
            iconst_1
            ireturn
         2: .line 3959
      StackMap locals:
      StackMap stack:
            aload 0 /* child */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 2 /* theParent */
        start local 2 // android.view.ViewParent theParent
         3: .line 3960
            aload 2 /* theParent */
            instanceof android.view.ViewGroup
            ifeq 4
            aload 2 /* theParent */
            checkcast android.view.View
            aload 1 /* parent */
            invokestatic android.view.ViewRootImpl.isViewDescendantOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: android.view.ViewParent
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // android.view.ViewParent theParent
        end local 1 // android.view.View parent
        end local 0 // android.view.View child
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      child  Landroid/view/View;
            0    5     1     parent  Landroid/view/View;
            3    5     2  theParent  Landroid/view/ViewParent;
    MethodParameters:
        Name  Flags
      child   
      parent  

  private static void forceLayout(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.view.View view
         0: .line 3964
            aload 0 /* view */
            invokevirtual android.view.View.forceLayout:()V
         1: .line 3965
            aload 0 /* view */
            instanceof android.view.ViewGroup
            ifeq 9
         2: .line 3966
            aload 0 /* view */
            checkcast android.view.ViewGroup
            astore 1 /* group */
        start local 1 // android.view.ViewGroup group
         3: .line 3967
            aload 1 /* group */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            istore 2 /* count */
        start local 2 // int count
         4: .line 3968
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 3969
      StackMap locals: android.view.ViewGroup int int
      StackMap stack:
            aload 1 /* group */
            iload 3 /* i */
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            invokestatic android.view.ViewRootImpl.forceLayout:(Landroid/view/View;)V
         7: .line 3968
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 6
        end local 3 // int i
        end local 2 // int count
        end local 1 // android.view.ViewGroup group
         9: .line 3972
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.View view
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   view  Landroid/view/View;
            3    9     1  group  Landroid/view/ViewGroup;
            4    9     2  count  I
            5    9     3      i  I
    MethodParameters:
      Name  Flags
      view  

  boolean ensureTouchMode(boolean);
    descriptor: (Z)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean inTouchMode
         0: .line 4294
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mInTouchMode:Z
            iload 1 /* inTouchMode */
            if_icmpne 1
            iconst_0
            ireturn
         1: .line 4298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            iload 1 /* inTouchMode */
            invokeinterface android.view.IWindowSession.setInTouchMode:(Z)V
         2: .line 4299
            goto 5
      StackMap locals:
      StackMap stack: android.os.RemoteException
         3: astore 2 /* e */
        start local 2 // android.os.RemoteException e
         4: .line 4300
            new java.lang.RuntimeException
            dup
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // android.os.RemoteException e
         5: .line 4304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* inTouchMode */
            invokevirtual android.view.ViewRootImpl.ensureTouchModeLocally:(Z)Z
            ireturn
        end local 1 // boolean inTouchMode
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/view/ViewRootImpl;
            0    6     1  inTouchMode  Z
            4    5     2            e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     2       3  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      inTouchMode  

  private boolean ensureTouchModeLocally(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean inTouchMode
         0: .line 4317
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mInTouchMode:Z
            iload 1 /* inTouchMode */
            if_icmpne 1
            iconst_0
            ireturn
         1: .line 4319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 1 /* inTouchMode */
            putfield android.view.View$AttachInfo.mInTouchMode:Z
         2: .line 4320
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            iload 1 /* inTouchMode */
            invokevirtual android.view.ViewTreeObserver.dispatchOnTouchModeChanged:(Z)V
         3: .line 4322
            iload 1 /* inTouchMode */
            ifeq 4
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.enterTouchMode:()Z
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.leaveTouchMode:()Z
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 1 // boolean inTouchMode
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/view/ViewRootImpl;
            0    6     1  inTouchMode  Z
    MethodParameters:
             Name  Flags
      inTouchMode  

  private boolean enterTouchMode();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 4326
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 8
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 8
         1: .line 4330
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 1 /* focused */
        start local 1 // android.view.View focused
         2: .line 4331
            aload 1 /* focused */
            ifnull 8
            aload 1 /* focused */
            invokevirtual android.view.View.isFocusableInTouchMode:()Z
            ifne 8
         3: .line 4332
            aload 1 /* focused */
            invokestatic android.view.ViewRootImpl.findAncestorToTakeFocusInTouchMode:(Landroid/view/View;)Landroid/view/ViewGroup;
            astore 2 /* ancestorToTakeFocus */
        start local 2 // android.view.ViewGroup ancestorToTakeFocus
         4: .line 4333
            aload 2 /* ancestorToTakeFocus */
            ifnull 6
         5: .line 4337
            aload 2 /* ancestorToTakeFocus */
            invokevirtual android.view.ViewGroup.requestFocus:()Z
            ireturn
         6: .line 4341
      StackMap locals: android.view.View android.view.ViewGroup
      StackMap stack:
            aload 1 /* focused */
            aconst_null
            iconst_1
            iconst_0
            invokevirtual android.view.View.clearFocusInternal:(Landroid/view/View;ZZ)V
         7: .line 4342
            iconst_1
            ireturn
        end local 2 // android.view.ViewGroup ancestorToTakeFocus
        end local 1 // android.view.View focused
         8: .line 4346
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Landroid/view/ViewRootImpl;
            2    8     1              focused  Landroid/view/View;
            4    8     2  ancestorToTakeFocus  Landroid/view/ViewGroup;

  private static android.view.ViewGroup findAncestorToTakeFocusInTouchMode(android.view.View);
    descriptor: (Landroid/view/View;)Landroid/view/ViewGroup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.view.View focused
         0: .line 4356
            aload 0 /* focused */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 1 /* parent */
        start local 1 // android.view.ViewParent parent
         1: .line 4357
            goto 9
         2: .line 4358
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aload 1 /* parent */
            checkcast android.view.ViewGroup
            astore 2 /* vgParent */
        start local 2 // android.view.ViewGroup vgParent
         3: .line 4359
            aload 2 /* vgParent */
            invokevirtual android.view.ViewGroup.getDescendantFocusability:()I
            ldc 262144
            if_icmpne 6
         4: .line 4360
            aload 2 /* vgParent */
            invokevirtual android.view.ViewGroup.isFocusableInTouchMode:()Z
            ifeq 6
         5: .line 4361
            aload 2 /* vgParent */
            areturn
         6: .line 4363
      StackMap locals: android.view.ViewGroup
      StackMap stack:
            aload 2 /* vgParent */
            invokevirtual android.view.ViewGroup.isRootNamespace:()Z
            ifeq 8
         7: .line 4364
            aconst_null
            areturn
         8: .line 4366
      StackMap locals:
      StackMap stack:
            aload 2 /* vgParent */
            invokevirtual android.view.ViewGroup.getParent:()Landroid/view/ViewParent;
            astore 1 /* parent */
        end local 2 // android.view.ViewGroup vgParent
         9: .line 4357
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            instanceof android.view.ViewGroup
            ifne 2
        10: .line 4369
            aconst_null
            areturn
        end local 1 // android.view.ViewParent parent
        end local 0 // android.view.View focused
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0   focused  Landroid/view/View;
            1   11     1    parent  Landroid/view/ViewParent;
            3    9     2  vgParent  Landroid/view/ViewGroup;
    MethodParameters:
         Name  Flags
      focused  

  private boolean leaveTouchMode();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 4373
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 10
         1: .line 4374
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 9
         2: .line 4375
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 1 /* focusedView */
        start local 1 // android.view.View focusedView
         3: .line 4376
            aload 1 /* focusedView */
            instanceof android.view.ViewGroup
            ifne 5
         4: .line 4378
            iconst_0
            ireturn
         5: .line 4379
      StackMap locals: android.view.View
      StackMap stack:
            aload 1 /* focusedView */
            checkcast android.view.ViewGroup
            invokevirtual android.view.ViewGroup.getDescendantFocusability:()I
         6: .line 4380
            ldc 262144
         7: .line 4379
            if_icmpeq 9
         8: .line 4383
            iconst_0
            ireturn
        end local 1 // android.view.View focusedView
         9: .line 4389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.restoreDefaultFocus:()Z
            ireturn
        10: .line 4391
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/view/ViewRootImpl;
            3    9     1  focusedView  Landroid/view/View;

  private void resetPointerIcon(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.MotionEvent event
         0: .line 5164
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mPointerIconType:I
         1: .line 5165
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl.updatePointerIcon:(Landroid/view/MotionEvent;)Z
            pop
         2: .line 5166
            return
        end local 1 // android.view.MotionEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/view/ViewRootImpl;
            0    3     1  event  Landroid/view/MotionEvent;
    MethodParameters:
       Name  Flags
      event  

  private boolean updatePointerIcon(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.MotionEvent event
         0: .line 5170
            aload 1 /* event */
            iconst_0
            invokevirtual android.view.MotionEvent.getX:(I)F
            fstore 2 /* x */
        start local 2 // float x
         1: .line 5171
            aload 1 /* event */
            iconst_0
            invokevirtual android.view.MotionEvent.getY:(I)F
            fstore 3 /* y */
        start local 3 // float y
         2: .line 5172
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 5
         3: .line 5174
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "updatePointerIcon called after view was removed"
            invokestatic android.util.Slog.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 5175
            iconst_0
            ireturn
         5: .line 5177
      StackMap locals: float float
      StackMap stack:
            fload 2 /* x */
            fconst_0
            fcmpg
            iflt 6
            fload 2 /* x */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getWidth:()I
            i2f
            fcmpl
            ifge 6
            fload 3 /* y */
            fconst_0
            fcmpg
            iflt 6
            fload 3 /* y */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            i2f
            fcmpl
            iflt 8
         6: .line 5179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "updatePointerIcon called with position out of bounds"
            invokestatic android.util.Slog.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 5180
            iconst_0
            ireturn
         8: .line 5182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* event */
            iconst_0
            invokevirtual android.view.View.onResolvePointerIcon:(Landroid/view/MotionEvent;I)Landroid/view/PointerIcon;
            astore 4 /* pointerIcon */
        start local 4 // android.view.PointerIcon pointerIcon
         9: .line 5183
            aload 4 /* pointerIcon */
            ifnull 11
        10: .line 5184
            aload 4 /* pointerIcon */
            invokevirtual android.view.PointerIcon.getType:()I
            goto 12
      StackMap locals: android.view.PointerIcon
      StackMap stack:
        11: sipush 1000
        12: .line 5183
      StackMap locals:
      StackMap stack: int
            istore 5 /* pointerType */
        start local 5 // int pointerType
        13: .line 5186
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerIconType:I
            iload 5 /* pointerType */
            if_icmpeq 19
        14: .line 5187
            aload 0 /* this */
            iload 5 /* pointerType */
            putfield android.view.ViewRootImpl.mPointerIconType:I
        15: .line 5188
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mCustomPointerIcon:Landroid/view/PointerIcon;
        16: .line 5189
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerIconType:I
            iconst_m1
            if_icmpeq 19
        17: .line 5190
            invokestatic android.hardware.input.InputManager.getInstance:()Landroid/hardware/input/InputManager;
            iload 5 /* pointerType */
            invokevirtual android.hardware.input.InputManager.setPointerIconType:(I)V
        18: .line 5191
            iconst_1
            ireturn
        19: .line 5194
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPointerIconType:I
            iconst_m1
            if_icmpne 23
        20: .line 5195
            aload 4 /* pointerIcon */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCustomPointerIcon:Landroid/view/PointerIcon;
            invokevirtual android.view.PointerIcon.equals:(Ljava/lang/Object;)Z
            ifne 23
        21: .line 5196
            aload 0 /* this */
            aload 4 /* pointerIcon */
            putfield android.view.ViewRootImpl.mCustomPointerIcon:Landroid/view/PointerIcon;
        22: .line 5197
            invokestatic android.hardware.input.InputManager.getInstance:()Landroid/hardware/input/InputManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCustomPointerIcon:Landroid/view/PointerIcon;
            invokevirtual android.hardware.input.InputManager.setCustomPointerIcon:(Landroid/view/PointerIcon;)V
        23: .line 5199
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // int pointerType
        end local 4 // android.view.PointerIcon pointerIcon
        end local 3 // float y
        end local 2 // float x
        end local 1 // android.view.MotionEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Landroid/view/ViewRootImpl;
            0   24     1        event  Landroid/view/MotionEvent;
            1   24     2            x  F
            2   24     3            y  F
            9   24     4  pointerIcon  Landroid/view/PointerIcon;
           13   24     5  pointerType  I
    MethodParameters:
       Name  Flags
      event  

  private void maybeUpdateTooltip(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.MotionEvent event
         0: .line 5203
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getPointerCount:()I
            iconst_1
            if_icmpeq 2
         1: .line 5204
            return
         2: .line 5206
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getActionMasked:()I
            istore 2 /* action */
        start local 2 // int action
         3: .line 5207
            iload 2 /* action */
            bipush 9
            if_icmpeq 7
         4: .line 5208
            iload 2 /* action */
            bipush 7
            if_icmpeq 7
         5: .line 5209
            iload 2 /* action */
            bipush 10
            if_icmpeq 7
         6: .line 5210
            return
         7: .line 5212
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mContext:Landroid/content/Context;
            invokestatic android.view.accessibility.AccessibilityManager.getInstance:(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
            astore 3 /* manager */
        start local 3 // android.view.accessibility.AccessibilityManager manager
         8: .line 5213
            aload 3 /* manager */
            invokevirtual android.view.accessibility.AccessibilityManager.isEnabled:()Z
            ifeq 10
            aload 3 /* manager */
            invokevirtual android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled:()Z
            ifeq 10
         9: .line 5214
            return
        10: .line 5216
      StackMap locals: android.view.accessibility.AccessibilityManager
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 13
        11: .line 5217
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "maybeUpdateTooltip called after view was removed"
            invokestatic android.util.Slog.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        12: .line 5218
            return
        13: .line 5220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* event */
            invokevirtual android.view.View.dispatchTooltipHoverEvent:(Landroid/view/MotionEvent;)Z
            pop
        14: .line 5221
            return
        end local 3 // android.view.accessibility.AccessibilityManager manager
        end local 2 // int action
        end local 1 // android.view.MotionEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Landroid/view/ViewRootImpl;
            0   15     1    event  Landroid/view/MotionEvent;
            3   15     2   action  I
            8   15     3  manager  Landroid/view/accessibility/AccessibilityManager;
    MethodParameters:
       Name  Flags
      event  

  private static boolean isNavigationKey(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.KeyEvent keyEvent
         0: .line 6215
            aload 0 /* keyEvent */
            invokevirtual android.view.KeyEvent.getKeyCode:()I
            lookupswitch { // 12
                   19: 1
                   20: 1
                   21: 1
                   22: 1
                   23: 1
                   61: 1
                   62: 1
                   66: 1
                   92: 1
                   93: 1
                  122: 1
                  123: 1
              default: 2
          }
         1: .line 6228
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 6230
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.view.KeyEvent keyEvent
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  keyEvent  Landroid/view/KeyEvent;
    MethodParameters:
          Name  Flags
      keyEvent  

  private static boolean isTypingKey(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.KeyEvent keyEvent
         0: .line 6239
            aload 0 /* keyEvent */
            invokevirtual android.view.KeyEvent.getUnicodeChar:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.view.KeyEvent keyEvent
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  keyEvent  Landroid/view/KeyEvent;
    MethodParameters:
          Name  Flags
      keyEvent  

  private boolean checkForLeavingTouchModeAndConsume(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.KeyEvent event
         0: .line 6250
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mInTouchMode:Z
            ifne 2
         1: .line 6251
            iconst_0
            ireturn
         2: .line 6255
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            istore 2 /* action */
        start local 2 // int action
         3: .line 6256
            iload 2 /* action */
            ifeq 5
            iload 2 /* action */
            iconst_2
            if_icmpeq 5
         4: .line 6257
            iconst_0
            ireturn
         5: .line 6261
      StackMap locals: int
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getFlags:()I
            iconst_4
            iand
            ifeq 7
         6: .line 6262
            iconst_0
            ireturn
         7: .line 6270
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokestatic android.view.ViewRootImpl.isNavigationKey:(Landroid/view/KeyEvent;)Z
            ifeq 9
         8: .line 6271
            aload 0 /* this */
            iconst_0
            invokevirtual android.view.ViewRootImpl.ensureTouchMode:(Z)Z
            ireturn
         9: .line 6277
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokestatic android.view.ViewRootImpl.isTypingKey:(Landroid/view/KeyEvent;)Z
            ifeq 12
        10: .line 6278
            aload 0 /* this */
            iconst_0
            invokevirtual android.view.ViewRootImpl.ensureTouchMode:(Z)Z
            pop
        11: .line 6279
            iconst_0
            ireturn
        12: .line 6282
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int action
        end local 1 // android.view.KeyEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Landroid/view/ViewRootImpl;
            0   13     1   event  Landroid/view/KeyEvent;
            3   13     2  action  I
    MethodParameters:
       Name  Flags
      event  

  void setLocalDragState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // java.lang.Object obj
         0: .line 6287
            aload 0 /* this */
            aload 1 /* obj */
            putfield android.view.ViewRootImpl.mLocalDragState:Ljava/lang/Object;
         1: .line 6288
            return
        end local 1 // java.lang.Object obj
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private void handleDragEvent(android.view.DragEvent);
    descriptor: (Landroid/view/DragEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.DragEvent event
         0: .line 6294
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 49
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifeq 49
         1: .line 6295
            aload 1 /* event */
            getfield android.view.DragEvent.mAction:I
            istore 2 /* what */
        start local 2 // int what
         2: .line 6299
            iload 2 /* what */
            iconst_1
            if_icmpne 6
         3: .line 6300
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
         4: .line 6301
            aload 0 /* this */
            aload 1 /* event */
            getfield android.view.DragEvent.mClipDescription:Landroid/content/ClipDescription;
            putfield android.view.ViewRootImpl.mDragDescription:Landroid/content/ClipDescription;
         5: .line 6302
            goto 9
         6: .line 6303
      StackMap locals: int
      StackMap stack:
            iload 2 /* what */
            iconst_4
            if_icmpne 8
         7: .line 6304
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mDragDescription:Landroid/content/ClipDescription;
         8: .line 6306
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragDescription:Landroid/content/ClipDescription;
            putfield android.view.DragEvent.mClipDescription:Landroid/content/ClipDescription;
         9: .line 6309
      StackMap locals:
      StackMap stack:
            iload 2 /* what */
            bipush 6
            if_icmpne 14
        10: .line 6313
            getstatic android.view.View.sCascadedDragDrop:Z
            ifeq 12
        11: .line 6314
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* event */
            invokevirtual android.view.View.dispatchDragEnterExitInPreN:(Landroid/view/DragEvent;)Z
            pop
        12: .line 6316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl.setDragFocus:(Landroid/view/View;Landroid/view/DragEvent;)V
        13: .line 6317
            goto 49
        14: .line 6319
      StackMap locals:
      StackMap stack:
            iload 2 /* what */
            iconst_2
            if_icmpeq 15
            iload 2 /* what */
            iconst_3
            if_icmpne 22
        15: .line 6320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
            aload 1 /* event */
            getfield android.view.DragEvent.mX:F
            aload 1 /* event */
            getfield android.view.DragEvent.mY:F
            invokevirtual android.graphics.PointF.set:(FF)V
        16: .line 6321
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 18
        17: .line 6322
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translatePointInScreenToAppWindow:(Landroid/graphics/PointF;)V
        18: .line 6325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ifeq 20
        19: .line 6326
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
            fconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            i2f
            invokevirtual android.graphics.PointF.offset:(FF)V
        20: .line 6329
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
            getfield android.graphics.PointF.x:F
            putfield android.view.DragEvent.mX:F
        21: .line 6330
            aload 1 /* event */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragPoint:Landroid/graphics/PointF;
            getfield android.graphics.PointF.y:F
            putfield android.view.DragEvent.mY:F
        22: .line 6334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            astore 3 /* prevDragView */
        start local 3 // android.view.View prevDragView
        23: .line 6336
            iload 2 /* what */
            iconst_3
            if_icmpne 25
            aload 1 /* event */
            getfield android.view.DragEvent.mClipData:Landroid/content/ClipData;
            ifnull 25
        24: .line 6337
            aload 1 /* event */
            getfield android.view.DragEvent.mClipData:Landroid/content/ClipData;
            invokevirtual android.content.ClipData.prepareToEnterProcess:()V
        25: .line 6341
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* event */
            invokevirtual android.view.View.dispatchDragEvent:(Landroid/view/DragEvent;)Z
            istore 4 /* result */
        start local 4 // boolean result
        26: .line 6343
            iload 2 /* what */
            iconst_2
            if_icmpne 28
            aload 1 /* event */
            getfield android.view.DragEvent.mEventHandlerWasCalled:Z
            ifne 28
        27: .line 6346
            aload 0 /* this */
            aconst_null
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl.setDragFocus:(Landroid/view/View;Landroid/view/DragEvent;)V
        28: .line 6350
      StackMap locals: int
      StackMap stack:
            aload 3 /* prevDragView */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            if_acmpeq 36
        29: .line 6352
            aload 3 /* prevDragView */
            ifnull 31
        30: .line 6353
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.dragRecipientExited:(Landroid/view/IWindow;)V
        31: .line 6355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            ifnull 36
        32: .line 6356
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.dragRecipientEntered:(Landroid/view/IWindow;)V
        33: .line 6358
            goto 36
      StackMap locals:
      StackMap stack: android.os.RemoteException
        34: pop
        35: .line 6359
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Unable to note drag target change"
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        36: .line 6364
      StackMap locals:
      StackMap stack:
            iload 2 /* what */
            iconst_3
            if_icmpne 42
        37: .line 6366
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Reporting drop result: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* result */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        38: .line 6367
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            iload 4 /* result */
            invokeinterface android.view.IWindowSession.reportDropResult:(Landroid/view/IWindow;Z)V
        39: .line 6368
            goto 42
      StackMap locals:
      StackMap stack: android.os.RemoteException
        40: pop
        41: .line 6369
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            ldc "Unable to report drop result"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        42: .line 6374
      StackMap locals:
      StackMap stack:
            iload 2 /* what */
            iconst_4
            if_icmpne 49
        43: .line 6375
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
        44: .line 6376
            aload 0 /* this */
            aconst_null
            invokevirtual android.view.ViewRootImpl.setLocalDragState:(Ljava/lang/Object;)V
        45: .line 6377
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mDragToken:Landroid/os/IBinder;
        46: .line 6378
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDragSurface:Landroid/view/Surface;
            ifnull 49
        47: .line 6379
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mDragSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.release:()V
        48: .line 6380
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mDragSurface:Landroid/view/Surface;
        end local 4 // boolean result
        end local 3 // android.view.View prevDragView
        end local 2 // int what
        49: .line 6385
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.DragEvent.recycle:()V
        50: .line 6386
            return
        end local 1 // android.view.DragEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   51     0          this  Landroid/view/ViewRootImpl;
            0   51     1         event  Landroid/view/DragEvent;
            2   49     2          what  I
           23   49     3  prevDragView  Landroid/view/View;
           26   49     4        result  Z
      Exception table:
        from    to  target  type
          29    33      34  Class android.os.RemoteException
          37    39      40  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      event  

  public void handleDispatchSystemUiVisibilityChanged(android.view.ViewRootImpl$SystemUiVisibilityInfo);
    descriptor: (Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$SystemUiVisibilityInfo args
         0: .line 6389
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSeq:I
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.seq:I
            if_icmpeq 4
         1: .line 6393
            aload 0 /* this */
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.seq:I
            putfield android.view.ViewRootImpl.mSeq:I
         2: .line 6394
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mForceReportNewAttributes:Z
         3: .line 6395
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleTraversals:()V
         4: .line 6397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 5
            return
         5: .line 6398
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.localChanges:I
            ifeq 7
         6: .line 6399
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.localValue:I
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.localChanges:I
            invokevirtual android.view.View.updateLocalSystemUiVisibility:(II)Z
            pop
         7: .line 6402
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            getfield android.view.ViewRootImpl$SystemUiVisibilityInfo.globalVisibility:I
            bipush 7
            iand
            istore 2 /* visibility */
        start local 2 // int visibility
         8: .line 6403
            iload 2 /* visibility */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mGlobalSystemUiVisibility:I
            if_icmpeq 11
         9: .line 6404
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iload 2 /* visibility */
            putfield android.view.View$AttachInfo.mGlobalSystemUiVisibility:I
        10: .line 6405
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 2 /* visibility */
            invokevirtual android.view.View.dispatchSystemUiVisibilityChanged:(I)V
        11: .line 6407
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int visibility
        end local 1 // android.view.ViewRootImpl$SystemUiVisibilityInfo args
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Landroid/view/ViewRootImpl;
            0   12     1        args  Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;
            8   12     2  visibility  I
    MethodParameters:
      Name  Flags
      args  

  public void onWindowTitleChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6413
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_1
            putfield android.view.View$AttachInfo.mForceReportNewAttributes:Z
         1: .line 6414
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  public void handleDispatchWindowShown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6417
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mTreeObserver:Landroid/view/ViewTreeObserver;
            invokevirtual android.view.ViewTreeObserver.dispatchOnWindowShown:()V
         1: .line 6418
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  public void handleRequestKeyboardShortcuts(com.android.internal.os.IResultReceiver, int);
    descriptor: (Lcom/android/internal/os/IResultReceiver;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // com.android.internal.os.IResultReceiver receiver
        start local 2 // int deviceId
         0: .line 6421
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 3 /* data */
        start local 3 // android.os.Bundle data
         1: .line 6422
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.ArrayList list
         2: .line 6423
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 4
         3: .line 6424
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 4 /* list */
            iload 2 /* deviceId */
            invokevirtual android.view.View.requestKeyboardShortcuts:(Ljava/util/List;I)V
         4: .line 6426
      StackMap locals: android.os.Bundle java.util.ArrayList
      StackMap stack:
            aload 3 /* data */
            ldc "shortcuts_array"
            aload 4 /* list */
            invokevirtual android.os.Bundle.putParcelableArrayList:(Ljava/lang/String;Ljava/util/ArrayList;)V
         5: .line 6428
            aload 1 /* receiver */
            iconst_0
            aload 3 /* data */
            invokeinterface com.android.internal.os.IResultReceiver.send:(ILandroid/os/Bundle;)V
         6: .line 6429
            goto 8
      StackMap locals:
      StackMap stack: android.os.RemoteException
         7: pop
         8: .line 6431
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.ArrayList list
        end local 3 // android.os.Bundle data
        end local 2 // int deviceId
        end local 1 // com.android.internal.os.IResultReceiver receiver
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/view/ViewRootImpl;
            0    9     1  receiver  Lcom/android/internal/os/IResultReceiver;
            0    9     2  deviceId  I
            1    9     3      data  Landroid/os/Bundle;
            2    9     4      list  Ljava/util/ArrayList<Landroid/view/KeyboardShortcutGroup;>;
      Exception table:
        from    to  target  type
           5     6       7  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      receiver  
      deviceId  

  public void getLastTouchPoint(android.graphics.Point);
    descriptor: (Landroid/graphics/Point;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Point outLocation
         0: .line 6434
            aload 1 /* outLocation */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastTouchPoint:Landroid/graphics/PointF;
            getfield android.graphics.PointF.x:F
            f2i
            putfield android.graphics.Point.x:I
         1: .line 6435
            aload 1 /* outLocation */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastTouchPoint:Landroid/graphics/PointF;
            getfield android.graphics.PointF.y:F
            f2i
            putfield android.graphics.Point.y:I
         2: .line 6436
            return
        end local 1 // android.graphics.Point outLocation
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/view/ViewRootImpl;
            0    3     1  outLocation  Landroid/graphics/Point;
    MethodParameters:
             Name  Flags
      outLocation  

  public int getLastTouchSource();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6439
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mLastTouchSource:I
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public void setDragFocus(android.view.View, android.view.DragEvent);
    descriptor: (Landroid/view/View;Landroid/view/DragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View newDragTarget
        start local 2 // android.view.DragEvent event
         0: .line 6443
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            aload 1 /* newDragTarget */
            if_acmpeq 18
            getstatic android.view.View.sCascadedDragDrop:Z
            ifne 18
         1: .line 6446
            aload 2 /* event */
            getfield android.view.DragEvent.mX:F
            fstore 3 /* tx */
        start local 3 // float tx
         2: .line 6447
            aload 2 /* event */
            getfield android.view.DragEvent.mY:F
            fstore 4 /* ty */
        start local 4 // float ty
         3: .line 6448
            aload 2 /* event */
            getfield android.view.DragEvent.mAction:I
            istore 5 /* action */
        start local 5 // int action
         4: .line 6449
            aload 2 /* event */
            getfield android.view.DragEvent.mClipData:Landroid/content/ClipData;
            astore 6 /* td */
        start local 6 // android.content.ClipData td
         5: .line 6451
            aload 2 /* event */
            fconst_0
            putfield android.view.DragEvent.mX:F
         6: .line 6452
            aload 2 /* event */
            fconst_0
            putfield android.view.DragEvent.mY:F
         7: .line 6453
            aload 2 /* event */
            aconst_null
            putfield android.view.DragEvent.mClipData:Landroid/content/ClipData;
         8: .line 6455
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            ifnull 11
         9: .line 6456
            aload 2 /* event */
            bipush 6
            putfield android.view.DragEvent.mAction:I
        10: .line 6457
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
            aload 2 /* event */
            invokevirtual android.view.View.callDragEventHandler:(Landroid/view/DragEvent;)Z
            pop
        11: .line 6460
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.DragEvent float float int android.content.ClipData
      StackMap stack:
            aload 1 /* newDragTarget */
            ifnull 14
        12: .line 6461
            aload 2 /* event */
            iconst_5
            putfield android.view.DragEvent.mAction:I
        13: .line 6462
            aload 1 /* newDragTarget */
            aload 2 /* event */
            invokevirtual android.view.View.callDragEventHandler:(Landroid/view/DragEvent;)Z
            pop
        14: .line 6465
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            iload 5 /* action */
            putfield android.view.DragEvent.mAction:I
        15: .line 6466
            aload 2 /* event */
            fload 3 /* tx */
            putfield android.view.DragEvent.mX:F
        16: .line 6467
            aload 2 /* event */
            fload 4 /* ty */
            putfield android.view.DragEvent.mY:F
        17: .line 6468
            aload 2 /* event */
            aload 6 /* td */
            putfield android.view.DragEvent.mClipData:Landroid/content/ClipData;
        end local 6 // android.content.ClipData td
        end local 5 // int action
        end local 4 // float ty
        end local 3 // float tx
        18: .line 6471
      StackMap locals: android.view.ViewRootImpl android.view.View android.view.DragEvent
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newDragTarget */
            putfield android.view.ViewRootImpl.mCurrentDragView:Landroid/view/View;
        19: .line 6472
            return
        end local 2 // android.view.DragEvent event
        end local 1 // android.view.View newDragTarget
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Landroid/view/ViewRootImpl;
            0   20     1  newDragTarget  Landroid/view/View;
            0   20     2          event  Landroid/view/DragEvent;
            2   18     3             tx  F
            3   18     4             ty  F
            4   18     5         action  I
            5   18     6             td  Landroid/content/ClipData;
    MethodParameters:
               Name  Flags
      newDragTarget  
      event          

  private android.media.AudioManager getAudioManager();
    descriptor: ()Landroid/media/AudioManager;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6475
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 2
         1: .line 6476
            new java.lang.IllegalStateException
            dup
            ldc "getAudioManager called when there is no mView"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 6478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAudioManager:Landroid/media/AudioManager;
            ifnonnull 4
         3: .line 6479
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            ldc "audio"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.media.AudioManager
            putfield android.view.ViewRootImpl.mAudioManager:Landroid/media/AudioManager;
         4: .line 6481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAudioManager:Landroid/media/AudioManager;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;

  private android.view.autofill.AutofillManager getAutofillManager();
    descriptor: ()Landroid/view/autofill/AutofillManager;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6485
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof android.view.ViewGroup
            ifeq 6
         1: .line 6486
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast android.view.ViewGroup
            astore 1 /* decorView */
        start local 1 // android.view.ViewGroup decorView
         2: .line 6487
            aload 1 /* decorView */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            ifle 6
         3: .line 6491
            aload 1 /* decorView */
            iconst_0
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
         4: .line 6492
            ldc Landroid/view/autofill/AutofillManager;
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.view.autofill.AutofillManager
         5: .line 6491
            areturn
        end local 1 // android.view.ViewGroup decorView
         6: .line 6495
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Landroid/view/ViewRootImpl;
            2    6     1  decorView  Landroid/view/ViewGroup;

  private boolean isAutofillUiShowing();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6499
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.getAutofillManager:()Landroid/view/autofill/AutofillManager;
            astore 1 /* afm */
        start local 1 // android.view.autofill.AutofillManager afm
         1: .line 6500
            aload 1 /* afm */
            ifnonnull 3
         2: .line 6501
            iconst_0
            ireturn
         3: .line 6503
      StackMap locals: android.view.autofill.AutofillManager
      StackMap stack:
            aload 1 /* afm */
            invokevirtual android.view.autofill.AutofillManager.isAutofillUiShowing:()Z
            ireturn
        end local 1 // android.view.autofill.AutofillManager afm
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;
            1    4     1   afm  Landroid/view/autofill/AutofillManager;

  public android.view.AccessibilityInteractionController getAccessibilityInteractionController();
    descriptor: ()Landroid/view/AccessibilityInteractionController;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6507
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnonnull 2
         1: .line 6508
            new java.lang.IllegalStateException
            dup
            ldc "getAccessibilityInteractionController called when there is no mView"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 6511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionController:Landroid/view/AccessibilityInteractionController;
            ifnonnull 4
         3: .line 6512
            aload 0 /* this */
            new android.view.AccessibilityInteractionController
            dup
            aload 0 /* this */
            invokespecial android.view.AccessibilityInteractionController.<init>:(Landroid/view/ViewRootImpl;)V
            putfield android.view.ViewRootImpl.mAccessibilityInteractionController:Landroid/view/AccessibilityInteractionController;
         4: .line 6514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityInteractionController:Landroid/view/AccessibilityInteractionController;
            areturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;

  private int relayoutWindow(android.view.WindowManager$LayoutParams, int, boolean);
    descriptor: (Landroid/view/WindowManager$LayoutParams;IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=20, locals=9, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.WindowManager$LayoutParams params
        start local 2 // int viewVisibility
        start local 3 // boolean insetsPending
         0: .line 6520
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mApplicationScale:F
            fstore 4 /* appScale */
        start local 4 // float appScale
         1: .line 6521
            iconst_0
            istore 5 /* restore */
        start local 5 // boolean restore
         2: .line 6522
            aload 1 /* params */
            ifnull 6
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 6
         3: .line 6523
            iconst_1
            istore 5 /* restore */
         4: .line 6524
            aload 1 /* params */
            invokevirtual android.view.WindowManager$LayoutParams.backup:()V
         5: .line 6525
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 1 /* params */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateWindowLayout:(Landroid/view/WindowManager$LayoutParams;)V
         6: .line 6528
      StackMap locals: float int
      StackMap stack:
            aload 1 /* params */
            ifnull 13
         7: .line 6531
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mOrigWindowType:I
            aload 1 /* params */
            getfield android.view.WindowManager$LayoutParams.type:I
            if_icmpeq 13
         8: .line 6533
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTargetSdkVersion:I
            bipush 14
            if_icmpge 13
         9: .line 6534
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Window type can not be changed after the window is added; ignoring change of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 6535
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 6534
            invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        12: .line 6536
            aload 1 /* params */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mOrigWindowType:I
            putfield android.view.WindowManager$LayoutParams.type:I
        13: .line 6541
      StackMap locals:
      StackMap stack:
            ldc -1
            lstore 6 /* frameNumber */
        start local 6 // long frameNumber
        14: .line 6542
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.isValid:()Z
            ifeq 16
        15: .line 6543
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.getNextFrameNumber:()J
            lstore 6 /* frameNumber */
        16: .line 6546
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSeq:I
            aload 1 /* params */
        17: .line 6547
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getMeasuredWidth:()I
            i2f
            fload 4 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
        18: .line 6548
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getMeasuredHeight:()I
            i2f
            fload 4 /* appScale */
            fmul
            ldc 0.5
            fadd
            f2i
            iload 2 /* viewVisibility */
        19: .line 6549
            iload 3 /* insetsPending */
            ifeq 20
            iconst_1
            goto 21
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int float int long
      StackMap stack: android.view.IWindowSession android.view.ViewRootImpl$W int android.view.WindowManager$LayoutParams int int int
        20: iconst_0
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int float int long
      StackMap stack: android.view.IWindowSession android.view.ViewRootImpl$W int android.view.WindowManager$LayoutParams int int int int
        21: lload 6 /* frameNumber */
        22: .line 6550
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
        23: .line 6551
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOutsets:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingBackDropFrame:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
        24: .line 6552
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingMergedConfiguration:Landroid/util/MergedConfiguration;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
        25: .line 6546
            invokeinterface android.view.IWindowSession.relayout:(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
            istore 8 /* relayoutResult */
        start local 8 // int relayoutResult
        26: .line 6554
            aload 0 /* this */
        27: .line 6555
            iload 8 /* relayoutResult */
            bipush 64
            iand
            ifeq 28
            iconst_1
            goto 29
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int float int long int
      StackMap stack: android.view.ViewRootImpl
        28: iconst_0
        29: .line 6554
      StackMap locals: android.view.ViewRootImpl android.view.WindowManager$LayoutParams int int float int long int
      StackMap stack: android.view.ViewRootImpl int
            putfield android.view.ViewRootImpl.mPendingAlwaysConsumeNavBar:Z
        30: .line 6557
            iload 5 /* restore */
            ifeq 32
        31: .line 6558
            aload 1 /* params */
            invokevirtual android.view.WindowManager$LayoutParams.restore:()V
        32: .line 6561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 38
        33: .line 6562
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWinFrame:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWinFrame:(Landroid/graphics/Rect;)V
        34: .line 6563
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingOverscanInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        35: .line 6564
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingContentInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        36: .line 6565
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingVisibleInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        37: .line 6566
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingStableInsets:Landroid/graphics/Rect;
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        38: .line 6568
      StackMap locals:
      StackMap stack:
            iload 8 /* relayoutResult */
            ireturn
        end local 8 // int relayoutResult
        end local 6 // long frameNumber
        end local 5 // boolean restore
        end local 4 // float appScale
        end local 3 // boolean insetsPending
        end local 2 // int viewVisibility
        end local 1 // android.view.WindowManager$LayoutParams params
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   39     0            this  Landroid/view/ViewRootImpl;
            0   39     1          params  Landroid/view/WindowManager$LayoutParams;
            0   39     2  viewVisibility  I
            0   39     3   insetsPending  Z
            1   39     4        appScale  F
            2   39     5         restore  Z
           14   39     6     frameNumber  J
           26   39     8  relayoutResult  I
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
                Name  Flags
      params          
      viewVisibility  
      insetsPending   

  public void playSoundEffect(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int effectId
         0: .line 6576
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 6579
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.getAudioManager:()Landroid/media/AudioManager;
            astore 2 /* audioManager */
        start local 2 // android.media.AudioManager audioManager
         2: .line 6581
            iload 1 /* effectId */
            tableswitch { // 0 - 4
                    0: 3
                    1: 7
                    2: 11
                    3: 9
                    4: 5
              default: 13
          }
         3: .line 6583
      StackMap locals: android.media.AudioManager
      StackMap stack:
            aload 2 /* audioManager */
            iconst_0
            invokevirtual android.media.AudioManager.playSoundEffect:(I)V
         4: .line 6584
            return
         5: .line 6586
      StackMap locals:
      StackMap stack:
            aload 2 /* audioManager */
            iconst_2
            invokevirtual android.media.AudioManager.playSoundEffect:(I)V
         6: .line 6587
            return
         7: .line 6589
      StackMap locals:
      StackMap stack:
            aload 2 /* audioManager */
            iconst_3
            invokevirtual android.media.AudioManager.playSoundEffect:(I)V
         8: .line 6590
            return
         9: .line 6592
      StackMap locals:
      StackMap stack:
            aload 2 /* audioManager */
            iconst_4
            invokevirtual android.media.AudioManager.playSoundEffect:(I)V
        10: .line 6593
            return
        11: .line 6595
      StackMap locals:
      StackMap stack:
            aload 2 /* audioManager */
            iconst_1
            invokevirtual android.media.AudioManager.playSoundEffect:(I)V
        12: .line 6596
            return
        13: .line 6598
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown effect id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* effectId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 6599
            ldc " not defined in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Landroid/view/SoundEffectConstants;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 6598
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // android.media.AudioManager audioManager
        16: .line 6601
      StackMap locals: android.view.ViewRootImpl int
      StackMap stack: java.lang.IllegalStateException
            astore 2 /* e */
        start local 2 // java.lang.IllegalStateException e
        17: .line 6603
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "FATAL EXCEPTION when attempting to play sound effect: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 6604
            aload 2 /* e */
            invokevirtual java.lang.IllegalStateException.printStackTrace:()V
        end local 2 // java.lang.IllegalStateException e
        19: .line 6606
            return
        end local 1 // int effectId
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Landroid/view/ViewRootImpl;
            0   20     1      effectId  I
            2   16     2  audioManager  Landroid/media/AudioManager;
           17   19     2             e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           1     4      16  Class java.lang.IllegalStateException
           5     6      16  Class java.lang.IllegalStateException
           7     8      16  Class java.lang.IllegalStateException
           9    10      16  Class java.lang.IllegalStateException
          11    12      16  Class java.lang.IllegalStateException
          13    16      16  Class java.lang.IllegalStateException
    MethodParameters:
          Name  Flags
      effectId  

  public boolean performHapticFeedback(int, boolean);
    descriptor: (IZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int effectId
        start local 2 // boolean always
         0: .line 6614
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            iload 1 /* effectId */
            iload 2 /* always */
            invokeinterface android.view.IWindowSession.performHapticFeedback:(Landroid/view/IWindow;IZ)Z
         1: ireturn
         2: .line 6615
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 6616
            iconst_0
            ireturn
        end local 2 // boolean always
        end local 1 // int effectId
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/view/ViewRootImpl;
            0    4     1  effectId  I
            0    4     2    always  Z
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      effectId  
      always    

  public android.view.View focusSearch(android.view.View, int);
    descriptor: (Landroid/view/View;I)Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View focused
        start local 2 // int direction
         0: .line 6625
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 6626
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            instanceof android.view.ViewGroup
            ifne 3
         2: .line 6627
            aconst_null
            areturn
         3: .line 6629
      StackMap locals:
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            checkcast android.view.ViewGroup
            aload 1 /* focused */
            iload 2 /* direction */
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            areturn
        end local 2 // int direction
        end local 1 // android.view.View focused
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/view/ViewRootImpl;
            0    4     1    focused  Landroid/view/View;
            0    4     2  direction  I
    MethodParameters:
           Name  Flags
      focused    
      direction  

  public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
    descriptor: (Landroid/view/View;I)Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View currentCluster
        start local 2 // int direction
         0: .line 6638
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 6639
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
         2: .line 6640
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* currentCluster */
            iload 2 /* direction */
         3: .line 6639
            invokevirtual android.view.FocusFinder.findNextKeyboardNavigationCluster:(Landroid/view/View;Landroid/view/View;I)Landroid/view/View;
            areturn
        end local 2 // int direction
        end local 1 // android.view.View currentCluster
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Landroid/view/ViewRootImpl;
            0    4     1  currentCluster  Landroid/view/View;
            0    4     2       direction  I
    MethodParameters:
                Name  Flags
      currentCluster  
      direction       

  public void debug();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6644
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.debug:()V
         1: .line 6645
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // android.view.ViewRootImpl this
        start local 1 // java.lang.String prefix
        start local 2 // java.io.FileDescriptor fd
        start local 3 // java.io.PrintWriter writer
        start local 4 // java.lang.String[] args
         0: .line 6648
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* innerPrefix */
        start local 5 // java.lang.String innerPrefix
         1: .line 6649
            aload 3 /* writer */
            aload 1 /* prefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "ViewRoot:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 6650
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mAdded="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            invokevirtual java.io.PrintWriter.print:(Z)V
         3: .line 6651
            aload 3 /* writer */
            ldc " mRemoved="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRemoved:Z
            invokevirtual java.io.PrintWriter.println:(Z)V
         4: .line 6652
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mConsumeBatchedInputScheduled="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         5: .line 6653
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
            invokevirtual java.io.PrintWriter.println:(Z)V
         6: .line 6654
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mConsumeBatchedInputImmediatelyScheduled="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 6655
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputImmediatelyScheduled:Z
            invokevirtual java.io.PrintWriter.println:(Z)V
         8: .line 6656
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mPendingInputEventCount="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         9: .line 6657
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventCount:I
            invokevirtual java.io.PrintWriter.println:(I)V
        10: .line 6658
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mProcessInputEventsScheduled="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        11: .line 6659
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProcessInputEventsScheduled:Z
            invokevirtual java.io.PrintWriter.println:(Z)V
        12: .line 6660
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mTraversalScheduled="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        13: .line 6661
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            invokevirtual java.io.PrintWriter.print:(Z)V
        14: .line 6662
            aload 3 /* writer */
            aload 5 /* innerPrefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "mIsAmbientMode="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        15: .line 6663
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsAmbientMode:Z
            invokevirtual java.io.PrintWriter.print:(Z)V
        16: .line 6664
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalScheduled:Z
            ifeq 19
        17: .line 6665
            aload 3 /* writer */
            ldc " (barrier="
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTraversalBarrier:I
            invokevirtual java.io.PrintWriter.print:(I)V
            aload 3 /* writer */
            ldc ")"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        18: .line 6666
            goto 20
        19: .line 6667
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* writer */
            invokevirtual java.io.PrintWriter.println:()V
        20: .line 6669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
            aload 5 /* innerPrefix */
            aload 3 /* writer */
            invokevirtual android.view.ViewRootImpl$InputStage.dump:(Ljava/lang/String;Ljava/io/PrintWriter;)V
        21: .line 6671
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            aload 1 /* prefix */
            aload 3 /* writer */
            invokevirtual android.view.Choreographer.dump:(Ljava/lang/String;Ljava/io/PrintWriter;)V
        22: .line 6673
            aload 3 /* writer */
            aload 1 /* prefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            aload 3 /* writer */
            ldc "View Hierarchy:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        23: .line 6674
            aload 0 /* this */
            aload 5 /* innerPrefix */
            aload 3 /* writer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.ViewRootImpl.dumpViewHierarchy:(Ljava/lang/String;Ljava/io/PrintWriter;Landroid/view/View;)V
        24: .line 6675
            return
        end local 5 // java.lang.String innerPrefix
        end local 4 // java.lang.String[] args
        end local 3 // java.io.PrintWriter writer
        end local 2 // java.io.FileDescriptor fd
        end local 1 // java.lang.String prefix
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Landroid/view/ViewRootImpl;
            0   25     1       prefix  Ljava/lang/String;
            0   25     2           fd  Ljava/io/FileDescriptor;
            0   25     3       writer  Ljava/io/PrintWriter;
            0   25     4         args  [Ljava/lang/String;
            1   25     5  innerPrefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  
      fd      
      writer  
      args    

  private void dumpViewHierarchy(java.lang.String, java.io.PrintWriter, android.view.View);
    descriptor: (Ljava/lang/String;Ljava/io/PrintWriter;Landroid/view/View;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // java.lang.String prefix
        start local 2 // java.io.PrintWriter writer
        start local 3 // android.view.View view
         0: .line 6678
            aload 2 /* writer */
            aload 1 /* prefix */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 6679
            aload 3 /* view */
            ifnonnull 4
         2: .line 6680
            aload 2 /* writer */
            ldc "null"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 6681
            return
         4: .line 6683
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            aload 3 /* view */
            invokevirtual android.view.View.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 6684
            aload 3 /* view */
            instanceof android.view.ViewGroup
            ifne 7
         6: .line 6685
            return
         7: .line 6687
      StackMap locals:
      StackMap stack:
            aload 3 /* view */
            checkcast android.view.ViewGroup
            astore 4 /* grp */
        start local 4 // android.view.ViewGroup grp
         8: .line 6688
            aload 4 /* grp */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            istore 5 /* N */
        start local 5 // int N
         9: .line 6689
            iload 5 /* N */
            ifgt 11
        10: .line 6690
            return
        11: .line 6692
      StackMap locals: android.view.ViewGroup int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* prefix */
        12: .line 6693
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 16
        14: .line 6694
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prefix */
            aload 2 /* writer */
            aload 4 /* grp */
            iload 6 /* i */
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.ViewRootImpl.dumpViewHierarchy:(Ljava/lang/String;Ljava/io/PrintWriter;Landroid/view/View;)V
        15: .line 6693
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 5 /* N */
            if_icmplt 14
        end local 6 // int i
        17: .line 6696
            return
        end local 5 // int N
        end local 4 // android.view.ViewGroup grp
        end local 3 // android.view.View view
        end local 2 // java.io.PrintWriter writer
        end local 1 // java.lang.String prefix
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Landroid/view/ViewRootImpl;
            0   18     1  prefix  Ljava/lang/String;
            0   18     2  writer  Ljava/io/PrintWriter;
            0   18     3    view  Landroid/view/View;
            8   18     4     grp  Landroid/view/ViewGroup;
            9   18     5       N  I
           13   17     6       i  I
    MethodParameters:
        Name  Flags
      prefix  
      writer  
      view    

  public void dumpGfxInfo(int[]);
    descriptor: ([I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int[] info
         0: .line 6699
            aload 1 /* info */
            iconst_0
            aload 1 /* info */
            iconst_1
            iconst_0
            dup_x2
            iastore
            iastore
         1: .line 6700
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 3
         2: .line 6701
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* info */
            invokestatic android.view.ViewRootImpl.getGfxInfo:(Landroid/view/View;[I)V
         3: .line 6703
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int[] info
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;
            0    4     1  info  [I
    MethodParameters:
      Name  Flags
      info  

  private static void getGfxInfo(android.view.View, int[]);
    descriptor: (Landroid/view/View;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.view.View view
        start local 1 // int[] info
         0: .line 6706
            aload 0 /* view */
            getfield android.view.View.mRenderNode:Landroid/view/RenderNode;
            astore 2 /* renderNode */
        start local 2 // android.view.RenderNode renderNode
         1: .line 6707
            aload 1 /* info */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         2: .line 6708
            aload 2 /* renderNode */
            ifnull 4
         3: .line 6709
            aload 1 /* info */
            iconst_1
            dup2
            iaload
            aload 2 /* renderNode */
            invokevirtual android.view.RenderNode.getDebugSize:()I
            iadd
            iastore
         4: .line 6712
      StackMap locals: android.view.RenderNode
      StackMap stack:
            aload 0 /* view */
            instanceof android.view.ViewGroup
            ifeq 12
         5: .line 6713
            aload 0 /* view */
            checkcast android.view.ViewGroup
            astore 3 /* group */
        start local 3 // android.view.ViewGroup group
         6: .line 6715
            aload 3 /* group */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            istore 4 /* count */
        start local 4 // int count
         7: .line 6716
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 6717
      StackMap locals: android.view.ViewGroup int int
      StackMap stack:
            aload 3 /* group */
            iload 5 /* i */
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            aload 1 /* info */
            invokestatic android.view.ViewRootImpl.getGfxInfo:(Landroid/view/View;[I)V
        10: .line 6716
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 9
        end local 5 // int i
        end local 4 // int count
        end local 3 // android.view.ViewGroup group
        12: .line 6720
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.RenderNode renderNode
        end local 1 // int[] info
        end local 0 // android.view.View view
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        view  Landroid/view/View;
            0   13     1        info  [I
            1   13     2  renderNode  Landroid/view/RenderNode;
            6   12     3       group  Landroid/view/ViewGroup;
            7   12     4       count  I
            8   12     5           i  I
    MethodParameters:
      Name  Flags
      view  
      info  

  boolean die(boolean);
    descriptor: (Z)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean immediate
         0: .line 6729
            iload 1 /* immediate */
            ifeq 3
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsInTraversal:Z
            ifne 3
         1: .line 6730
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.doDie:()V
         2: .line 6731
            iconst_0
            ireturn
         3: .line 6734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mIsDrawing:Z
            ifne 6
         4: .line 6735
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.destroyHardwareRenderer:()V
         5: .line 6736
            goto 9
         6: .line 6737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Attempting to destroy the window while drawing!\n  window="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 6738
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", title="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            invokevirtual android.view.WindowManager$LayoutParams.getTitle:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 6737
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 6740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iconst_3
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendEmptyMessage:(I)Z
            pop
        10: .line 6741
            iconst_1
            ireturn
        end local 1 // boolean immediate
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Landroid/view/ViewRootImpl;
            0   11     1  immediate  Z
    MethodParameters:
           Name  Flags
      immediate  

  void doDie();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6745
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.checkThread:()V
         1: .line 6747
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 6748
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mRemoved:Z
            ifeq 5
         3: .line 6749
            aload 1
            monitorexit
         4: return
         5: .line 6751
      StackMap locals: android.view.ViewRootImpl
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mRemoved:Z
         6: .line 6752
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifeq 8
         7: .line 6753
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.dispatchDetachedFromWindow:()V
         8: .line 6756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAdded:Z
            ifeq 23
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirst:Z
            ifne 23
         9: .line 6757
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.destroyHardwareRenderer:()V
        10: .line 6759
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 23
        11: .line 6760
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.View.getVisibility:()I
            istore 2 /* viewVisibility */
        start local 2 // int viewVisibility
        12: .line 6761
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mViewVisibility:I
            iload 2 /* viewVisibility */
            if_icmpeq 13
            iconst_1
            goto 14
      StackMap locals: int
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 3 /* viewVisibilityChanged */
        start local 3 // boolean viewVisibilityChanged
        15: .line 6762
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributesChanged:Z
            ifne 16
            iload 3 /* viewVisibilityChanged */
            ifeq 22
        16: .line 6767
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            iload 2 /* viewVisibility */
            iconst_0
            invokevirtual android.view.ViewRootImpl.relayoutWindow:(Landroid/view/WindowManager$LayoutParams;IZ)I
        17: .line 6768
            iconst_2
        18: .line 6767
            iand
            ifeq 22
        19: .line 6769
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            invokeinterface android.view.IWindowSession.finishDrawing:(Landroid/view/IWindow;)V
        20: .line 6771
            goto 22
      StackMap locals:
      StackMap stack: android.os.RemoteException
        21: pop
        22: .line 6775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSurface:Landroid/view/Surface;
            invokevirtual android.view.Surface.release:()V
        end local 3 // boolean viewVisibilityChanged
        end local 2 // int viewVisibility
        23: .line 6779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mAdded:Z
        24: .line 6747
            aload 1
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 1
            monitorexit
        27: athrow
        28: .line 6781
      StackMap locals:
      StackMap stack:
            invokestatic android.view.WindowManagerGlobal.getInstance:()Landroid/view/WindowManagerGlobal;
            aload 0 /* this */
            invokevirtual android.view.WindowManagerGlobal.doRemoveView:(Landroid/view/ViewRootImpl;)V
        29: .line 6782
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Landroid/view/ViewRootImpl;
           12   23     2         viewVisibility  I
           15   23     3  viewVisibilityChanged  Z
      Exception table:
        from    to  target  type
          16    20      21  Class android.os.RemoteException
           2     4      26  any
           5    25      26  any
          26    27      26  any

  public void requestUpdateConfiguration(android.content.res.Configuration);
    descriptor: (Landroid/content/res/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.content.res.Configuration config
         0: .line 6785
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 18
            aload 1 /* config */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 6786
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         2: .line 6787
            return
        end local 2 // android.os.Message msg
        end local 1 // android.content.res.Configuration config
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/view/ViewRootImpl;
            0    3     1  config  Landroid/content/res/Configuration;
            1    3     2     msg  Landroid/os/Message;
    MethodParameters:
        Name  Flags
      config  

  public void loadSystemProperties();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6790
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            new android.view.ViewRootImpl$4
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$4.<init>:(Landroid/view/ViewRootImpl;)V
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.post:(Ljava/lang/Runnable;)Z
            pop
         1: .line 6814
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  private void destroyHardwareRenderer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 6817
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            astore 1 /* hardwareRenderer */
        start local 1 // android.view.ThreadedRenderer hardwareRenderer
         1: .line 6819
            aload 1 /* hardwareRenderer */
            ifnull 8
         2: .line 6820
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 4
         3: .line 6821
            aload 1 /* hardwareRenderer */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            invokevirtual android.view.ThreadedRenderer.destroyHardwareResources:(Landroid/view/View;)V
         4: .line 6823
      StackMap locals: android.view.ThreadedRenderer
      StackMap stack:
            aload 1 /* hardwareRenderer */
            invokevirtual android.view.ThreadedRenderer.destroy:()V
         5: .line 6824
            aload 1 /* hardwareRenderer */
            iconst_0
            invokevirtual android.view.ThreadedRenderer.setRequested:(Z)V
         6: .line 6826
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            aconst_null
            putfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
         7: .line 6827
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            iconst_0
            putfield android.view.View$AttachInfo.mHardwareAccelerated:Z
         8: .line 6829
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.ThreadedRenderer hardwareRenderer
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Landroid/view/ViewRootImpl;
            1    9     1  hardwareRenderer  Landroid/view/ThreadedRenderer;

  private void dispatchResized(android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, boolean, android.util.MergedConfiguration, android.graphics.Rect, boolean, boolean, int, android.view.DisplayCutout$ParcelableWrapper);
    descriptor: (Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=14
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect frame
        start local 2 // android.graphics.Rect overscanInsets
        start local 3 // android.graphics.Rect contentInsets
        start local 4 // android.graphics.Rect visibleInsets
        start local 5 // android.graphics.Rect stableInsets
        start local 6 // android.graphics.Rect outsets
        start local 7 // boolean reportDraw
        start local 8 // android.util.MergedConfiguration mergedConfiguration
        start local 9 // android.graphics.Rect backDropFrame
        start local 10 // boolean forceLayout
        start local 11 // boolean alwaysConsumeNavBar
        start local 12 // int displayId
        start local 13 // android.view.DisplayCutout$ParcelableWrapper displayCutout
         0: .line 6844
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            ifeq 14
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifeq 14
         1: .line 6845
            aload 1 /* frame */
            aload 9 /* backDropFrame */
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            istore 14 /* fullscreen */
        start local 14 // boolean fullscreen
         2: .line 6846
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            dup
            astore 15
            monitorenter
         3: .line 6847
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 16 /* i */
        start local 16 // int i
         4: goto 9
         5: .line 6848
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 16 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
            aload 9 /* backDropFrame */
            iload 14 /* fullscreen */
         6: .line 6849
            aload 4 /* visibleInsets */
            aload 5 /* stableInsets */
         7: .line 6848
            invokeinterface android.view.WindowCallbacks.onWindowSizeIsChanging:(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;)V
         8: .line 6847
            iinc 16 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 16 /* i */
            ifge 5
        end local 16 // int i
        10: .line 6846
            aload 15
            monitorexit
        11: goto 14
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper int java.util.ArrayList
      StackMap stack: java.lang.Throwable
        12: aload 15
            monitorexit
        13: athrow
        end local 14 // boolean fullscreen
        14: .line 6854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iload 7 /* reportDraw */
            ifeq 15
            iconst_5
            goto 16
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl$ViewRootHandler
        15: iconst_4
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper
      StackMap stack: android.view.ViewRootImpl$ViewRootHandler int
        16: invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
            astore 14 /* msg */
        start local 14 // android.os.Message msg
        17: .line 6855
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 22
        18: .line 6856
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 1 /* frame */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        19: .line 6857
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 2 /* overscanInsets */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        20: .line 6858
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 3 /* contentInsets */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        21: .line 6859
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 4 /* visibleInsets */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translateRectInScreenToAppWindow:(Landroid/graphics/Rect;)V
        22: .line 6861
      StackMap locals: android.os.Message
      StackMap stack:
            invokestatic com.android.internal.os.SomeArgs.obtain:()Lcom/android/internal/os/SomeArgs;
            astore 15 /* args */
        start local 15 // com.android.internal.os.SomeArgs args
        23: .line 6862
            invokestatic android.os.Binder.getCallingPid:()I
            invokestatic android.os.Process.myPid:()I
            if_icmpne 24
            iconst_1
            goto 25
      StackMap locals: com.android.internal.os.SomeArgs
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 16 /* sameProcessCall */
        start local 16 // boolean sameProcessCall
        26: .line 6863
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 27
            new android.graphics.Rect
            dup
            aload 1 /* frame */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 28
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs
        27: aload 1 /* frame */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        28: putfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
        29: .line 6864
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 30
            new android.graphics.Rect
            dup
            aload 3 /* contentInsets */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 31
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        30: aload 3 /* contentInsets */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        31: putfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
        32: .line 6865
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 33
            new android.graphics.Rect
            dup
            aload 4 /* visibleInsets */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 34
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        33: aload 4 /* visibleInsets */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        34: putfield com.android.internal.os.SomeArgs.arg3:Ljava/lang/Object;
        35: .line 6866
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 37
            aload 8 /* mergedConfiguration */
            ifnull 37
        36: .line 6867
            new android.util.MergedConfiguration
            dup
            aload 8 /* mergedConfiguration */
            invokespecial android.util.MergedConfiguration.<init>:(Landroid/util/MergedConfiguration;)V
            goto 38
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        37: aload 8 /* mergedConfiguration */
        38: .line 6866
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.util.MergedConfiguration
            putfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
        39: .line 6868
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 40
            new android.graphics.Rect
            dup
            aload 2 /* overscanInsets */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 41
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        40: aload 2 /* overscanInsets */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        41: putfield com.android.internal.os.SomeArgs.arg5:Ljava/lang/Object;
        42: .line 6869
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 43
            new android.graphics.Rect
            dup
            aload 5 /* stableInsets */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 44
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        43: aload 5 /* stableInsets */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        44: putfield com.android.internal.os.SomeArgs.arg6:Ljava/lang/Object;
        45: .line 6870
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 46
            new android.graphics.Rect
            dup
            aload 6 /* outsets */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 47
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        46: aload 6 /* outsets */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        47: putfield com.android.internal.os.SomeArgs.arg7:Ljava/lang/Object;
        48: .line 6871
            aload 15 /* args */
            iload 16 /* sameProcessCall */
            ifeq 49
            new android.graphics.Rect
            dup
            aload 9 /* backDropFrame */
            invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
            goto 50
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        49: aload 9 /* backDropFrame */
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs android.graphics.Rect
        50: putfield com.android.internal.os.SomeArgs.arg8:Ljava/lang/Object;
        51: .line 6872
            aload 15 /* args */
            aload 13 /* displayCutout */
            invokevirtual android.view.DisplayCutout$ParcelableWrapper.get:()Landroid/view/DisplayCutout;
            putfield com.android.internal.os.SomeArgs.arg9:Ljava/lang/Object;
        52: .line 6873
            aload 15 /* args */
            iload 10 /* forceLayout */
            ifeq 53
            iconst_1
            goto 54
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        53: iconst_0
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs int
        54: putfield com.android.internal.os.SomeArgs.argi1:I
        55: .line 6874
            aload 15 /* args */
            iload 11 /* alwaysConsumeNavBar */
            ifeq 56
            iconst_1
            goto 57
      StackMap locals:
      StackMap stack: com.android.internal.os.SomeArgs
        56: iconst_0
      StackMap locals: android.view.ViewRootImpl android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect android.graphics.Rect int android.util.MergedConfiguration android.graphics.Rect int int int android.view.DisplayCutout$ParcelableWrapper android.os.Message com.android.internal.os.SomeArgs int
      StackMap stack: com.android.internal.os.SomeArgs int
        57: putfield com.android.internal.os.SomeArgs.argi2:I
        58: .line 6875
            aload 15 /* args */
            iload 12 /* displayId */
            putfield com.android.internal.os.SomeArgs.argi3:I
        59: .line 6876
            aload 14 /* msg */
            aload 15 /* args */
            putfield android.os.Message.obj:Ljava/lang/Object;
        60: .line 6877
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 14 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
        61: .line 6878
            return
        end local 16 // boolean sameProcessCall
        end local 15 // com.android.internal.os.SomeArgs args
        end local 14 // android.os.Message msg
        end local 13 // android.view.DisplayCutout$ParcelableWrapper displayCutout
        end local 12 // int displayId
        end local 11 // boolean alwaysConsumeNavBar
        end local 10 // boolean forceLayout
        end local 9 // android.graphics.Rect backDropFrame
        end local 8 // android.util.MergedConfiguration mergedConfiguration
        end local 7 // boolean reportDraw
        end local 6 // android.graphics.Rect outsets
        end local 5 // android.graphics.Rect stableInsets
        end local 4 // android.graphics.Rect visibleInsets
        end local 3 // android.graphics.Rect contentInsets
        end local 2 // android.graphics.Rect overscanInsets
        end local 1 // android.graphics.Rect frame
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   62     0                 this  Landroid/view/ViewRootImpl;
            0   62     1                frame  Landroid/graphics/Rect;
            0   62     2       overscanInsets  Landroid/graphics/Rect;
            0   62     3        contentInsets  Landroid/graphics/Rect;
            0   62     4        visibleInsets  Landroid/graphics/Rect;
            0   62     5         stableInsets  Landroid/graphics/Rect;
            0   62     6              outsets  Landroid/graphics/Rect;
            0   62     7           reportDraw  Z
            0   62     8  mergedConfiguration  Landroid/util/MergedConfiguration;
            0   62     9        backDropFrame  Landroid/graphics/Rect;
            0   62    10          forceLayout  Z
            0   62    11  alwaysConsumeNavBar  Z
            0   62    12            displayId  I
            0   62    13        displayCutout  Landroid/view/DisplayCutout$ParcelableWrapper;
            2   14    14           fullscreen  Z
            4   10    16                    i  I
           17   62    14                  msg  Landroid/os/Message;
           23   62    15                 args  Lcom/android/internal/os/SomeArgs;
           26   62    16      sameProcessCall  Z
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any
    MethodParameters:
                     Name  Flags
      frame                
      overscanInsets       
      contentInsets        
      visibleInsets        
      stableInsets         
      outsets              
      reportDraw           
      mergedConfiguration  
      backDropFrame        
      forceLayout          
      alwaysConsumeNavBar  
      displayId            
      displayCutout        

  public void dispatchMoved(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int newX
        start local 2 // int newY
         0: .line 6882
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            ifnull 5
         1: .line 6883
            new android.graphics.PointF
            dup
            iload 1 /* newX */
            i2f
            iload 2 /* newY */
            i2f
            invokespecial android.graphics.PointF.<init>:(FF)V
            astore 3 /* point */
        start local 3 // android.graphics.PointF point
         2: .line 6884
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
            aload 3 /* point */
            invokevirtual android.content.res.CompatibilityInfo$Translator.translatePointInScreenToAppWindow:(Landroid/graphics/PointF;)V
         3: .line 6885
            aload 3 /* point */
            getfield android.graphics.PointF.x:F
            f2d
            ldc 0.5
            dadd
            d2i
            istore 1 /* newX */
         4: .line 6886
            aload 3 /* point */
            getfield android.graphics.PointF.y:F
            f2d
            ldc 0.5
            dadd
            d2i
            istore 2 /* newY */
        end local 3 // android.graphics.PointF point
         5: .line 6888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 23
            iload 1 /* newX */
            iload 2 /* newY */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(III)Landroid/os/Message;
            astore 3 /* msg */
        start local 3 // android.os.Message msg
         6: .line 6889
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 3 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         7: .line 6890
            return
        end local 3 // android.os.Message msg
        end local 2 // int newY
        end local 1 // int newX
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/view/ViewRootImpl;
            0    8     1   newX  I
            0    8     2   newY  I
            2    5     3  point  Landroid/graphics/PointF;
            6    8     3    msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      newX  
      newY  

  private android.view.ViewRootImpl$QueuedInputEvent obtainQueuedInputEvent(android.view.InputEvent, android.view.InputEventReceiver, int);
    descriptor: (Landroid/view/InputEvent;Landroid/view/InputEventReceiver;I)Landroid/view/ViewRootImpl$QueuedInputEvent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
        start local 2 // android.view.InputEventReceiver receiver
        start local 3 // int flags
         0: .line 6969
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mQueuedInputEventPool:Landroid/view/ViewRootImpl$QueuedInputEvent;
            astore 4 /* q */
        start local 4 // android.view.ViewRootImpl$QueuedInputEvent q
         1: .line 6970
            aload 4 /* q */
            ifnull 6
         2: .line 6971
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mQueuedInputEventPoolSize:I
            iconst_1
            isub
            putfield android.view.ViewRootImpl.mQueuedInputEventPoolSize:I
         3: .line 6972
            aload 0 /* this */
            aload 4 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
            putfield android.view.ViewRootImpl.mQueuedInputEventPool:Landroid/view/ViewRootImpl$QueuedInputEvent;
         4: .line 6973
            aload 4 /* q */
            aconst_null
            putfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
         5: .line 6974
            goto 7
         6: .line 6975
      StackMap locals: android.view.ViewRootImpl$QueuedInputEvent
      StackMap stack:
            new android.view.ViewRootImpl$QueuedInputEvent
            dup
            invokespecial android.view.ViewRootImpl$QueuedInputEvent.<init>:()V
            astore 4 /* q */
         7: .line 6978
      StackMap locals:
      StackMap stack:
            aload 4 /* q */
            aload 1 /* event */
            putfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
         8: .line 6979
            aload 4 /* q */
            aload 2 /* receiver */
            putfield android.view.ViewRootImpl$QueuedInputEvent.mReceiver:Landroid/view/InputEventReceiver;
         9: .line 6980
            aload 4 /* q */
            iload 3 /* flags */
            putfield android.view.ViewRootImpl$QueuedInputEvent.mFlags:I
        10: .line 6981
            aload 4 /* q */
            areturn
        end local 4 // android.view.ViewRootImpl$QueuedInputEvent q
        end local 3 // int flags
        end local 2 // android.view.InputEventReceiver receiver
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Landroid/view/ViewRootImpl;
            0   11     1     event  Landroid/view/InputEvent;
            0   11     2  receiver  Landroid/view/InputEventReceiver;
            0   11     3     flags  I
            1   11     4         q  Landroid/view/ViewRootImpl$QueuedInputEvent;
    MethodParameters:
          Name  Flags
      event     
      receiver  
      flags     

  private void recycleQueuedInputEvent(android.view.ViewRootImpl$QueuedInputEvent);
    descriptor: (Landroid/view/ViewRootImpl$QueuedInputEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$QueuedInputEvent q
         0: .line 6985
            aload 1 /* q */
            aconst_null
            putfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
         1: .line 6986
            aload 1 /* q */
            aconst_null
            putfield android.view.ViewRootImpl$QueuedInputEvent.mReceiver:Landroid/view/InputEventReceiver;
         2: .line 6988
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mQueuedInputEventPoolSize:I
            bipush 10
            if_icmpge 6
         3: .line 6989
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mQueuedInputEventPoolSize:I
            iconst_1
            iadd
            putfield android.view.ViewRootImpl.mQueuedInputEventPoolSize:I
         4: .line 6990
            aload 1 /* q */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mQueuedInputEventPool:Landroid/view/ViewRootImpl$QueuedInputEvent;
            putfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
         5: .line 6991
            aload 0 /* this */
            aload 1 /* q */
            putfield android.view.ViewRootImpl.mQueuedInputEventPool:Landroid/view/ViewRootImpl$QueuedInputEvent;
         6: .line 6993
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.ViewRootImpl$QueuedInputEvent q
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/view/ViewRootImpl;
            0    7     1     q  Landroid/view/ViewRootImpl$QueuedInputEvent;
    MethodParameters:
      Name  Flags
      q     

  void enqueueInputEvent(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
         0: .line 6996
            aload 0 /* this */
            aload 1 /* event */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual android.view.ViewRootImpl.enqueueInputEvent:(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
         1: .line 6997
            return
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/view/ViewRootImpl;
            0    2     1  event  Landroid/view/InputEvent;
    MethodParameters:
       Name  Flags
      event  

  void enqueueInputEvent(android.view.InputEvent, android.view.InputEventReceiver, int, boolean);
    descriptor: (Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
        start local 2 // android.view.InputEventReceiver receiver
        start local 3 // int flags
        start local 4 // boolean processImmediately
         0: .line 7001
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl.adjustInputEventForCompatibility:(Landroid/view/InputEvent;)V
         1: .line 7002
            aload 0 /* this */
            aload 1 /* event */
            aload 2 /* receiver */
            iload 3 /* flags */
            invokevirtual android.view.ViewRootImpl.obtainQueuedInputEvent:(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;I)Landroid/view/ViewRootImpl$QueuedInputEvent;
            astore 5 /* q */
        start local 5 // android.view.ViewRootImpl$QueuedInputEvent q
         2: .line 7009
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
            astore 6 /* last */
        start local 6 // android.view.ViewRootImpl$QueuedInputEvent last
         3: .line 7010
            aload 6 /* last */
            ifnonnull 7
         4: .line 7011
            aload 0 /* this */
            aload 5 /* q */
            putfield android.view.ViewRootImpl.mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
         5: .line 7012
            aload 0 /* this */
            aload 5 /* q */
            putfield android.view.ViewRootImpl.mPendingInputEventTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
         6: .line 7013
            goto 9
         7: .line 7014
      StackMap locals: android.view.ViewRootImpl$QueuedInputEvent android.view.ViewRootImpl$QueuedInputEvent
      StackMap stack:
            aload 6 /* last */
            aload 5 /* q */
            putfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
         8: .line 7015
            aload 0 /* this */
            aload 5 /* q */
            putfield android.view.ViewRootImpl.mPendingInputEventTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
         9: .line 7017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mPendingInputEventCount:I
            iconst_1
            iadd
            putfield android.view.ViewRootImpl.mPendingInputEventCount:I
        10: .line 7018
            ldc 4
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventQueueLengthCounterName:Ljava/lang/String;
        11: .line 7019
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventCount:I
        12: .line 7018
            invokestatic android.os.Trace.traceCounter:(JLjava/lang/String;I)V
        13: .line 7021
            iload 4 /* processImmediately */
            ifeq 16
        14: .line 7022
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.doProcessInputEvents:()V
        15: .line 7023
            goto 17
        16: .line 7024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleProcessInputEvents:()V
        17: .line 7026
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.view.ViewRootImpl$QueuedInputEvent last
        end local 5 // android.view.ViewRootImpl$QueuedInputEvent q
        end local 4 // boolean processImmediately
        end local 3 // int flags
        end local 2 // android.view.InputEventReceiver receiver
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Landroid/view/ViewRootImpl;
            0   18     1               event  Landroid/view/InputEvent;
            0   18     2            receiver  Landroid/view/InputEventReceiver;
            0   18     3               flags  I
            0   18     4  processImmediately  Z
            2   18     5                   q  Landroid/view/ViewRootImpl$QueuedInputEvent;
            3   18     6                last  Landroid/view/ViewRootImpl$QueuedInputEvent;
    MethodParameters:
                    Name  Flags
      event               
      receiver            
      flags               
      processImmediately  

  private void scheduleProcessInputEvents();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7029
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProcessInputEventsScheduled:Z
            ifne 5
         1: .line 7030
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mProcessInputEventsScheduled:Z
         2: .line 7031
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 19
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
            astore 1 /* msg */
        start local 1 // android.os.Message msg
         3: .line 7032
            aload 1 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         4: .line 7033
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 1 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
        end local 1 // android.os.Message msg
         5: .line 7035
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/view/ViewRootImpl;
            3    5     1   msg  Landroid/os/Message;

  void doProcessInputEvents();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7039
            goto 18
         1: .line 7040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
            astore 1 /* q */
        start local 1 // android.view.ViewRootImpl$QueuedInputEvent q
         2: .line 7041
            aload 0 /* this */
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
            putfield android.view.ViewRootImpl.mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
         3: .line 7042
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
            ifnonnull 5
         4: .line 7043
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mPendingInputEventTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
         5: .line 7045
      StackMap locals: android.view.ViewRootImpl$QueuedInputEvent
      StackMap stack:
            aload 1 /* q */
            aconst_null
            putfield android.view.ViewRootImpl$QueuedInputEvent.mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
         6: .line 7047
            aload 0 /* this */
            dup
            getfield android.view.ViewRootImpl.mPendingInputEventCount:I
            iconst_1
            isub
            putfield android.view.ViewRootImpl.mPendingInputEventCount:I
         7: .line 7048
            ldc 4
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventQueueLengthCounterName:Ljava/lang/String;
         8: .line 7049
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventCount:I
         9: .line 7048
            invokestatic android.os.Trace.traceCounter:(JLjava/lang/String;I)V
        10: .line 7051
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            invokevirtual android.view.InputEvent.getEventTimeNano:()J
            lstore 2 /* eventTime */
        start local 2 // long eventTime
        11: .line 7052
            lload 2 /* eventTime */
            lstore 4 /* oldestEventTime */
        start local 4 // long oldestEventTime
        12: .line 7053
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            instanceof android.view.MotionEvent
            ifeq 16
        13: .line 7054
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            checkcast android.view.MotionEvent
            astore 6 /* me */
        start local 6 // android.view.MotionEvent me
        14: .line 7055
            aload 6 /* me */
            invokevirtual android.view.MotionEvent.getHistorySize:()I
            ifle 16
        15: .line 7056
            aload 6 /* me */
            iconst_0
            invokevirtual android.view.MotionEvent.getHistoricalEventTimeNano:(I)J
            lstore 4 /* oldestEventTime */
        end local 6 // android.view.MotionEvent me
        16: .line 7059
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            getfield android.view.Choreographer.mFrameInfo:Landroid/view/FrameInfo;
            lload 2 /* eventTime */
            lload 4 /* oldestEventTime */
            invokevirtual android.view.FrameInfo.updateInputEventTime:(JJ)V
        17: .line 7061
            aload 0 /* this */
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl.deliverInputEvent:(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
        end local 4 // long oldestEventTime
        end local 2 // long eventTime
        end local 1 // android.view.ViewRootImpl$QueuedInputEvent q
        18: .line 7039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
            ifnonnull 1
        19: .line 7066
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mProcessInputEventsScheduled:Z
            ifeq 22
        20: .line 7067
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mProcessInputEventsScheduled:Z
        21: .line 7068
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 19
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(I)V
        22: .line 7070
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Landroid/view/ViewRootImpl;
            2   18     1                q  Landroid/view/ViewRootImpl$QueuedInputEvent;
           11   18     2        eventTime  J
           12   18     4  oldestEventTime  J
           14   16     6               me  Landroid/view/MotionEvent;

  private void deliverInputEvent(android.view.ViewRootImpl$QueuedInputEvent);
    descriptor: (Landroid/view/ViewRootImpl$QueuedInputEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$QueuedInputEvent q
         0: .line 7073
            ldc 8
            ldc "deliverInputEvent"
         1: .line 7074
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            invokevirtual android.view.InputEvent.getSequenceNumber:()I
         2: .line 7073
            invokestatic android.os.Trace.asyncTraceBegin:(JLjava/lang/String;I)V
         3: .line 7075
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
            ifnull 5
         4: .line 7076
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            iconst_0
            invokevirtual android.view.InputEventConsistencyVerifier.onInputEvent:(Landroid/view/InputEvent;I)V
         5: .line 7080
      StackMap locals:
      StackMap stack:
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl$QueuedInputEvent.shouldSendToSynthesizer:()Z
            ifeq 8
         6: .line 7081
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSyntheticInputStage:Landroid/view/ViewRootImpl$InputStage;
            astore 2 /* stage */
        start local 2 // android.view.ViewRootImpl$InputStage stage
         7: .line 7082
            goto 11
        end local 2 // android.view.ViewRootImpl$InputStage stage
         8: .line 7083
      StackMap locals:
      StackMap stack:
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl$QueuedInputEvent.shouldSkipIme:()Z
            ifeq 9
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirstPostImeInputStage:Landroid/view/ViewRootImpl$InputStage;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield android.view.ViewRootImpl.mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
      StackMap locals:
      StackMap stack: android.view.ViewRootImpl$InputStage
        10: astore 2 /* stage */
        start local 2 // android.view.ViewRootImpl$InputStage stage
        11: .line 7086
      StackMap locals: android.view.ViewRootImpl$InputStage
      StackMap stack:
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            instanceof android.view.KeyEvent
            ifeq 13
        12: .line 7087
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUnhandledKeyManager:Landroid/view/ViewRootImpl$UnhandledKeyManager;
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            checkcast android.view.KeyEvent
            invokevirtual android.view.ViewRootImpl$UnhandledKeyManager.preDispatch:(Landroid/view/KeyEvent;)V
        13: .line 7090
      StackMap locals:
      StackMap stack:
            aload 2 /* stage */
            ifnull 17
        14: .line 7091
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.handleWindowFocusChanged:()V
        15: .line 7092
            aload 2 /* stage */
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl$InputStage.deliver:(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
        16: .line 7093
            goto 18
        17: .line 7094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl.finishInputEvent:(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
        18: .line 7096
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.view.ViewRootImpl$InputStage stage
        end local 1 // android.view.ViewRootImpl$QueuedInputEvent q
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Landroid/view/ViewRootImpl;
            0   19     1      q  Landroid/view/ViewRootImpl$QueuedInputEvent;
            7    8     2  stage  Landroid/view/ViewRootImpl$InputStage;
           11   19     2  stage  Landroid/view/ViewRootImpl$InputStage;
    MethodParameters:
      Name  Flags
      q     

  private void finishInputEvent(android.view.ViewRootImpl$QueuedInputEvent);
    descriptor: (Landroid/view/ViewRootImpl$QueuedInputEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ViewRootImpl$QueuedInputEvent q
         0: .line 7099
            ldc 8
            ldc "deliverInputEvent"
         1: .line 7100
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            invokevirtual android.view.InputEvent.getSequenceNumber:()I
         2: .line 7099
            invokestatic android.os.Trace.asyncTraceEnd:(JLjava/lang/String;I)V
         3: .line 7102
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mReceiver:Landroid/view/InputEventReceiver;
            ifnull 9
         4: .line 7103
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mFlags:I
            bipush 8
            iand
            ifeq 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* handled */
        start local 2 // boolean handled
         7: .line 7104
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mReceiver:Landroid/view/InputEventReceiver;
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            iload 2 /* handled */
            invokevirtual android.view.InputEventReceiver.finishInputEvent:(Landroid/view/InputEvent;Z)V
        end local 2 // boolean handled
         8: .line 7105
            goto 10
         9: .line 7106
      StackMap locals:
      StackMap stack:
            aload 1 /* q */
            getfield android.view.ViewRootImpl$QueuedInputEvent.mEvent:Landroid/view/InputEvent;
            invokevirtual android.view.InputEvent.recycleIfNeededAfterDispatch:()V
        10: .line 7109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* q */
            invokevirtual android.view.ViewRootImpl.recycleQueuedInputEvent:(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
        11: .line 7110
            return
        end local 1 // android.view.ViewRootImpl$QueuedInputEvent q
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Landroid/view/ViewRootImpl;
            0   12     1        q  Landroid/view/ViewRootImpl$QueuedInputEvent;
            7    8     2  handled  Z
    MethodParameters:
      Name  Flags
      q     

  private void adjustInputEventForCompatibility(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent e
         0: .line 7113
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTargetSdkVersion:I
            bipush 23
            if_icmpge 6
            aload 1 /* e */
            instanceof android.view.MotionEvent
            ifeq 6
         1: .line 7114
            aload 1 /* e */
            checkcast android.view.MotionEvent
            astore 2 /* motion */
        start local 2 // android.view.MotionEvent motion
         2: .line 7117
            aload 2 /* motion */
            invokevirtual android.view.MotionEvent.getButtonState:()I
            istore 3 /* buttonState */
        start local 3 // int buttonState
         3: .line 7118
            iload 3 /* buttonState */
            bipush 96
            iand
            iconst_4
            ishr
            istore 4 /* compatButtonState */
        start local 4 // int compatButtonState
         4: .line 7119
            iload 4 /* compatButtonState */
            ifeq 6
         5: .line 7120
            aload 2 /* motion */
            iload 3 /* buttonState */
            iload 4 /* compatButtonState */
            ior
            invokevirtual android.view.MotionEvent.setButtonState:(I)V
        end local 4 // int compatButtonState
        end local 3 // int buttonState
        end local 2 // android.view.MotionEvent motion
         6: .line 7123
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.InputEvent e
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Landroid/view/ViewRootImpl;
            0    7     1                  e  Landroid/view/InputEvent;
            2    6     2             motion  Landroid/view/MotionEvent;
            3    6     3        buttonState  I
            4    6     4  compatButtonState  I
    MethodParameters:
      Name  Flags
      e     

  static boolean isTerminalInputEvent(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.view.InputEvent event
         0: .line 7126
            aload 0 /* event */
            instanceof android.view.KeyEvent
            ifeq 4
         1: .line 7127
            aload 0 /* event */
            checkcast android.view.KeyEvent
            astore 1 /* keyEvent */
        start local 1 // android.view.KeyEvent keyEvent
         2: .line 7128
            aload 1 /* keyEvent */
            invokevirtual android.view.KeyEvent.getAction:()I
            iconst_1
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals: android.view.KeyEvent
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // android.view.KeyEvent keyEvent
         4: .line 7130
      StackMap locals:
      StackMap stack:
            aload 0 /* event */
            checkcast android.view.MotionEvent
            astore 1 /* motionEvent */
        start local 1 // android.view.MotionEvent motionEvent
         5: .line 7131
            aload 1 /* motionEvent */
            invokevirtual android.view.MotionEvent.getAction:()I
            istore 2 /* action */
        start local 2 // int action
         6: .line 7132
            iload 2 /* action */
            iconst_1
            if_icmpeq 10
         7: .line 7133
            iload 2 /* action */
            iconst_3
            if_icmpeq 10
         8: .line 7134
            iload 2 /* action */
            bipush 10
            if_icmpeq 10
         9: .line 7132
            iconst_0
            ireturn
      StackMap locals: android.view.MotionEvent int
      StackMap stack:
        10: iconst_1
            ireturn
        end local 2 // int action
        end local 1 // android.view.MotionEvent motionEvent
        end local 0 // android.view.InputEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0        event  Landroid/view/InputEvent;
            2    4     1     keyEvent  Landroid/view/KeyEvent;
            5   11     1  motionEvent  Landroid/view/MotionEvent;
            6   11     2       action  I
    MethodParameters:
       Name  Flags
      event  

  void scheduleConsumeBatchedInput();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7139
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
            ifne 5
         1: .line 7140
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
         2: .line 7141
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            iconst_0
         3: .line 7142
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumedBatchedInputRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
            aconst_null
         4: .line 7141
            invokevirtual android.view.Choreographer.postCallback:(ILjava/lang/Runnable;Ljava/lang/Object;)V
         5: .line 7144
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/view/ViewRootImpl;

  void unscheduleConsumeBatchedInput();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7147
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
            ifeq 5
         1: .line 7148
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
         2: .line 7149
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
            iconst_0
         3: .line 7150
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumedBatchedInputRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
            aconst_null
         4: .line 7149
            invokevirtual android.view.Choreographer.removeCallbacks:(ILjava/lang/Runnable;Ljava/lang/Object;)V
         5: .line 7152
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/view/ViewRootImpl;

  void scheduleConsumeBatchedInputImmediately();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7155
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputImmediatelyScheduled:Z
            ifne 4
         1: .line 7156
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.unscheduleConsumeBatchedInput:()V
         2: .line 7157
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mConsumeBatchedInputImmediatelyScheduled:Z
         3: .line 7158
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputImmediatelyRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.post:(Ljava/lang/Runnable;)Z
            pop
         4: .line 7160
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;

  void doConsumeBatchedInput(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // long frameTimeNanos
         0: .line 7163
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
            ifeq 7
         1: .line 7164
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mConsumeBatchedInputScheduled:Z
         2: .line 7165
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
            ifnull 6
         3: .line 7166
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
            lload 1 /* frameTimeNanos */
            invokevirtual android.view.ViewRootImpl$WindowInputEventReceiver.consumeBatchedInputEvents:(J)Z
            ifeq 6
         4: .line 7167
            lload 1 /* frameTimeNanos */
            ldc -1
            lcmp
            ifeq 6
         5: .line 7173
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.scheduleConsumeBatchedInput:()V
         6: .line 7176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.doProcessInputEvents:()V
         7: .line 7178
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long frameTimeNanos
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Landroid/view/ViewRootImpl;
            0    8     1  frameTimeNanos  J
    MethodParameters:
                Name  Flags
      frameTimeNanos  

  public void dispatchInvalidateDelayed(android.view.View, long);
    descriptor: (Landroid/view/View;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
        start local 2 // long delayMilliseconds
         0: .line 7321
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iconst_1
            aload 1 /* view */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         1: .line 7322
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 4 /* msg */
            lload 2 /* delayMilliseconds */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
         2: .line 7323
            return
        end local 4 // android.os.Message msg
        end local 2 // long delayMilliseconds
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Landroid/view/ViewRootImpl;
            0    3     1               view  Landroid/view/View;
            0    3     2  delayMilliseconds  J
            1    3     4                msg  Landroid/os/Message;
    MethodParameters:
                   Name  Flags
      view               
      delayMilliseconds  

  public void dispatchInvalidateRectDelayed(android.view.View$AttachInfo$InvalidateInfo, long);
    descriptor: (Landroid/view/View$AttachInfo$InvalidateInfo;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View$AttachInfo$InvalidateInfo info
        start local 2 // long delayMilliseconds
         0: .line 7327
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iconst_2
            aload 1 /* info */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         1: .line 7328
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 4 /* msg */
            lload 2 /* delayMilliseconds */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
         2: .line 7329
            return
        end local 4 // android.os.Message msg
        end local 2 // long delayMilliseconds
        end local 1 // android.view.View$AttachInfo$InvalidateInfo info
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Landroid/view/ViewRootImpl;
            0    3     1               info  Landroid/view/View$AttachInfo$InvalidateInfo;
            0    3     2  delayMilliseconds  J
            1    3     4                msg  Landroid/os/Message;
    MethodParameters:
                   Name  Flags
      info               
      delayMilliseconds  

  public void dispatchInvalidateOnAnimation(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
         0: .line 7332
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInvalidateOnAnimationRunnable:Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
            aload 1 /* view */
            invokevirtual android.view.ViewRootImpl$InvalidateOnAnimationRunnable.addView:(Landroid/view/View;)V
         1: .line 7333
            return
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1  view  Landroid/view/View;
    MethodParameters:
      Name  Flags
      view  

  public void dispatchInvalidateRectOnAnimation(android.view.View$AttachInfo$InvalidateInfo);
    descriptor: (Landroid/view/View$AttachInfo$InvalidateInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View$AttachInfo$InvalidateInfo info
         0: .line 7336
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInvalidateOnAnimationRunnable:Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
            aload 1 /* info */
            invokevirtual android.view.ViewRootImpl$InvalidateOnAnimationRunnable.addViewRect:(Landroid/view/View$AttachInfo$InvalidateInfo;)V
         1: .line 7337
            return
        end local 1 // android.view.View$AttachInfo$InvalidateInfo info
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;
            0    2     1  info  Landroid/view/View$AttachInfo$InvalidateInfo;
    MethodParameters:
      Name  Flags
      info  

  public void cancelInvalidate(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View view
         0: .line 7340
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iconst_1
            aload 1 /* view */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(ILjava/lang/Object;)V
         1: .line 7343
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iconst_2
            aload 1 /* view */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(ILjava/lang/Object;)V
         2: .line 7344
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mInvalidateOnAnimationRunnable:Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
            aload 1 /* view */
            invokevirtual android.view.ViewRootImpl$InvalidateOnAnimationRunnable.removeView:(Landroid/view/View;)V
         3: .line 7345
            return
        end local 1 // android.view.View view
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;
            0    4     1  view  Landroid/view/View;
    MethodParameters:
      Name  Flags
      view  

  public void dispatchInputEvent(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
         0: .line 7348
            aload 0 /* this */
            aload 1 /* event */
            aconst_null
            invokevirtual android.view.ViewRootImpl.dispatchInputEvent:(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V
         1: .line 7349
            return
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/view/ViewRootImpl;
            0    2     1  event  Landroid/view/InputEvent;
    MethodParameters:
       Name  Flags
      event  

  public void dispatchInputEvent(android.view.InputEvent, android.view.InputEventReceiver);
    descriptor: (Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
        start local 2 // android.view.InputEventReceiver receiver
         0: .line 7352
            invokestatic com.android.internal.os.SomeArgs.obtain:()Lcom/android/internal/os/SomeArgs;
            astore 3 /* args */
        start local 3 // com.android.internal.os.SomeArgs args
         1: .line 7353
            aload 3 /* args */
            aload 1 /* event */
            putfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
         2: .line 7354
            aload 3 /* args */
            aload 2 /* receiver */
            putfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
         3: .line 7355
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 7
            aload 3 /* args */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         4: .line 7356
            aload 4 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         5: .line 7357
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 4 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         6: .line 7358
            return
        end local 4 // android.os.Message msg
        end local 3 // com.android.internal.os.SomeArgs args
        end local 2 // android.view.InputEventReceiver receiver
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/view/ViewRootImpl;
            0    7     1     event  Landroid/view/InputEvent;
            0    7     2  receiver  Landroid/view/InputEventReceiver;
            1    7     3      args  Lcom/android/internal/os/SomeArgs;
            4    7     4       msg  Landroid/os/Message;
    MethodParameters:
          Name  Flags
      event     
      receiver  

  public void synthesizeInputEvent(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
         0: .line 7361
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 24
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 7362
            aload 2 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         2: .line 7363
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         3: .line 7364
            return
        end local 2 // android.os.Message msg
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/view/ViewRootImpl;
            0    4     1  event  Landroid/view/InputEvent;
            1    4     2    msg  Landroid/os/Message;
    MethodParameters:
       Name  Flags
      event  

  public void dispatchKeyFromIme(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.KeyEvent event
         0: .line 7367
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 11
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 7368
            aload 2 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         2: .line 7369
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         3: .line 7370
            return
        end local 2 // android.os.Message msg
        end local 1 // android.view.KeyEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/view/ViewRootImpl;
            0    4     1  event  Landroid/view/KeyEvent;
            1    4     2    msg  Landroid/os/Message;
    MethodParameters:
       Name  Flags
      event  

  public void dispatchKeyFromAutofill(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.KeyEvent event
         0: .line 7373
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 12
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 7374
            aload 2 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         2: .line 7375
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         3: .line 7376
            return
        end local 2 // android.os.Message msg
        end local 1 // android.view.KeyEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/view/ViewRootImpl;
            0    4     1  event  Landroid/view/KeyEvent;
            1    4     2    msg  Landroid/os/Message;
    MethodParameters:
       Name  Flags
      event  

  public void dispatchUnhandledInputEvent(android.view.InputEvent);
    descriptor: (Landroid/view/InputEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.InputEvent event
         0: .line 7385
            aload 1 /* event */
            instanceof android.view.MotionEvent
            ifeq 2
         1: .line 7386
            aload 1 /* event */
            checkcast android.view.MotionEvent
            invokestatic android.view.MotionEvent.obtain:(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
            astore 1 /* event */
         2: .line 7388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl.synthesizeInputEvent:(Landroid/view/InputEvent;)V
         3: .line 7389
            return
        end local 1 // android.view.InputEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/view/ViewRootImpl;
            0    4     1  event  Landroid/view/InputEvent;
    MethodParameters:
       Name  Flags
      event  

  public void dispatchAppVisibility(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean visible
         0: .line 7392
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 8
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 7393
            aload 2 /* msg */
            iload 1 /* visible */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: android.view.ViewRootImpl int android.os.Message
      StackMap stack: android.os.Message
         2: iconst_0
      StackMap locals: android.view.ViewRootImpl int android.os.Message
      StackMap stack: android.os.Message int
         3: putfield android.os.Message.arg1:I
         4: .line 7394
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         5: .line 7395
            return
        end local 2 // android.os.Message msg
        end local 1 // boolean visible
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/view/ViewRootImpl;
            0    6     1  visible  Z
            1    6     2      msg  Landroid/os/Message;
    MethodParameters:
         Name  Flags
      visible  

  public void dispatchGetNewSurface();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7398
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 9
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
            astore 1 /* msg */
        start local 1 // android.os.Message msg
         1: .line 7399
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 1 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         2: .line 7400
            return
        end local 1 // android.os.Message msg
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;
            1    3     1   msg  Landroid/os/Message;

  public void windowFocusChanged(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean hasFocus
        start local 2 // boolean inTouchMode
         0: .line 7403
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 7404
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mWindowFocusChanged:Z
         2: .line 7405
            aload 0 /* this */
            iload 1 /* hasFocus */
            putfield android.view.ViewRootImpl.mUpcomingWindowFocus:Z
         3: .line 7406
            aload 0 /* this */
            iload 2 /* inTouchMode */
            putfield android.view.ViewRootImpl.mUpcomingInTouchMode:Z
         4: .line 7403
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: android.view.ViewRootImpl int int android.view.ViewRootImpl
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 7408
      StackMap locals:
      StackMap stack:
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 3 /* msg */
        start local 3 // android.os.Message msg
         9: .line 7409
            aload 3 /* msg */
            bipush 6
            putfield android.os.Message.what:I
        10: .line 7410
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 3 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
        11: .line 7411
            return
        end local 3 // android.os.Message msg
        end local 2 // boolean inTouchMode
        end local 1 // boolean hasFocus
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Landroid/view/ViewRootImpl;
            0   12     1     hasFocus  Z
            0   12     2  inTouchMode  Z
            9   12     3          msg  Landroid/os/Message;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
             Name  Flags
      hasFocus     
      inTouchMode  

  public void dispatchWindowShown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7414
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 25
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendEmptyMessage:(I)Z
            pop
         1: .line 7415
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  public void dispatchCloseSystemDialogs(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // java.lang.String reason
         0: .line 7418
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 7419
            aload 2 /* msg */
            bipush 14
            putfield android.os.Message.what:I
         2: .line 7420
            aload 2 /* msg */
            aload 1 /* reason */
            putfield android.os.Message.obj:Ljava/lang/Object;
         3: .line 7421
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 7422
            return
        end local 2 // android.os.Message msg
        end local 1 // java.lang.String reason
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/view/ViewRootImpl;
            0    5     1  reason  Ljava/lang/String;
            1    5     2     msg  Landroid/os/Message;
    MethodParameters:
        Name  Flags
      reason  

  public void dispatchDragEvent(android.view.DragEvent);
    descriptor: (Landroid/view/DragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.DragEvent event
         0: .line 7426
            aload 1 /* event */
            invokevirtual android.view.DragEvent.getAction:()I
            iconst_2
            if_icmpne 4
         1: .line 7427
            bipush 16
            istore 2 /* what */
        start local 2 // int what
         2: .line 7428
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iload 2 /* what */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(I)V
         3: .line 7429
            goto 5
        end local 2 // int what
         4: .line 7430
      StackMap locals:
      StackMap stack:
            bipush 15
            istore 2 /* what */
        start local 2 // int what
         5: .line 7432
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            iload 2 /* what */
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 3 /* msg */
        start local 3 // android.os.Message msg
         6: .line 7433
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 3 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         7: .line 7434
            return
        end local 3 // android.os.Message msg
        end local 2 // int what
        end local 1 // android.view.DragEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/view/ViewRootImpl;
            0    8     1  event  Landroid/view/DragEvent;
            2    4     2   what  I
            5    8     2   what  I
            6    8     3    msg  Landroid/os/Message;
    MethodParameters:
       Name  Flags
      event  

  public void updatePointerIcon(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // float x
        start local 2 // float y
         0: .line 7438
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 27
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(I)V
         1: .line 7439
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         2: .line 7441
            lconst_0
            lload 3 /* now */
            bipush 7
            fload 1 /* x */
            fload 2 /* y */
            iconst_0
         3: .line 7440
            invokestatic android.view.MotionEvent.obtain:(JJIFFI)Landroid/view/MotionEvent;
            astore 5 /* event */
        start local 5 // android.view.MotionEvent event
         4: .line 7442
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 27
            aload 5 /* event */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            astore 6 /* msg */
        start local 6 // android.os.Message msg
         5: .line 7443
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 6 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         6: .line 7444
            return
        end local 6 // android.os.Message msg
        end local 5 // android.view.MotionEvent event
        end local 3 // long now
        end local 2 // float y
        end local 1 // float x
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/view/ViewRootImpl;
            0    7     1      x  F
            0    7     2      y  F
            2    7     3    now  J
            4    7     5  event  Landroid/view/MotionEvent;
            5    7     6    msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      x     
      y     

  public void dispatchSystemUiVisibilityChanged(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // android.view.ViewRootImpl this
        start local 1 // int seq
        start local 2 // int globalVisibility
        start local 3 // int localValue
        start local 4 // int localChanges
         0: .line 7448
            new android.view.ViewRootImpl$SystemUiVisibilityInfo
            dup
            invokespecial android.view.ViewRootImpl$SystemUiVisibilityInfo.<init>:()V
            astore 5 /* args */
        start local 5 // android.view.ViewRootImpl$SystemUiVisibilityInfo args
         1: .line 7449
            aload 5 /* args */
            iload 1 /* seq */
            putfield android.view.ViewRootImpl$SystemUiVisibilityInfo.seq:I
         2: .line 7450
            aload 5 /* args */
            iload 2 /* globalVisibility */
            putfield android.view.ViewRootImpl$SystemUiVisibilityInfo.globalVisibility:I
         3: .line 7451
            aload 5 /* args */
            iload 3 /* localValue */
            putfield android.view.ViewRootImpl$SystemUiVisibilityInfo.localValue:I
         4: .line 7452
            aload 5 /* args */
            iload 4 /* localChanges */
            putfield android.view.ViewRootImpl$SystemUiVisibilityInfo.localChanges:I
         5: .line 7453
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 17
            aload 5 /* args */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         6: .line 7454
            return
        end local 5 // android.view.ViewRootImpl$SystemUiVisibilityInfo args
        end local 4 // int localChanges
        end local 3 // int localValue
        end local 2 // int globalVisibility
        end local 1 // int seq
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Landroid/view/ViewRootImpl;
            0    7     1               seq  I
            0    7     2  globalVisibility  I
            0    7     3        localValue  I
            0    7     4      localChanges  I
            1    7     5              args  Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;
    MethodParameters:
                  Name  Flags
      seq               
      globalVisibility  
      localValue        
      localChanges      

  public void dispatchCheckFocus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7457
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 13
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.hasMessages:(I)Z
            ifne 2
         1: .line 7459
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 13
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendEmptyMessage:(I)Z
            pop
         2: .line 7461
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;

  public void dispatchRequestKeyboardShortcuts(com.android.internal.os.IResultReceiver, int);
    descriptor: (Lcom/android/internal/os/IResultReceiver;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // com.android.internal.os.IResultReceiver receiver
        start local 2 // int deviceId
         0: .line 7464
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
         1: .line 7465
            bipush 26
            iload 2 /* deviceId */
            iconst_0
            aload 1 /* receiver */
         2: .line 7464
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(IIILjava/lang/Object;)Landroid/os/Message;
         3: .line 7465
            invokevirtual android.os.Message.sendToTarget:()V
         4: .line 7466
            return
        end local 2 // int deviceId
        end local 1 // com.android.internal.os.IResultReceiver receiver
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/view/ViewRootImpl;
            0    5     1  receiver  Lcom/android/internal/os/IResultReceiver;
            0    5     2  deviceId  I
    MethodParameters:
          Name  Flags
      receiver  
      deviceId  

  public void dispatchPointerCaptureChanged(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean on
         0: .line 7470
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 28
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeMessages:(I)V
         1: .line 7471
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            bipush 28
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.obtainMessage:(I)Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         2: .line 7472
            aload 2 /* msg */
            iload 1 /* on */
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: android.view.ViewRootImpl int android.os.Message
      StackMap stack: android.os.Message
         3: iconst_0
      StackMap locals: android.view.ViewRootImpl int android.os.Message
      StackMap stack: android.os.Message int
         4: putfield android.os.Message.arg1:I
         5: .line 7473
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 2 /* msg */
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.sendMessage:(Landroid/os/Message;)Z
            pop
         6: .line 7474
            return
        end local 2 // android.os.Message msg
        end local 1 // boolean on
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/view/ViewRootImpl;
            0    7     1    on  Z
            2    7     2   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      on    

  private void postSendWindowContentChangedCallback(android.view.View, int);
    descriptor: (Landroid/view/View;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View source
        start local 2 // int changeType
         0: .line 7483
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            ifnonnull 4
         1: .line 7484
            aload 0 /* this */
         2: .line 7485
            new android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent
            dup
            aload 0 /* this */
            invokespecial android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.<init>:(Landroid/view/ViewRootImpl;)V
         3: .line 7484
            putfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
         4: .line 7487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            aload 1 /* source */
            iload 2 /* changeType */
            invokevirtual android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.runOrPost:(Landroid/view/View;I)V
         5: .line 7488
            return
        end local 2 // int changeType
        end local 1 // android.view.View source
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/view/ViewRootImpl;
            0    6     1      source  Landroid/view/View;
            0    6     2  changeType  I
    MethodParameters:
            Name  Flags
      source      
      changeType  

  private void removeSendWindowContentChangedCallback();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7495
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            ifnull 2
         1: .line 7496
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            invokevirtual android.view.ViewRootImpl$ViewRootHandler.removeCallbacks:(Ljava/lang/Runnable;)V
         2: .line 7498
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;

  public boolean showContextMenuForChild(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View originalView
         0: .line 7502
            iconst_0
            ireturn
        end local 1 // android.view.View originalView
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/view/ViewRootImpl;
            0    1     1  originalView  Landroid/view/View;
    MethodParameters:
              Name  Flags
      originalView  

  public boolean showContextMenuForChild(android.view.View, float, float);
    descriptor: (Landroid/view/View;FF)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View originalView
        start local 2 // float x
        start local 3 // float y
         0: .line 7507
            iconst_0
            ireturn
        end local 3 // float y
        end local 2 // float x
        end local 1 // android.view.View originalView
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/view/ViewRootImpl;
            0    1     1  originalView  Landroid/view/View;
            0    1     2             x  F
            0    1     3             y  F
    MethodParameters:
              Name  Flags
      originalView  
      x             
      y             

  public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback);
    descriptor: (Landroid/view/View;Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View originalView
        start local 2 // android.view.ActionMode$Callback callback
         0: .line 7512
            aconst_null
            areturn
        end local 2 // android.view.ActionMode$Callback callback
        end local 1 // android.view.View originalView
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/view/ViewRootImpl;
            0    1     1  originalView  Landroid/view/View;
            0    1     2      callback  Landroid/view/ActionMode$Callback;
    MethodParameters:
              Name  Flags
      originalView  
      callback      

  public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback, int);
    descriptor: (Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View originalView
        start local 2 // android.view.ActionMode$Callback callback
        start local 3 // int type
         0: .line 7518
            aconst_null
            areturn
        end local 3 // int type
        end local 2 // android.view.ActionMode$Callback callback
        end local 1 // android.view.View originalView
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/view/ViewRootImpl;
            0    1     1  originalView  Landroid/view/View;
            0    1     2      callback  Landroid/view/ActionMode$Callback;
            0    1     3          type  I
    MethodParameters:
              Name  Flags
      originalView  
      callback      
      type          

  public void createContextMenu(android.view.ContextMenu);
    descriptor: (Landroid/view/ContextMenu;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.ContextMenu menu
         0: .line 7523
            return
        end local 1 // android.view.ContextMenu menu
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;
            0    1     1  menu  Landroid/view/ContextMenu;
    MethodParameters:
      Name  Flags
      menu  

  public void childDrawableStateChanged(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
         0: .line 7527
            return
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/view/ViewRootImpl;
            0    1     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
    descriptor: (Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.accessibility.AccessibilityEvent event
         0: .line 7531
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            ifnull 1
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mStopped:Z
            ifne 1
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mPausedForTransition:Z
            ifeq 2
         1: .line 7532
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 7536
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getEventType:()I
            sipush 2048
            if_icmpeq 6
         3: .line 7537
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            ifnull 6
         4: .line 7538
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            getfield android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.mSource:Landroid/view/View;
            ifnull 6
         5: .line 7539
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
            invokevirtual android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.removeCallbacksAndRun:()V
         6: .line 7544
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getEventType:()I
            istore 3 /* eventType */
        start local 3 // int eventType
         7: .line 7545
            iload 3 /* eventType */
            lookupswitch { // 3
                 2048: 29
                32768: 8
                65536: 20
              default: 30
          }
         8: .line 7547
      StackMap locals: int
      StackMap stack:
            aload 2 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getSourceNodeId:()J
            lstore 4 /* sourceNodeId */
        start local 4 // long sourceNodeId
         9: .line 7549
            lload 4 /* sourceNodeId */
        10: .line 7548
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getAccessibilityViewId:(J)I
            istore 6 /* accessibilityViewId */
        start local 6 // int accessibilityViewId
        11: .line 7550
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 6 /* accessibilityViewId */
            invokevirtual android.view.View.findViewByAccessibilityId:(I)Landroid/view/View;
            astore 7 /* source */
        start local 7 // android.view.View source
        12: .line 7551
            aload 7 /* source */
            ifnull 30
        13: .line 7552
            aload 7 /* source */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 8 /* provider */
        start local 8 // android.view.accessibility.AccessibilityNodeProvider provider
        14: .line 7553
            aload 8 /* provider */
            ifnull 30
        15: .line 7555
            lload 4 /* sourceNodeId */
        16: .line 7554
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 9 /* virtualNodeId */
        start local 9 // int virtualNodeId
        17: .line 7557
            aload 8 /* provider */
            iload 9 /* virtualNodeId */
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.createAccessibilityNodeInfo:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            astore 10 /* node */
        start local 10 // android.view.accessibility.AccessibilityNodeInfo node
        18: .line 7558
            aload 0 /* this */
            aload 7 /* source */
            aload 10 /* node */
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
        end local 10 // android.view.accessibility.AccessibilityNodeInfo node
        end local 9 // int virtualNodeId
        end local 8 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 7 // android.view.View source
        end local 6 // int accessibilityViewId
        end local 4 // long sourceNodeId
        19: .line 7561
            goto 30
        20: .line 7563
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getSourceNodeId:()J
            lstore 4 /* sourceNodeId */
        start local 4 // long sourceNodeId
        21: .line 7565
            lload 4 /* sourceNodeId */
        22: .line 7564
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getAccessibilityViewId:(J)I
            istore 6 /* accessibilityViewId */
        start local 6 // int accessibilityViewId
        23: .line 7566
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            iload 6 /* accessibilityViewId */
            invokevirtual android.view.View.findViewByAccessibilityId:(I)Landroid/view/View;
            astore 7 /* source */
        start local 7 // android.view.View source
        24: .line 7567
            aload 7 /* source */
            ifnull 30
        25: .line 7568
            aload 7 /* source */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 8 /* provider */
        start local 8 // android.view.accessibility.AccessibilityNodeProvider provider
        26: .line 7569
            aload 8 /* provider */
            ifnull 30
        27: .line 7570
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.view.ViewRootImpl.setAccessibilityFocus:(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
        end local 8 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 7 // android.view.View source
        end local 6 // int accessibilityViewId
        end local 4 // long sourceNodeId
        28: .line 7573
            goto 30
        29: .line 7577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* event */
            invokevirtual android.view.ViewRootImpl.handleWindowContentChangedEvent:(Landroid/view/accessibility/AccessibilityEvent;)V
        30: .line 7580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
            aload 2 /* event */
            invokevirtual android.view.accessibility.AccessibilityManager.sendAccessibilityEvent:(Landroid/view/accessibility/AccessibilityEvent;)V
        31: .line 7581
            iconst_1
            ireturn
        end local 3 // int eventType
        end local 2 // android.view.accessibility.AccessibilityEvent event
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0                 this  Landroid/view/ViewRootImpl;
            0   32     1                child  Landroid/view/View;
            0   32     2                event  Landroid/view/accessibility/AccessibilityEvent;
            7   32     3            eventType  I
            9   19     4         sourceNodeId  J
           11   19     6  accessibilityViewId  I
           12   19     7               source  Landroid/view/View;
           14   19     8             provider  Landroid/view/accessibility/AccessibilityNodeProvider;
           17   19     9        virtualNodeId  I
           18   19    10                 node  Landroid/view/accessibility/AccessibilityNodeInfo;
           21   28     4         sourceNodeId  J
           23   28     6  accessibilityViewId  I
           24   28     7               source  Landroid/view/View;
           26   28     8             provider  Landroid/view/accessibility/AccessibilityNodeProvider;
    MethodParameters:
       Name  Flags
      child  
      event  

  private void handleWindowContentChangedEvent(android.view.accessibility.AccessibilityEvent);
    descriptor: (Landroid/view/accessibility/AccessibilityEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.accessibility.AccessibilityEvent event
         0: .line 7594
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            astore 2 /* focusedHost */
        start local 2 // android.view.View focusedHost
         1: .line 7595
            aload 2 /* focusedHost */
            ifnull 2
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            ifnonnull 3
         2: .line 7597
      StackMap locals: android.view.View
      StackMap stack:
            return
         3: .line 7600
      StackMap locals:
      StackMap stack:
            aload 2 /* focusedHost */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
            astore 3 /* provider */
        start local 3 // android.view.accessibility.AccessibilityNodeProvider provider
         4: .line 7601
            aload 3 /* provider */
            ifnonnull 9
         5: .line 7603
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
         6: .line 7604
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
         7: .line 7605
            aload 2 /* focusedHost */
            iconst_0
            invokevirtual android.view.View.clearAccessibilityFocusNoCallbacks:(I)V
         8: .line 7606
            return
         9: .line 7611
      StackMap locals: android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getContentChangeTypes:()I
            istore 4 /* changes */
        start local 4 // int changes
        10: .line 7612
            iload 4 /* changes */
            iconst_1
            iand
            ifne 13
        11: .line 7613
            iload 4 /* changes */
            ifeq 13
        12: .line 7614
            return
        13: .line 7617
      StackMap locals: int
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.accessibility.AccessibilityEvent.getSourceNodeId:()J
            lstore 5 /* eventSourceNodeId */
        start local 5 // long eventSourceNodeId
        14: .line 7618
            lload 5 /* eventSourceNodeId */
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getAccessibilityViewId:(J)I
            istore 7 /* changedViewId */
        start local 7 // int changedViewId
        15: .line 7621
            iconst_0
            istore 8 /* hostInSubtree */
        start local 8 // boolean hostInSubtree
        16: .line 7622
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
            astore 9 /* root */
        start local 9 // android.view.View root
        17: .line 7623
            goto 26
        18: .line 7624
      StackMap locals: android.view.ViewRootImpl android.view.accessibility.AccessibilityEvent android.view.View android.view.accessibility.AccessibilityNodeProvider int long int int android.view.View
      StackMap stack:
            iload 7 /* changedViewId */
            aload 9 /* root */
            invokevirtual android.view.View.getAccessibilityViewId:()I
            if_icmpne 21
        19: .line 7625
            iconst_1
            istore 8 /* hostInSubtree */
        20: .line 7626
            goto 26
        21: .line 7627
      StackMap locals:
      StackMap stack:
            aload 9 /* root */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 10 /* parent */
        start local 10 // android.view.ViewParent parent
        22: .line 7628
            aload 10 /* parent */
            instanceof android.view.View
            ifeq 25
        23: .line 7629
            aload 10 /* parent */
            checkcast android.view.View
            astore 9 /* root */
        24: .line 7630
            goto 26
        25: .line 7631
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aconst_null
            astore 9 /* root */
        end local 10 // android.view.ViewParent parent
        26: .line 7623
      StackMap locals:
      StackMap stack:
            aload 9 /* root */
            ifnull 27
            iload 8 /* hostInSubtree */
            ifeq 18
        27: .line 7637
      StackMap locals:
      StackMap stack:
            iload 8 /* hostInSubtree */
            ifne 29
        28: .line 7638
            return
        29: .line 7641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId:()J
            lstore 10 /* focusedSourceNodeId */
        start local 10 // long focusedSourceNodeId
        30: .line 7642
            lload 10 /* focusedSourceNodeId */
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 12 /* focusedChildId */
        start local 12 // int focusedChildId
        31: .line 7645
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            astore 13 /* oldBounds */
        start local 13 // android.graphics.Rect oldBounds
        32: .line 7646
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            aload 13 /* oldBounds */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInScreen:(Landroid/graphics/Rect;)V
        33: .line 7647
            aload 0 /* this */
            aload 3 /* provider */
            iload 12 /* focusedChildId */
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.createAccessibilityNodeInfo:(I)Landroid/view/accessibility/AccessibilityNodeInfo;
            putfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
        34: .line 7648
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            ifnonnull 42
        35: .line 7650
            aload 0 /* this */
            aconst_null
            putfield android.view.ViewRootImpl.mAccessibilityFocusedHost:Landroid/view/View;
        36: .line 7651
            aload 2 /* focusedHost */
            iconst_0
            invokevirtual android.view.View.clearAccessibilityFocusNoCallbacks:(I)V
        37: .line 7655
            aload 3 /* provider */
            iload 12 /* focusedChildId */
        38: .line 7656
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.getId:()I
            aconst_null
        39: .line 7655
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.performAction:(IILandroid/os/Bundle;)Z
            pop
        40: .line 7657
            aload 0 /* this */
            aload 13 /* oldBounds */
            invokevirtual android.view.ViewRootImpl.invalidateRectOnScreen:(Landroid/graphics/Rect;)V
        41: .line 7658
            goto 46
        42: .line 7660
      StackMap locals: long int android.graphics.Rect
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getBoundsInScreen:()Landroid/graphics/Rect;
            astore 14 /* newBounds */
        start local 14 // android.graphics.Rect newBounds
        43: .line 7661
            aload 13 /* oldBounds */
            aload 14 /* newBounds */
            invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
            ifne 46
        44: .line 7662
            aload 13 /* oldBounds */
            aload 14 /* newBounds */
            invokevirtual android.graphics.Rect.union:(Landroid/graphics/Rect;)V
        45: .line 7663
            aload 0 /* this */
            aload 13 /* oldBounds */
            invokevirtual android.view.ViewRootImpl.invalidateRectOnScreen:(Landroid/graphics/Rect;)V
        end local 14 // android.graphics.Rect newBounds
        46: .line 7666
      StackMap locals:
      StackMap stack:
            return
        end local 13 // android.graphics.Rect oldBounds
        end local 12 // int focusedChildId
        end local 10 // long focusedSourceNodeId
        end local 9 // android.view.View root
        end local 8 // boolean hostInSubtree
        end local 7 // int changedViewId
        end local 5 // long eventSourceNodeId
        end local 4 // int changes
        end local 3 // android.view.accessibility.AccessibilityNodeProvider provider
        end local 2 // android.view.View focusedHost
        end local 1 // android.view.accessibility.AccessibilityEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   47     0                 this  Landroid/view/ViewRootImpl;
            0   47     1                event  Landroid/view/accessibility/AccessibilityEvent;
            1   47     2          focusedHost  Landroid/view/View;
            4   47     3             provider  Landroid/view/accessibility/AccessibilityNodeProvider;
           10   47     4              changes  I
           14   47     5    eventSourceNodeId  J
           15   47     7        changedViewId  I
           16   47     8        hostInSubtree  Z
           17   47     9                 root  Landroid/view/View;
           22   26    10               parent  Landroid/view/ViewParent;
           30   47    10  focusedSourceNodeId  J
           31   47    12       focusedChildId  I
           32   47    13            oldBounds  Landroid/graphics/Rect;
           43   46    14            newBounds  Landroid/graphics/Rect;
    MethodParameters:
       Name  Flags
      event  

  public void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
    descriptor: (Landroid/view/View;Landroid/view/View;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.View source
        start local 3 // int changeType
         0: .line 7670
            aload 0 /* this */
            aload 2 /* source */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.view.View
            iload 3 /* changeType */
            invokevirtual android.view.ViewRootImpl.postSendWindowContentChangedCallback:(Landroid/view/View;I)V
         1: .line 7671
            return
        end local 3 // int changeType
        end local 2 // android.view.View source
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/view/ViewRootImpl;
            0    2     1       child  Landroid/view/View;
            0    2     2      source  Landroid/view/View;
            0    2     3  changeType  I
    MethodParameters:
            Name  Flags
      child       
      source      
      changeType  

  public boolean canResolveLayoutDirection();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7675
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean isLayoutDirectionResolved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7680
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getLayoutDirection();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7685
            iconst_0
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean canResolveTextDirection();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7690
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean isTextDirectionResolved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7695
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getTextDirection();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7700
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean canResolveTextAlignment();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7705
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public boolean isTextAlignmentResolved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7710
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  public int getTextAlignment();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7715
            iconst_1
            ireturn
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/ViewRootImpl;

  private android.view.View getCommonPredecessor(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View first
        start local 2 // android.view.View second
         0: .line 7719
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempHashSet:Ljava/util/HashSet;
            ifnonnull 2
         1: .line 7720
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield android.view.ViewRootImpl.mTempHashSet:Ljava/util/HashSet;
         2: .line 7722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempHashSet:Ljava/util/HashSet;
            astore 3 /* seen */
        start local 3 // java.util.HashSet seen
         3: .line 7723
            aload 3 /* seen */
            invokevirtual java.util.HashSet.clear:()V
         4: .line 7724
            aload 1 /* first */
            astore 4 /* firstCurrent */
        start local 4 // android.view.View firstCurrent
         5: .line 7725
            goto 12
         6: .line 7726
      StackMap locals: java.util.HashSet android.view.View
      StackMap stack:
            aload 3 /* seen */
            aload 4 /* firstCurrent */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 7727
            aload 4 /* firstCurrent */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            astore 5 /* firstCurrentParent */
        start local 5 // android.view.ViewParent firstCurrentParent
         8: .line 7728
            aload 5 /* firstCurrentParent */
            instanceof android.view.View
            ifeq 11
         9: .line 7729
            aload 5 /* firstCurrentParent */
            checkcast android.view.View
            astore 4 /* firstCurrent */
        10: .line 7730
            goto 12
        11: .line 7731
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aconst_null
            astore 4 /* firstCurrent */
        end local 5 // android.view.ViewParent firstCurrentParent
        12: .line 7725
      StackMap locals:
      StackMap stack:
            aload 4 /* firstCurrent */
            ifnonnull 6
        13: .line 7734
            aload 2 /* second */
            astore 5 /* secondCurrent */
        start local 5 // android.view.View secondCurrent
        14: .line 7735
            goto 23
        15: .line 7736
      StackMap locals: android.view.View
      StackMap stack:
            aload 3 /* seen */
            aload 5 /* secondCurrent */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 7737
            aload 3 /* seen */
            invokevirtual java.util.HashSet.clear:()V
        17: .line 7738
            aload 5 /* secondCurrent */
            areturn
        18: .line 7740
      StackMap locals:
      StackMap stack:
            aload 5 /* secondCurrent */
            getfield android.view.View.mParent:Landroid/view/ViewParent;
            astore 6 /* secondCurrentParent */
        start local 6 // android.view.ViewParent secondCurrentParent
        19: .line 7741
            aload 6 /* secondCurrentParent */
            instanceof android.view.View
            ifeq 22
        20: .line 7742
            aload 6 /* secondCurrentParent */
            checkcast android.view.View
            astore 5 /* secondCurrent */
        21: .line 7743
            goto 23
        22: .line 7744
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aconst_null
            astore 5 /* secondCurrent */
        end local 6 // android.view.ViewParent secondCurrentParent
        23: .line 7735
      StackMap locals:
      StackMap stack:
            aload 5 /* secondCurrent */
            ifnonnull 15
        24: .line 7747
            aload 3 /* seen */
            invokevirtual java.util.HashSet.clear:()V
        25: .line 7748
            aconst_null
            areturn
        end local 5 // android.view.View secondCurrent
        end local 4 // android.view.View firstCurrent
        end local 3 // java.util.HashSet seen
        end local 2 // android.view.View second
        end local 1 // android.view.View first
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Landroid/view/ViewRootImpl;
            0   26     1                first  Landroid/view/View;
            0   26     2               second  Landroid/view/View;
            3   26     3                 seen  Ljava/util/HashSet<Landroid/view/View;>;
            5   26     4         firstCurrent  Landroid/view/View;
            8   12     5   firstCurrentParent  Landroid/view/ViewParent;
           14   26     5        secondCurrent  Landroid/view/View;
           19   23     6  secondCurrentParent  Landroid/view/ViewParent;
    MethodParameters:
        Name  Flags
      first   
      second  

  void checkThread();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7752
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mThread:Ljava/lang/Thread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpeq 4
         1: .line 7753
            new android.view.ViewRootImpl$CalledFromWrongThreadException
            dup
         2: .line 7754
            ldc "Only the original thread that created a view hierarchy can touch its views."
         3: .line 7753
            invokespecial android.view.ViewRootImpl$CalledFromWrongThreadException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 7756
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/ViewRootImpl;

  public void requestDisallowInterceptTouchEvent(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean disallowIntercept
         0: .line 7761
            return
        end local 1 // boolean disallowIntercept
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Landroid/view/ViewRootImpl;
            0    1     1  disallowIntercept  Z
    MethodParameters:
                   Name  Flags
      disallowIntercept  

  public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
    descriptor: (Landroid/view/View;Landroid/graphics/Rect;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.graphics.Rect rectangle
        start local 3 // boolean immediate
         0: .line 7765
            aload 2 /* rectangle */
            ifnonnull 2
         1: .line 7766
            aload 0 /* this */
            aconst_null
            iload 3 /* immediate */
            invokevirtual android.view.ViewRootImpl.scrollToRectOrFocus:(Landroid/graphics/Rect;Z)Z
            ireturn
         2: .line 7768
      StackMap locals:
      StackMap stack:
            aload 2 /* rectangle */
            aload 1 /* child */
            invokevirtual android.view.View.getLeft:()I
            aload 1 /* child */
            invokevirtual android.view.View.getScrollX:()I
            isub
         3: .line 7769
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            aload 1 /* child */
            invokevirtual android.view.View.getScrollY:()I
            isub
         4: .line 7768
            invokevirtual android.graphics.Rect.offset:(II)V
         5: .line 7770
            aload 0 /* this */
            aload 2 /* rectangle */
            iload 3 /* immediate */
            invokevirtual android.view.ViewRootImpl.scrollToRectOrFocus:(Landroid/graphics/Rect;Z)Z
            istore 4 /* scrolled */
        start local 4 // boolean scrolled
         6: .line 7771
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            aload 2 /* rectangle */
            invokevirtual android.graphics.Rect.set:(Landroid/graphics/Rect;)V
         7: .line 7772
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            iconst_0
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mCurScrollY:I
            ineg
            invokevirtual android.graphics.Rect.offset:(II)V
         8: .line 7773
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowLeft:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mWindowTop:I
            invokevirtual android.graphics.Rect.offset:(II)V
         9: .line 7775
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowSession:Landroid/view/IWindowSession;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindow:Landroid/view/ViewRootImpl$W;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTempRect:Landroid/graphics/Rect;
            invokeinterface android.view.IWindowSession.onRectangleOnScreenRequested:(Landroid/os/IBinder;Landroid/graphics/Rect;)V
        10: .line 7776
            goto 12
      StackMap locals: android.view.ViewRootImpl android.view.View android.graphics.Rect int int
      StackMap stack: android.os.RemoteException
        11: pop
        12: .line 7779
      StackMap locals:
      StackMap stack:
            iload 4 /* scrolled */
            ireturn
        end local 4 // boolean scrolled
        end local 3 // boolean immediate
        end local 2 // android.graphics.Rect rectangle
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Landroid/view/ViewRootImpl;
            0   13     1      child  Landroid/view/View;
            0   13     2  rectangle  Landroid/graphics/Rect;
            0   13     3  immediate  Z
            6   13     4   scrolled  Z
      Exception table:
        from    to  target  type
           9    10      11  Class android.os.RemoteException
    MethodParameters:
           Name  Flags
      child      
      rectangle  
      immediate  

  public void childHasTransientStateChanged(android.view.View, boolean);
    descriptor: (Landroid/view/View;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // boolean hasTransientState
         0: .line 7785
            return
        end local 2 // boolean hasTransientState
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Landroid/view/ViewRootImpl;
            0    1     1              child  Landroid/view/View;
            0    1     2  hasTransientState  Z
    MethodParameters:
                   Name  Flags
      child              
      hasTransientState  

  public boolean onStartNestedScroll(android.view.View, android.view.View, int);
    descriptor: (Landroid/view/View;Landroid/view/View;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.View target
        start local 3 // int nestedScrollAxes
         0: .line 7789
            iconst_0
            ireturn
        end local 3 // int nestedScrollAxes
        end local 2 // android.view.View target
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/view/ViewRootImpl;
            0    1     1             child  Landroid/view/View;
            0    1     2            target  Landroid/view/View;
            0    1     3  nestedScrollAxes  I
    MethodParameters:
                  Name  Flags
      child             
      target            
      nestedScrollAxes  

  public void onStopNestedScroll(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
         0: .line 7794
            return
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/view/ViewRootImpl;
            0    1     1  target  Landroid/view/View;
    MethodParameters:
        Name  Flags
      target  

  public void onNestedScrollAccepted(android.view.View, android.view.View, int);
    descriptor: (Landroid/view/View;Landroid/view/View;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View child
        start local 2 // android.view.View target
        start local 3 // int nestedScrollAxes
         0: .line 7798
            return
        end local 3 // int nestedScrollAxes
        end local 2 // android.view.View target
        end local 1 // android.view.View child
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/view/ViewRootImpl;
            0    1     1             child  Landroid/view/View;
            0    1     2            target  Landroid/view/View;
            0    1     3  nestedScrollAxes  I
    MethodParameters:
                  Name  Flags
      child             
      target            
      nestedScrollAxes  

  public void onNestedScroll(android.view.View, int, int, int, int);
    descriptor: (Landroid/view/View;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=6, args_size=6
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
        start local 2 // int dxConsumed
        start local 3 // int dyConsumed
        start local 4 // int dxUnconsumed
        start local 5 // int dyUnconsumed
         0: .line 7803
            return
        end local 5 // int dyUnconsumed
        end local 4 // int dxUnconsumed
        end local 3 // int dyConsumed
        end local 2 // int dxConsumed
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/view/ViewRootImpl;
            0    1     1        target  Landroid/view/View;
            0    1     2    dxConsumed  I
            0    1     3    dyConsumed  I
            0    1     4  dxUnconsumed  I
            0    1     5  dyUnconsumed  I
    MethodParameters:
              Name  Flags
      target        
      dxConsumed    
      dyConsumed    
      dxUnconsumed  
      dyUnconsumed  

  public void onNestedPreScroll(android.view.View, int, int, int[]);
    descriptor: (Landroid/view/View;II[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
        start local 2 // int dx
        start local 3 // int dy
        start local 4 // int[] consumed
         0: .line 7807
            return
        end local 4 // int[] consumed
        end local 3 // int dy
        end local 2 // int dx
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/view/ViewRootImpl;
            0    1     1    target  Landroid/view/View;
            0    1     2        dx  I
            0    1     3        dy  I
            0    1     4  consumed  [I
    MethodParameters:
          Name  Flags
      target    
      dx        
      dy        
      consumed  

  public boolean onNestedFling(android.view.View, float, float, boolean);
    descriptor: (Landroid/view/View;FFZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
        start local 2 // float velocityX
        start local 3 // float velocityY
        start local 4 // boolean consumed
         0: .line 7811
            iconst_0
            ireturn
        end local 4 // boolean consumed
        end local 3 // float velocityY
        end local 2 // float velocityX
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/view/ViewRootImpl;
            0    1     1     target  Landroid/view/View;
            0    1     2  velocityX  F
            0    1     3  velocityY  F
            0    1     4   consumed  Z
    MethodParameters:
           Name  Flags
      target     
      velocityX  
      velocityY  
      consumed   

  public boolean onNestedPreFling(android.view.View, float, float);
    descriptor: (Landroid/view/View;FF)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
        start local 2 // float velocityX
        start local 3 // float velocityY
         0: .line 7816
            iconst_0
            ireturn
        end local 3 // float velocityY
        end local 2 // float velocityX
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/view/ViewRootImpl;
            0    1     1     target  Landroid/view/View;
            0    1     2  velocityX  F
            0    1     3  velocityY  F
    MethodParameters:
           Name  Flags
      target     
      velocityX  
      velocityY  

  public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
    descriptor: (Landroid/view/View;ILandroid/os/Bundle;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.View target
        start local 2 // int action
        start local 3 // android.os.Bundle args
         0: .line 7821
            iconst_0
            ireturn
        end local 3 // android.os.Bundle args
        end local 2 // int action
        end local 1 // android.view.View target
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/view/ViewRootImpl;
            0    1     1  target  Landroid/view/View;
            0    1     2  action  I
            0    1     3    args  Landroid/os/Bundle;
    MethodParameters:
        Name  Flags
      target  
      action  
      args    

  private void reportNextDraw();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7826
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifne 2
         1: .line 7827
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.drawPending:()V
         2: .line 7829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mReportNextDraw:Z
         3: .line 7830
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/ViewRootImpl;

  public void setReportNextDraw();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 7841
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.reportNextDraw:()V
         1: .line 7842
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.invalidate:()V
         2: .line 7843
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/view/ViewRootImpl;

  void changeCanvasOpacity(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // boolean opaque
         0: .line 7846
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mTag:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "changeCanvasOpacity: opaque="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* opaque */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 7847
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            ifnull 3
         2: .line 7848
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mAttachInfo:Landroid/view/View$AttachInfo;
            getfield android.view.View$AttachInfo.mThreadedRenderer:Landroid/view/ThreadedRenderer;
            iload 1 /* opaque */
            invokevirtual android.view.ThreadedRenderer.setOpaque:(Z)V
         3: .line 7850
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean opaque
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/view/ViewRootImpl;
            0    4     1  opaque  Z
    MethodParameters:
        Name  Flags
      opaque  

  public boolean dispatchUnhandledKeyEvent(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.view.KeyEvent event
         0: .line 7859
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUnhandledKeyManager:Landroid/view/ViewRootImpl$UnhandledKeyManager;
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mView:Landroid/view/View;
            aload 1 /* event */
            invokevirtual android.view.ViewRootImpl$UnhandledKeyManager.dispatch:(Landroid/view/View;Landroid/view/KeyEvent;)Z
            ireturn
        end local 1 // android.view.KeyEvent event
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/view/ViewRootImpl;
            0    1     1  event  Landroid/view/KeyEvent;
    MethodParameters:
       Name  Flags
      event  

  static android.view.HandlerActionQueue getRunQueue();
    descriptor: ()Landroid/view/HandlerActionQueue;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 8092
            getstatic android.view.ViewRootImpl.sRunQueues:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast android.view.HandlerActionQueue
            astore 0 /* rq */
        start local 0 // android.view.HandlerActionQueue rq
         1: .line 8093
            aload 0 /* rq */
            ifnull 3
         2: .line 8094
            aload 0 /* rq */
            areturn
         3: .line 8096
      StackMap locals: android.view.HandlerActionQueue
      StackMap stack:
            new android.view.HandlerActionQueue
            dup
            invokespecial android.view.HandlerActionQueue.<init>:()V
            astore 0 /* rq */
         4: .line 8097
            getstatic android.view.ViewRootImpl.sRunQueues:Ljava/lang/ThreadLocal;
            aload 0 /* rq */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         5: .line 8098
            aload 0 /* rq */
            areturn
        end local 0 // android.view.HandlerActionQueue rq
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    6     0    rq  Landroid/view/HandlerActionQueue;

  private void startDragResizing(android.graphics.Rect, boolean, android.graphics.Rect, android.graphics.Rect, int);
    descriptor: (Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // android.view.ViewRootImpl this
        start local 1 // android.graphics.Rect initialBounds
        start local 2 // boolean fullscreen
        start local 3 // android.graphics.Rect systemInsets
        start local 4 // android.graphics.Rect stableInsets
        start local 5 // int resizeMode
         0: .line 8106
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            ifne 11
         1: .line 8107
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mDragResizing:Z
         2: .line 8108
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifeq 10
         3: .line 8109
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         4: goto 9
         5: .line 8110
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
         6: .line 8111
            aload 1 /* initialBounds */
            iload 2 /* fullscreen */
            aload 3 /* systemInsets */
            aload 4 /* stableInsets */
            iload 5 /* resizeMode */
         7: .line 8110
            invokeinterface android.view.WindowCallbacks.onWindowDragResizeStart:(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
         8: .line 8109
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            ifge 5
        end local 6 // int i
        10: .line 8114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
        11: .line 8116
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int resizeMode
        end local 4 // android.graphics.Rect stableInsets
        end local 3 // android.graphics.Rect systemInsets
        end local 2 // boolean fullscreen
        end local 1 // android.graphics.Rect initialBounds
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Landroid/view/ViewRootImpl;
            0   12     1  initialBounds  Landroid/graphics/Rect;
            0   12     2     fullscreen  Z
            0   12     3   systemInsets  Landroid/graphics/Rect;
            0   12     4   stableInsets  Landroid/graphics/Rect;
            0   12     5     resizeMode  I
            4   10     6              i  I
    MethodParameters:
               Name  Flags
      initialBounds  
      fullscreen     
      systemInsets   
      stableInsets   
      resizeMode     

  private void endDragResizing();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 8122
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            ifeq 9
         1: .line 8123
            aload 0 /* this */
            iconst_0
            putfield android.view.ViewRootImpl.mDragResizing:Z
         2: .line 8124
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifeq 8
         3: .line 8125
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         4: goto 7
         5: .line 8126
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 1 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
            invokeinterface android.view.WindowCallbacks.onWindowDragResizeEnd:()V
         6: .line 8125
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            ifge 5
        end local 1 // int i
         8: .line 8129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mFullRedrawNeeded:Z
         9: .line 8131
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/view/ViewRootImpl;
            4    8     1     i  I

  private boolean updateContentDrawBounds();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 8134
            iconst_0
            istore 1 /* updated */
        start local 1 // boolean updated
         1: .line 8135
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifeq 10
         2: .line 8136
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         3: goto 9
         4: .line 8137
      StackMap locals: int int
      StackMap stack:
            iload 1 /* updated */
         5: .line 8138
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
         6: .line 8139
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.surfaceInsets:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWidth:I
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mHeight:I
         7: .line 8138
            invokeinterface android.view.WindowCallbacks.onContentDrawn:(IIII)Z
            ior
            istore 1 /* updated */
         8: .line 8136
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            ifge 4
        end local 2 // int i
        10: .line 8142
      StackMap locals:
      StackMap stack:
            iload 1 /* updated */
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mDragResizing:Z
            ifeq 11
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            ifeq 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack: int
        11: iconst_0
      StackMap locals: android.view.ViewRootImpl int
      StackMap stack: int int
        12: ior
            ireturn
        end local 1 // boolean updated
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/view/ViewRootImpl;
            1   13     1  updated  Z
            3   10     2        i  I

  private void requestDrawWindow();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 8146
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mUseMTRenderer:Z
            ifne 2
         1: .line 8147
            return
         2: .line 8149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.concurrent.CountDownLatch
            dup
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
            putfield android.view.ViewRootImpl.mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
         3: .line 8150
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         4: goto 7
         5: .line 8151
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mWindowCallbacks:Ljava/util/ArrayList;
            iload 1 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.view.WindowCallbacks
            aload 0 /* this */
            getfield android.view.ViewRootImpl.mReportNextDraw:Z
            invokeinterface android.view.WindowCallbacks.onRequestDraw:(Z)V
         6: .line 8150
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            ifge 5
        end local 1 // int i
         8: .line 8153
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/view/ViewRootImpl;
            4    8     1     i  I

  public void reportActivityRelaunched();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.ViewRootImpl this
         0: .line 8161
            aload 0 /* this */
            iconst_1
            putfield android.view.ViewRootImpl.mActivityRelaunched:Z
         1: .line 8162
            return
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/view/ViewRootImpl;

  private void lambda$0(long);
    descriptor: (J)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // android.view.ViewRootImpl this
        start local 1 // long frameNr
         0: .line 3110
            aload 0 /* this */
            invokevirtual android.view.ViewRootImpl.pendingDrawFinished:()V
         1: .line 3111
            return
        end local 1 // long frameNr
        end local 0 // android.view.ViewRootImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/view/ViewRootImpl;
            0    2     1  frameNr  J
}
SourceFile: "ViewRootImpl.java"
NestMembers:
  android.view.ViewRootImpl$1  android.view.ViewRootImpl$2  android.view.ViewRootImpl$3  android.view.ViewRootImpl$4  android.view.ViewRootImpl$AccessibilityInteractionConnection  android.view.ViewRootImpl$AccessibilityInteractionConnectionManager  android.view.ViewRootImpl$ActivityConfigCallback  android.view.ViewRootImpl$AsyncInputStage  android.view.ViewRootImpl$CalledFromWrongThreadException  android.view.ViewRootImpl$ConfigChangedCallback  android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable  android.view.ViewRootImpl$ConsumeBatchedInputRunnable  android.view.ViewRootImpl$EarlyPostImeInputStage  android.view.ViewRootImpl$HighContrastTextManager  android.view.ViewRootImpl$ImeInputStage  android.view.ViewRootImpl$InputStage  android.view.ViewRootImpl$InvalidateOnAnimationRunnable  android.view.ViewRootImpl$NativePostImeInputStage  android.view.ViewRootImpl$NativePreImeInputStage  android.view.ViewRootImpl$QueuedInputEvent  android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent  android.view.ViewRootImpl$SyntheticInputStage  android.view.ViewRootImpl$SyntheticJoystickHandler  android.view.ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState  android.view.ViewRootImpl$SyntheticKeyboardHandler  android.view.ViewRootImpl$SyntheticTouchNavigationHandler  android.view.ViewRootImpl$SyntheticTouchNavigationHandler$1  android.view.ViewRootImpl$SyntheticTrackballHandler  android.view.ViewRootImpl$SystemUiVisibilityInfo  android.view.ViewRootImpl$TakenSurfaceHolder  android.view.ViewRootImpl$TrackballAxis  android.view.ViewRootImpl$TraversalRunnable  android.view.ViewRootImpl$UnhandledKeyManager  android.view.ViewRootImpl$ViewPostImeInputStage  android.view.ViewRootImpl$ViewPreImeInputStage  android.view.ViewRootImpl$ViewRootHandler  android.view.ViewRootImpl$W  android.view.ViewRootImpl$WindowInputEventReceiver  android.view.ViewRootImpl$WindowStoppedCallback
InnerClasses:
  public Translator = android.content.res.CompatibilityInfo$Translator of android.content.res.CompatibilityInfo
  public final Mode = android.graphics.PorterDuff$Mode of android.graphics.PorterDuff
  public VectorDrawableAnimatorRT = android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT of android.graphics.drawable.AnimatedVectorDrawable
  public abstract DisplayListener = android.hardware.display.DisplayManager$DisplayListener of android.hardware.display.DisplayManager
  public abstract Callback = android.view.ActionMode$Callback of android.view.ActionMode
  public abstract FrameCallback = android.view.Choreographer$FrameCallback of android.view.Choreographer
  public final ParcelableWrapper = android.view.DisplayCutout$ParcelableWrapper of android.view.DisplayCutout
  public abstract Callback = android.view.InputQueue$Callback of android.view.InputQueue
  public DispatcherState = android.view.KeyEvent$DispatcherState of android.view.KeyEvent
  public OutOfResourcesException = android.view.Surface$OutOfResourcesException of android.view.Surface
  public abstract Callback = android.view.SurfaceHolder$Callback of android.view.SurfaceHolder
  public abstract Callback2 = android.view.SurfaceHolder$Callback2 of android.view.SurfaceHolder
  abstract DrawCallbacks = android.view.ThreadedRenderer$DrawCallbacks of android.view.ThreadedRenderer
  public abstract FrameCompleteCallback = android.view.ThreadedRenderer$FrameCompleteCallback of android.view.ThreadedRenderer
  public abstract FrameDrawingCallback = android.view.ThreadedRenderer$FrameDrawingCallback of android.view.ThreadedRenderer
  final AttachInfo = android.view.View$AttachInfo of android.view.View
  abstract Callbacks = android.view.View$AttachInfo$Callbacks of android.view.View$AttachInfo
  InvalidateInfo = android.view.View$AttachInfo$InvalidateInfo of android.view.View$AttachInfo
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  android.view.ViewRootImpl$1
  android.view.ViewRootImpl$2
  android.view.ViewRootImpl$3
  android.view.ViewRootImpl$4
  final AccessibilityInteractionConnection = android.view.ViewRootImpl$AccessibilityInteractionConnection of android.view.ViewRootImpl
  final AccessibilityInteractionConnectionManager = android.view.ViewRootImpl$AccessibilityInteractionConnectionManager of android.view.ViewRootImpl
  public abstract ActivityConfigCallback = android.view.ViewRootImpl$ActivityConfigCallback of android.view.ViewRootImpl
  abstract AsyncInputStage = android.view.ViewRootImpl$AsyncInputStage of android.view.ViewRootImpl
  public final CalledFromWrongThreadException = android.view.ViewRootImpl$CalledFromWrongThreadException of android.view.ViewRootImpl
  public abstract ConfigChangedCallback = android.view.ViewRootImpl$ConfigChangedCallback of android.view.ViewRootImpl
  final ConsumeBatchedInputImmediatelyRunnable = android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable of android.view.ViewRootImpl
  final ConsumeBatchedInputRunnable = android.view.ViewRootImpl$ConsumeBatchedInputRunnable of android.view.ViewRootImpl
  final EarlyPostImeInputStage = android.view.ViewRootImpl$EarlyPostImeInputStage of android.view.ViewRootImpl
  final HighContrastTextManager = android.view.ViewRootImpl$HighContrastTextManager of android.view.ViewRootImpl
  final ImeInputStage = android.view.ViewRootImpl$ImeInputStage of android.view.ViewRootImpl
  abstract InputStage = android.view.ViewRootImpl$InputStage of android.view.ViewRootImpl
  final InvalidateOnAnimationRunnable = android.view.ViewRootImpl$InvalidateOnAnimationRunnable of android.view.ViewRootImpl
  final NativePostImeInputStage = android.view.ViewRootImpl$NativePostImeInputStage of android.view.ViewRootImpl
  final NativePreImeInputStage = android.view.ViewRootImpl$NativePreImeInputStage of android.view.ViewRootImpl
  private final QueuedInputEvent = android.view.ViewRootImpl$QueuedInputEvent of android.view.ViewRootImpl
  private SendWindowContentChangedAccessibilityEvent = android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent of android.view.ViewRootImpl
  final SyntheticInputStage = android.view.ViewRootImpl$SyntheticInputStage of android.view.ViewRootImpl
  final SyntheticJoystickHandler = android.view.ViewRootImpl$SyntheticJoystickHandler of android.view.ViewRootImpl
  final SyntheticKeyboardHandler = android.view.ViewRootImpl$SyntheticKeyboardHandler of android.view.ViewRootImpl
  final SyntheticTouchNavigationHandler = android.view.ViewRootImpl$SyntheticTouchNavigationHandler of android.view.ViewRootImpl
  final SyntheticTrackballHandler = android.view.ViewRootImpl$SyntheticTrackballHandler of android.view.ViewRootImpl
  final SystemUiVisibilityInfo = android.view.ViewRootImpl$SystemUiVisibilityInfo of android.view.ViewRootImpl
  TakenSurfaceHolder = android.view.ViewRootImpl$TakenSurfaceHolder of android.view.ViewRootImpl
  final TrackballAxis = android.view.ViewRootImpl$TrackballAxis of android.view.ViewRootImpl
  final TraversalRunnable = android.view.ViewRootImpl$TraversalRunnable of android.view.ViewRootImpl
  private UnhandledKeyManager = android.view.ViewRootImpl$UnhandledKeyManager of android.view.ViewRootImpl
  final ViewPostImeInputStage = android.view.ViewRootImpl$ViewPostImeInputStage of android.view.ViewRootImpl
  final ViewPreImeInputStage = android.view.ViewRootImpl$ViewPreImeInputStage of android.view.ViewRootImpl
  final ViewRootHandler = android.view.ViewRootImpl$ViewRootHandler of android.view.ViewRootImpl
  W = android.view.ViewRootImpl$W of android.view.ViewRootImpl
  final WindowInputEventReceiver = android.view.ViewRootImpl$WindowInputEventReceiver of android.view.ViewRootImpl
  abstract WindowStoppedCallback = android.view.ViewRootImpl$WindowStoppedCallback of android.view.ViewRootImpl
  public final InternalInsetsInfo = android.view.ViewTreeObserver$InternalInsetsInfo of android.view.ViewTreeObserver
  public BadTokenException = android.view.WindowManager$BadTokenException of android.view.WindowManager
  public InvalidDisplayException = android.view.WindowManager$InvalidDisplayException of android.view.WindowManager
  public LayoutParams = android.view.WindowManager$LayoutParams of android.view.WindowManager
  public abstract AccessibilityStateChangeListener = android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener of android.view.accessibility.AccessibilityManager
  public abstract HighTextContrastChangeListener = android.view.accessibility.AccessibilityManager$HighTextContrastChangeListener of android.view.accessibility.AccessibilityManager
  public final AccessibilityAction = android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction of android.view.accessibility.AccessibilityNodeInfo
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles