# -*- coding: utf-8 -*-
'''
Copyright (C) 2012  Diego Torres Milano
Created on Feb 6, 2012

@author: diego
'''

import re

DEBUG = False

TRUE_PARCEL = "Result: Parcel(00000000 00000001   '........')\r\n"
FALSE_PARCEL = "Result: Parcel(00000000 00000000   '........')\r\n"

DUMP = """\
com.android.internal.policy.impl.PhoneWindow$DecorView@412a9d08 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,800 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2122315464 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,800 layout:getLayoutDirection()=7,INHERIT layout_horizontalWeight=3,0.0 layout_flags_FLAG_LAYOUT_IN_SCREEN=5,0x100 layout_flags_FLAG_LAYOUT_INSET_DECOR=7,0x10000 layout_flags_FLAG_SPLIT_TOUCH=8,0x800000 layout_flags_FLAG_HARDWARE_ACCELERATED=9,0x1000000 layout_flags=8,25231616 layout_type=21,TYPE_BASE_APPLICATION layout_verticalWeight=3,0.0 layout_x=1,0 layout_y=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
 android.widget.LinearLayout@412aaaf8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=3,800 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=2,38 measurement:mMeasuredHeight=3,800 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830334 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,800 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  com.android.internal.widget.ActionBarContainer@412ab6e0 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=23,id/action_bar_container layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,38 layout:mBottom=3,110 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   com.android.internal.widget.ActionBarView@412abdf0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=13,id/action_bar layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.LinearLayout@412b7498 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,140 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,140 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,24 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,72 layout:mLeft=2,61 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704080 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,201 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,24 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744813920 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,140 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@412b8158 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,id/up layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=2,19 layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.LinearLayout@412b84b8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=2,37 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,116 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,37 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,116 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,17 layout:mBottom=2,54 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,37 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=2,19 layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,116 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@412b89a8 text:mText=8,TrashCan getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,116 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,37 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=19,id/action_bar_title layout:mRight=3,116 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,37 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,29 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,37 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,116 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@412b97a0 text:mText=0, getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128605152 text:mResolvedTextDirection=12,FIRST_STRONG mID=22,id/action_bar_subtitle layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,8 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,-4 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.internal.widget.ActionBarView$HomeView@412b40e8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=2,48 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,72 layout:mLeft=2,13 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704080 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=2,61 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744813920 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@412b5758 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,24 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,24 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130691040 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,id/up layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=3,-11 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ImageView@412b5ad8 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,36 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,48 layout:mLeft=1,6 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=7,id/home layout:mRight=2,42 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,12 layout:mBottom=2,60 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=2,12 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=2,12 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,12 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,36 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.internal.view.menu.ActionMenuView@412c27c8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=5,false measurement:mOrientation=1,0 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=3,480 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128606160 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,36 layout:mBottom=2,36 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   com.android.internal.widget.ActionBarContextView@412b9f28 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120215264 text:mResolvedTextDirection=12,FIRST_STRONG mID=21,id/action_context_bar layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830328 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  android.widget.FrameLayout@412ba620 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=2,55 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,690 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/content layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,110 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,690 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,0 layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   android.widget.LinearLayout@412bb588 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=3,690 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,690 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,690 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,690 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.Button@412bba70 text:mText=1,1 getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=2,72 measurement:mMinWidth=2,96 padding:mPaddingBottom=2,12 padding:mPaddingLeft=2,18 padding:mPaddingRight=2,18 padding:mPaddingTop=2,12 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/button1 layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,72 padding:mUserPaddingBottom=2,12 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,18 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,18 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,46 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.Button@412bc610 text:mText=1,2 getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=2,72 measurement:mMinWidth=2,96 padding:mPaddingBottom=2,12 padding:mPaddingLeft=2,18 padding:mPaddingRight=2,18 padding:mPaddingTop=2,12 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/button2 layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,72 layout:mBottom=3,144 padding:mUserPaddingBottom=2,12 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,18 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,18 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,46 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.Button@412bd078 text:mText=1,3 getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=2,72 measurement:mMinWidth=2,96 padding:mPaddingBottom=2,12 padding:mPaddingLeft=2,18 padding:mPaddingRight=2,18 padding:mPaddingTop=2,12 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/button3 layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,144 layout:mBottom=3,216 padding:mUserPaddingBottom=2,12 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,18 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,18 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,46 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.Button@412bdae0 text:mText=1,4 getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=2,72 measurement:mMinWidth=2,96 padding:mPaddingBottom=2,12 padding:mPaddingLeft=2,18 padding:mPaddingRight=2,18 padding:mPaddingTop=2,12 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/button4 layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,216 layout:mBottom=3,288 padding:mUserPaddingBottom=2,12 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,18 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,18 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,46 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.Button@412be548 text:mText=1,5 getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=2,72 measurement:mMinWidth=2,96 padding:mPaddingBottom=2,12 padding:mPaddingLeft=2,18 padding:mPaddingRight=2,18 padding:mPaddingTop=2,12 measurement:mMeasuredHeight=2,72 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/button5 layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,288 layout:mBottom=3,360 padding:mUserPaddingBottom=2,12 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,18 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,18 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,46 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,72 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.TextView@412beff8 text:mText=11,Medium Text getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=3,480 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,330 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=7,id/info layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,360 layout:mBottom=3,690 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,29 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,330 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
  com.android.internal.widget.ActionBarContainer@412baa00 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 text:mResolvedTextDirection=12,FIRST_STRONG mID=19,id/split_action_bar layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
DONE.
DONE
"""

DUMP_SAMPLE_UI = """\
com.android.internal.policy.impl.PhoneWindow$DecorView@b4784e48 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,752 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2122315464 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,752 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,752 layout:getLayoutDirection()=7,INHERIT layout_horizontalWeight=3,0.0 layout_flags_FLAG_LAYOUT_IN_SCREEN=5,0x100 layout_flags_FLAG_LAYOUT_INSET_DECOR=7,0x10000 layout_flags_FLAG_SPLIT_TOUCH=8,0x800000 layout_flags_FLAG_HARDWARE_ACCELERATED=9,0x1000000 layout_flags=8,25231616 layout_type=21,TYPE_BASE_APPLICATION layout_verticalWeight=3,0.0 layout_x=1,0 layout_y=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
 android.widget.LinearLayout@b47b13f0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=3,752 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,752 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,752 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830334 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,752 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  com.android.internal.widget.ActionBarContainer@b47a46a8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=23,id/action_bar_container layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   com.android.internal.widget.ActionBarView@b4776570 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=13,id/action_bar layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.LinearLayout@b477e350 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=2,98 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=2,98 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,16 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=2,65 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704080 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=3,163 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,16 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744813920 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,98 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@b47b9b08 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,id/up layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=2,19 layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.LinearLayout@b47f82f0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=2,25 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=2,82 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,25 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=2,82 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,15 layout:mBottom=2,40 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=2,19 layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,82 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b4722880 text:mText=9,Sample UI getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=2,82 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,25 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=19,id/action_bar_title layout:mRight=2,82 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,25 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,20 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,82 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@b4785130 text:mText=0, getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128605152 text:mResolvedTextDirection=12,FIRST_STRONG mID=22,id/action_bar_subtitle layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,9 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,-2 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.internal.widget.ActionBarView$HomeView@b4777390 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=2,56 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=1,9 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704080 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=2,65 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744813920 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,56 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@b47a0930 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,16 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,16 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130691040 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,id/up layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830456 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=2,-7 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ImageView@b47b7e60 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,48 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,48 layout:mLeft=1,4 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=7,id/home layout:mRight=2,52 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,4 layout:mBottom=2,52 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,4 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,8 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,4 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.internal.view.menu.ActionMenuView@b4727510 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=5,false measurement:mOrientation=1,0 measurement:mTotalLength=2,64 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=2,64 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=4,1216 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,64 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.internal.view.menu.ActionMenuPresenter$OverflowMenuButton@b47cca60 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,64 measurement:mMinHeight=2,56 measurement:mMinWidth=2,64 padding:mPaddingBottom=1,0 padding:mPaddingLeft=2,12 padding:mPaddingRight=2,12 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,56 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=2,64 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,56 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,12 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,12 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744683007 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 layout:getLayoutDirection()=7,INHERIT layout:layout_cellsUsed=1,0 layout:layout_expandable=5,false layout:layout_extraPixels=1,0 layout:layout_isOverflowButton=4,true layout:layout_preventEdgeOffset=5,false layout:layout_gravity=15,CENTER_VERTICAL layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,64 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
   com.android.internal.widget.ActionBarContextView@b47bb880 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120215264 text:mResolvedTextDirection=12,FIRST_STRONG mID=21,id/action_context_bar layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830328 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  android.widget.FrameLayout@b47847a0 drawing:mForeground=52,android.graphics.drawable.NinePatchDrawable@b47b29c0 padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=2,55 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,696 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/content layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,56 layout:mBottom=3,752 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,696 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,0 layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.widget.RelativeLayout@b47cc868 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1280 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,696 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=3,696 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,696 layout:getLayoutDirection()=7,INHERIT layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1280 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.LinearLayout@b4727ca8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=3,419 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=4,1240 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=3,419 layout:mLeft=2,40 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2122314448 text:mResolvedTextDirection=12,FIRST_STRONG mID=17,id/content_layout layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,80 layout:mBottom=3,499 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,419 layout:getLayoutDirection()=7,INHERIT layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,40 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,80 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1240 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ToggleButton@b4728a80 isChecked()=5,false text:mText=12,Button 1 OFF getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1140 measurement:mMinHeight=2,48 measurement:mMinWidth=2,64 padding:mPaddingBottom=1,4 padding:mPaddingLeft=2,12 padding:mPaddingRight=2,12 padding:mPaddingTop=1,4 measurement:mMeasuredHeight=2,48 layout:mLeft=2,50 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1190 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=2,50 layout:mBottom=2,98 padding:mUserPaddingBottom=1,4 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,12 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,12 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,29 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=2,10 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,50 layout:layout_rightMargin=2,50 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,50 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=7,button1 getVisibility()=7,VISIBLE layout:getWidth()=4,1140 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.TextView@b472d690 text:mText=37,(50.0,50.0) (90,186) (90,186) (40,80) getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1240 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,25 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=12,id/textView1 layout:mRight=4,1240 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,108 layout:mBottom=3,133 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,20 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1240 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ToggleButton@b477da08 isChecked()=5,false text:mText=12,Button 2 OFF getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1140 measurement:mMinHeight=2,48 measurement:mMinWidth=2,64 padding:mPaddingBottom=1,4 padding:mPaddingLeft=2,12 padding:mPaddingRight=2,12 padding:mPaddingTop=1,4 measurement:mMeasuredHeight=2,48 layout:mLeft=2,50 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=5,NO_ID layout:mRight=4,1190 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,183 layout:mBottom=3,231 padding:mUserPaddingBottom=1,4 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,12 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,12 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,29 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=2,10 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,50 layout:layout_rightMargin=2,50 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,50 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=7,button2 getVisibility()=7,VISIBLE layout:getWidth()=4,1140 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.TextView@b477e678 text:mText=38,(50.0,183.0) (90,319) (90,319) (40,80) getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1240 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,25 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=12,id/textView2 layout:mRight=4,1240 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,241 layout:mBottom=3,266 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,20 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1240 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ToggleButton@b4781818 isChecked()=5,false text:mText=14,Button with ID getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1140 measurement:mMinHeight=2,48 measurement:mMinWidth=2,64 padding:mPaddingBottom=1,4 padding:mPaddingLeft=2,12 padding:mPaddingRight=2,12 padding:mPaddingTop=1,4 measurement:mMeasuredHeight=2,48 layout:mLeft=2,50 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=17,id/button_with_id layout:mRight=4,1190 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,316 layout:mBottom=3,364 padding:mUserPaddingBottom=1,4 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=2,12 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=2,12 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744814079 layout:getBaseline()=2,29 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=2,10 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,50 layout:layout_rightMargin=2,50 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,50 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1140 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.TextView@b477c2f8 text:mText=38,(50.0,316.0) (90,452) (90,452) (40,80) getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMeasuredWidth=4,1240 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,25 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=12,id/textView3 layout:mRight=4,1240 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=3,374 layout:mBottom=3,399 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830464 layout:getBaseline()=2,20 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=2,20 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=4,1240 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.ZoomControls@b477ec78 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,158 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 drawing:mDrawLayers=4,true focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMeasuredWidth=3,158 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,48 layout:mLeft=4,1122 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703184 text:mResolvedTextDirection=12,FIRST_STRONG mID=7,id/zoom layout:mRight=4,1280 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,48 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1744830336 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=4,true layout:layout_mRules_alignParentRight=4,true layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,158 focus:hasFocus()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ZoomButton@b4784998 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,79 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=2,11 padding:mPaddingLeft=1,4 padding:mPaddingRight=1,0 padding:mPaddingTop=1,7 measurement:mMeasuredHeight=2,48 layout:mLeft=1,0 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=10,id/zoomOut layout:mRight=2,79 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,48 padding:mUserPaddingBottom=2,11 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,4 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1742716927 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,79 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ZoomButton@b4727eb0 layout:getBaseline()=2,-1 measurement:mMeasuredWidth=2,79 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=2,47 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,4 padding:mPaddingTop=1,0 measurement:mMeasuredHeight=2,48 layout:mLeft=2,79 drawing:mLayerType=4,NONE mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 text:mResolvedTextDirection=12,FIRST_STRONG mID=9,id/zoomIn layout:mRight=3,158 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 text:mTextDirection=7,INHERIT layout:mTop=1,0 layout:mBottom=2,48 padding:mUserPaddingBottom=2,47 padding:mUserPaddingEnd=2,-1 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRelative=5,false padding:mUserPaddingRight=1,4 padding:mUserPaddingStart=2,-1 mViewFlags=11,-1742716927 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:getLayoutDirection()=7,INHERIT layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT layout:getResolvedLayoutDirection()=22,RESOLVED_DIRECTION_LTR getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,79 focus:hasFocus()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
DONE.
DONE
"""

