summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs
diff options
context:
space:
mode:
authorSelim Cinek <cinek@google.com>2015-07-01 22:03:30 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-07-01 22:03:34 +0000
commitf22e2e3998db9bcfdac5d1c524b0c02e7da7f86d (patch)
treedd27f8f6bf580ceeb43cfe29bfd675e2e221a00c /packages/SystemUI/src/com/android/systemui/qs
parent61d7acae0cafc265e94a35ad3ba1677f60346de9 (diff)
parent4949c75f1e891e165b63db17c487cf2383bcfcd4 (diff)
downloadframeworks_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.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSTileView.java27
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() {