Merge "Fix contentDescriptions in status bar."
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
index 1641c70..2947bfb 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
@@ -34,6 +34,7 @@
android:paddingRight="15dp"
android:src="@drawable/ic_notify_clear"
android:visibility="invisible"
+ android:contentDescription="@string/accessibility_clear_all"
/>
<RelativeLayout
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 38ac8a7..3e2def5 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -65,6 +65,7 @@
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:src="@drawable/ic_notify_quicksettings"
+ android:contentDescription="@string/accessibility_settings_button"
/>
<ImageView android:id="@+id/clear_all_button"
@@ -74,6 +75,7 @@
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:src="@drawable/ic_notify_clear"
+ android:contentDescription="@string/accessibility_clear_all"
/>
</RelativeLayout>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 26200ec..e971896 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -282,13 +282,13 @@
<string name="accessibility_battery_level">Battery <xliff:g id="number">%d</xliff:g> percent.</string>
<!-- Content description of the button for showing a settings panel in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_settings_button">Settings button.</string>
+ <string name="accessibility_settings_button">System settings.</string>
<!-- Content description of the button for showing a notifications panel in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_notifications_button">Notifications button.</string>
+ <string name="accessibility_notifications_button">Notifications.</string>
<!-- Content description of the button for removing a notification in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_remove_notification">Remove notification.</string>
+ <string name="accessibility_remove_notification">Clear notification.</string>
<!-- Content description of the enabled GPS icon in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_gps_enabled">GPS enabled.</string>
@@ -336,4 +336,6 @@
<!-- Notification text: when GPS has found a fix [CHAR LIMIT=50] -->
<string name="gps_notification_found_text">Location set by GPS</string>
+ <!-- Content description of the clear button in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+ <string name="accessibility_clear_all">Clear all notifications.</string>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index 59b09d49..744a46b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -44,6 +44,7 @@
private boolean mMobileVisible = false;
private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0;
private boolean mIsAirplaneMode = false;
+ private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
ViewGroup mWifiGroup, mMobileGroup;
ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType;
@@ -95,20 +96,24 @@
super.onDetachedFromWindow();
}
- public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon) {
+ public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon,
+ String contentDescription) {
mWifiVisible = visible;
mWifiStrengthId = strengthIcon;
mWifiActivityId = activityIcon;
+ mWifiDescription = contentDescription;
apply();
}
public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
- int typeIcon) {
+ int typeIcon, String contentDescription, String typeContentDescription) {
mMobileVisible = visible;
mMobileStrengthId = strengthIcon;
mMobileActivityId = activityIcon;
mMobileTypeId = typeIcon;
+ mMobileDescription = contentDescription;
+ mMobileTypeDescription = typeContentDescription;
apply();
}
@@ -125,6 +130,7 @@
mWifiGroup.setVisibility(View.VISIBLE);
mWifi.setImageResource(mWifiStrengthId);
mWifiActivity.setImageResource(mWifiActivityId);
+ mWifiGroup.setContentDescription(mWifiDescription);
} else {
mWifiGroup.setVisibility(View.GONE);
}
@@ -139,6 +145,7 @@
mMobile.setImageResource(mMobileStrengthId);
mMobileActivity.setImageResource(mMobileActivityId);
mMobileType.setImageResource(mMobileTypeId);
+ mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription);
} else {
mMobileGroup.setVisibility(View.GONE);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
index a98d519..8d964e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -139,9 +139,10 @@
IBatteryStats mBatteryStats;
public interface SignalCluster {
- void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon);
+ void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon,
+ String contentDescription);
void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
- int typeIcon);
+ int typeIcon, String contentDescription, String typeContentDescription);
void setIsAirplaneMode(boolean is);
}
@@ -235,12 +236,16 @@
cluster.setWifiIndicators(
mWifiConnected, // only show wifi in the cluster if connected
mWifiIconId,
- mWifiActivityIconId);
+ mWifiActivityIconId,
+ mContentDescriptionWifi);
cluster.setMobileDataIndicators(
mHasMobileDataFeature,
mPhoneSignalIconId,
mMobileActivityIconId,
- mDataTypeIconId);
+ mDataTypeIconId,
+ mContentDescriptionPhoneSignal,
+ mContentDescriptionDataType);
+
}
public void setStackedMode(boolean stacked) {
@@ -807,8 +812,8 @@
(mServiceState == null || (!hasService() && !mServiceState.isEmergencyOnly()))) {
// Only display the flight-mode icon if not in "emergency calls only" mode.
label = context.getString(R.string.status_bar_settings_signal_meter_disconnected);
- mContentDescriptionCombinedSignal = mContext.getString(
- R.string.accessibility_airplane_mode);
+ mContentDescriptionCombinedSignal = mContentDescriptionPhoneSignal
+ = mContext.getString(R.string.accessibility_airplane_mode);
// look again; your radios are now airplanes
mPhoneSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
@@ -863,12 +868,15 @@
cluster.setWifiIndicators(
mWifiConnected, // only show wifi in the cluster if connected
mWifiIconId,
- mWifiActivityIconId);
+ mWifiActivityIconId,
+ mContentDescriptionWifi);
cluster.setMobileDataIndicators(
mHasMobileDataFeature,
mPhoneSignalIconId,
mMobileActivityIconId,
- mDataTypeIconId);
+ mDataTypeIconId,
+ mContentDescriptionPhoneSignal,
+ mContentDescriptionDataType);
cluster.setIsAirplaneMode(mAirplaneMode);
}
}