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:
@@ -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>
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user