Fix QS bluetooth tile accessibility issue

Bluetooth tile was not announcing its state when the top half was
clicked.  This is because if handleUpdateState was triggered on
the view before it became dual then it would not get all of the dual
accessibility information.  So if the dual state changes on a tile
make sure to call handleUpdateState so it can be handled appropriately.

Bug: 19155633
Change-Id: Ifd053c67d8ddd3230086517c9d479069556e8b56
This commit is contained in:
Jason Monk
2015-01-30 13:02:27 -05:00
parent d38cc74921
commit 8ba572a327
2 changed files with 5 additions and 2 deletions

View File

@@ -423,7 +423,9 @@ public class QSPanel extends ViewGroup {
}
for (TileRecord record : mRecords) {
record.tileView.setDual(record.tile.supportsDualTargets());
if (record.tileView.setDual(record.tile.supportsDualTargets())) {
record.tileView.handleStateChanged(record.tile.getState());
}
if (record.tileView.getVisibility() == GONE) continue;
final int cw = record.row == 0 ? mLargeCellWidth : mCellWidth;
final int ch = record.row == 0 ? mLargeCellHeight : mCellHeight;

View File

@@ -172,7 +172,7 @@ public class QSTileView extends ViewGroup {
}
}
public void setDual(boolean dual) {
public boolean setDual(boolean dual) {
final boolean changed = dual != mDual;
mDual = dual;
if (changed) {
@@ -199,6 +199,7 @@ public class QSTileView extends ViewGroup {
setFocusable(!dual);
mDivider.setVisibility(dual ? VISIBLE : GONE);
postInvalidate();
return changed;
}
private void setRipple(RippleDrawable tileBackground) {