DUMP_API_10 = """\
com.android.internal.policy.impl.PhoneWindow$DecorView@4066e808 drawing:mForeground=4,null drawing:mForegroundInPadding=4,true padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=3,800 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,25169208 mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,800 layout_flags_FLAG_LAYOUT_IN_SCREEN=5,0x100 layout_flags=5,65792 layout_type=21,TYPE_BASE_APPLICATION layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=4,true isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
 android.widget.LinearLayout@40667158 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,51 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=3,800 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=2,38 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=3,800 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653314 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,800 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=4,true isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  android.widget.FrameLayout@40676d60 drawing:mForeground=4,null drawing:mForegroundInPadding=4,true padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,2 padding:mPaddingLeft=1,6 padding:mPaddingRight=1,6 padding:mPaddingTop=1,1 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,38 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,25169200 mID=5,NO_ID layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,38 layout:mBottom=2,76 padding:mUserPaddingBottom=1,2 padding:mUserPaddingRight=1,6 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,38 layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=2,38 layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   android.widget.TextView@4063f6d8 mText=8,Settings getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,468 measurement:mMeasuredHeight=2,35 layout:mLeft=1,6 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,474 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,1 layout:mBottom=2,36 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,25 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,35 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,468 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
  android.widget.FrameLayout@40677f28 drawing:mForeground=52,android.graphics.drawable.NinePatchDrawable@406cffd0 drawing:mForegroundInPadding=4,true padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=2,55 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=3,724 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16911408 mID=10,id/content layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,76 layout:mBottom=3,800 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,724 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=1,0 layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=4,true isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.widget.ListView@40666588 list:recycleOnMeasure()=4,true getSelectedView()=4,null isFastScrollEnabled()=5,false isScrollingCacheEnabled()=4,true isSmoothScrollbarEnabled()=4,true isStackFromBottom()=5,false isTextFilterEnabled()=5,false scrolling:mFirstPosition=1,0 list:mNextSelectedPosition=2,-1 list:mSelectedPosition=2,-1 list:mItemCount=2,18 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=5,false isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=3,724 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,18483250 mID=7,id/list layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=3,724 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402940417 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,724 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=4,true isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=4,true focus:isFocused()=4,true isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@406c54c0 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,96 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406ff510 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@40704660 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@406af6c8 mText=19,Wireless & networks getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,303 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,303 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,303 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@406c33b8 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@406a44f8 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,97 layout:mBottom=3,193 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406ae108 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@4063a5d8 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@406e1d48 mText=13,Call settings getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,180 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,180 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,180 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@406f0d20 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@406c0f98 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,194 layout:mBottom=3,290 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406eba90 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@40670c00 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@40702d28 mText=20,CyanogenMod settings getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,337 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,337 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,337 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@40720668 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@406f0368 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,291 layout:mBottom=3,387 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406f0b10 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@406f1780 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@40710e30 mText=11,ADWLauncher getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,209 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,209 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,209 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@406b24c0 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@40700580 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,388 layout:mBottom=3,484 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@40702b18 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@4070c698 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@406d83e8 mText=5,Sound getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,92 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=2,92 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,92 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@40672ce8 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@406dc988 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,485 layout:mBottom=3,581 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406e1998 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@4066cce8 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@406715b8 mText=8,Profiles getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,113 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,113 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,113 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@40673968 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@4069f7b0 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,582 layout:mBottom=3,678 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406a3120 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@40680448 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@4067a4f8 mText=7,Display getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,109 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,109 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,109 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@406a5598 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.LinearLayout@4063ae20 measurement:mBaselineChildTop=1,0 measurement:mGravity=2,19 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,480 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,15 padding:mPaddingTop=1,0 measurement:mMinHeight=2,96 measurement:mMeasuredWidth=3,480 measurement:mMeasuredHeight=2,96 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=15,id/widget_frame layout:mRight=3,480 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=3,679 layout:mBottom=3,775 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=2,15 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,96 list:layout_forceAdd=5,false list:layout_recycledHeaderFooter=5,false list:layout_viewType=21,ITEM_VIEW_TYPE_IGNORE layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,480 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ImageView@406f1990 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=2,48 measurement:mMeasuredHeight=2,48 layout:mLeft=1,9 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780336 mID=7,id/icon layout:mRight=2,57 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,24 layout:mBottom=2,72 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653184 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,9 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=2,48 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.RelativeLayout@40701910 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,387 measurement:mMeasuredHeight=2,44 layout:mLeft=2,69 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16780464 mID=5,NO_ID layout:mRight=3,456 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=2,26 layout:mBottom=2,70 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653312 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,9 layout:layout_leftMargin=1,3 layout:layout_rightMargin=1,9 layout:layout_topMargin=1,9 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,387 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@406fdc48 mText=19,Location & security getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=3,283 measurement:mMeasuredHeight=2,44 layout:mLeft=1,0 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16779312 mID=8,id/title layout:mRight=3,283 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=2,44 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402657280 layout:getBaseline()=2,35 getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,44 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=7,VISIBLE layout:getWidth()=3,283 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.TextView@40720b90 mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 measurement:mMinHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMeasuredHeight=1,0 layout:mLeft=1,0 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=8,16781312 mID=10,id/summary layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 layout:mTop=1,0 layout:mBottom=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingRight=1,0 mViewFlags=9,402653192 layout:getBaseline()=2,-1 getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=8,id/title layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=8,id/title layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT getTag()=4,null getVisibility()=4,GONE layout:getWidth()=1,0 focus:hasFocus()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isInTouchMode()=4,true drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
DONE.
DONE
"""

VIEW_MAP = {'padding:mUserPaddingRight': '12', 'drawing:getSolidColor()': '0', 'getFilterTouchesWhenObscured()': 'false', 'drawing:isOpaque()': 'false', 'mPrivateFlags_DRAWING_CACHE_INVALID': '0x0', 'focus:isFocusable()': 'true', 'mSystemUiVisibility': '0', 'isSoundEffectsEnabled()': 'true', 'layout:layout_width': 'MATCH_PARENT', 'layout:getWidth()': '1140', 'drawing:isDrawingCacheEnabled()': 'false', 'mPrivateFlags_DRAWN': '0x20', 'text:getSelectionEnd()': '-1', 'getTag()': 'null', 'getEllipsize()': 'null', 'focus:hasFocus()': 'false', 'layout:getResolvedLayoutDirection()': 'RESOLVED_DIRECTION_LTR', 'measurement:mMinWidth': '64', 'padding:mUserPaddingEnd': '-1', 'isFocusableInTouchMode()': 'false', 'text:mTextDirection': 'INHERIT', 'isHovered()': 'false', 'layout:layout_leftMargin': '50', 'layout:layout_endMargin': '-2147483648', 'padding:mPaddingBottom': '4', 'measurement:mMeasuredHeight': '48', 'layout:getLayoutDirection()': 'INHERIT', 'layout:mBottom': '364', 'mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE': '0x0', 'layout:layout_startMargin': '-2147483648', 'class': 'android.widget.ToggleButton', 'text:mText': 'Button with ID', 'padding:mPaddingRight': '12', 'mPrivateFlags': '-2130704336', 'layout:layout_bottomMargin': '10', 'layout:layout_height': 'WRAP_CONTENT', 'uniqueId': 'id/button_with_id', 'focus:isFocused()': 'false', 'measurement:mMeasuredWidth': '1140', 'padding:mUserPaddingRelative': 'false', 'text:getSelectionStart()': '-1', 'mViewFlags': '-1744814079', 'isClickable()': 'true', 'getScrollBarStyle()': 'INSIDE_OVERLAY', 'layout:layout_rightMargin': '50', 'padding:mUserPaddingLeft': '12', 'oid': 'b4781818', 'layout:getBaseline()': '29', 'isEnabled()': 'true', 'isChecked()': 'false', 'drawing:mLayerType': 'NONE', 'drawing:willNotDraw()': 'false', 'layout:mRight': '1190', 'drawing:willNotCacheDrawing()': 'false', 'layout:mTop': '316', 'isHapticFeedbackEnabled()': 'true', 'getVisibility()': 'VISIBLE', 'scrolling:mScrollX': '0', 'text:mResolvedTextDirection': 'FIRST_STRONG', 'isInTouchMode()': 'true', 'padding:mPaddingTop': '4', 'layout:layout_weight': '0.0', 'measurement:mMinHeight': '48', 'mID': 'id/button_with_id', 'layout:layout_topMargin': '50', 'padding:mUserPaddingStart': '-1', 'padding:mPaddingLeft': '12', 'isSelected()': 'false', 'isActivated()': 'false', 'padding:mUserPaddingBottom': '4', 'layout:layout_gravity': 'NONE', 'layout:mLeft': '50', 'layout:isLayoutRtl()': 'false', 'layout:getHeight()': '48', 'scrolling:mScrollY': '0'}

