Merge "Make a11y text navigation by page symmetric." into nyc-dev

am: 7eb716c

* commit '7eb716c0f4a024e2673f6fce442005abd4dc19f5':
  Make a11y text navigation by page symmetric.

Change-Id: I27d276c301efd9365afba65acb1a9e54ae97f24e
This commit is contained in:
Phil Weaver
2016-04-04 16:43:04 +00:00
committed by android-build-merger
2 changed files with 17 additions and 10 deletions

View File

@@ -240,10 +240,12 @@ import java.util.List;
* <li>{@link #getMovementGranularity()} - Sets the granularity at which a view's text * <li>{@link #getMovementGranularity()} - Sets the granularity at which a view's text
* was traversed.</li> * was traversed.</li>
* <li>{@link #getText()} - The text of the source's sub-tree.</li> * <li>{@link #getText()} - The text of the source's sub-tree.</li>
* <li>{@link #getFromIndex()} - The start of the next/previous text at the specified granularity * <li>{@link #getFromIndex()} - The start the text that was skipped over in this movement.
* - inclusive.</li> * This is the starting point when moving forward through the text, but not when moving
* <li>{@link #getToIndex()} - The end of the next/previous text at the specified granularity * back.</li>
* - exclusive.</li> * <li>{@link #getToIndex()} - The end of the text that was skipped over in this movement.
* This is the ending point when moving forward through the text, but not when moving
* back.</li>
* <li>{@link #isPassword()} - Whether the source is password.</li> * <li>{@link #isPassword()} - Whether the source is password.</li>
* <li>{@link #isEnabled()} - Whether the source is enabled.</li> * <li>{@link #isEnabled()} - Whether the source is enabled.</li>
* <li>{@link #getContentDescription()} - The content description of the source.</li> * <li>{@link #getContentDescription()} - The content description of the source.</li>

View File

@@ -134,8 +134,8 @@ final class AccessibilityIterators {
@Override @Override
public int[] following(int offset) { public int[] following(int offset) {
final int textLegth = mText.length(); final int textLength = mText.length();
if (textLegth <= 0) { if (textLength <= 0) {
return null; return null;
} }
if (offset >= mText.length()) { if (offset >= mText.length()) {
@@ -163,8 +163,8 @@ final class AccessibilityIterators {
@Override @Override
public int[] preceding(int offset) { public int[] preceding(int offset) {
final int textLegth = mText.length(); final int textLength = mText.length();
if (textLegth <= 0) { if (textLength <= 0) {
return null; return null;
} }
if (offset <= 0) { if (offset <= 0) {
@@ -181,8 +181,13 @@ final class AccessibilityIterators {
final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop() final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop()
- mView.getTotalPaddingBottom(); - mView.getTotalPaddingBottom();
final int previousPageEndY = currentLineTop - pageHeight; final int previousPageEndY = currentLineTop - pageHeight;
final int currentPageStartLine = (previousPageEndY > 0) ? int currentPageStartLine = (previousPageEndY > 0) ?
mLayout.getLineForVertical(previousPageEndY) + 1 : 0; mLayout.getLineForVertical(previousPageEndY) : 0;
// If we're at the end of text, we're at the end of the current line rather than the
// start of the next line, so we should move up one fewer lines than we would otherwise.
if (end == mText.length() && (currentPageStartLine < currentLine)) {
currentPageStartLine += 1;
}
final int start = getLineEdgeIndex(currentPageStartLine, DIRECTION_START); final int start = getLineEdgeIndex(currentPageStartLine, DIRECTION_START);