Loading api/current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -750,6 +750,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -893,11 +895,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -43058,11 +43062,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -43165,6 +43171,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -43333,6 +43341,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -43344,11 +43354,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -857,6 +857,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -1000,11 +1002,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -46255,11 +46259,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -46362,6 +46368,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -46530,6 +46538,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -46541,11 +46551,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); api/test-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -750,6 +750,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -893,11 +895,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -43326,11 +43330,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -43434,6 +43440,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -43602,6 +43610,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -43613,11 +43623,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); core/java/android/view/View.java +141 −2 Original line number Diff line number Diff line Loading @@ -2474,7 +2474,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * 1 PFLAG3_SCROLL_INDICATOR_START * 1 PFLAG3_SCROLL_INDICATOR_END * 1 PFLAG3_ASSIST_BLOCKED * xxxxxxxx * NO LONGER NEEDED, SHOULD BE REUSED * * 1 PFLAG3_CLUSTER * 1 PFLAG3_SECTION * xxxxxx * NO LONGER NEEDED, SHOULD BE REUSED * * 1 PFLAG3_OVERLAPPING_RENDERING_FORCED_VALUE * 1 PFLAG3_HAS_OVERLAPPING_RENDERING_FORCED * 1 PFLAG3_TEMPORARY_DETACH Loading Loading @@ -2672,6 +2674,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ static final int PFLAG3_ASSIST_BLOCKED = 0x4000; /** * Flag indicating that the view is a root of a keyboard navigation cluster. * * @see #isKeyboardNavigationCluster() * @see #setKeyboardNavigationCluster(boolean) */ private static final int PFLAG3_CLUSTER = 0x8000; /** * Flag indicating that the view is a root of a keyboard navigation section. * * @see #isKeyboardNavigationSection() * @see #setKeyboardNavigationSection(boolean) */ private static final int PFLAG3_SECTION = 0x10000; /** * Whether this view has rendered elements that overlap (see {@link * #hasOverlappingRendering()}, {@link #forceHasOverlappingRendering(boolean)}, and Loading Loading @@ -3740,6 +3758,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ int mNextFocusForwardId = View.NO_ID; /** * User-specified next keyboard navigation cluster. */ int mNextClusterForwardId = View.NO_ID; /** * User-specified next keyboard navigation section. */ int mNextSectionForwardId = View.NO_ID; private CheckForLongPress mPendingCheckForLongPress; private CheckForTap mPendingCheckForTap = null; private PerformClick mPerformClick; Loading Loading @@ -4531,6 +4559,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, case R.styleable.View_nextFocusForward: mNextFocusForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_nextClusterForward: mNextClusterForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_nextSectionForward: mNextSectionForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_minWidth: mMinWidth = a.getDimensionPixelSize(attr, 0); break; Loading Loading @@ -4667,10 +4701,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, forceHasOverlappingRendering(a.getBoolean(attr, true)); } break; case R.styleable.View_tooltip: setTooltip(a.getText(attr)); break; case R.styleable.View_keyboardNavigationCluster: if (a.peekValue(attr) != null) { setKeyboardNavigationCluster(a.getBoolean(attr, true)); } break; case R.styleable.View_keyboardNavigationSection: if (a.peekValue(attr) != null) { setKeyboardNavigationSection(a.getBoolean(attr, true)); } break; } } Loading Loading @@ -7851,6 +7894,50 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mNextFocusForwardId = nextFocusForwardId; } /** * Gets the id of the root of the next keyboard navigation cluster. * @return The next keyboard navigation cluster ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextClusterForward */ public int getNextClusterForwardId() { return mNextClusterForwardId; } /** * Sets the id of the view to use as the root of the next keyboard navigation cluster. * @param nextClusterForwardId The next cluster ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextClusterForward */ public void setNextClusterForwardId(int nextClusterForwardId) { mNextClusterForwardId = nextClusterForwardId; } /** * Gets the id of the root of the next keyboard navigation section. * @return The next keyboard navigation section ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextSectionForward */ public int getNextSectionForwardId() { return mNextSectionForwardId; } /** * Sets the id of the view to use as the root of the next keyboard navigation section. * @param nextSectionForwardId The next section ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextSectionForward */ public void setNextSectionForwardId(int nextSectionForwardId) { mNextSectionForwardId = nextSectionForwardId; } /** * Returns the visibility of this view and all of its ancestors * Loading Loading @@ -8946,6 +9033,58 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** * Returns whether this View is a root of a keyboard navigation cluster. * * @return True if this view is a root of a cluster, or false otherwise. * @attr ref android.R.styleable#View_keyboardNavigationCluster */ @ViewDebug.ExportedProperty(category = "keyboardNavigationCluster") public final boolean isKeyboardNavigationCluster() { return (mPrivateFlags3 & PFLAG3_CLUSTER) != 0; } /** * Set whether this view is a root of a keyboard navigation cluster. * * @param isCluster If true, this view is a root of a cluster. * * @attr ref android.R.styleable#View_keyboardNavigationCluster */ public void setKeyboardNavigationCluster(boolean isCluster) { if (isCluster) { mPrivateFlags3 |= PFLAG3_CLUSTER; } else { mPrivateFlags3 &= ~PFLAG3_CLUSTER; } } /** * Returns whether this View is a root of a keyboard navigation section. * * @return True if this view is a root of a section, or false otherwise. * @attr ref android.R.styleable#View_keyboardNavigationSection */ @ViewDebug.ExportedProperty(category = "keyboardNavigationSection") public final boolean isKeyboardNavigationSection() { return (mPrivateFlags3 & PFLAG3_SECTION) != 0; } /** * Set whether this view is a root of a keyboard navigation section. * * @param isSection If true, this view is a root of a section. * * @attr ref android.R.styleable#View_keyboardNavigationSection */ public void setKeyboardNavigationSection(boolean isSection) { if (isSection) { mPrivateFlags3 |= PFLAG3_SECTION; } else { mPrivateFlags3 &= ~PFLAG3_SECTION; } } /** * This method is the last chance for the focused view and its ancestors to * respond to an arrow key. This is called when the focused view did not Loading core/res/res/values/attrs.xml +22 −0 Original line number Diff line number Diff line Loading @@ -2887,6 +2887,28 @@ <!-- Defines text displayed in a small popup window on hover or long press. --> <attr name="tooltip" format="string" localization="suggested" /> <!-- Whether this view is a root of a keyboard navigation cluster. See {@link android.view.View#setKeyboardNavigationCluster(boolean)}. --> <attr name="keyboardNavigationCluster" format="boolean" /> <!-- Whether this view is a root of a keyboard navigation section. See {@link android.view.View#setKeyboardNavigationSection(boolean)}. --> <attr name="keyboardNavigationSection" format="boolean" /> <!-- Defines the next keyboard navigation cluster. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a {@link java.lang.RuntimeException} will result when the reference is accessed.--> <attr name="nextClusterForward" format="reference"/> <!-- Defines the next keyboard navigation section. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a {@link java.lang.RuntimeException} will result when the reference is accessed.--> <attr name="nextSectionForward" format="reference"/> </declare-styleable> <!-- Attributes that can be assigned to a tag for a particular View. --> Loading Loading
api/current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -750,6 +750,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -893,11 +895,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -43058,11 +43062,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -43165,6 +43171,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -43333,6 +43341,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -43344,11 +43354,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener);
api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -857,6 +857,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -1000,11 +1002,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -46255,11 +46259,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -46362,6 +46368,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -46530,6 +46538,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -46541,11 +46551,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener);
api/test-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -750,6 +750,8 @@ package android { field public static final int keyWidth = 16843325; // 0x101023d field public static final int keyboardLayout = 16843691; // 0x10103ab field public static final int keyboardMode = 16843341; // 0x101024d field public static final int keyboardNavigationCluster = 16844096; // 0x1010540 field public static final int keyboardNavigationSection = 16844097; // 0x1010541 field public static final int keycode = 16842949; // 0x10100c5 field public static final int killAfterRestore = 16843420; // 0x101029c field public static final int label = 16842753; // 0x1010001 Loading Loading @@ -893,11 +895,13 @@ package android { field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int networkSecurityConfig = 16844071; // 0x1010527 field public static final int nextClusterForward = 16844098; // 0x1010542 field public static final int nextFocusDown = 16842980; // 0x10100e4 field public static final int nextFocusForward = 16843580; // 0x101033c field public static final int nextFocusLeft = 16842977; // 0x10100e1 field public static final int nextFocusRight = 16842978; // 0x10100e2 field public static final int nextFocusUp = 16842979; // 0x10100e3 field public static final int nextSectionForward = 16844099; // 0x1010543 field public static final int noHistory = 16843309; // 0x101022d field public static final int normalScreens = 16843397; // 0x1010285 field public static final int notificationTimeout = 16843651; // 0x1010383 Loading Loading @@ -43326,11 +43330,13 @@ package android.view { method public final int getMeasuredWidthAndState(); method public int getMinimumHeight(); method public int getMinimumWidth(); method public int getNextClusterForwardId(); method public int getNextFocusDownId(); method public int getNextFocusForwardId(); method public int getNextFocusLeftId(); method public int getNextFocusRightId(); method public int getNextFocusUpId(); method public int getNextSectionForwardId(); method public android.view.View.OnFocusChangeListener getOnFocusChangeListener(); method public android.view.ViewOutlineProvider getOutlineProvider(); method public int getOverScrollMode(); Loading Loading @@ -43434,6 +43440,8 @@ package android.view { method public boolean isInEditMode(); method public boolean isInLayout(); method public boolean isInTouchMode(); method public final boolean isKeyboardNavigationCluster(); method public final boolean isKeyboardNavigationSection(); method public boolean isLaidOut(); method public boolean isLayoutDirectionResolved(); method public boolean isLayoutRequested(); Loading Loading @@ -43602,6 +43610,8 @@ package android.view { method public void setId(int); method public void setImportantForAccessibility(int); method public void setKeepScreenOn(boolean); method public void setKeyboardNavigationCluster(boolean); method public void setKeyboardNavigationSection(boolean); method public void setLabelFor(int); method public void setLayerPaint(android.graphics.Paint); method public void setLayerType(int, android.graphics.Paint); Loading @@ -43613,11 +43623,13 @@ package android.view { method public void setMinimumHeight(int); method public void setMinimumWidth(int); method public void setNestedScrollingEnabled(boolean); method public void setNextClusterForwardId(int); method public void setNextFocusDownId(int); method public void setNextFocusForwardId(int); method public void setNextFocusLeftId(int); method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setNextSectionForwardId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener);
core/java/android/view/View.java +141 −2 Original line number Diff line number Diff line Loading @@ -2474,7 +2474,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * 1 PFLAG3_SCROLL_INDICATOR_START * 1 PFLAG3_SCROLL_INDICATOR_END * 1 PFLAG3_ASSIST_BLOCKED * xxxxxxxx * NO LONGER NEEDED, SHOULD BE REUSED * * 1 PFLAG3_CLUSTER * 1 PFLAG3_SECTION * xxxxxx * NO LONGER NEEDED, SHOULD BE REUSED * * 1 PFLAG3_OVERLAPPING_RENDERING_FORCED_VALUE * 1 PFLAG3_HAS_OVERLAPPING_RENDERING_FORCED * 1 PFLAG3_TEMPORARY_DETACH Loading Loading @@ -2672,6 +2674,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ static final int PFLAG3_ASSIST_BLOCKED = 0x4000; /** * Flag indicating that the view is a root of a keyboard navigation cluster. * * @see #isKeyboardNavigationCluster() * @see #setKeyboardNavigationCluster(boolean) */ private static final int PFLAG3_CLUSTER = 0x8000; /** * Flag indicating that the view is a root of a keyboard navigation section. * * @see #isKeyboardNavigationSection() * @see #setKeyboardNavigationSection(boolean) */ private static final int PFLAG3_SECTION = 0x10000; /** * Whether this view has rendered elements that overlap (see {@link * #hasOverlappingRendering()}, {@link #forceHasOverlappingRendering(boolean)}, and Loading Loading @@ -3740,6 +3758,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ int mNextFocusForwardId = View.NO_ID; /** * User-specified next keyboard navigation cluster. */ int mNextClusterForwardId = View.NO_ID; /** * User-specified next keyboard navigation section. */ int mNextSectionForwardId = View.NO_ID; private CheckForLongPress mPendingCheckForLongPress; private CheckForTap mPendingCheckForTap = null; private PerformClick mPerformClick; Loading Loading @@ -4531,6 +4559,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, case R.styleable.View_nextFocusForward: mNextFocusForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_nextClusterForward: mNextClusterForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_nextSectionForward: mNextSectionForwardId = a.getResourceId(attr, View.NO_ID); break; case R.styleable.View_minWidth: mMinWidth = a.getDimensionPixelSize(attr, 0); break; Loading Loading @@ -4667,10 +4701,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, forceHasOverlappingRendering(a.getBoolean(attr, true)); } break; case R.styleable.View_tooltip: setTooltip(a.getText(attr)); break; case R.styleable.View_keyboardNavigationCluster: if (a.peekValue(attr) != null) { setKeyboardNavigationCluster(a.getBoolean(attr, true)); } break; case R.styleable.View_keyboardNavigationSection: if (a.peekValue(attr) != null) { setKeyboardNavigationSection(a.getBoolean(attr, true)); } break; } } Loading Loading @@ -7851,6 +7894,50 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mNextFocusForwardId = nextFocusForwardId; } /** * Gets the id of the root of the next keyboard navigation cluster. * @return The next keyboard navigation cluster ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextClusterForward */ public int getNextClusterForwardId() { return mNextClusterForwardId; } /** * Sets the id of the view to use as the root of the next keyboard navigation cluster. * @param nextClusterForwardId The next cluster ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextClusterForward */ public void setNextClusterForwardId(int nextClusterForwardId) { mNextClusterForwardId = nextClusterForwardId; } /** * Gets the id of the root of the next keyboard navigation section. * @return The next keyboard navigation section ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextSectionForward */ public int getNextSectionForwardId() { return mNextSectionForwardId; } /** * Sets the id of the view to use as the root of the next keyboard navigation section. * @param nextSectionForwardId The next section ID, or {@link #NO_ID} if the framework should * decide automatically. * * @attr ref android.R.styleable#View_nextSectionForward */ public void setNextSectionForwardId(int nextSectionForwardId) { mNextSectionForwardId = nextSectionForwardId; } /** * Returns the visibility of this view and all of its ancestors * Loading Loading @@ -8946,6 +9033,58 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** * Returns whether this View is a root of a keyboard navigation cluster. * * @return True if this view is a root of a cluster, or false otherwise. * @attr ref android.R.styleable#View_keyboardNavigationCluster */ @ViewDebug.ExportedProperty(category = "keyboardNavigationCluster") public final boolean isKeyboardNavigationCluster() { return (mPrivateFlags3 & PFLAG3_CLUSTER) != 0; } /** * Set whether this view is a root of a keyboard navigation cluster. * * @param isCluster If true, this view is a root of a cluster. * * @attr ref android.R.styleable#View_keyboardNavigationCluster */ public void setKeyboardNavigationCluster(boolean isCluster) { if (isCluster) { mPrivateFlags3 |= PFLAG3_CLUSTER; } else { mPrivateFlags3 &= ~PFLAG3_CLUSTER; } } /** * Returns whether this View is a root of a keyboard navigation section. * * @return True if this view is a root of a section, or false otherwise. * @attr ref android.R.styleable#View_keyboardNavigationSection */ @ViewDebug.ExportedProperty(category = "keyboardNavigationSection") public final boolean isKeyboardNavigationSection() { return (mPrivateFlags3 & PFLAG3_SECTION) != 0; } /** * Set whether this view is a root of a keyboard navigation section. * * @param isSection If true, this view is a root of a section. * * @attr ref android.R.styleable#View_keyboardNavigationSection */ public void setKeyboardNavigationSection(boolean isSection) { if (isSection) { mPrivateFlags3 |= PFLAG3_SECTION; } else { mPrivateFlags3 &= ~PFLAG3_SECTION; } } /** * This method is the last chance for the focused view and its ancestors to * respond to an arrow key. This is called when the focused view did not Loading
core/res/res/values/attrs.xml +22 −0 Original line number Diff line number Diff line Loading @@ -2887,6 +2887,28 @@ <!-- Defines text displayed in a small popup window on hover or long press. --> <attr name="tooltip" format="string" localization="suggested" /> <!-- Whether this view is a root of a keyboard navigation cluster. See {@link android.view.View#setKeyboardNavigationCluster(boolean)}. --> <attr name="keyboardNavigationCluster" format="boolean" /> <!-- Whether this view is a root of a keyboard navigation section. See {@link android.view.View#setKeyboardNavigationSection(boolean)}. --> <attr name="keyboardNavigationSection" format="boolean" /> <!-- Defines the next keyboard navigation cluster. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a {@link java.lang.RuntimeException} will result when the reference is accessed.--> <attr name="nextClusterForward" format="reference"/> <!-- Defines the next keyboard navigation section. If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a {@link java.lang.RuntimeException} will result when the reference is accessed.--> <attr name="nextSectionForward" format="reference"/> </declare-styleable> <!-- Attributes that can be assigned to a tag for a particular View. --> Loading