VIEW_MAP_API_8 = {'padding:mUserPaddingRight': '12', 'drawing:getSolidColor()': '0', 'getFilterTouchesWhenObscured()': 'false', 'drawing:isOpaque()': 'false', 'mPrivateFlags_DRAWING_CACHE_INVALID': '0x0', 'focus:isFocusable()': 'true', 'mSystemUiVisibility': '0', 'isSoundEffectsEnabled()': 'true', 'layout:layout_width': 'MATCH_PARENT', 'layout:getWidth()': '1140', 'drawing:isDrawingCacheEnabled()': 'false', 'mPrivateFlags_DRAWN': '0x20', 'text:getSelectionEnd()': '-1', 'getTag()': 'null', 'getEllipsize()': 'null', 'focus:hasFocus()': 'false', 'layout:getResolvedLayoutDirection()': 'RESOLVED_DIRECTION_LTR', 'measurement:mMinWidth': '64', 'padding:mUserPaddingEnd': '-1', 'isFocusableInTouchMode()': 'false', 'text:mTextDirection': 'INHERIT', 'isHovered()': 'false', 'layout:layout_leftMargin': '50', 'layout:layout_endMargin': '-2147483648', 'padding:mPaddingBottom': '4', 'measurement:mMeasuredHeight': '48', 'layout:getLayoutDirection()': 'INHERIT', 'layout:mBottom': '364', 'mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE': '0x0', 'layout:layout_startMargin': '-2147483648', 'class': 'android.widget.ToggleButton', 'text:mText': 'Button with ID', 'padding:mPaddingRight': '12', 'mPrivateFlags': '-2130704336', 'layout:layout_bottomMargin': '10', 'layout:layout_height': 'WRAP_CONTENT', 'uniqueId': 'id/button_with_id', 'focus:isFocused()': 'false', 'measurement:mMeasuredWidth': '1140', 'padding:mUserPaddingRelative': 'false', 'text:getSelectionStart()': '-1', 'mViewFlags': '-1744814079', 'isClickable()': 'true', 'getScrollBarStyle()': 'INSIDE_OVERLAY', 'layout:layout_rightMargin': '50', 'padding:mUserPaddingLeft': '12', 'oid': 'b4781818', 'layout:getBaseline()': '29', 'isEnabled()': 'true', 'isChecked()': 'false', 'drawing:mLayerType': 'NONE', 'drawing:willNotDraw()': 'false', 'layout:mRight': '1190', 'drawing:willNotCacheDrawing()': 'false', 'mTop': '316', 'isHapticFeedbackEnabled()': 'true', 'getVisibility()': 'VISIBLE', 'scrolling:mScrollX': '0', 'text:mResolvedTextDirection': 'FIRST_STRONG', 'isInTouchMode()': 'true', 'padding:mPaddingTop': '4', 'layout:layout_weight': '0.0', 'measurement:mMinHeight': '48', 'mID': 'id/button_with_id', 'layout:layout_topMargin': '50', 'padding:mUserPaddingStart': '-1', 'padding:mPaddingLeft': '12', 'isSelected()': 'false', 'isActivated()': 'false', 'padding:mUserPaddingBottom': '4', 'layout:layout_gravity': 'NONE', 'mLeft': '50', 'layout:isLayoutRtl()': 'false', 'layout:getHeight()': '48', 'scrolling:mScrollY': '0'}

VIEW_MAP_API_17 = {u'clickable': u'true', u'bounds': ((323, 725), (475, 881)), u'enabled': u'true', 'uniqueId': 'id/no_id/33', u'text': u'6', u'selected': u'false', u'scrollable': u'false', u'focused': u'false', u'long-clickable': u'false', u'class': u'android.widget.Button', u'focusable': u'true', u'content-desc': u'', u'package': u'com.android.calculator2', u'checked': u'false', u'password': u'false', u'checkable': u'false', u'index': u'2'}

DUMPSYS_WINDOW_PARTIAL = '''

WINDOW MANAGER LAST ANR (dumpsys window lastanr)
  <no ANR has occurred since boot>

WINDOW MANAGER POLICY STATE (dumpsys window policy)
    mSafeMode=false mSystemReady=true mSystemBooted=true
    mLidState=-1 mLidOpenRotation=-1 mHdmiPlugged=false
    mLastSystemUiFlags=0x400 mResettingSystemUiFlags=0x0 mForceClearedSystemUiFlags=0x0
    mUiMode=1 mDockMode=0 mCarDockRotation=-1 mDeskDockRotation=-1
    mUserRotationMode=0 mUserRotation=0 mAllowAllRotations=0
    mCurrentAppOrientation=5
    mCarDockEnablesAccelerometer=true mDeskDockEnablesAccelerometer=true
    mLidKeyboardAccessibility=0 mLidNavigationAccessibility=0 mLidControlsSleep=false
    mLongPressOnPowerBehavior=-1 mHasSoftInput=true
    mScreenOnEarly=true mScreenOnFully=true mOrientationSensorEnabled=true
    mOverscanScreen=(0,0) 768x1280
    mRestrictedOverscanScreen=(0,0) 768x1184
    mUnrestrictedScreen=(0,0) 768x1280
    mRestrictedScreen=(0,0) 768x1184
    mStableFullscreen=(0,0)-(768,1184)
    mStable=(0,50)-(768,1184)
    mSystem=(0,50)-(768,1184)

'''

DUMPSYS_WINDOW_WINDOWS = """
mock data
mock data
"""

