Fixed talkback feedback for wifi menu
am: 7c59e7ab53
Change-Id: Id2a839f71ce23520cef7e69ca13c4f5c587cf4a5
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index ceb7201..ba1f6fc 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -287,11 +287,14 @@
android:layout_height="wrap_content"
style="@style/wifi_item"
android:paddingBottom="4dp"
+ android:importantForAccessibility="yes"
+ android:contentDescription="@string/wifi_advanced_toggle_description_collapsed"
android:visibility="gone">
<CheckBox android:id="@+id/wifi_advanced_togglebox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_advanced_toggle"
+ android:importantForAccessibility="noHideDescendants"
android:text="@string/wifi_show_advanced" />
</LinearLayout>
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index ee6b503..dd2e7df 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -54,6 +54,7 @@
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
+import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
@@ -262,13 +263,13 @@
showSecurityFields();
showIpConfigFields();
showProxyFields();
+ final CheckBox advancedTogglebox =
+ (CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox);
mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
- ((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox))
- .setOnCheckedChangeListener(this);
- if (showAdvancedFields) {
- ((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox)).setChecked(true);
- mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
- }
+ advancedTogglebox.setOnCheckedChangeListener(this);
+ advancedTogglebox.setChecked(showAdvancedFields);
+ mView.findViewById(R.id.wifi_advanced_fields)
+ .setVisibility(showAdvancedFields ? View.VISIBLE : View.GONE);
}
if (mMode == WifiConfigUiBase.MODE_MODIFY) {
@@ -1210,11 +1211,18 @@
((EditText) mPasswordView).setSelection(pos);
}
} else if (view.getId() == R.id.wifi_advanced_togglebox) {
+ final View advancedToggle = mView.findViewById(R.id.wifi_advanced_toggle);
+ final int toggleVisibility;
+ final int stringID;
if (isChecked) {
- mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
+ toggleVisibility = View.VISIBLE;
+ stringID = R.string.wifi_advanced_toggle_description_expanded;
} else {
- mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.GONE);
+ toggleVisibility = View.GONE;
+ stringID = R.string.wifi_advanced_toggle_description_collapsed;
}
+ mView.findViewById(R.id.wifi_advanced_fields).setVisibility(toggleVisibility);
+ advancedToggle.setContentDescription(mContext.getString(stringID));
}
}