summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
index 284827b57929..e071f6a07170 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
@@ -28,10 +28,13 @@ import android.support.v7.preference.PreferenceViewHolder;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.SparseArray;
+import android.view.View;
import android.widget.TextView;
import com.android.settingslib.R;
+import java.util.Objects;
+
public class AccessPointPreference extends Preference {
private static final int[] STATE_SECURED = {
@@ -108,6 +111,7 @@ public class AccessPointPreference extends Preference {
mTitleView.setCompoundDrawablePadding(mBadgePadding);
}
view.itemView.setContentDescription(mContentDescription);
+ view.itemView.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
}
protected void updateIcon(int level, Context context) {
@@ -148,6 +152,7 @@ public class AccessPointPreference extends Preference {
* Updates the title and summary; may indirectly call notifyChanged().
*/
public void refresh() {
+ boolean updated = false;
if (mForSavedNetworks) {
setTitle(mAccessPoint.getConfigName());
} else {
@@ -159,21 +164,28 @@ public class AccessPointPreference extends Preference {
if (level != mLevel) {
mLevel = level;
updateIcon(mLevel, context);
- notifyChanged();
+ updated = true;
}
updateBadge(context);
setSummary(mForSavedNetworks ? mAccessPoint.getSavedNetworkSummary()
: mAccessPoint.getSettingsSummary());
- mContentDescription = getTitle();
+ CharSequence contentDescription = getTitle();
if (getSummary() != null) {
- mContentDescription = TextUtils.concat(mContentDescription, ",", getSummary());
+ contentDescription = TextUtils.concat(contentDescription, ",", getSummary());
}
if (level >= 0 && level < WIFI_CONNECTION_STRENGTH.length) {
- mContentDescription = TextUtils.concat(mContentDescription, ",",
+ contentDescription = TextUtils.concat(contentDescription, ",",
getContext().getString(WIFI_CONNECTION_STRENGTH[level]));
}
+ if (!Objects.equals(contentDescription, mContentDescription)) {
+ mContentDescription = contentDescription;
+ updated = true;
+ }
+ if (updated) {
+ notifyChanged();
+ }
}
@Override