DUMPSYS_WINDOW_WINDOWS_SAMPLE_UI = """WINDOW MANAGER WINDOWS (dumpsys window windows)
  Window #7 Window{b4d250b0 RecentsPanel paused=false}:
    mSession=Session{b4d254d0 uid 1000} mClient=android.os.BinderProxy@b4c60590
    mAttrs=WM.LayoutParams{(0,0)(fillxfill) gr=#53 sim=#31 ty=2014 fl=#820100 fmt=-3 wanim=0x7f0c0008}
    Requested w=480 h=800 mLayoutSeq=20
    mBaseLayer=151000 mSubLayer=0 mAnimLayer=151000+0=151000 mLastLayer=0
    mToken=WindowToken{b4c000b0 token=null}
    mRootToken=WindowToken{b4c000b0 token=null}
    mViewVisibility=0x8 mLastHidden=false mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration=null
    mShownFrame=[0.0,0.0][0.0,0.0]
    mFrame=[0,0][480,800] last=[0,0][0,0]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[0,0][480,800]
    mContentFrame=[0,0][480,800] mVisibleFrame=[0,0][480,800]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=false
  Window #6 Window{b4d27678 StatusBar paused=false}:
    mSession=Session{b4d254d0 uid 1000} mClient=android.os.BinderProxy@b4d27488
    mAttrs=WM.LayoutParams{(0,0)(fillx38) gr=#37 sim=#20 ty=2000 fl=#800048 fmt=4 wanim=0x7f0c0009}
    Requested w=480 h=38 mLayoutSeq=102
    mBaseLayer=141000 mSubLayer=0 mAnimLayer=141000+0=141000 mLastLayer=141000
    mSurface=Surface(name=StatusBar, identity=6)
    Surface: shown=true layer=141000 alpha=1.0 rect=(0.0,0.0) 480.0 x 38.0
    mToken=WindowToken{b4c000b0 token=null}
    mRootToken=WindowToken{b4c000b0 token=null}
    mViewVisibility=0x0 mLastHidden=false mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[0.0,0.0][480.0,38.0]
    mFrame=[0,0][480,38] last=[0,0][480,38]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[0,0][480,800]
    mContentFrame=[0,0][480,38] mVisibleFrame=[0,0][480,38]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
  Window #5 Window{b4d1bc30 StatusBarExpanded paused=false}:
    mSession=Session{b4d254d0 uid 1000} mClient=android.os.BinderProxy@b4dca320
    mAttrs=WM.LayoutParams{(0,-800)(480x762) gr=#37 sim=#10 ty=2017 fl=#811328 pfl=0x8 fmt=-3 wanim=0x1030000}
    Requested w=480 h=762 mLayoutSeq=102
    mBaseLayer=131000 mSubLayer=0 mAnimLayer=131005+0=131005 mLastLayer=131005
    mSurface=Surface(name=StatusBarExpanded, identity=13)
    Surface: shown=true layer=131005 alpha=1.0 rect=(0.0,-800.0) 480.0 x 762.0
    mToken=WindowToken{b4c000b0 token=null}
    mRootToken=WindowToken{b4c000b0 token=null}
    mViewVisibility=0x0 mLastHidden=false mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[0.0,-800.0][480.0,-38.0]
    mFrame=[0,-800][480,-38] last=[0,-800][480,-38]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[-10000,-10000][10000,10000]
    mContentFrame=[0,-800][480,-38] mVisibleFrame=[0,-800][480,-38]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
  Window #4 Window{b4d62e40 TrackingView paused=false}:
    mSession=Session{b4d254d0 uid 1000} mClient=android.os.BinderProxy@b4d62ca8
    mAttrs=WM.LayoutParams{(0,-800)(fillxfill) gr=#37 sim=#20 ty=2017 fl=#20300 fmt=-3}
    Requested w=480 h=800 mLayoutSeq=17
    mBaseLayer=131000 mSubLayer=0 mAnimLayer=131000+0=131000 mLastLayer=0
    mToken=WindowToken{b4c000b0 token=null}
    mRootToken=WindowToken{b4c000b0 token=null}
    mViewVisibility=0x8 mLastHidden=false mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration=null
    mShownFrame=[0.0,0.0][0.0,0.0]
    mFrame=[0,-800][480,0] last=[0,0][0,0]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[-10000,-10000][10000,10000]
    mContentFrame=[0,-800][480,0] mVisibleFrame=[0,-800][480,0]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=false
  Window #3 Window{b4c01158 Keyguard paused=false}:
    mSession=Session{b4be1be8 uid 1000} mClient=android.view.ViewRootImpl$W@b4c12f70
    mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#10 ty=2004 fl=#10120800 pfl=0x8 fmt=-3 wanim=0x10301da or=5}
    Requested w=480 h=762 mLayoutSeq=32
    mBaseLayer=111000 mSubLayer=0 mAnimLayer=111000+0=111000 mLastLayer=111000
    mToken=WindowToken{b4c000b0 token=null}
    mRootToken=WindowToken{b4c000b0 token=null}
    mViewVisibility=0x8 mLastHidden=true mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[0.0,38.0][480.0,800.0]
    mFrame=[0,38][480,800] last=[0,38][480,800]
    mContainingFrame=[0,38][480,800] mParentFrame=[0,38][480,800] mDisplayFrame=[0,38][480,800]
    mContentFrame=[0,38][480,800] mVisibleFrame=[0,38][480,800]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mShownAlpha=1.0 mAlpha=1.0 mLastAlpha=0.0
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
  Window #2 Window{b4d2a948 com.dtmilano.android.sampleui/com.dtmilano.android.sampleui.MainActivity paused=false}:
    mSession=Session{b4d3cdf0 uid 10046} mClient=android.os.BinderProxy@b4c09bf0
    mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#1810100 pfl=0x8 wanim=0x1030292}
    Requested w=480 h=800 mLayoutSeq=102
    mBaseLayer=21000 mSubLayer=0 mAnimLayer=21010+0=21010 mLastLayer=21010
    mSurface=Surface(name=com.dtmilano.android.sampleui/com.dtmilano.android.sampleui.MainActivity, identity=28)
    Surface: shown=true layer=21010 alpha=1.0 rect=(0.0,0.0) 480.0 x 800.0
    mToken=AppWindowToken{b4d8bf80 token=Token{b4d3ab58 ActivityRecord{b4d3aa20 com.dtmilano.android.sampleui/.MainActivity}}}
    mRootToken=AppWindowToken{b4d8bf80 token=Token{b4d3ab58 ActivityRecord{b4d3aa20 com.dtmilano.android.sampleui/.MainActivity}}}
    mAppToken=AppWindowToken{b4d8bf80 token=Token{b4d3ab58 ActivityRecord{b4d3aa20 com.dtmilano.android.sampleui/.MainActivity}}}
    mViewVisibility=0x0 mLastHidden=false mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[0.0,0.0][480.0,800.0]
    mFrame=[0,0][480,800] last=[0,0][480,800]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[0,0][480,800]
    mContentFrame=[0,38][480,800] mVisibleFrame=[0,38][480,800]
    mContentInsets=[0,38][0,0] last=[0,38][0,0] mVisibleInsets=[0,38][0,0] last=[0,38][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
  Window #1 Window{b4d78098 com.android.launcher/com.android.launcher2.Launcher paused=false}:
    mSession=Session{b4d35180 uid 10012} mClient=android.os.BinderProxy@b4d3b188
    mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#20 ty=1 fl=#1910100 pfl=0x8 fmt=-2 wanim=0x1030292}
    Requested w=480 h=800 mLayoutSeq=37
    mBaseLayer=21000 mSubLayer=0 mAnimLayer=21005+0=21005 mLastLayer=21005
    mToken=AppWindowToken{b4d14528 token=Token{b4d12ab8 ActivityRecord{b4d12688 com.android.launcher/com.android.launcher2.Launcher}}}
    mRootToken=AppWindowToken{b4d14528 token=Token{b4d12ab8 ActivityRecord{b4d12688 com.android.launcher/com.android.launcher2.Launcher}}}
    mAppToken=AppWindowToken{b4d14528 token=Token{b4d12ab8 ActivityRecord{b4d12688 com.android.launcher/com.android.launcher2.Launcher}}}
    mViewVisibility=0x8 mLastHidden=true mHaveFrame=true mObscured=true
    mSeq=0 mSystemUiVisibility=0x0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[0.0,0.0][480.0,800.0]
    mFrame=[0,0][480,800] last=[0,0][480,800]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[0,0][480,800]
    mContentFrame=[0,38][480,800] mVisibleFrame=[0,38][480,800]
    mContentInsets=[0,38][0,0] last=[0,38][0,0] mVisibleInsets=[0,38][0,0] last=[0,38][0,0]
    mShownAlpha=1.0 mAlpha=1.0 mLastAlpha=0.0
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
    mWallpaperX=0.5 mWallpaperY=0.5
    mWallpaperXStep=0.25 mWallpaperYStep=1.0
  Window #0 Window{b4d2e648 com.android.systemui.ImageWallpaper paused=false}:
    mSession=Session{b4d254d0 uid 1000} mClient=android.os.BinderProxy@b4d82d48
    mAttrs=WM.LayoutParams{(0,0)(960x800) gr=#33 ty=2013 fl=#318 fmt=2 wanim=0x10301e4}
    Requested w=960 h=800 mLayoutSeq=43
    mIsImWindow=false mIsWallpaper=true mIsFloatingLayer=true mWallpaperVisible=false
    mBaseLayer=21000 mSubLayer=0 mAnimLayer=21000+0=21000 mLastLayer=21000
    mSurface=Surface(name=com.android.systemui.ImageWallpaper, identity=8)
    Surface: shown=false layer=21000 alpha=1.0 rect=(-240.0,0.0) 960.0 x 800.0
    mToken=WindowToken{b4c64f60 token=android.os.Binder@b4bead18}
    mRootToken=WindowToken{b4c64f60 token=android.os.Binder@b4bead18}
    mViewVisibility=0x0 mLastHidden=true mHaveFrame=true mObscured=true
    mSeq=0 mSystemUiVisibility=0x0
    Offsets x=-240 y=0
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
    mShownFrame=[-240.0,0.0][720.0,800.0]
    mFrame=[0,0][960,800] last=[0,0][960,800]
    mContainingFrame=[0,0][480,800] mParentFrame=[0,0][480,800] mDisplayFrame=[-10000,-10000][10000,10000]
    mContentFrame=[0,0][960,800] mVisibleFrame=[0,0][960,800]
    mContentInsets=[0,0][0,0] last=[0,0][0,0] mVisibleInsets=[0,0][0,0] last=[0,0][0,0]
    mDrawPending=false mCommitDrawPending=false mReadyToShow=false mHasDrawn=true
    mWallpaperX=0.5 mWallpaperY=0.5
    mWallpaperXStep=0.25 mWallpaperYStep=1.0

  Display: init=480x800 base=480x800 cur=480x800 app=480x800 raw=480x800
  mCurConfiguration={1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h508dp nrml long port finger qwerty/v/v tball/v s.5}
  mCurrentFocus=Window{b4d2a948 com.dtmilano.android.sampleui/com.dtmilano.android.sampleui.MainActivity paused=false}
  mFocusedApp=AppWindowToken{b4d8bf80 token=Token{b4d3ab58 ActivityRecord{b4d3aa20 com.dtmilano.android.sampleui/.MainActivity}}}
  mInTouchMode=true mLayoutSeq=102
  mWallpaperTarget=null
  mLastWallpaperX=0.5 mLastWallpaperY=0.5
  mWindowAnimationBackgroundSurface:
    mDimSurface=Surface(name=DimSurface, identity=20)
    mDimShown=false mLayer=21009 mDimColor=0xff000000
    mLastDimWidth=480 mLastDimWidth=480
  mSystemBooted=true mDisplayEnabled=true
  mLayoutNeeded=false mBlurShown=false
  mDimAnimator:
    mDimSurface=Surface(name=DimAnimator, identity=17) 480 x 800
    mDimShown=true current=0.0 target=0.0 delta=-0.002727273 lastAnimTime=0
  mDisplayFrozen=false mWindowsFreezingScreen=false mAppsFreezingScreen=0 mWaitingForConfig=false
  mRotation=0 mAltOrientation=false
  mLastWindowForcedOrientation-1 mForcedAppOrientation=-1
  mDeferredRotationPauseCount=0
  mAnimationPending=false mWindowAnimationScale=1.0 mTransitionWindowAnimationScale=1.0
  mNextAppTransition=0xffffffff mAppTransitionReady=false
  mAppTransitionRunning=false mAppTransitionTimeout=false
  mStartingIconInTransition=false, mSkipAppTransitionAnimation=false
"""

UIAUTOMATOR_DUMP = """<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy rotation="0">
    <node index="0" text="" class="android.widget.FrameLayout"
        package="com.android.launcher" content-desc="" checkable="false"
        checked="false" clickable="false" enabled="true" focusable="false"
        focused="false" scrollable="false" long-clickable="false" password="false"
        selected="false" bounds="[0,0][480,800]">
        <node index="0" text="" class="android.widget.LinearLayout"
            package="com.android.launcher" content-desc="" checkable="false"
            checked="false" clickable="false" enabled="true" focusable="false"
            focused="false" scrollable="false" long-clickable="false" password="false"
            selected="false" bounds="[0,0][480,800]">
            <node index="0" text="" class="android.widget.FrameLayout"
                package="com.android.launcher" content-desc="" checkable="false"
                checked="false" clickable="false" enabled="true" focusable="false"
                focused="false" scrollable="false" long-clickable="false" password="false"
                selected="false" bounds="[0,38][480,800]">
                <node index="0" text="" class="android.widget.FrameLayout"
                    package="com.android.launcher" content-desc="" checkable="false"
                    checked="false" clickable="false" enabled="true" focusable="false"
                    focused="false" scrollable="false" long-clickable="false" password="false"
                    selected="false" bounds="[0,38][480,800]">
                    <node index="0" text="" class="android.widget.TabHost"
                        package="com.android.launcher" content-desc="" checkable="false"
                        checked="false" clickable="false" enabled="true" focusable="true"
                        focused="true" scrollable="false" long-clickable="false" password="false"
                        selected="false" bounds="[0,38][480,800]">
                        <node index="0" text="" class="android.widget.LinearLayout"
                            package="com.android.launcher" content-desc="" checkable="false"
                            checked="false" clickable="false" enabled="true" focusable="false"
                            focused="false" scrollable="false" long-clickable="false"
                            password="false" selected="false" bounds="[0,38][480,800]">
                            <node index="0" text="" class="android.widget.FrameLayout"
                                package="com.android.launcher" content-desc="" checkable="false"
                                checked="false" clickable="false" enabled="true" focusable="false"
                                focused="false" scrollable="false" long-clickable="false"
                                password="false" selected="false" bounds="[1,38][479,116]">
                                <node index="0" text="" class="android.widget.TabWidget"
                                    package="com.android.launcher" content-desc="" checkable="false"
                                    checked="false" clickable="false" enabled="true" focusable="true"
                                    focused="false" scrollable="false" long-clickable="false"
                                    password="false" selected="false" bounds="[1,38][479,116]">
                                    <node index="0" text="Apps" class="android.widget.TextView"
                                        package="com.android.launcher" content-desc="Apps" checkable="false"
                                        checked="false" clickable="true" enabled="true" focusable="true"
                                        focused="false" scrollable="false" long-clickable="false"
                                        password="false" selected="true" bounds="[1,38][105,116]" />
                                </node>
                            </node>
                        </node>
                    </node>
                </node>
            </node>
        </node>
    </node>
</hierarchy>
"""

