Loading api/current.xml +11 −139 Original line number Original line Diff line number Diff line Loading @@ -5817,17 +5817,6 @@ visibility="public" visibility="public" > > </field> </field> <field name="kraken_resource_pad57" type="int" transient="false" volatile="false" value="16843464" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="kraken_resource_pad6" <field name="kraken_resource_pad6" type="int" type="int" transient="false" transient="false" Loading Loading @@ -9513,6 +9502,17 @@ visibility="public" visibility="public" > > </field> </field> <field name="textSelectHandleWindowStyle" type="int" transient="false" volatile="false" value="16843464" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="textSize" <field name="textSize" type="int" type="int" transient="false" transient="false" Loading Loading @@ -168105,19 +168105,6 @@ <parameter name="event" type="android.view.MotionEvent"> <parameter name="event" type="android.view.MotionEvent"> </parameter> </parameter> </method> </method> <method name="setCursorController" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="cursorController" type="android.widget.TextView.CursorController"> </parameter> </method> </class> </class> <class name="BaseKeyListener" <class name="BaseKeyListener" extends="android.text.method.MetaKeyKeyListener" extends="android.text.method.MetaKeyKeyListener" Loading Loading @@ -225264,121 +225251,6 @@ > > </method> </method> </class> </class> <interface name="TextView.CursorController" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="draw" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="canvas" type="android.graphics.Canvas"> </parameter> </method> <method name="getOffsetX" return="float" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getOffsetY" return="float" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="hide" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="isShowing" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="onTouchEvent" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="event" type="android.view.MotionEvent"> </parameter> </method> <method name="show" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="updatePosition" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="x" type="int"> </parameter> <parameter name="y" type="int"> </parameter> </method> <field name="FADE_OUT_DURATION" type="int" transient="false" volatile="false" value="400" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </interface> <interface name="TextView.OnEditorActionListener" <interface name="TextView.OnEditorActionListener" abstract="true" abstract="true" static="true" static="true" core/java/android/text/method/ArrowKeyMovementMethod.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -314,6 +314,8 @@ public class ArrowKeyMovementMethod implements MovementMethod { * {@link MotionEvent#ACTION_CANCEL} event), the controller is reset to null. * {@link MotionEvent#ACTION_CANCEL} event), the controller is reset to null. * * * @param cursorController A cursor controller implementation * @param cursorController A cursor controller implementation * * @hide */ */ public void setCursorController(CursorController cursorController) { public void setCursorController(CursorController cursorController) { mCursorController = cursorController; mCursorController = cursorController; Loading core/java/android/view/View.java +0 −57 Original line number Original line Diff line number Diff line Loading @@ -1550,12 +1550,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility */ */ private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000; private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000; /** * Indicates that this view has a visible/touchable overlay. * @hide */ static final int HAS_OVERLAY = 0x10000000; /** /** * Always allow a user to overscroll this view, provided it is a * Always allow a user to overscroll this view, provided it is a * view that can scroll. * view that can scroll. Loading Loading @@ -2843,57 +2837,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility resetPressedState(); resetPressedState(); } } /** * Enable or disable drawing overlays after a full drawing pass. This enables a view to * draw on a topmost overlay layer after normal drawing completes and get right of first * refusal for touch events in the window. * * <em>Warning:</em> Views that use this feature should take care to disable/enable overlay * appropriately when they are attached/detached from their window. All overlays should be * disabled when detached. * * @param enabled true if overlay drawing should be enabled for this view, false otherwise * * @see #onDrawOverlay(Canvas) * * @hide */ protected void setOverlayEnabled(boolean enabled) { final boolean oldValue = (mPrivateFlags & HAS_OVERLAY) == HAS_OVERLAY; mPrivateFlags = (mPrivateFlags & ~HAS_OVERLAY) | (enabled ? HAS_OVERLAY : 0); if (enabled != oldValue) { final ViewParent parent = getParent(); if (parent != null) { try { parent.childOverlayStateChanged(this); } catch (AbstractMethodError e) { Log.e(VIEW_LOG_TAG, "Could not propagate hasOverlay state", e); } } } } /** * @return true if this View has an overlay enabled. * * @see #setOverlayEnabled(boolean) * @see #onDrawOverlay(Canvas) * * @hide */ public boolean isOverlayEnabled() { return (mPrivateFlags & HAS_OVERLAY) == HAS_OVERLAY; } /** * Override this method to draw on an overlay layer above all other views in the window * after the standard drawing pass is complete. This allows a view to draw outside its * normal boundaries. * @hide */ public void onDrawOverlay(Canvas canvas) { } private void resetPressedState() { private void resetPressedState() { if ((mViewFlags & ENABLED_MASK) == DISABLED) { if ((mViewFlags & ENABLED_MASK) == DISABLED) { return; return; Loading core/java/android/view/ViewGroup.java +1 −99 Original line number Original line Diff line number Diff line Loading @@ -227,11 +227,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager */ */ protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000; protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000; /** * When set, at least one child of this ViewGroup will return true from hasOverlay. */ private static final int FLAG_CHILD_HAS_OVERLAY = 0x100000; /** /** * Indicates which types of drawing caches are to be kept in memory. * Indicates which types of drawing caches are to be kept in memory. * This field should be made private, so it is hidden from the SDK. * This field should be made private, so it is hidden from the SDK. Loading Loading @@ -860,33 +855,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final View[] children = mChildren; final View[] children = mChildren; final int count = mChildrenCount; final int count = mChildrenCount; // Check for children with overlays first. They don't rely on hit rects to determine // if they can accept a new touch event. if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY) { for (int i = count - 1; i >= 0; i--) { final View child = children[i]; // Don't let children respond to events as an overlay during an animation. if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE && child.getAnimation() == null && child.isOverlayEnabled()) { // offset the event to the view's coordinate system final float xc = scrolledXFloat - child.mLeft; final float yc = scrolledYFloat - child.mTop; ev.setLocation(xc, yc); child.mPrivateFlags &= ~CANCEL_NEXT_UP_EVENT; if (child.dispatchTouchEvent(ev)) { // Event handled, we have a target now. mMotionTarget = child; return true; } // The event didn't get handled, try the next view. // Don't reset the event's location, it's not // necessary here. } } } // Now check views normally. for (int i = count - 1; i >= 0; i--) { for (int i = count - 1; i >= 0; i--) { final View child = children[i]; final View child = children[i]; if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE Loading Loading @@ -2345,8 +2313,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (clearChildFocus != null) { if (clearChildFocus != null) { clearChildFocus(clearChildFocus); clearChildFocus(clearChildFocus); } } mGroupFlags &= ~FLAG_CHILD_HAS_OVERLAY; } } /** /** Loading Loading @@ -2569,8 +2535,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final int left = mLeft; final int left = mLeft; final int top = mTop; final int top = mTop; if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY || if (dirty.intersect(0, 0, mRight - left, mBottom - top) || dirty.intersect(0, 0, mRight - left, mBottom - top) || (mPrivateFlags & DRAW_ANIMATION) == DRAW_ANIMATION) { (mPrivateFlags & DRAW_ANIMATION) == DRAW_ANIMATION) { mPrivateFlags &= ~DRAWING_CACHE_VALID; mPrivateFlags &= ~DRAWING_CACHE_VALID; Loading Loading @@ -3488,69 +3453,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager mAnimationListener = animationListener; mAnimationListener = animationListener; } } /** * Called when a child's overlay state changes between enabled/disabled. * @param child Child view whose state has changed or null * @hide */ public void childOverlayStateChanged(View child) { boolean childHasOverlay = false; if (child != null) { childHasOverlay = child.isOverlayEnabled(); } else { final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { if (childHasOverlay |= getChildAt(i).isOverlayEnabled()) { break; } } } final boolean hasChildWithOverlay = childHasOverlay || (mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY; final boolean oldValue = isOverlayEnabled(); mGroupFlags = (mGroupFlags & ~FLAG_CHILD_HAS_OVERLAY) | (hasChildWithOverlay ? FLAG_CHILD_HAS_OVERLAY : 0); if (isOverlayEnabled() != oldValue) { final ViewParent parent = getParent(); if (parent != null) { try { parent.childOverlayStateChanged(this); } catch (AbstractMethodError e) { Log.e("ViewGroup", "Could not propagate hasOverlay state", e); } } } } /** * @hide */ public boolean isOverlayEnabled() { return super.isOverlayEnabled() || ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY); } /** * @hide */ @Override public void onDrawOverlay(Canvas canvas) { if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY) { final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { final View child = getChildAt(i); if (child.isOverlayEnabled()) { canvas.translate(child.mLeft - child.mScrollX, child.mTop - child.mScrollY); child.onDrawOverlay(canvas); canvas.translate(-(child.mLeft - child.mScrollX), -(child.mTop - child.mScrollY)); } } } } /** /** * LayoutParams are used by views to tell their parents how they want to be * LayoutParams are used by views to tell their parents how they want to be * laid out. See * laid out. See Loading core/java/android/view/ViewParent.java +0 −7 Original line number Original line Diff line number Diff line Loading @@ -208,11 +208,4 @@ public interface ViewParent { */ */ public boolean requestChildRectangleOnScreen(View child, Rect rectangle, public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate); boolean immediate); /** * Called when a child view's overlay state changes between enabled/disabled. * @param child Child view whose state changed or null. * @hide */ public void childOverlayStateChanged(View child); } } Loading
api/current.xml +11 −139 Original line number Original line Diff line number Diff line Loading @@ -5817,17 +5817,6 @@ visibility="public" visibility="public" > > </field> </field> <field name="kraken_resource_pad57" type="int" transient="false" volatile="false" value="16843464" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="kraken_resource_pad6" <field name="kraken_resource_pad6" type="int" type="int" transient="false" transient="false" Loading Loading @@ -9513,6 +9502,17 @@ visibility="public" visibility="public" > > </field> </field> <field name="textSelectHandleWindowStyle" type="int" transient="false" volatile="false" value="16843464" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="textSize" <field name="textSize" type="int" type="int" transient="false" transient="false" Loading Loading @@ -168105,19 +168105,6 @@ <parameter name="event" type="android.view.MotionEvent"> <parameter name="event" type="android.view.MotionEvent"> </parameter> </parameter> </method> </method> <method name="setCursorController" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="cursorController" type="android.widget.TextView.CursorController"> </parameter> </method> </class> </class> <class name="BaseKeyListener" <class name="BaseKeyListener" extends="android.text.method.MetaKeyKeyListener" extends="android.text.method.MetaKeyKeyListener" Loading Loading @@ -225264,121 +225251,6 @@ > > </method> </method> </class> </class> <interface name="TextView.CursorController" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="draw" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="canvas" type="android.graphics.Canvas"> </parameter> </method> <method name="getOffsetX" return="float" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getOffsetY" return="float" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="hide" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="isShowing" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="onTouchEvent" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="event" type="android.view.MotionEvent"> </parameter> </method> <method name="show" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="updatePosition" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="x" type="int"> </parameter> <parameter name="y" type="int"> </parameter> </method> <field name="FADE_OUT_DURATION" type="int" transient="false" volatile="false" value="400" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </interface> <interface name="TextView.OnEditorActionListener" <interface name="TextView.OnEditorActionListener" abstract="true" abstract="true" static="true" static="true"
core/java/android/text/method/ArrowKeyMovementMethod.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -314,6 +314,8 @@ public class ArrowKeyMovementMethod implements MovementMethod { * {@link MotionEvent#ACTION_CANCEL} event), the controller is reset to null. * {@link MotionEvent#ACTION_CANCEL} event), the controller is reset to null. * * * @param cursorController A cursor controller implementation * @param cursorController A cursor controller implementation * * @hide */ */ public void setCursorController(CursorController cursorController) { public void setCursorController(CursorController cursorController) { mCursorController = cursorController; mCursorController = cursorController; Loading
core/java/android/view/View.java +0 −57 Original line number Original line Diff line number Diff line Loading @@ -1550,12 +1550,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility */ */ private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000; private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000; /** * Indicates that this view has a visible/touchable overlay. * @hide */ static final int HAS_OVERLAY = 0x10000000; /** /** * Always allow a user to overscroll this view, provided it is a * Always allow a user to overscroll this view, provided it is a * view that can scroll. * view that can scroll. Loading Loading @@ -2843,57 +2837,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility resetPressedState(); resetPressedState(); } } /** * Enable or disable drawing overlays after a full drawing pass. This enables a view to * draw on a topmost overlay layer after normal drawing completes and get right of first * refusal for touch events in the window. * * <em>Warning:</em> Views that use this feature should take care to disable/enable overlay * appropriately when they are attached/detached from their window. All overlays should be * disabled when detached. * * @param enabled true if overlay drawing should be enabled for this view, false otherwise * * @see #onDrawOverlay(Canvas) * * @hide */ protected void setOverlayEnabled(boolean enabled) { final boolean oldValue = (mPrivateFlags & HAS_OVERLAY) == HAS_OVERLAY; mPrivateFlags = (mPrivateFlags & ~HAS_OVERLAY) | (enabled ? HAS_OVERLAY : 0); if (enabled != oldValue) { final ViewParent parent = getParent(); if (parent != null) { try { parent.childOverlayStateChanged(this); } catch (AbstractMethodError e) { Log.e(VIEW_LOG_TAG, "Could not propagate hasOverlay state", e); } } } } /** * @return true if this View has an overlay enabled. * * @see #setOverlayEnabled(boolean) * @see #onDrawOverlay(Canvas) * * @hide */ public boolean isOverlayEnabled() { return (mPrivateFlags & HAS_OVERLAY) == HAS_OVERLAY; } /** * Override this method to draw on an overlay layer above all other views in the window * after the standard drawing pass is complete. This allows a view to draw outside its * normal boundaries. * @hide */ public void onDrawOverlay(Canvas canvas) { } private void resetPressedState() { private void resetPressedState() { if ((mViewFlags & ENABLED_MASK) == DISABLED) { if ((mViewFlags & ENABLED_MASK) == DISABLED) { return; return; Loading
core/java/android/view/ViewGroup.java +1 −99 Original line number Original line Diff line number Diff line Loading @@ -227,11 +227,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager */ */ protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000; protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000; /** * When set, at least one child of this ViewGroup will return true from hasOverlay. */ private static final int FLAG_CHILD_HAS_OVERLAY = 0x100000; /** /** * Indicates which types of drawing caches are to be kept in memory. * Indicates which types of drawing caches are to be kept in memory. * This field should be made private, so it is hidden from the SDK. * This field should be made private, so it is hidden from the SDK. Loading Loading @@ -860,33 +855,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final View[] children = mChildren; final View[] children = mChildren; final int count = mChildrenCount; final int count = mChildrenCount; // Check for children with overlays first. They don't rely on hit rects to determine // if they can accept a new touch event. if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY) { for (int i = count - 1; i >= 0; i--) { final View child = children[i]; // Don't let children respond to events as an overlay during an animation. if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE && child.getAnimation() == null && child.isOverlayEnabled()) { // offset the event to the view's coordinate system final float xc = scrolledXFloat - child.mLeft; final float yc = scrolledYFloat - child.mTop; ev.setLocation(xc, yc); child.mPrivateFlags &= ~CANCEL_NEXT_UP_EVENT; if (child.dispatchTouchEvent(ev)) { // Event handled, we have a target now. mMotionTarget = child; return true; } // The event didn't get handled, try the next view. // Don't reset the event's location, it's not // necessary here. } } } // Now check views normally. for (int i = count - 1; i >= 0; i--) { for (int i = count - 1; i >= 0; i--) { final View child = children[i]; final View child = children[i]; if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE Loading Loading @@ -2345,8 +2313,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (clearChildFocus != null) { if (clearChildFocus != null) { clearChildFocus(clearChildFocus); clearChildFocus(clearChildFocus); } } mGroupFlags &= ~FLAG_CHILD_HAS_OVERLAY; } } /** /** Loading Loading @@ -2569,8 +2535,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final int left = mLeft; final int left = mLeft; final int top = mTop; final int top = mTop; if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY || if (dirty.intersect(0, 0, mRight - left, mBottom - top) || dirty.intersect(0, 0, mRight - left, mBottom - top) || (mPrivateFlags & DRAW_ANIMATION) == DRAW_ANIMATION) { (mPrivateFlags & DRAW_ANIMATION) == DRAW_ANIMATION) { mPrivateFlags &= ~DRAWING_CACHE_VALID; mPrivateFlags &= ~DRAWING_CACHE_VALID; Loading Loading @@ -3488,69 +3453,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager mAnimationListener = animationListener; mAnimationListener = animationListener; } } /** * Called when a child's overlay state changes between enabled/disabled. * @param child Child view whose state has changed or null * @hide */ public void childOverlayStateChanged(View child) { boolean childHasOverlay = false; if (child != null) { childHasOverlay = child.isOverlayEnabled(); } else { final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { if (childHasOverlay |= getChildAt(i).isOverlayEnabled()) { break; } } } final boolean hasChildWithOverlay = childHasOverlay || (mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY; final boolean oldValue = isOverlayEnabled(); mGroupFlags = (mGroupFlags & ~FLAG_CHILD_HAS_OVERLAY) | (hasChildWithOverlay ? FLAG_CHILD_HAS_OVERLAY : 0); if (isOverlayEnabled() != oldValue) { final ViewParent parent = getParent(); if (parent != null) { try { parent.childOverlayStateChanged(this); } catch (AbstractMethodError e) { Log.e("ViewGroup", "Could not propagate hasOverlay state", e); } } } } /** * @hide */ public boolean isOverlayEnabled() { return super.isOverlayEnabled() || ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY); } /** * @hide */ @Override public void onDrawOverlay(Canvas canvas) { if ((mGroupFlags & FLAG_CHILD_HAS_OVERLAY) == FLAG_CHILD_HAS_OVERLAY) { final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { final View child = getChildAt(i); if (child.isOverlayEnabled()) { canvas.translate(child.mLeft - child.mScrollX, child.mTop - child.mScrollY); child.onDrawOverlay(canvas); canvas.translate(-(child.mLeft - child.mScrollX), -(child.mTop - child.mScrollY)); } } } } /** /** * LayoutParams are used by views to tell their parents how they want to be * LayoutParams are used by views to tell their parents how they want to be * laid out. See * laid out. See Loading
core/java/android/view/ViewParent.java +0 −7 Original line number Original line Diff line number Diff line Loading @@ -208,11 +208,4 @@ public interface ViewParent { */ */ public boolean requestChildRectangleOnScreen(View child, Rect rectangle, public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate); boolean immediate); /** * Called when a child view's overlay state changes between enabled/disabled. * @param child Child view whose state changed or null. * @hide */ public void childOverlayStateChanged(View child); } }