diff --git a/res/values/strings.xml b/res/values/strings.xml
index fca80b43097..03b52b49225 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1956,8 +1956,6 @@
Advanced options
Drop down list Advanced Options
-
- collapse
expand
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 05fcf5ef41c..e228a142381 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -347,9 +347,13 @@ public class WifiConfigController implements TextWatcher,
showProxyFields();
final CheckBox advancedTogglebox =
(CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox);
- advancedTogglebox.setOnCheckedChangeListener(this);
- advancedTogglebox.setChecked(showAdvancedFields);
- setAdvancedOptionAccessibilityString(showAdvancedFields);
+ if (!showAdvancedFields) {
+ // Need to show Advanced Option button.
+ mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
+ advancedTogglebox.setOnCheckedChangeListener(this);
+ advancedTogglebox.setChecked(showAdvancedFields);
+ setAdvancedOptionAccessibilityString();
+ }
mView.findViewById(R.id.wifi_advanced_fields)
.setVisibility(showAdvancedFields ? View.VISIBLE : View.GONE);
}
@@ -1553,17 +1557,10 @@ public class WifiConfigController implements TextWatcher,
((EditText) mPasswordView).setSelection(pos);
}
} else if (view.getId() == R.id.wifi_advanced_togglebox) {
- final int toggleVisibility;
- final int stringID;
- if (isChecked) {
- toggleVisibility = View.VISIBLE;
- // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
- hideSoftKeyboard(mView.getWindowToken());
- } else {
- toggleVisibility = View.GONE;
- }
- mView.findViewById(R.id.wifi_advanced_fields).setVisibility(toggleVisibility);
- setAdvancedOptionAccessibilityString(isChecked);
+ // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
+ hideSoftKeyboard(mView.getWindowToken());
+ view.setVisibility(View.GONE);
+ mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
}
}
@@ -1673,7 +1670,7 @@ public class WifiConfigController implements TextWatcher,
((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox))
.setOnCheckedChangeListener(this);
// Set correct accessibility strings.
- setAdvancedOptionAccessibilityString(false /* showAdvancedFields */);
+ setAdvancedOptionAccessibilityString();
}
/**
@@ -1765,7 +1762,7 @@ public class WifiConfigController implements TextWatcher,
inputMethodManager.hideSoftInputFromWindow(windowToken, 0 /* flags */);
}
- private void setAdvancedOptionAccessibilityString(boolean showAdvancedFields) {
+ private void setAdvancedOptionAccessibilityString() {
final CheckBox advancedToggleBox = mView.findViewById(R.id.wifi_advanced_togglebox);
advancedToggleBox.setAccessibilityDelegate(new AccessibilityDelegate() {
@Override
@@ -1776,12 +1773,10 @@ public class WifiConfigController implements TextWatcher,
info.setCheckable(false /* checkable */);
// To let TalkBack don't pronounce CheckBox.
info.setClassName(null /* className */);
- final CharSequence accessibilityDoubleTapExtend = mContext.getString(
- showAdvancedFields ? R.string.wifi_advanced_toggle_description_expanded
- : R.string.wifi_advanced_toggle_description_collapsed);
// Customize TalkBack's pronunciation which been appended to "Double-tap to".
final AccessibilityAction customClick = new AccessibilityAction(
- AccessibilityNodeInfo.ACTION_CLICK, accessibilityDoubleTapExtend);
+ AccessibilityNodeInfo.ACTION_CLICK,
+ mContext.getString(R.string.wifi_advanced_toggle_description_collapsed));
info.addAction(customClick);
}
});
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index 0e9c4d03e67..3e8a42cfc6a 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -348,9 +348,13 @@ public class WifiConfigController2 implements TextWatcher,
showProxyFields();
final CheckBox advancedTogglebox =
(CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox);
- advancedTogglebox.setOnCheckedChangeListener(this);
- advancedTogglebox.setChecked(showAdvancedFields);
- setAdvancedOptionAccessibilityString(showAdvancedFields);
+ if (!showAdvancedFields) {
+ // Need to show Advanced Option button.
+ mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
+ advancedTogglebox.setOnCheckedChangeListener(this);
+ advancedTogglebox.setChecked(showAdvancedFields);
+ setAdvancedOptionAccessibilityString();
+ }
mView.findViewById(R.id.wifi_advanced_fields)
.setVisibility(showAdvancedFields ? View.VISIBLE : View.GONE);
}
@@ -1554,17 +1558,10 @@ public class WifiConfigController2 implements TextWatcher,
((EditText) mPasswordView).setSelection(pos);
}
} else if (view.getId() == R.id.wifi_advanced_togglebox) {
- final int toggleVisibility;
- final int stringID;
- if (isChecked) {
- toggleVisibility = View.VISIBLE;
- // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
- hideSoftKeyboard(mView.getWindowToken());
- } else {
- toggleVisibility = View.GONE;
- }
- mView.findViewById(R.id.wifi_advanced_fields).setVisibility(toggleVisibility);
- setAdvancedOptionAccessibilityString(isChecked);
+ // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
+ hideSoftKeyboard(mView.getWindowToken());
+ view.setVisibility(View.GONE);
+ mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
}
}
@@ -1674,7 +1671,7 @@ public class WifiConfigController2 implements TextWatcher,
((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox))
.setOnCheckedChangeListener(this);
// Set correct accessibility strings.
- setAdvancedOptionAccessibilityString(false /* showAdvancedFields */);
+ setAdvancedOptionAccessibilityString();
}
/**
@@ -1766,7 +1763,7 @@ public class WifiConfigController2 implements TextWatcher,
inputMethodManager.hideSoftInputFromWindow(windowToken, 0 /* flags */);
}
- private void setAdvancedOptionAccessibilityString(boolean showAdvancedFields) {
+ private void setAdvancedOptionAccessibilityString() {
final CheckBox advancedToggleBox = mView.findViewById(R.id.wifi_advanced_togglebox);
advancedToggleBox.setAccessibilityDelegate(new AccessibilityDelegate() {
@Override
@@ -1777,12 +1774,10 @@ public class WifiConfigController2 implements TextWatcher,
info.setCheckable(false /* checkable */);
// To let TalkBack don't pronounce CheckBox.
info.setClassName(null /* className */);
- final CharSequence accessibilityDoubleTapExtend = mContext.getString(
- showAdvancedFields ? R.string.wifi_advanced_toggle_description_expanded
- : R.string.wifi_advanced_toggle_description_collapsed);
// Customize TalkBack's pronunciation which been appended to "Double-tap to".
final AccessibilityAction customClick = new AccessibilityAction(
- AccessibilityNodeInfo.ACTION_CLICK, accessibilityDoubleTapExtend);
+ AccessibilityNodeInfo.ACTION_CLICK,
+ mContext.getString(R.string.wifi_advanced_toggle_description_collapsed));
info.addAction(customClick);
}
});
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index e1202ae6cc0..bf507425062 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -549,4 +549,13 @@ public class WifiConfigControllerTest {
assertThat(advButton.getContentDescription()).isEqualTo(
mContext.getString(R.string.wifi_advanced_toggle_description));
}
+
+ @Test
+ public void getVisibility_whenAdvancedOptionClicked_shouldBeGone() {
+ final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+ advButton.performClick();
+
+ assertThat(advButton.getVisibility()).isEqualTo(View.GONE);
+ }
}