UIAUTOMATOR_DUMP_API17_CHINESE = '''<?xml version=\'1.0\' encoding=\'UTF-8\' standalone=\'yes\' ?>
<hierarchy rotation="0">
    <node index="0" text="" class="android.widget.FrameLayout"
        package="android" content-desc="" checkable="false" checked="false"
        clickable="false" enabled="true" focusable="false" focused="false"
        scrollable="false" long-clickable="false" password="false" selected="false"
        bounds="[0,0][800,1216]">
        <node index="0" text="" class="android.widget.FrameLayout"
            package="android" content-desc="" checkable="false" checked="false"
            clickable="false" enabled="true" focusable="false" focused="false"
            scrollable="false" long-clickable="false" password="false" selected="false"
            bounds="[0,33][800,1216]">
            <node index="0" text="" class="android.view.View" package="android"
                content-desc="" checkable="false" checked="false" clickable="false"
                enabled="true" focusable="false" focused="false" scrollable="false"
                long-clickable="false" password="false" selected="false" bounds="[0,33][800,1216]">
                <node index="0" text="" class="android.view.View" package="android"
                    content-desc="" checkable="false" checked="false" clickable="false"
                    enabled="true" focusable="false" focused="false" scrollable="true"
                    long-clickable="false" password="false" selected="false" bounds="[0,0][800,1216]">
                    <node index="0" text="" class="android.widget.FrameLayout"
                        package="android"
                        content-desc="\xe7\xa9\xba\xe7\x99\xbd\xe5\xb0\x8f\xe9\x83\xa8\xe4\xbb\xb6\xe3\x80\x82"
                        checkable="false" checked="false" clickable="false" enabled="true"
                        focusable="false" focused="false" scrollable="false"
                        long-clickable="true" password="false" selected="false" bounds="[0,66][100,625]" />
                    <node index="1" text="" class="android.widget.FrameLayout"
                        package="android"
                        content-desc="\xe7\x8a\xb6\xe6\x80\x81\xe5\xb0\x8f\xe9\x83\xa8\xe4\xbb\xb6\xe3\x80\x82"
                        checkable="false" checked="false" clickable="false" enabled="true"
                        focusable="false" focused="false" scrollable="false"
                        long-clickable="true" password="false" selected="false"
                        bounds="[113,66][686,625]">
                        <node index="0" text="" class="android.widget.GridLayout"
                            package="android" content-desc="\xe7\x8a\xb6\xe6\x80\x81"
                            checkable="false" checked="false" clickable="false" enabled="true"
                            focusable="false" focused="false" scrollable="false"
                            long-clickable="false" password="false" selected="false"
                            bounds="[123,76][676,615]">
                            <node index="0" text="" class="android.widget.LinearLayout"
                                package="android" content-desc="" checkable="false" checked="false"
                                clickable="false" enabled="true" focusable="true" focused="false"
                                scrollable="false" long-clickable="false" password="false"
                                selected="false" bounds="[123,76][676,351]">
                                <node index="0" text="" class="android.widget.RelativeLayout"
                                    package="android" content-desc="" checkable="false" checked="false"
                                    clickable="false" enabled="true" focusable="false" focused="false"
                                    scrollable="false" long-clickable="false" password="false"
                                    selected="false" bounds="[267,76][609,324]">
                                    <node index="0" text="6:40" class="android.widget.TextView"
                                        package="android" content-desc="" checkable="false" checked="false"
                                        clickable="false" enabled="true" focusable="false" focused="false"
                                        scrollable="false" long-clickable="false" password="false"
                                        selected="false" bounds="[267,76][609,324]" />
                                </node>
                                <node index="1" text="" class="android.widget.LinearLayout"
                                    package="android" content-desc="" checkable="false" checked="false"
                                    clickable="false" enabled="true" focusable="false" focused="false"
                                    scrollable="false" long-clickable="false" password="false"
                                    selected="false" bounds="[401,304][676,351]">
                                    <node index="0"
                                        text="语言"
                                        class="android.widget.TextView" package="android"
                                        content-desc="" checkable="false" checked="false" clickable="false"
                                        enabled="true" focusable="false" focused="false" scrollable="false"
                                        long-clickable="false" password="false" selected="true"
                                        bounds="[401,304][609,351]" />
                                </node>
                            </node>
                        </node>
                    </node>
                </node>
                <node index="1" text="" class="android.widget.FrameLayout"
                    package="android" content-desc="" checkable="false" checked="false"
                    clickable="false" enabled="true" focusable="false" focused="false"
                    scrollable="false" long-clickable="false" password="false"
                    selected="false" bounds="[120,654][679,1187]">
                    <node index="0" text="" class="android.widget.ViewFlipper"
                        package="android" content-desc="" checkable="false" checked="false"
                        clickable="false" enabled="true" focusable="false" focused="false"
                        scrollable="false" long-clickable="false" password="false"
                        selected="false" bounds="[120,654][679,1187]">
                        <node index="0" text="" class="android.widget.LinearLayout"
                            package="android"
                            content-desc="\xe6\xbb\x91\xe5\x8a\xa8\xe8\xa7\xa3\xe9\x94\x81\xe3\x80\x82"
                            checkable="false" checked="false" clickable="false" enabled="true"
                            focusable="false" focused="false" scrollable="false"
                            long-clickable="false" password="false" selected="false"
                            bounds="[136,670][663,1171]">
                            <node index="0" text="" class="android.widget.FrameLayout"
                                package="android" content-desc="" checkable="false" checked="false"
                                clickable="false" enabled="true" focusable="false" focused="false"
                                scrollable="false" long-clickable="false" password="false"
                                selected="false" bounds="[136,670][663,1171]">
                                <node index="0" text="" class="android.view.View" package="android"
                                    content-desc="\xe6\xbb\x91\xe5\x8a\xa8\xe5\x8c\xba\xe5\x9f\x9f\xe3\x80\x82"
                                    checkable="false" checked="false" clickable="false" enabled="true"
                                    focusable="false" focused="false" scrollable="false"
                                    long-clickable="false" password="false" selected="false"
                                    bounds="[136,670][663,1171]" />
                                <node index="1"
                                    text="\xe6\xad\xa3\xe5\x9c\xa8\xe5\x85\x85\xe7\x94\xb5\xef\xbc\x8c50%"
                                    class="android.widget.TextView" package="android" content-desc=""
                                    checkable="false" checked="false" clickable="true" enabled="true"
                                    focusable="false" focused="false" scrollable="false"
                                    long-clickable="false" password="false" selected="true"
                                    bounds="[136,670][663,699]" />
                                <node index="2" text="" class="android.widget.LinearLayout"
                                    package="android" content-desc="" checkable="false" checked="false"
                                    clickable="true" enabled="true" focusable="false" focused="false"
                                    scrollable="false" long-clickable="false" password="false"
                                    selected="false" bounds="[136,1107][663,1171]">
                                    <node index="1" text="ANDROID" class="android.widget.TextView"
                                        package="android" content-desc="" checkable="false" checked="false"
                                        clickable="false" enabled="true" focusable="false" focused="false"
                                        scrollable="false" long-clickable="false" password="false"
                                        selected="true" bounds="[355,1124][444,1153]" />
                                </node>
                                <node index="3" text="" class="android.view.View" package="android"
                                    content-desc="" checkable="false" checked="false" clickable="false"
                                    enabled="true" focusable="false" focused="false" scrollable="false"
                                    long-clickable="false" password="false" selected="false"
                                    bounds="[157,670][642,1171]" />
                            </node>
                        </node>
                    </node>
                </node>
            </node>
        </node>
    </node>
</hierarchy>
'''

WINDOWS = {1:'Window1', 2: 'com.example.window', 0xb523d938: 'com.android.launcher', 0xb52f7c88:'StatusBar'}

LIST = '''\
b522d3f8 com.android.systemui.ImageWallpaper
b523d938 com.android.launcher/com.android.launcher2.Launcher
b5339540 com.android.contacts/com.android.contacts.activities.PeopleActivity
b5252410 com.android.contacts/com.android.contacts.activities.ContactEditorActivity
b51ea228 InputMethod
b51da498 Keyguard
b52f7c88 StatusBar
b533b2c0 NavigationBar
b521d218 SearchPanel
DONE.
'''

