am 279ce37b: Merge "Fixed accessibility issues with quick settings" into lmp-dev

* commit '279ce37b8294a653af0f6c635aff97fcd6a9a06a':
  Fixed accessibility issues with quick settings
This commit is contained in:
Selim Cinek
2014-08-19 10:53:11 +00:00
committed by Android Git Automerger
9 changed files with 40 additions and 9 deletions

View File

@@ -60,7 +60,8 @@
android:paddingEnd="@dimen/battery_level_padding_end"
android:textColor="#ffffff"
android:visibility="gone"
android:textSize="@dimen/battery_level_text_size"/>
android:textSize="@dimen/battery_level_text_size"
android:importantForAccessibility="noHideDescendants"/>
</LinearLayout>
<com.android.keyguard.CarrierText

View File

@@ -72,7 +72,8 @@
android:layout_marginStart="@dimen/header_battery_margin_expanded"
android:paddingEnd="@dimen/battery_level_padding_end"
android:textColor="#ffffff"
android:textSize="@dimen/battery_level_text_size"/>
android:textSize="@dimen/battery_level_text_size"
android:importantForAccessibility="noHideDescendants"/>
</LinearLayout>
<TextView

View File

@@ -273,6 +273,13 @@
<!-- Content description of the WIFI signal when it is full for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_wifi_signal_full">Wifi signal full.</string>
<!-- Content description of the wifi label showing what we are connected to. [CHAR LIMIT=NONE] -->
<string name="accessibility_wifi_name">Connected to <xliff:g id="wifi" example="Home Network">%s</xliff:g>.</string>
<!-- Content description of the bluetooth label showing what we are connected to. [CHAR LIMIT=NONE] -->
<string name="accessibility_bluetooth_name">Connected to <xliff:g id="bluetooth" example="Car Audio">%s</xliff:g>.</string>
<!-- Content description of the WiMAX signal when no signal for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_no_wimax">No WiMAX.</string>
<!-- Content description of the WiMAX signal when it is one bar for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
@@ -398,7 +405,7 @@
<!-- Content description of the user tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_quick_settings_user">User <xliff:g id="user" example="John Doe">%s</xliff:g>.</string>
<!-- Content description of the wifi tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_quick_settings_wifi"><xliff:g id="signal" example="Three bars">%1$s</xliff:g>. <xliff:g id="network" example="MyWifiNetwork">%2$s</xliff:g></string>
<string name="accessibility_quick_settings_wifi"><xliff:g id="signal" example="Three bars">%1$s</xliff:g>.</string>
<!-- Content description of the mobile data tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_quick_settings_mobile">Mobile <xliff:g id="signal" example="Three bars">%1$s</xliff:g>. <xliff:g id="type" example="4G">%2$s</xliff:g>. <xliff:g id="network" example="T-Mobile">%3$s</xliff:g>.</string>
<!-- Content description of the battery tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] -->

View File

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

View File

@@ -286,6 +286,7 @@ public abstract class QSTile<TState extends State> implements Listenable {
public Drawable icon;
public String label;
public String contentDescription;
public String dualLabelContentDescription;
public boolean copyTo(State other) {
if (other == null) throw new IllegalArgumentException();
@@ -294,12 +295,15 @@ public abstract class QSTile<TState extends State> implements Listenable {
|| other.iconId != iconId
|| !Objects.equals(other.icon, icon)
|| !Objects.equals(other.label, label)
|| !Objects.equals(other.contentDescription, contentDescription);
|| !Objects.equals(other.contentDescription, contentDescription)
|| !Objects.equals(other.dualLabelContentDescription,
dualLabelContentDescription);
other.visible = visible;
other.iconId = iconId;
other.icon = icon;
other.label = label;
other.contentDescription = contentDescription;
other.dualLabelContentDescription = dualLabelContentDescription;
return changed;
}
@@ -315,6 +319,7 @@ public abstract class QSTile<TState extends State> implements Listenable {
sb.append(",icon=").append(icon);
sb.append(",label=").append(label);
sb.append(",contentDescription=").append(contentDescription);
sb.append(",dualLabelContentDescription=").append(dualLabelContentDescription);
return sb.append(']');
}
}

View File

@@ -87,6 +87,7 @@ public class QSTileView extends ViewGroup {
private void recreateLabel() {
CharSequence labelText = null;
CharSequence labelDescription = null;
if (mLabel != null) {
labelText = mLabel.getText();
removeView(mLabel);
@@ -94,6 +95,7 @@ public class QSTileView extends ViewGroup {
}
if (mDualLabel != null) {
labelText = mDualLabel.getText();
labelDescription = mLabel.getContentDescription();
removeView(mDualLabel);
mDualLabel = null;
}
@@ -113,6 +115,9 @@ public class QSTileView extends ViewGroup {
if (labelText != null) {
mDualLabel.setText(labelText);
}
if (labelDescription != null) {
mDualLabel.setContentDescription(labelDescription);
}
addView(mDualLabel);
} else {
mLabel = new TextView(mContext);
@@ -228,6 +233,7 @@ public class QSTileView extends ViewGroup {
}
if (mDual) {
mDualLabel.setText(state.label);
mDualLabel.setContentDescription(state.dualLabelContentDescription);
} else {
mLabel.setText(state.label);
}

View File

@@ -114,6 +114,12 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
}
state.contentDescription = mContext.getString(
R.string.accessibility_quick_settings_bluetooth, stateContentDescription);
String bluetoothName = state.label;
if (connected) {
bluetoothName = state.dualLabelContentDescription = mContext.getString(
R.string.accessibility_bluetooth_name, state.label);
}
state.dualLabelContentDescription = bluetoothName;
}
private final BluetoothController.Callback mCallback = new BluetoothController.Callback() {

View File

@@ -132,8 +132,12 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
}
state.contentDescription = mContext.getString(
R.string.accessibility_quick_settings_wifi,
signalContentDescription,
state.connected ? state.label : "");
signalContentDescription);
String wifiName = state.label;
if (state.connected) {
wifiName = r.getString(R.string.accessibility_wifi_name, state.label);
}
state.dualLabelContentDescription = wifiName;
}
private static String removeDoubleQuotes(String string) {

View File

@@ -602,6 +602,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
mPhoneSignalIconId = R.drawable.stat_sys_signal_null;
mQSPhoneSignalIconId = R.drawable.ic_qs_signal_no_signal;
mDataSignalIconId = R.drawable.stat_sys_signal_null;
mContentDescriptionPhoneSignal = mContext.getString(
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0]);
} else {
if (mSignalStrength == null) {
if (CHATTY) Log.d(TAG, "updateTelephonySignalStrength: mSignalStrength == null");
@@ -665,8 +667,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
mDataTypeIconId = 0;
mQSDataTypeIconId = 0;
mContentDescriptionDataType = mContext.getString(
R.string.accessibility_data_connection_gprs);
mContentDescriptionDataType = "";
break;
} else {
// fall through