diff options
author | Selim Cinek <cinek@google.com> | 2015-07-01 22:03:30 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-07-01 22:03:34 +0000 |
commit | f22e2e3998db9bcfdac5d1c524b0c02e7da7f86d (patch) | |
tree | dd27f8f6bf580ceeb43cfe29bfd675e2e221a00c /packages/SystemUI/src/com/android/systemui/qs | |
parent | 61d7acae0cafc265e94a35ad3ba1677f60346de9 (diff) | |
parent | 4949c75f1e891e165b63db17c487cf2383bcfcd4 (diff) | |
download | frameworks_base-f22e2e3998db9bcfdac5d1c524b0c02e7da7f86d.zip frameworks_base-f22e2e3998db9bcfdac5d1c524b0c02e7da7f86d.tar.gz frameworks_base-f22e2e3998db9bcfdac5d1c524b0c02e7da7f86d.tar.bz2 |
Merge "Fixed accessibility order for quick settings" into mnc-dev
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSPanel.java | 2 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSTileView.java | 27 |
2 files changed, 26 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index 4b1453d..2ded919 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -472,6 +472,7 @@ public class QSPanel extends ViewGroup { rows = r + 1; } + View previousView = mBrightnessView; for (TileRecord record : mRecords) { if (record.tileView.setDual(record.tile.supportsDualTargets())) { record.tileView.handleStateChanged(record.tile.getState()); @@ -480,6 +481,7 @@ public class QSPanel extends ViewGroup { final int cw = record.row == 0 ? mLargeCellWidth : mCellWidth; final int ch = record.row == 0 ? mLargeCellHeight : mCellHeight; record.tileView.measure(exactly(cw), exactly(ch)); + previousView = record.tileView.updateAccessibilityOrder(previousView); } int h = rows == 0 ? brightnessHeight : (getRowTop(rows) + mPanelPaddingBottom); if (mFooter.hasFooter()) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java index af9d3a5..6d26a3b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java @@ -83,6 +83,7 @@ public class QSTileView extends ViewGroup { setClipChildren(false); mTopBackgroundView = new View(context); + mTopBackgroundView.setId(View.generateViewId()); addView(mTopBackgroundView); mIcon = createIcon(); @@ -95,8 +96,8 @@ public class QSTileView extends ViewGroup { addView(mDivider); setClickable(true); - updateTopPadding(); + setId(View.generateViewId()); } private void updateTopPadding() { @@ -137,7 +138,7 @@ public class QSTileView extends ViewGroup { final Resources res = mContext.getResources(); if (mDual) { mDualLabel = new QSDualTileLabel(mContext); - mDualLabel.setId(android.R.id.title); + mDualLabel.setId(View.generateViewId()); mDualLabel.setBackgroundResource(R.drawable.btn_borderless_rect); mDualLabel.setFirstLineCaret(mContext.getDrawable(R.drawable.qs_dual_tile_caret)); mDualLabel.setTextColor(mContext.getColor(R.color.qs_tile_text)); @@ -155,9 +156,9 @@ public class QSTileView extends ViewGroup { mDualLabel.setContentDescription(labelDescription); } addView(mDualLabel); + mDualLabel.setAccessibilityTraversalAfter(mTopBackgroundView.getId()); } else { mLabel = new TextView(mContext); - mLabel.setId(android.R.id.title); mLabel.setTextColor(mContext.getColor(R.color.qs_tile_text)); mLabel.setGravity(Gravity.CENTER_HORIZONTAL); mLabel.setMinLines(2); @@ -328,6 +329,26 @@ public class QSTileView extends ViewGroup { mHandler.obtainMessage(H.STATE_CHANGED, state).sendToTarget(); } + /** + * Update the accessibility order for this view. + * + * @param previousView the view which should be before this one + * @return the last view in this view which is accessible + */ + public View updateAccessibilityOrder(View previousView) { + View firstView; + View lastView; + if (mDual) { + lastView = mDualLabel; + firstView = mTopBackgroundView; + } else { + firstView = this; + lastView = this; + } + firstView.setAccessibilityTraversalAfter(previousView.getId()); + return lastView; + } + private class H extends Handler { private static final int STATE_CHANGED = 1; public H() { |