DUMP_STATUSBAR = '''\
com.android.systemui.statusbar.phone.StatusBarWindowView@b506ea18 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=6,278611 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,800 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653315 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout_horizontalWeight=3,0.0 layout_flags_FLAG_NOT_FOCUSABLE=3,0x8 layout_flags_FLAG_TOUCHABLE_WHEN_WAKING=4,0x40 layout_flags_FLAG_SPLIT_TOUCH=8,0x800000 layout_flags_FLAG_HARDWARE_ACCELERATED=9,0x1000000 layout_flags=8,25165896 layout_type=15,TYPE_STATUS_BAR layout_verticalWeight=3,0.0 layout_x=1,0 layout_y=1,0 layout:layout_height=2,33 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=3,LTR text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,800 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
 com.android.systemui.statusbar.phone.PhoneStatusBarView@b50702b8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2375763 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_state_mUseColor=9,-16777216 layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,800 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=13,id/status_bar mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,25201968 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653315 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,33 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,800 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  android.widget.ImageView@b50709a0 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=26,id/notification_lights_out mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
  android.widget.LinearLayout@b50878b8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,800 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,800 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=22,id/status_bar_contents mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,800 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   android.widget.LinearLayout@b5087c00 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,672 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,8 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,684 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=25,id/notification_icon_area mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,692 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=1,0 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,684 drawing:getX()=3,8.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    com.android.systemui.statusbar.StatusBarIconView@b5088758 mSlot=4,null layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/moreIcon mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=4,0.65 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=4,0.75 drawing:getScaleY()=4,0.75 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.systemui.statusbar.phone.IconMerger@b508b758 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=2,32 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,672 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=20,id/notificationIcons mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130670416 layout:mRight=3,672 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,672 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     com.android.systemui.statusbar.StatusBarIconView@b6257070 mSlot=17,android/0x1040453 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=2,32 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=5,35888 layout:mRight=2,32 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=4,0.65 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,33 layout:layout_width=2,32 drawing:getPivotX()=4,16.0 drawing:getPivotY()=4,16.5 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=4,0.75 drawing:getScaleY()=4,0.75 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,32 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.widget.LinearLayout@b508bab0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,100 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=3,692 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,100 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=19,id/system_icon_area mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,792 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,100 drawing:getX()=5,692.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.LinearLayout@b508be00 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/statusIcons mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128606032 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     com.android.systemui.statusbar.StatusBarIconView@b50f1dc0 mSlot=12,sync_failing layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b5078b18 mSlot=11,sync_active layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b529cba0 mSlot=9,bluetooth layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b5297d68 mSlot=3,tty layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b5115bd8 mSlot=6,volume layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b529a1d8 mSlot=8,cdma_eri layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.StatusBarIconView@b529e3f8 mSlot=11,alarm_clock layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478496 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
    android.widget.LinearLayout@b508c150 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity=2,17 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=2,51 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=2,51 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,3 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=25,id/signal_battery_cluster mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=2,51 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,3 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,51 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     com.android.systemui.statusbar.SignalClusterView@b508cec0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=2,27 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,3 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,27 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=17,id/signal_cluster mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=2,30 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,28 layout:mTop=1,4 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,27 drawing:getX()=3,3.0 drawing:getY()=3,4.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.FrameLayout@b508d3e8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=13,id/wifi_combo mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701152 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653320 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=2,-7 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
       android.widget.ImageView@b508d7b8 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/wifi_signal mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701312 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784256 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
       android.widget.ImageView@b508daa0 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=13,id/wifi_inout mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701312 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.view.View@b508eb00 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=9,id/spacer mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,8 layout:layout_width=1,8 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.FrameLayout@b508ed28 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,27 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=2,27 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,24 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,27 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
       android.view.View@b508f0b0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,8 measurement:mMeasuredWidth=1,8 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130703312 layout:mRight=1,8 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,8 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,8 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,8 layout:layout_width=1,8 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=1,8 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
       android.widget.FrameLayout@b508f2d0 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,27 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=15,id/mobile_combo mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=2,27 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,24 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=20,3G Phone three bars. getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,27 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
        android.widget.ImageView@b508f650 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,26 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=16,id/mobile_signal mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813104 layout:mRight=2,26 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,24 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,26 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        android.widget.ImageView@b508f938 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,27 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/mobile_type mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813104 layout:mRight=2,27 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,24 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,27 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        android.widget.ImageView@b508fc20 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=2,27 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=15,id/mobile_inout mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128606160 layout:mRight=2,27 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,24 layout:mTop=2,24 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=4,27.0 drawing:getY()=4,24.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      android.widget.ImageView@b508ff08 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/airplane mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ImageView@b50901f8 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=2,30 measurement:mMeasuredHeight=2,24 measurement:mMeasuredWidth=2,21 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,5 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=10,id/battery mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813104 layout:mRight=2,51 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,28 layout:mTop=1,4 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,5 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=19,Battery 50 percent. getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,24 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,21 drawing:getX()=4,30.0 drawing:getY()=3,4.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.systemui.statusbar.policy.Clock@b50908f0 text:mText=4,6:32 getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,21.0 bg_=4,null layout:mLeft=2,51 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=2,49 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=8,id/clock mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16812080 layout:mRight=3,100 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,25 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,49 drawing:getX()=4,51.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
  android.widget.LinearLayout@b5091968 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=3,800 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244659 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=5,false drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,33 measurement:mMeasuredWidth=3,800 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=9,id/ticker mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,33 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,800 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   android.widget.ImageSwitcher@b5091f38 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=4,true drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,8 measurement:mMeasuredHeight=2,32 measurement:mMeasuredWidth=2,32 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=13,id/tickerIcon mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=2,40 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,32 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,32 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,5 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=4,16.0 drawing:getPivotY()=4,16.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=4,0.75 drawing:getScaleY()=4,0.75 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,32 drawing:getX()=3,8.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    com.android.systemui.statusbar.AnimatedImageView@b50923b8 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,32 measurement:mMeasuredWidth=2,32 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813104 layout:mRight=2,32 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,32 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784256 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,32 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,32 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
    com.android.systemui.statusbar.AnimatedImageView@b50926a8 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,32 measurement:mMeasuredWidth=2,32 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130691040 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=2,32 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
   com.android.systemui.statusbar.phone.TickerView@b5092df8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=4,true drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=2,45 measurement:mMeasuredHeight=2,30 measurement:mMeasuredWidth=3,755 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,13 padding:mPaddingTop=1,3 drawing:mLayerType=4,NONE mID=13,id/tickerText mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16813232 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,30 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=2,13 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,21 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,30 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=1,0 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,755 drawing:getX()=4,45.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.TextView@b5093350 text:mText=0, getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,19.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,27 measurement:mMeasuredWidth=3,742 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=8,16812080 layout:mRight=3,742 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,30 layout:mTop=1,3 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,21 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,27 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,742 drawing:getX()=3,0.0 drawing:getY()=3,3.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.TextView@b50937e8 text:mText=0, getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,19.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,27 measurement:mMeasuredWidth=3,742 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594912 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,21 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
 com.android.systemui.statusbar.phone.PanelHolder@b5093fb8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2245715 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=4,true drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=3,800 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=15,id/panel_holder mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128606032 layout:mRight=3,800 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,33 layout:mTop=2,33 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=2,33 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,800 drawing:getX()=3,0.0 drawing:getY()=4,33.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
  com.android.systemui.statusbar.phone.NotificationPanelView@b5094cd8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=2,21 measurement:mMeasuredHeight=11,-2147483648 measurement:mMeasuredWidth=10,1073741822 measurement:mMinHeight=3,486 measurement:mMinWidth=1,0 padding:mPaddingBottom=2,21 padding:mPaddingLeft=2,21 padding:mPaddingRight=2,21 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=21,id/notification_panel mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593616 layout:mRight=3,657 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=2,21 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=2,21 padding:mUserPaddingRight=2,21 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653320 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=19,Notification shade. getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,21 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=3,636 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=3,636 drawing:getX()=4,21.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   android.view.View@b5099878 layout:mLeft=2,21 measurement:mMeasuredHeight=2,48 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,5 drawing:mLayerType=4,NONE mID=9,id/handle mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130696144 layout:mRight=3,615 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,48 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,48 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=3,594 drawing:getX()=4,21.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.widget.Space@b50a3c10 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=2,48 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,32 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.widget.LinearLayout@b50a3e78 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=2,64 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=2,21 measurement:mMeasuredHeight=2,64 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593776 layout:mRight=3,615 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=2,43 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=4,21.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
    android.widget.LinearLayout@b50a4430 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=5,false measurement:mOrientation=1,0 measurement:mTotalLength=3,277 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_state_mUseColor=9,-16777216 layout:mLeft=1,0 measurement:mMeasuredHeight=2,64 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=9,id/header mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120205040 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,64 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,64 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,64 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.RelativeLayout@b50a4998 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=2,64 measurement:mMeasuredWidth=3,204 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=2,11 padding:mPaddingRight=2,11 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/datetime mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594672 layout:mRight=3,204 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,64 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=2,11 padding:mUserPaddingRight=2,11 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,64 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,204 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      com.android.systemui.statusbar.policy.Clock@b50aa640 text:mText=4,6:32 getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,43.0 bg_=4,null layout:mLeft=2,11 measurement:mMeasuredHeight=2,58 measurement:mMeasuredWidth=2,81 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=8,id/clock mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593904 layout:mRight=2,92 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,61 layout:mTop=1,3 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,58 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=11,false/NO_ID layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=11,false/NO_ID layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=4,true layout:layout_mRules_startOf=11,false/NO_ID layout:layout_mRules_endOf=11,false/NO_ID layout:layout_mRules_alignStart=11,false/NO_ID layout:layout_mRules_alignEnd=11,false/NO_ID layout:layout_mRules_alignParentStart=11,false/NO_ID layout:layout_mRules_alignParentEnd=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=2,11 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,81 drawing:getX()=4,11.0 drawing:getY()=3,3.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      com.android.systemui.statusbar.policy.DateView@b50ab028 text:mText=11,Sat, May 11 getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=3,103 measurement:mMeasuredHeight=2,22 measurement:mMeasuredWidth=2,90 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/date mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128598000 layout:mRight=3,193 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,54 layout:mTop=2,32 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,17 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,22 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_mRules_leftOf=11,false/NO_ID layout:layout_mRules_rightOf=8,id/clock layout:layout_mRules_above=11,false/NO_ID layout:layout_mRules_below=11,false/NO_ID layout:layout_mRules_alignBaseline=8,id/clock layout:layout_mRules_alignLeft=11,false/NO_ID layout:layout_mRules_alignTop=11,false/NO_ID layout:layout_mRules_alignRight=11,false/NO_ID layout:layout_mRules_alignBottom=11,false/NO_ID layout:layout_mRules_alignParentLeft=11,false/NO_ID layout:layout_mRules_alignParentTop=11,false/NO_ID layout:layout_mRules_alignParentRight=11,false/NO_ID layout:layout_mRules_alignParentBottom=11,false/NO_ID layout:layout_mRules_center=11,false/NO_ID layout:layout_mRules_centerHorizontal=11,false/NO_ID layout:layout_mRules_centerVertical=11,false/NO_ID layout:layout_mRules_startOf=11,false/NO_ID layout:layout_mRules_endOf=11,false/NO_ID layout:layout_mRules_alignStart=11,false/NO_ID layout:layout_mRules_alignEnd=11,false/NO_ID layout:layout_mRules_alignParentStart=11,false/NO_ID layout:layout_mRules_alignParentEnd=11,false/NO_ID layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,90 drawing:getX()=5,103.0 drawing:getY()=4,32.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.Space@b50ab960 bg_=4,null layout:mLeft=3,204 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130695120 layout:mRight=3,521 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,32 layout:mTop=2,32 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,0 layout:layout_width=1,0 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=3,317 drawing:getX()=5,204.0 drawing:getY()=4,32.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.TextView@b50abbc8 text:mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,15.0 bg_=4,null layout:mLeft=3,521 measurement:mMeasuredHeight=2,27 measurement:mMeasuredWidth=1,6 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,3 padding:mPaddingRight=1,3 padding:mPaddingTop=1,3 drawing:mLayerType=4,NONE mID=20,id/header_debug_info mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130695120 layout:mRight=3,527 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,45 layout:mTop=2,18 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,3 padding:mUserPaddingRight=1,3 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,19 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,27 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=15,CENTER_VERTICAL layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=1,6 drawing:getX()=5,521.0 drawing:getY()=4,18.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     android.widget.ImageView@b50ac150 layout:getBaseline()=2,-1 layout:mLeft=3,527 measurement:mMeasuredHeight=2,67 measurement:mMeasuredWidth=2,67 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=19,id/clear_all_button mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130704336 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,66 layout:mTop=2,-1 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402800676 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=24,Clear all notifications. getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,67 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,67 layout:layout_width=2,67 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=2,67 drawing:getX()=5,527.0 drawing:getY()=4,-1.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
     android.widget.FrameLayout@b5034b58 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=25,id/settings_button_holder mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701152 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653320 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,16 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,67 layout:layout_width=2,67 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.ImageView@b5023fd8 layout:getBaseline()=2,-1 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=18,id/settings_button mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130702336 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402800640 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=15,Quick settings. getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,67 layout:layout_width=2,67 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
      android.widget.ImageView@b506fb28 layout:getBaseline()=2,-1 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=22,id/notification_button mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130702304 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784264 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=14,Notifications. getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,67 layout:layout_width=2,67 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
    android.widget.TextView@b50993f8 text:mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,5 padding:mPaddingLeft=1,5 padding:mPaddingRight=1,5 padding:mPaddingTop=1,5 drawing:mLayerType=4,NONE mID=23,id/emergency_calls_only mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,5 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,5 padding:mUserPaddingRight=1,5 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669576 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    android.widget.FrameLayout@b50351b0 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593776 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,64 layout:mTop=2,64 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=3,0.0 drawing:getY()=4,64.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.view.ViewStub@b5008050 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=21,id/flip_settings_stub mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478368 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=1,0 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=1,0 mViewFlags=3,136 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=3,LTR text:getRawTextAlignment()=7,INHERIT text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=5,false isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=5,false drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     android.widget.ScrollView@b5006bf0 layout:mFillViewport=5,false drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2375763 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=9,id/scroll mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2127021040 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=7,9043968 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653185 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
      com.android.systemui.statusbar.policy.NotificationRowLayout@b5005d98 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=3,277 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/latestItems mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593776 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,93 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,93 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
       android.widget.FrameLayout@b6252e48 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402686080 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,93 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=7,android text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=4,true isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
        android.view.View@b6253288 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/top_glow mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128604128 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,4 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        android.widget.Button@b61f8758 text:mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,24.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=2,64 measurement:mMinWidth=2,85 padding:mPaddingBottom=1,0 padding:mPaddingLeft=2,11 padding:mPaddingRight=2,11 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/veto mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130702304 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=2,11 padding:mUserPaddingRight=2,11 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669577 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=19,Clear notification. getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=2,no accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=4,-106 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=2,64 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        com.android.systemui.statusbar.LatestItemView@b61f8ca8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2506835 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=23,FOCUS_BLOCK_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=10,id/content mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669697 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,4 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,4 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
         com.android.internal.widget.SizeAdaptiveLayout@b61f9138 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/adaptive mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
          android.view.View@b61f9480 bg_state_mUseColor=9,-16777216 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120215520 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_maxHeight=2,-1 layout:layout_minHeight=2,-1 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
          android.widget.FrameLayout@b61e3008 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=34,id/status_bar_latest_event_content mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120216288 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653320 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_maxHeight=2,85 layout:layout_minHeight=2,85 layout:layout_height=2,85 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
           android.widget.ImageView@b61e3748 layout:getBaseline()=2,-1 bg_state_mUseColor=9,859026917 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/icon mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701312 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402784256 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,85 layout:layout_width=2,85 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=4,true drawing:willNotDraw()=5,false
           android.widget.LinearLayout@b61e3c48 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=2,85 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,0 padding:mPaddingRight=2,11 padding:mPaddingTop=1,3 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=2,11 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=2,11 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,85 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,85 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
            android.widget.LinearLayout@b61e3fe0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,8 drawing:mLayerType=4,NONE mID=8,id/line1 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,11 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,11 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
             android.widget.TextView@b61e4490 text:mText=19,Choose input method getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,24.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=8,id/title mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128604160 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
             android.view.ViewStub@b61e57d8 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/time mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478368 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=1,0 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=1,0 mViewFlags=3,136 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=3,LTR text:getRawTextAlignment()=7,INHERIT text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=5,false isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=5,false drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
             android.view.ViewStub@b61e5a18 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/chronometer mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2147478368 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=1,0 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=1,0 mViewFlags=3,136 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=3,LTR text:getRawTextAlignment()=7,INHERIT text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=5,false isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=5,false drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
            android.widget.TextView@b61e5c58 text:mText=0, getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=8,id/text2 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657288 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=2,-2 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,11 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,11 layout:layout_topMargin=2,-2 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
            android.widget.ProgressBar@b61e63e8 progress:getMax()=3,100 progress:getProgress()=1,0 progress:getSecondaryProgress()=1,0 progress:isIndeterminate()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=2,21 measurement:mMinWidth=2,64 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=11,id/progress mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130702304 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,11 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,11 layout:layout_topMargin=1,0 layout:layout_height=2,16 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
            android.widget.LinearLayout@b624d1b8 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388627 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,0 measurement:mTotalLength=1,0 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=8,id/line3 mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701184 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=4,NONE layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,11 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,11 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
             android.widget.TextView@b624d558 text:mText=38,English (US) - Android keyboard (AOSP) getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,19.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/text mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128604160 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,1.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=1,0 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
             android.widget.TextView@b624dbd0 text:mText=0, getEllipsize()=3,END text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=2,11 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=7,id/info mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130701312 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=2,11 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=2,11 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
             android.widget.ImageView@b624e080 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=13,id/right_icon mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653192 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=2,11 layout:layout_rightMargin=1,0 layout:layout_startMargin=2,11 layout:layout_topMargin=1,0 layout:layout_height=2,21 layout:layout_width=2,21 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        android.view.View@b61fa1b8 layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=14,id/bottom_glow mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128604128 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=1,4 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
        android.widget.TextView@b61fa530 text:mText=0, getEllipsize()=4,null text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,12.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,3 padding:mPaddingRight=1,3 padding:mPaddingTop=1,3 drawing:mLayerType=4,NONE mID=13,id/debug_info mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130701280 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,3 padding:mUserPaddingRight=1,3 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
  com.android.systemui.statusbar.phone.SettingsPanelView@b506aff8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags_PADDING_NOT_NULL=4,0x20 mGroupFlags=7,2244723 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=3,143 measurement:mMeasuredHeight=11,-2147483648 measurement:mMeasuredWidth=10,1073741822 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=2,21 padding:mPaddingLeft=2,21 padding:mPaddingRight=2,21 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=17,id/settings_panel mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593616 layout:mRight=3,779 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=2,21 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=2,21 padding:mUserPaddingRight=2,21 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653352 drawing:getAlpha()=3,0.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=15,Quick settings. getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=2,21 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=3,636 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=3,636 drawing:getX()=5,143.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=5,false focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
   com.android.systemui.statusbar.phone.QuickSettingsScrollView@b5007d38 layout:mFillViewport=5,false drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2375763 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=23,FOCUS_AFTER_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=2,21 measurement:mMeasuredHeight=3,505 measurement:mMeasuredWidth=2,43 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2127021040 layout:mRight=3,615 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653697 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=2,43 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=4,21.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=4,true isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
    com.android.systemui.statusbar.phone.QuickSettingsContainerView@b50075c8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=3,505 measurement:mMeasuredWidth=2,43 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=27,id/quick_settings_container mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593776 layout:mRight=3,594 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=7,1572864 layout:mBottom=3,505 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,505 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,594 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b5119340 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120210160 layout:mRight=3,195 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=11,User Owner. getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.FrameLayout@b512b5c8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128597872 layout:mRight=3,195 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
       android.widget.ImageView@b512ba10 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=17,id/user_imageview mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128598000 layout:mRight=3,195 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,MATCH_PARENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
       android.widget.TextView@b509c250 text:mText=5,Owner getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_state_mUseColor=10,-872415232 layout:mLeft=1,0 measurement:mMeasuredHeight=2,25 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=16,id/user_textview mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128599024 layout:mRight=3,195 scrolling:mScrollX=6,524199 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=3,140 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,17 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=5,140.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50ae1f0 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=3,200 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120206064 layout:mRight=3,395 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=5,200.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b509a950 text:mText=10,Brightness getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=2,41 measurement:mMeasuredHeight=2,84 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=22,id/brightness_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594928 layout:mRight=3,154 scrolling:mScrollX=6,524240 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,124 layout:mTop=2,40 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,84 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,113 drawing:getX()=4,41.0 drawing:getY()=4,40.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b509c5e8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=3,400 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120206064 layout:mRight=3,595 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,165 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=5,400.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b5091158 text:mText=8,Settings getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=2,51 measurement:mMeasuredHeight=2,84 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=20,id/settings_tileview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594928 layout:mRight=3,143 scrolling:mScrollX=6,524250 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,124 layout:mTop=2,40 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,84 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,92 drawing:getX()=4,51.0 drawing:getY()=4,40.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50bcfa8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120210160 layout:mRight=3,195 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,335 layout:mTop=3,170 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=11,Wifi off..  getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=5,170.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50cb510 text:mText=9,Wi-Fi Off getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=2,53 measurement:mMeasuredHeight=2,84 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=16,id/wifi_textview mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128599024 layout:mRight=3,142 scrolling:mScrollX=6,524252 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,124 layout:mTop=2,40 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,76 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,84 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,89 drawing:getX()=4,53.0 drawing:getY()=4,40.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50a1250 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=3,200 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120206064 layout:mRight=3,395 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,335 layout:mTop=3,170 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=5,200.0 drawing:getY()=5,170.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50cb7b0 text:mText=11,Auto Rotate getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=2,37 measurement:mMeasuredHeight=2,84 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=25,id/rotation_lock_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594928 layout:mRight=3,157 scrolling:mScrollX=6,524236 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,124 layout:mTop=2,40 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,84 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,120 drawing:getX()=4,37.0 drawing:getY()=4,40.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50a06b8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=3,400 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=8,16777227 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120206064 layout:mRight=3,595 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,335 layout:mTop=3,170 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=22,Battery Charging, 50%. getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=5,400.0 drawing:getY()=5,170.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.LinearLayout@b509f5f0 measurement:mBaselineChildTop=1,0 measurement:mGravity_NONE=3,0x0 measurement:mGravity_TOP=4,0x30 measurement:mGravity_LEFT=3,0x3 measurement:mGravity_START=8,0x800003 measurement:mGravity_CENTER_VERTICAL=4,0x10 measurement:mGravity_CENTER_HORIZONTAL=3,0x1 measurement:mGravity_CENTER=4,0x11 measurement:mGravity_RELATIVE=8,0x800000 measurement:mGravity=7,8388659 layout:mBaselineAlignedChildIndex=2,-1 layout:mBaselineAligned=4,true measurement:mOrientation=1,1 measurement:mTotalLength=2,81 layout:mUseLargestChild=5,false layout:mWeightSum=4,-1.0 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false bg_=4,null layout:mLeft=2,31 measurement:mMeasuredHeight=2,81 measurement:mMeasuredWidth=8,16777227 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128593776 layout:mRight=3,163 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,123 layout:mTop=2,42 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653312 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,81 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,132 drawing:getX()=4,31.0 drawing:getY()=4,42.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
       android.widget.ImageView@b509ed78 layout:getBaseline()=2,-1 bg_=4,null layout:mLeft=2,44 measurement:mMeasuredHeight=2,56 measurement:mMeasuredWidth=8,16777227 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=2,13 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=16,id/battery_image mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128598000 layout:mRight=2,87 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,56 layout:mTop=1,0 padding:mUserPaddingBottom=2,13 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653184 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,56 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=2,43 drawing:getX()=4,44.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
       android.widget.TextView@b50d3720 text:mText=13,Charging, 50% getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=2,25 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=19,id/battery_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128594928 layout:mRight=3,132 scrolling:mScrollX=6,524230 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,81 layout:mTop=2,56 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,25 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_gravity=6,CENTER layout:layout_weight=3,0.0 layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,132 drawing:getX()=3,0.0 drawing:getY()=4,56.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b509f938 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=3,165 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120210160 layout:mRight=3,195 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,505 layout:mTop=3,340 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669696 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=19,Airplane Mode Off.. getFilterTouchesWhenObscured()=5,false layout:getHeight()=3,165 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=2,11 drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,195 drawing:getX()=3,0.0 drawing:getY()=5,340.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50d39c0 text:mText=13,Airplane mode getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=2,28 measurement:mMeasuredHeight=2,84 measurement:mMeasuredWidth=2,11 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=25,id/airplane_mode_textview mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2128599024 layout:mRight=3,167 scrolling:mScrollX=6,524227 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=3,124 layout:mTop=2,40 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,76 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,84 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=3,139 drawing:getX()=4,28.0 drawing:getY()=4,40.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b509ffb0 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120216288 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669704 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=15,Alarm set for . getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50e5da8 text:mText=0, getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=17,id/alarm_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130702336 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50a09a8 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120216288 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669704 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50e6048 text:mText=0, getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=20,id/location_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130702336 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b509fc70 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120216288 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669704 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50f7730 text:mText=16,Wireless Display getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=24,id/wifi_display_textview mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130702336 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
     com.android.systemui.statusbar.phone.QuickSettingsTileView@b50a0328 drawing:mForeground=4,null padding:mForegroundPaddingBottom=1,0 padding:mForegroundPaddingLeft=1,0 padding:mForegroundPaddingRight=1,0 padding:mForegroundPaddingTop=1,0 drawing:mForegroundInPadding=4,true measurement:mMeasureAllChildren=5,false drawing:mForegroundGravity=3,119 events:mLastTouchDownX=3,0.0 events:mLastTouchDownTime=1,0 events:mLastTouchDownY=3,0.0 events:mLastTouchDownIndex=2,-1 mGroupFlags_CLIP_CHILDREN=3,0x1 mGroupFlags_CLIP_TO_PADDING=3,0x2 mGroupFlags=7,2244691 layout:mChildCountWithTransientState=1,0 focus:getDescendantFocusability()=24,FOCUS_BEFORE_DESCENDANTS drawing:getPersistentDrawingCache()=9,SCROLLING drawing:isAlwaysDrawnWithCacheEnabled()=4,true isAnimationCacheEnabled()=4,true drawing:isChildrenDrawingOrderEnabled()=5,false drawing:isChildrenDrawnWithCacheEnabled()=5,false layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags_DIRTY=8,0x200000 mPrivateFlags=11,-2120216288 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402669704 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=3,165 layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=4,GONE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=4,true drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=4,true isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=4,true
      android.widget.TextView@b50f79d0 text:mText=15,Take bug report getEllipsize()=7,MARQUEE text:getSelectionEnd()=2,-1 text:getSelectionStart()=2,-1 text:getTextSize()=4,16.0 bg_=4,null layout:mLeft=1,0 measurement:mMeasuredHeight=1,0 measurement:mMeasuredWidth=1,0 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,3 padding:mPaddingLeft=1,8 padding:mPaddingRight=1,8 padding:mPaddingTop=1,0 drawing:mLayerType=4,NONE mID=5,NO_ID mPrivateFlags_FORCE_LAYOUT=6,0x1000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_NOT_DRAWN=3,0x0 mPrivateFlags=11,-2130702336 layout:mRight=1,0 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=1,0 layout:mTop=1,0 padding:mUserPaddingBottom=1,3 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,8 padding:mUserPaddingRight=1,8 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402657280 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=1,0 accessibility:getImportantForAccessibility()=3,yes accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=12,WRAP_CONTENT layout:layout_width=12,WRAP_CONTENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=7,VISIBLE layout:getWidth()=1,0 drawing:getX()=3,0.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
   android.view.View@b506f8f0 layout:mLeft=2,21 measurement:mMeasuredHeight=2,48 measurement:mMeasuredWidth=2,43 measurement:mMinHeight=1,0 measurement:mMinWidth=1,0 padding:mPaddingBottom=1,0 padding:mPaddingLeft=1,0 padding:mPaddingRight=1,0 padding:mPaddingTop=1,5 drawing:mLayerType=4,NONE mID=9,id/handle mPrivateFlags_LAYOUT_REQUIRED=6,0x2000 mPrivateFlags_DRAWING_CACHE_INVALID=3,0x0 mPrivateFlags_DRAWN=4,0x20 mPrivateFlags=11,-2130696144 layout:mRight=3,615 scrolling:mScrollX=1,0 scrolling:mScrollY=1,0 mSystemUiVisibility_SYSTEM_UI_FLAG_VISIBLE=3,0x0 mSystemUiVisibility=1,0 layout:mBottom=2,48 layout:mTop=1,0 padding:mUserPaddingBottom=1,0 padding:mUserPaddingEnd=11,-2147483648 padding:mUserPaddingLeft=1,0 padding:mUserPaddingRight=1,0 padding:mUserPaddingStart=11,-2147483648 mViewFlags=9,402653188 drawing:getAlpha()=3,1.0 layout:getBaseline()=2,-1 accessibility:getContentDescription()=4,null getFilterTouchesWhenObscured()=5,false layout:getHeight()=2,48 accessibility:getImportantForAccessibility()=4,auto accessibility:getLabelFor()=2,-1 layout:getLayoutDirection()=22,RESOLVED_DIRECTION_LTR layout:layout_bottomMargin=1,0 layout:layout_endMargin=11,-2147483648 layout:layout_leftMargin=1,0 layout:layout_rightMargin=1,0 layout:layout_startMargin=11,-2147483648 layout:layout_topMargin=1,0 layout:layout_height=2,48 layout:layout_width=12,MATCH_PARENT drawing:getPivotX()=3,0.0 drawing:getPivotY()=3,0.0 layout:getRawLayoutDirection()=7,INHERIT text:getRawTextAlignment()=7,GRAVITY text:getRawTextDirection()=7,INHERIT drawing:getRotation()=3,0.0 drawing:getRotationX()=3,0.0 drawing:getRotationY()=3,0.0 drawing:getScaleX()=3,1.0 drawing:getScaleY()=3,1.0 getScrollBarStyle()=14,INSIDE_OVERLAY drawing:getSolidColor()=1,0 getTag()=4,null text:getTextAlignment()=7,GRAVITY drawing:getTranslationX()=3,0.0 drawing:getTranslationY()=3,0.0 getVisibility()=9,INVISIBLE layout:getWidth()=3,594 drawing:getX()=4,21.0 drawing:getY()=3,0.0 focus:hasFocus()=5,false layout:hasTransientState()=5,false isActivated()=5,false isClickable()=5,false drawing:isDrawingCacheEnabled()=5,false isEnabled()=4,true focus:isFocusable()=5,false isFocusableInTouchMode()=5,false focus:isFocused()=5,false isHapticFeedbackEnabled()=4,true isHovered()=5,false isInTouchMode()=4,true layout:isLayoutRtl()=5,false drawing:isOpaque()=5,false isSelected()=5,false isSoundEffectsEnabled()=4,true drawing:willNotCacheDrawing()=5,false drawing:willNotDraw()=5,false
DONE.
DONE
'''

RUNNING = 1
STOPPED = 0

class MockDevice(object):
    '''
    Mocks an Android device
    '''


    def __init__(self, serialno="MOCK12345678", version=15, startviewserver=False, uiautomatorkilled=False, language='en'):
        '''
        Constructor
        '''

        self.serialno = serialno
        self.version = version
        self.service = STOPPED
        self.viewServer = "WHAT?"
        if startviewserver:
            if DEBUG:
                print >> sys.stderr, "\n**** Starting ViewServer... ****", self
            self.viewServer = MockViewServer()
        else:
            self.viewServer = None
        self.uiAutomatorKilled = uiautomatorkilled
        self.language = language
        self.uiAutomatorDump = {}
        self.uiAutomatorDump['en'] = UIAUTOMATOR_DUMP
        # FIXME: MockDevice could not be API17
        self.uiAutomatorDump['zh'] = UIAUTOMATOR_DUMP_API17_CHINESE

#     def __del__(self):
#         self.shutdownMockViewServer()

    def shell(self, cmd):
        if cmd == 'service call window 3':
            return FALSE_PARCEL
        elif re.compile('service call window 1 i32 \d+').match(cmd):
            self.service = RUNNING
            return TRUE_PARCEL
        elif re.compile('service call window 2').match(cmd):
            self.service = STOPPED
            return TRUE_PARCEL
        elif cmd == 'dumpsys window':
            return DUMPSYS_WINDOW_PARTIAL
        elif cmd == 'dumpsys window windows':
            return DUMPSYS_WINDOW_WINDOWS

        m = re.match('uiautomator dump +(\S+)', cmd)
        if m:
            if self.version >= 16:
                # it was simulating a dump to sdcard before
                #return 'dumped %s' % m.group(1)
                if not self.uiAutomatorKilled:
                    return self.uiAutomatorDump[self.language]
                else:
                    return self.uiAutomatorDump[self.language] + "Killed\r\n"
            else:
                return "uiautomator: command not found"

        m = re.match('cat (\S+) .*', cmd)
        if m:
            return self.uiAutomatorDump[self.language]

    def getProperty(self, property):
        if property == 'ro.serialno':
            return self.serialno
        elif property == 'build.version.sdk' or property == 'ro.build.version.sdk':
            return self.version
        elif property == 'display.width':
            return 768
        elif property == 'display.height':
            return 1184
        return None

    def shutdownMockViewServer(self):
        if DEBUG:
            print >> sys.stderr, "MockDevice.shutdownMockViewServer()", self,
            try:
                print >> sys.stderr, "viewServer=", self.viewServer
            except:
                print >> sys.stderr, "NO VIEWSERVER !!!!", dir(self)
        if self.viewServer:
            if DEBUG:
                print >> sys.stderr, "    shutdownMockViewServer: shutting down ViewServer"
            self.viewServer.shutdown()
            #del(self.viewServer)

import sys
import time
import select
#from select import cpython_compatible_select as select
import threading
import socket
import SocketServer


class MockViewServer():
    HOST, PORT = "localhost", 4939

    class MockViewServerHandler(SocketServer.BaseRequestHandler):
        def handle(self):
            if DEBUG:
                print >>sys.stderr, "MockViewServerHandler: handling request (self=%s)" % self
            # self.request is the TCP socket connected to the client
            self.data = self.request.recv(1024).strip()
            if DEBUG:
                print >>sys.stderr, "MockViewServerHandler: data='%s'" % self.data
            if self.data == 'SHUTDOWN':
                self.running = False
                return
            elif self.data.lower() == 'dump -1':
                self.request.sendall(DUMP)
            elif self.data.lower() == 'list':
                self.request.sendall(LIST)
            elif self.data.lower() == 'dump b52f7c88':
                self.request.sendall(DUMP_STATUSBAR)
            else:
                raise Exception("MockViewServerHandler: unknown command '%s'" % self.data)
            #print "{} wrote:".format(self.client_address[0])

    class ServerThread(threading.Thread):
        def __init__(self, server):
            super(MockViewServer.ServerThread, self).__init__()
            self.server = server
            self.running = True
            self.pollInterval = 1

        def run(self):
            if DEBUG:
                print >> sys.stderr, "ServerThread: serving running=", self.running
            # In 2.5 serve_forever() never exits and there's no way of stopping the server
            #self.server.serve_forever(self.pollInterval)
            while self.running:
                if DEBUG:
                    print >> sys.stderr, "ServerThread: polling (self=%s)" % self
                r, w, e = select.select([self.server], [], [], self.pollInterval)
                if r:
                    if self.server:
                        try:
                            self.server.handle_request()
                        except:
                            print >> sys.stderr, "ServerThread: the socket may have been closed"


    def __init__(self, host=HOST, port=PORT):
        # Create the server, binding to localhost on port
        if DEBUG:
            print >>sys.stderr, "MockViewServer: starting server on host=%s port=%s" % (host, port)
        self.server = SocketServer.TCPServer((host, port), MockViewServer.MockViewServerHandler)
        self.server.socket.setblocking(0)
        self.host = host
        self.port = port
        # In 2.5 serve_forever() never exits and there's no way of stopping the server
        #self.server.serve_forever(1)
        #print >> sys.stderr, "MockViewServer: NEVER REACHED on Linux"
        # Activate the server; this will keep running until you shutdown
        self.serverThread = MockViewServer.ServerThread(self.server)
        self.serverThread.start()

    def shutdown(self):
        if DEBUG:
            print >> sys.stderr, "**** MockViewServer.shutdown() ****"
        try:
            self.server.socket.shutdown(socket.SHUT_RDWR)
            #if DEBUG:
            #    print >> sys.stderr, "    shutdown: shutting down the server, serve_forever() should exit"
            #self.server.shutdown()
            if DEBUG:
                print >> sys.stderr, "    shutdown: DONE"
        except Exception, ex:
            print >> sys.stderr, "ERROR", ex
            pass
        self.serverThread.running = False
        #self.server.socket.shutdown(socket.SHUT_RDWR)
        self.server.socket.close()
#        del(self.server.socket)
        #del(self.server)
        time.sleep(120)
        time.sleep(5)

